00001 #ifndef _framing_Proxy_h
00002 #define _framing_Proxy_h
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #include "FrameHandler.h"
00023 #include "ProtocolVersion.h"
00024
00025 #include "qpid/CommonImportExport.h"
00026
00027 namespace qpid {
00028 namespace framing {
00029
00030 class AMQBody;
00031
00035 class Proxy
00036 {
00037 public:
00038 class ScopedSync
00039 {
00040 Proxy& proxy;
00041 public:
00042 QPID_COMMON_EXTERN ScopedSync(Proxy& p);
00043 QPID_COMMON_EXTERN ~ScopedSync();
00044 };
00045
00046 QPID_COMMON_EXTERN Proxy(FrameHandler& h);
00047 QPID_COMMON_EXTERN virtual ~Proxy();
00048
00049 QPID_COMMON_EXTERN void send(const AMQBody&);
00050
00051 QPID_COMMON_EXTERN ProtocolVersion getVersion() const;
00052
00053 QPID_COMMON_EXTERN FrameHandler& getHandler();
00054 QPID_COMMON_EXTERN void setHandler(FrameHandler&);
00055 private:
00056 FrameHandler* out;
00057 bool sync;
00058 };
00059
00060 }}
00061
00062
00063
00064 #endif