00001 #ifndef IT_BUS_TRANSACTION_IDENTIFIER_
00002 #define IT_BUS_TRANSACTION_IDENTIFIER_
00003
00004
00005
00006 #include <it_bus/ref_counted_base.h>
00007 #include <it_bus/var.h>
00008 #include <it_bus/string_map.h>
00009
00010 namespace IT_Bus
00011 {
00012 class TransactionIdentifier;
00013 typedef Var<TransactionIdentifier> TransactionIdentifier_var;
00014 typedef TransactionIdentifier* TransactionIdentifier_ptr;
00015 typedef StringMap<TransactionIdentifier_var> TransactionIdentifierMap;
00016
00023 class IT_BUS_API TransactionIdentifier : public RefCountedBase
00024 {
00025 public:
00026 virtual ~TransactionIdentifier();
00027
00037 virtual String
00038 transaction_type()=0;
00039
00045 virtual TransactionIdentifierMap&
00046 get_associated_tx_ids()=0;
00047
00048 protected:
00049
00050 TransactionIdentifier();
00051
00052 private:
00053 TransactionIdentifier(const TransactionIdentifier&);
00054 TransactionIdentifier& operator=(const TransactionIdentifier&);
00055 };
00056 }
00057 #endif