00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef _CMS_XID_H_
00019 #define _CMS_XID_H_
00020
00021 #include <cms/Config.h>
00022
00023 #include <cms/CMSException.h>
00024
00025 namespace cms {
00026
00037 class CMS_API Xid {
00038 private:
00039
00040 Xid(const Xid&);
00041 Xid& operator=(const Xid&);
00042
00043 public:
00044
00049 static const int MAXGTRIDSIZE;
00050
00055 static const int MAXBQUALSIZE;
00056
00057 public:
00058
00059 Xid();
00060
00061 virtual ~Xid();
00062
00068 virtual Xid* clone() const = 0;
00069
00075 virtual bool equals(const Xid* other) const = 0;
00076
00093 virtual int getBranchQualifier(unsigned char* buffer, int size) const = 0;
00094
00101 virtual int getFormatId() const = 0;
00102
00119 virtual int getGlobalTransactionId(unsigned char* buffer, int size) const = 0;
00120
00121 };
00122
00123 }
00124
00125 #endif