00001 #ifndef QPID_FRAMING_XARESULT_H
00002 #define QPID_FRAMING_XARESULT_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/framing/reply_exceptions.h"
00034 #include "qpid/CommonImportExport.h"
00035
00036 namespace qpid {
00037 namespace framing {
00038
00039 class QPID_COMMON_CLASS_EXTERN XaResult {
00040 uint16_t status;
00041 uint16_t flags;
00042 public:
00043 static const uint16_t TYPE = 1537;
00044 XaResult(
00045 uint16_t _status) :
00046 status(_status),
00047 flags(0){
00048 flags |= (1 << 8);
00049 }
00050 XaResult() : status(0), flags(0) {}
00051
00052 QPID_COMMON_EXTERN void setStatus(uint16_t _status);
00053 QPID_COMMON_EXTERN uint16_t getStatus() const;
00054 QPID_COMMON_EXTERN bool hasStatus() const;
00055 QPID_COMMON_EXTERN void clearStatusFlag();
00056 QPID_COMMON_EXTERN friend std::ostream& operator<<(std::ostream&, const XaResult&);
00057 QPID_COMMON_EXTERN void encode(Buffer&) const;
00058 QPID_COMMON_EXTERN void decode(Buffer&, uint32_t=0);
00059 QPID_COMMON_EXTERN void encodeStructBody(Buffer&) const;
00060 QPID_COMMON_EXTERN void decodeStructBody(Buffer&, uint32_t=0);
00061 QPID_COMMON_EXTERN uint32_t encodedSize() const;
00062 QPID_COMMON_EXTERN uint32_t bodySize() const;
00063 QPID_COMMON_EXTERN void print(std::ostream& out) const;
00064 };
00065
00066 }}
00067 #endif