00001 #ifndef _IT_BUS_PASS_THRU_OPERATION_H_
00002 #define _IT_BUS_PASS_THRU_OPERATION_H_
00003
00004
00005
00006
00007 #include <it_bus/api_defines.h>
00008 #include <it_bus/binary_buffer.h>
00009
00010 namespace IT_Bus
00011 {
00027 class IT_BUS_API ClientOperationPassThrough
00028 {
00029 protected:
00030
00034 ClientOperationPassThrough();
00035
00039 virtual
00040 ~ClientOperationPassThrough();
00041
00042 public:
00043
00052 virtual Boolean
00053 set_passthru_request(
00054 BinaryBuffer* buffer
00055 ) = 0;
00056
00066 virtual Boolean
00067 set_passthru_reply(
00068 BinaryBuffer* buffer
00069 ) = 0;
00070
00078 virtual BinaryBuffer*
00079 get_passthru_request() = 0;
00080
00088 virtual BinaryBuffer*
00089 get_passthru_reply() = 0;
00090
00096 virtual Boolean
00097 passthru_enabled() = 0;
00098
00099 private:
00100
00101 ClientOperationPassThrough &
00102 operator =(
00103 const ClientOperationPassThrough& rhs
00104 );
00105
00106 ClientOperationPassThrough(
00107 const ClientOperationPassThrough& rhs
00108 );
00109 };
00110
00126 class IT_BUS_API ServerOperationPassThrough
00127 {
00128 protected:
00129
00133 ServerOperationPassThrough();
00134
00138 virtual
00139 ~ServerOperationPassThrough();
00140
00141 public:
00142
00146 virtual void
00147 enable_passthru() = 0;
00148
00158 virtual BinaryBuffer*
00159 get_passthru_reply() = 0;
00160
00169 virtual BinaryBuffer*
00170 get_passthru_request() = 0;
00171
00172 private:
00173
00174 ServerOperationPassThrough &
00175 operator =(
00176 const ServerOperationPassThrough& rhs
00177 );
00178
00179 ServerOperationPassThrough(
00180 const ServerOperationPassThrough& rhs
00181 );
00182 };
00183
00184 }
00185
00186 #endif