00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef QDBUSMESSAGE_H
00026 #define QDBUSMESSAGE_H
00027
00028 #include "dbus/qdbusmacros.h"
00029 #include "dbus/qdbusdata.h"
00030
00031 #include <qvaluelist.h>
00032
00033 #include <limits.h>
00034
00035 class QDBusError;
00036 class QDBusMessagePrivate;
00037 struct DBusMessage;
00038
00115 class QDBUS_EXPORT QDBusMessage: public QValueList<QDBusData>
00116 {
00117 friend class QDBusConnection;
00118 public:
00125 enum
00126 {
00130 DefaultTimeout = -1,
00131
00135 NoTimeout = INT_MAX
00136 };
00137
00151 enum MessageType
00152 {
00157 InvalidMessage,
00158
00164 MethodCallMessage,
00165
00171 ReplyMessage,
00172
00178 ErrorMessage,
00179
00185 SignalMessage
00186 };
00187
00196 QDBusMessage();
00197
00198
00207 QDBusMessage(const QDBusMessage &other);
00208
00215 ~QDBusMessage();
00216
00231 QDBusMessage &operator=(const QDBusMessage &other);
00232
00249 static QDBusMessage signal(const QString &path, const QString &interface,
00250 const QString &member);
00251
00272 static QDBusMessage methodCall(const QString &service, const QString &path,
00273 const QString &interface, const QString &method);
00274
00290 static QDBusMessage methodReply(const QDBusMessage &other);
00291
00308 static QDBusMessage methodError(const QDBusMessage &other, const QDBusError& error);
00309
00327 QString path() const;
00328
00346 QString interface() const;
00347
00365 QString member() const;
00366
00385 QString sender() const;
00386
00398 QDBusError error() const;
00399
00405 MessageType type() const;
00406
00414 int timeout() const;
00415
00436 void setTimeout(int ms);
00437
00452 int serialNumber() const;
00453
00475 int replySerialNumber() const;
00476
00477
00490 DBusMessage *toDBusMessage() const;
00491
00507 static QDBusMessage fromDBusMessage(DBusMessage *dmsg);
00508
00509 private:
00510 QDBusMessagePrivate *d;
00511 };
00512
00513 #endif
00514