• Main Page
  • Related Pages
  • Classes
  • Files
  • Examples
  • File List
  • File Members

tqdbusdata.h

Go to the documentation of this file.
00001 /* qdbusdata.h DBUS data transport type
00002  *
00003  * Copyright (C) 2007 Kevin Krammer <kevin.krammer@gmx.at>
00004  *
00005  * Licensed under the Academic Free License version 2.1
00006  *
00007  * This program is free software; you can redistribute it and/or modify
00008  * it under the terms of the GNU General Public License as published by
00009  * the Free Software Foundation; either version 2 of the License, or
00010  * (at your option) any later version.
00011  *
00012  * This program is distributed in the hope that it will be useful,
00013  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00014  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00015  * GNU General Public License for more details.
00016  *
00017  * You should have received a copy of the GNU General Public License
00018  * along with this program; if not, write to the Free Software
00019  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
00020  * USA.
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

Generated on Fri Apr 26 2019 17:49:48 for DBus-1-TQt by  doxygen 1.7.1