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 QDBUSDATALIST_H
00025 #define QDBUSDATALIST_H
00026
00027 #include "dbus/qdbusdata.h"
00028
00029 template <typename T> class QValueList;
00030 class QDBusObjectPath;
00031 class QDBusVariant;
00032 class QString;
00033 class QStringList;
00034
00070 class QDBUS_EXPORT QDBusDataList
00071 {
00072 public:
00078 QDBusDataList();
00079
00091 explicit QDBusDataList(QDBusData::Type simpleItemType);
00092
00103 explicit QDBusDataList(const QDBusData& containerItemType);
00104
00113 QDBusDataList(const QDBusDataList& other);
00114
00131 QDBusDataList(const QValueList<QDBusData>& other);
00132
00145 QDBusDataList(const QValueList<bool>& other);
00146
00159 QDBusDataList(const QValueList<Q_UINT8>& other);
00160
00173 QDBusDataList(const QValueList<Q_INT16>& other);
00174
00187 QDBusDataList(const QValueList<Q_UINT16>& other);
00188
00201 QDBusDataList(const QValueList<Q_INT32>& other);
00202
00215 QDBusDataList(const QValueList<Q_UINT32>& other);
00216
00229 QDBusDataList(const QValueList<Q_INT64>& other);
00230
00243 QDBusDataList(const QValueList<Q_UINT64>& other);
00244
00257 QDBusDataList(const QValueList<double>& other);
00258
00271 QDBusDataList(const QValueList<QDBusVariant>& other);
00272
00285 QDBusDataList(const QStringList& other);
00286
00299 QDBusDataList(const QValueList<QDBusObjectPath>& other);
00300
00304 ~QDBusDataList();
00305
00316 QDBusDataList& operator=(const QDBusDataList& other);
00317
00332 QDBusDataList& operator=(const QValueList<QDBusData>& other);
00333
00348 QDBusDataList& operator=(const QStringList& other);
00349
00358 QDBusData::Type type() const;
00359
00373 bool hasContainerItemType() const;
00374
00390 QDBusData containerItemType() const;
00391
00399 inline bool isValid() const { return type() != QDBusData::Invalid; }
00400
00408 bool isEmpty() const;
00409
00417 uint count() const;
00418
00432 bool operator==(const QDBusDataList& other) const;
00433
00447 bool operator!=(const QDBusDataList& other) const;
00448
00454 void clear();
00455
00473 QDBusDataList& operator<<(const QDBusData& data);
00474
00480 QValueList<QDBusData> toQValueList() const;
00481
00499 QStringList toQStringList(bool* ok = 0) const;
00500
00517 QValueList<bool> toBoolList(bool* ok = 0) const;
00518
00535 QValueList<Q_UINT8> toByteList(bool* ok = 0) const;
00536
00554 QValueList<Q_INT16> toInt16List(bool* ok = 0) const;
00555
00573 QValueList<Q_UINT16> toUInt16List(bool* ok = 0) const;
00574
00592 QValueList<Q_INT32> toInt32List(bool* ok = 0) const;
00593
00611 QValueList<Q_UINT32> toUInt32List(bool* ok = 0) const;
00612
00630 QValueList<Q_INT64> toInt64List(bool* ok = 0) const;
00631
00649 QValueList<Q_UINT64> toUInt64List(bool* ok = 0) const;
00650
00667 QValueList<double> toDoubleList(bool* ok = 0) const;
00668
00685 QValueList<QString> toStringList(bool* ok = 0) const;
00686
00700 QValueList<QDBusObjectPath> toObjectPathList(bool* ok = 0) const;
00701
00718 QValueList<QDBusVariant> toVariantList(bool* ok = 0) const;
00719
00720 private:
00721 class Private;
00722 Private* d;
00723 };
00724
00725 #endif