QXmlRPC 1.1
|
00001 // vim:tabstop=4:shiftwidth=4:expandtab:cinoptions=(s,U1,m1 00002 // Copyright (C) 2005 Dmitry Poplavsky <dima@thekompany.com> 00003 00004 #ifndef XMLRPC_VARIANT_H 00005 #define XMLRPC_VARIANT_H 00006 00007 #include <QtCore> 00008 #include <QtXml> 00009 00010 namespace xmlrpc { 00011 00024 class Variant : public QVariant { 00025 public: 00026 Variant(); 00027 Variant( const Variant& ); 00028 Variant( const QDomElement& ); 00029 00032 Variant ( uint val ); 00033 Variant ( int val ); 00034 Variant ( bool val ); 00035 Variant ( double val ); 00036 Variant ( const QByteArray & val ); 00037 Variant ( const QString & val ); 00038 Variant ( const QStringList & val ); 00039 Variant ( const QDateTime & val ); 00040 Variant ( const QList<Variant> & val ); 00041 Variant ( const QMap<QString, Variant> & val ); 00042 00044 Variant ( const QChar & c ); 00045 00046 virtual ~Variant(); 00047 00049 QDomElement toDomElement( QDomDocument& ) const; 00050 00051 QString pprint(); 00052 00053 private: 00054 static QString encodeDateTimeIso8601(QDateTime); 00055 static QDateTime decodeDateTimeIso8601(QString, bool *ok=0); 00056 00058 static Variant decodeStruct( const QDomElement& node ); 00059 00061 static Variant decodeArray( const QDomElement& node ); 00062 00069 Variant( const QVariant& ); 00070 00071 QString pprint( int column ); 00072 }; 00073 00074 00075 } // namespace 00076 #endif // XMLRPC_VARIANT_H 00077