00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #include <string>
00022
00023 #ifndef _BodyHandler_
00024 #define _BodyHandler_
00025
00026 #include <AMQMethodBody.h>
00027 #include <AMQHeaderBody.h>
00028 #include <AMQContentBody.h>
00029 #include <AMQHeartbeatBody.h>
00030
00031 namespace qpid {
00032 namespace framing {
00033
00034 class BodyHandler{
00035 public:
00036 virtual ~BodyHandler();
00037 virtual void handleMethod(AMQMethodBody::shared_ptr body) = 0;
00038 virtual void handleHeader(AMQHeaderBody::shared_ptr body) = 0;
00039 virtual void handleContent(AMQContentBody::shared_ptr body) = 0;
00040 virtual void handleHeartbeat(AMQHeartbeatBody::shared_ptr body) = 0;
00041
00042 void handleBody(AMQBody::shared_ptr& body);
00043 };
00044
00045 class UnknownBodyType{
00046 public:
00047 const u_int16_t type;
00048 inline UnknownBodyType(u_int16_t _type) : type(_type){}
00049 };
00050 }
00051 }
00052
00053
00054 #endif