00001 #ifndef QPID_FRAMING_FRAMEDECODER_H
00002 #define QPID_FRAMING_FRAMEDECODER_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 "AMQFrame.h"
00026
00027 namespace qpid {
00028 namespace framing {
00029
00034 class FrameDecoder
00035 {
00036 public:
00037 bool decode(Buffer& buffer);
00038 const AMQFrame& getFrame() const { return frame; }
00039 AMQFrame& getFrame() { return frame; }
00040
00041 void setFragment(const char*, size_t);
00042 std::pair<const char*, size_t> getFragment() const;
00043
00044 private:
00045 std::vector<char> fragment;
00046 AMQFrame frame;
00047
00048 };
00049 }}
00050
00051 #endif