00001 #ifndef QPID_FRAMING_HEADER_H
00002 #define QPID_FRAMING_HEADER_H
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00028
00029
00030
00031 #include <ostream>
00032 #include "qpid/framing/amqp_types_full.h"
00033 #include "qpid/CommonImportExport.h"
00034
00035 namespace qpid {
00036 namespace framing {
00037
00038 class Header {
00039 uint8_t flags;
00040 public:
00041 Header(
00042 bool _sync) :
00043 flags(0){
00044 setSync(_sync);
00045 }
00046 Header() : flags(0) {}
00047
00048 QPID_COMMON_EXTERN void setSync(bool _sync);
00049 QPID_COMMON_EXTERN bool getSync() const;
00050 QPID_COMMON_EXTERN friend std::ostream& operator<<(std::ostream&, const Header&);
00051 QPID_COMMON_EXTERN void encode(Buffer&) const;
00052 QPID_COMMON_EXTERN void decode(Buffer&, uint32_t=0);
00053 QPID_COMMON_EXTERN void encodeStructBody(Buffer&) const;
00054 QPID_COMMON_EXTERN void decodeStructBody(Buffer&, uint32_t=0);
00055 QPID_COMMON_EXTERN uint32_t encodedSize() const;
00056 QPID_COMMON_EXTERN uint32_t bodySize() const;
00057 QPID_COMMON_EXTERN void print(std::ostream& out) const;
00058 };
00059
00060 }}
00061 #endif