QAMQP
amqp.h
1 #ifndef qamqp_amqp_h__
2 #define qamqp_amqp_h__
3 
4 #include <QObject>
5 #include <QUrl>
6 #include "amqp_global.h"
7 
8 namespace QAMQP
9 {
10  class Exchange;
11  class Queue;
12  class ClientPrivate;
13  class Authenticator;
14  class ConnectionPrivate;
15  class Client : public QObject
16  {
17  Q_OBJECT
18 
19  Q_PROPERTY(quint32 port READ port WRITE setPort);
20  Q_PROPERTY(QString host READ host WRITE setHost);
21  Q_PROPERTY(QString virtualHost READ virtualHost WRITE setVirtualHost);
22  Q_PROPERTY(QString user READ user WRITE setUser);
23  Q_PROPERTY(QString password READ password WRITE setPassword);
24  Q_PROPERTY(bool ssl READ isSsl WRITE setSsl);
25  Q_PROPERTY(bool autoReconnect READ autoReconnect WRITE setAutoReconnect);
26  Q_PROPERTY(bool connected READ isConnected );
27 
28  Q_DISABLE_COPY(Client)
29 
30  P_DECLARE_PRIVATE(QAMQP::Client)
31 
32  friend class ConnectionPrivate;
33  friend class ChannelPrivate;
34 
35  public:
36  Client(QObject * parent = 0);
37  Client(const QUrl & connectionString, QObject * parent = 0);
38  ~Client();
39 
40  void printConnect() const;
41  void closeChannel();
42 
43  void addCustomProperty(const QString & name, const QString & value);
44  QString customProperty(const QString & name) const;
45 
46  Exchange * createExchange(int channelNumber = -1);
47  Exchange * createExchange(const QString &name, int channelNumber = -1);
48 
49  Queue * createQueue(int channelNumber = -1);
50  Queue * createQueue(const QString &name, int channelNumber = -1);
51 
52  quint32 port() const;
53  void setPort(quint32 port);
54 
55  QString host() const;
56  void setHost(const QString & host);
57 
58  QString virtualHost() const;
59  void setVirtualHost(const QString & virtualHost);
60 
61  QString user() const;
62  void setUser(const QString & user);
63 
64  QString password() const;
65  void setPassword(const QString & password);
66 
67  void setAuth(Authenticator * auth);
68  Authenticator * auth() const;
69  void open();
70  void open(const QUrl & connectionString);
71  void close();
72  void reopen();
73 
74  bool isSsl() const;
75  void setSsl(bool value);
76 
77  bool autoReconnect() const;
78  void setAutoReconnect(bool value);
79 
80  bool isConnected() const;
81 
82  signals:
83  void connected();
84  void disconnected();
85 
86 
87  protected:
88  ClientPrivate * const pd_ptr;
89 
90  private:
91  friend struct ClientExceptionCleaner;
92 
93  //void chanalConnect();
94  };
95 }
96 
97 #endif // qamqp_amqp_h__