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