it_bus_pdk/ots_interposed_transaction.h

00001 #ifndef IT_BUS_OTS_INTERPOSED_TRANSACTION_
00002 #define IT_BUS_OTS_INTERPOSED_TRANSACTION_
00003 //
00004 //      Copyright (c) 2005 IONA Technologies PLC. All Rights Reserved.
00005 //
00006 #include <it_bus_pdk/ots_transaction_manager.h>
00007 #include <orbix_sys/xa.h>
00008 
00009 namespace IT_Bus
00010 {
00014     class IT_BUS_API OTSInterposedTransaction
00015     {
00016       public:
00017         virtual ~OTSInterposedTransaction();
00018 
00019         virtual void
00020         assume_superior_tx_role() = 0;
00021 
00022         virtual void
00023         set_superior_otid(
00024             const CosTransactions::otid_t   otid
00025         )=0;
00026 
00027         virtual CosTransactions::Current_ptr
00028         get_current()=0;
00029 
00030         virtual CosTransactions::Vote
00031         initiate_prepare()=0;
00032 
00033         virtual void
00034         initiate_commit(
00035             bool        one_phase_commit
00036         )=0;
00037 
00038         virtual void
00039         initiate_rollback()=0;
00040 
00041         virtual void
00042         initiate_forget()=0;
00043 
00044         virtual void
00045         initiate_suspend()=0;
00046 
00047         virtual void
00048         initiate_resume()=0;
00049 
00050         virtual void
00051         in_use(
00052             bool startEnd
00053         )=0;
00054 
00055         virtual int
00056         use_count()=0;
00057 
00058         virtual bool
00059         is_already_enlisted()=0;
00060 
00061         virtual void
00062         is_already_enlisted(
00063             bool yesNo
00064         )=0;
00065 
00066       protected:
00067         // protect against inappropiate construction
00068         OTSInterposedTransaction();
00069 
00070       private:
00071         OTSInterposedTransaction(const OTSInterposedTransaction&);
00072         OTSInterposedTransaction& operator=(const OTSInterposedTransaction&);
00073     };
00074     typedef Var<OTSInterposedTransaction> OTSInterposedTransaction_var;
00075     typedef OTSInterposedTransaction* OTSInterposedTransaction_ptr;
00076 }
00077 
00078 #endif 

Generated on Tue Mar 20 15:27:52 2007 for Artix by  doxygen 1.5.1-p1