Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef TQDBUSDATA_H
00025 #define TQDBUSDATA_H
00026
00027 #include "tqdbusmacros.h"
00028 #include <tqglobal.h>
00029
00030 class TQCString;
00031 class TQT_DBusDataList;
00032 class TQT_DBusVariant;
00033 class TQT_DBusObjectPath;
00034 class TQT_DBusUnixFd;
00035 class TQString;
00036
00037 template<typename T> class TQValueList;
00038 template<typename T> class TQT_DBusDataMap;
00039
00058 class TQDBUS_EXPORT TQT_DBusData
00059 {
00060 public:
00073 enum Type
00074 {
00084 Invalid = 0,
00085
00091 Bool,
00092
00098 Byte,
00099
00105 Int16,
00106
00112 UInt16,
00113
00119 Int32,
00120
00126 UInt32,
00127
00133 Int64,
00134
00140 UInt64,
00141
00147 Double,
00148
00156 String,
00157
00173 ObjectPath,
00174
00180 UnixFd,
00181
00196 List,
00197
00236 Struct,
00237
00245 Variant,
00246
00280 Map
00281 };
00282
00286 TQT_DBusData();
00287
00296 TQT_DBusData(const TQT_DBusData& other);
00297
00304 ~TQT_DBusData();
00305
00316 TQT_DBusData& operator=(const TQT_DBusData& other);
00317
00329 bool operator==(const TQT_DBusData& other) const;
00330
00340 bool operator!=(const TQT_DBusData& other) const;
00341
00349 inline bool isValid() const { return type() != TQT_DBusData::Invalid; }
00350
00359 Type type() const;
00360
00375 Type keyType() const;
00376
00385 inline const char* typeName() const { return typeName(type()); }
00386
00397 static const char* typeName(Type type);
00398
00408 static TQT_DBusData fromBool(bool value);
00409
00424 bool toBool(bool* ok = 0) const;
00425
00435 static TQT_DBusData fromByte(TQ_UINT8 value);
00436
00451 TQ_UINT8 toByte(bool* ok = 0) const;
00452
00462 static TQT_DBusData fromInt16(TQ_INT16 value);
00463
00478 TQ_INT16 toInt16(bool* ok = 0) const;
00479
00489 static TQT_DBusData fromUInt16(TQ_UINT16 value);
00490
00505 TQ_UINT16 toUInt16(bool* ok = 0) const;
00506
00516 static TQT_DBusData fromInt32(TQ_INT32 value);
00517
00532 TQ_INT32 toInt32(bool* ok = 0) const;
00533
00543 static TQT_DBusData fromUInt32(TQ_UINT32 value);
00544
00559 TQ_UINT32 toUInt32(bool* ok = 0) const;
00560
00570 static TQT_DBusData fromInt64(TQ_INT64 value);
00571
00586 TQ_INT64 toInt64(bool* ok = 0) const;
00587
00597 static TQT_DBusData fromUInt64(TQ_UINT64 value);
00598
00613 TQ_UINT64 toUInt64(bool* ok = 0) const;
00614
00624 static TQT_DBusData fromDouble(double value);
00625
00640 double toDouble(bool* ok = 0) const;
00641
00651 static TQT_DBusData fromString(const TQString& value);
00652
00667 TQString toString(bool* ok = 0) const;
00668
00678 static TQT_DBusData fromObjectPath(const TQT_DBusObjectPath& value);
00679
00695 TQT_DBusObjectPath toObjectPath(bool* ok = 0) const;
00696
00706 static TQT_DBusData fromUnixFd(const TQT_DBusUnixFd& value);
00707
00723 TQT_DBusUnixFd toUnixFd(bool* ok = 0) const;
00724
00743 static TQT_DBusData fromList(const TQT_DBusDataList& list);
00744
00759 TQT_DBusDataList toList(bool* ok = 0) const;
00760
00779 static TQT_DBusData fromTQValueList(const TQValueList<TQT_DBusData>& list);
00780
00794 TQValueList<TQT_DBusData> toTQValueList(bool* ok = 0) const;
00795
00807 static TQT_DBusData fromStruct(const TQValueList<TQT_DBusData>& memberList);
00808
00825 TQValueList<TQT_DBusData> toStruct(bool* ok = 0) const;
00826
00836 static TQT_DBusData fromVariant(const TQT_DBusVariant& value);
00837
00852 TQT_DBusVariant toVariant(bool* ok = 0) const;
00853
00869 static TQT_DBusData fromByteKeyMap(const TQT_DBusDataMap<TQ_UINT8>& map);
00870
00887 TQT_DBusDataMap<TQ_UINT8> toByteKeyMap(bool* ok = 0) const;
00888
00904 static TQT_DBusData fromInt16KeyMap(const TQT_DBusDataMap<TQ_INT16>& map);
00905
00922 TQT_DBusDataMap<TQ_INT16> toInt16KeyMap(bool* ok = 0) const;
00923
00939 static TQT_DBusData fromUInt16KeyMap(const TQT_DBusDataMap<TQ_UINT16>& map);
00940
00957 TQT_DBusDataMap<TQ_UINT16> toUInt16KeyMap(bool* ok = 0) const;
00958
00974 static TQT_DBusData fromInt32KeyMap(const TQT_DBusDataMap<TQ_INT32>& map);
00975
00992 TQT_DBusDataMap<TQ_INT32> toInt32KeyMap(bool* ok = 0) const;
00993
01009 static TQT_DBusData fromUInt32KeyMap(const TQT_DBusDataMap<TQ_UINT32>& map);
01010
01027 TQT_DBusDataMap<TQ_UINT32> toUInt32KeyMap(bool* ok = 0) const;
01028
01044 static TQT_DBusData fromInt64KeyMap(const TQT_DBusDataMap<TQ_INT64>& map);
01045
01062 TQT_DBusDataMap<TQ_INT64> toInt64KeyMap(bool* ok = 0) const;
01063
01079 static TQT_DBusData fromUInt64KeyMap(const TQT_DBusDataMap<TQ_UINT64>& map);
01080
01097 TQT_DBusDataMap<TQ_UINT64> toUInt64KeyMap(bool* ok = 0) const;
01098
01114 static TQT_DBusData fromStringKeyMap(const TQT_DBusDataMap<TQString>& map);
01115
01132 TQT_DBusDataMap<TQString> toStringKeyMap(bool* ok = 0) const;
01133
01149 static TQT_DBusData fromObjectPathKeyMap(const TQT_DBusDataMap<TQT_DBusObjectPath>& map);
01150
01167 TQT_DBusDataMap<TQT_DBusObjectPath> toObjectPathKeyMap(bool* ok = 0) const;
01168
01184 static TQT_DBusData fromUnixFdKeyMap(const TQT_DBusDataMap<TQT_DBusUnixFd>& map);
01185
01202 TQT_DBusDataMap<TQT_DBusUnixFd> toUnixFdKeyMap(bool* ok = 0) const;
01203
01216 TQCString buildDBusSignature() const;
01217
01218 private:
01219 class Private;
01220 Private* d;
01221 };
01222
01223 #endif