Go to the documentation of this file.00001 #ifndef QPID_CLIENT_COMPLETION_H
00002 #define QPID_CLIENT_COMPLETION_H
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 
00023 
00024 
00025 #include "qpid/client/Handle.h"
00026 #include "qpid/client/ClientImportExport.h"
00027 #include <string>
00028 
00029 namespace qpid {
00030 namespace client {
00031 
00032 class CompletionImpl;
00033 template <class T> class PrivateImplRef;
00034 
00044 class QPID_CLIENT_CLASS_EXTERN Completion : public Handle<CompletionImpl>
00045 {
00046 public:
00047     QPID_CLIENT_EXTERN Completion(CompletionImpl* = 0);
00048     QPID_CLIENT_EXTERN Completion(const Completion&);
00049     QPID_CLIENT_EXTERN ~Completion();
00050     QPID_CLIENT_EXTERN Completion& operator=(const Completion&);
00051 
00057     QPID_CLIENT_EXTERN void wait();
00058     QPID_CLIENT_EXTERN bool isComplete();
00059 
00060   protected:
00061     QPID_CLIENT_EXTERN std::string getResult();
00062 
00063   private:
00064     typedef CompletionImpl Impl;
00065     friend class PrivateImplRef<Completion>;
00066 };
00067 
00068 }}
00069 
00070 
00071 #endif