00001 #ifndef _BodyHandler_
00002 #define _BodyHandler_
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #include <boost/shared_ptr.hpp>
00026
00027 #include "Requester.h"
00028 #include "Responder.h"
00029
00030 namespace qpid {
00031 namespace framing {
00032
00033 class AMQRequestBody;
00034 class AMQResponseBody;
00035 class AMQMethodBody;
00036 class AMQHeaderBody;
00037 class AMQContentBody;
00038 class AMQHeartbeatBody;
00039
00044 class BodyHandler {
00045 public:
00046 virtual ~BodyHandler();
00047 virtual void handleBody(boost::shared_ptr<AMQBody> body);
00048
00049 protected:
00050 virtual void handleRequest(boost::shared_ptr<AMQRequestBody>) = 0;
00051 virtual void handleResponse(boost::shared_ptr<AMQResponseBody>) = 0;
00052 virtual void handleMethod(boost::shared_ptr<AMQMethodBody>) = 0;
00053 virtual void handleHeader(boost::shared_ptr<AMQHeaderBody>) = 0;
00054 virtual void handleContent(boost::shared_ptr<AMQContentBody>) = 0;
00055 virtual void handleHeartbeat(boost::shared_ptr<AMQHeartbeatBody>) = 0;
00056 };
00057
00058 }}
00059
00060
00061 #endif