Go to the documentation of this file.00001 #ifndef QMF_SUBSCRIPTION_H
00002 #define QMF_SUBSCRIPTION_H
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #include <qmf/ImportExport.h>
00025 #include "qmf/Handle.h"
00026 #include "qpid/types/Variant.h"
00027 #include <string>
00028
00029 namespace qmf {
00030
00031 #ifndef SWIG
00032 template <class> class PrivateImplRef;
00033 #endif
00034
00035 class SubscriptionImpl;
00036 class Data;
00037
00038 class QMF_CLASS_EXTERN Subscription : public qmf::Handle<SubscriptionImpl> {
00039 public:
00040 QMF_EXTERN Subscription(SubscriptionImpl* impl = 0);
00041 QMF_EXTERN Subscription(const Subscription&);
00042 QMF_EXTERN Subscription& operator=(const Subscription&);
00043 QMF_EXTERN ~Subscription();
00044
00053 QMF_EXTERN void cancel();
00054
00060 QMF_EXTERN bool isActive() const;
00061
00068 QMF_EXTERN void lock();
00069 QMF_EXTERN void unlock();
00070 QMF_EXTERN uint32_t getDataCount() const;
00071 QMF_EXTERN Data getData(uint32_t) const;
00072
00073 #ifndef SWIG
00074 private:
00075 friend class qmf::PrivateImplRef<Subscription>;
00076 friend struct SubscriptionImplAccess;
00077 #endif
00078 };
00079
00080 }
00081
00082 #endif