costransactions.idl

来自「OTP是开放电信平台的简称」· IDL 代码 · 共 194 行

IDL
194
字号
#ifndef _COSTRANSACTIONS_IDL#define _COSTRANSACTIONS_IDL#pragma prefix "omg.org"module CosTransactions { // DATATYPES   enum Status {     StatusActive,    StatusMarkedRollback,    StatusPrepared,    StatusCommitted,    StatusRolledBack,    StatusUnknown,    StatusNoTransaction,    StatusPreparing,    StatusCommitting,    StatusRollingBack  };     enum Vote {     VoteCommit,    VoteRollback,     VoteReadOnly   };  // Forward references for interfaces defined later in module   interface Control;   interface Terminator;   interface Coordinator;   interface Resource;   interface RecoveryCoordinator;   interface SubtransactionAwareResource;   interface TransactionFactory;  interface TransactionalObject;   //  interface Synchronization;  // Structure definitions  struct otid_t {    long formatID; /*format identifier. 0 is OSI TP */    long bqual_length;    sequence <octet> tid;  };  struct TransIdentity {    Coordinator coord;    Terminator term;    otid_t otid;  };  struct PropagationContext {    unsigned long timeout;    TransIdentity current;    sequence <TransIdentity> parents;    any implementation_specific_data;  };  //  interface Current;    // Standard exceptions  // Defined in orber/include/corba.hrl  //  exception TransactionRequired {};  //  exception TransactionRolledBack {};  //  exception InvalidTransaction {};    // Heuristic exceptions  exception HeuristicRollback {};   exception HeuristicCommit {};   exception HeuristicMixed {};   exception HeuristicHazard {};   // Exception from Orb operations  exception WrongTransaction {};  // Other transaction-specific exceptions   exception SubtransactionsUnavailable {};   exception NotSubtransaction {};   exception Inactive {};   exception NotPrepared {};   exception NoTransaction {};   exception InvalidControl {};   exception Unavailable {};   exception SynchronizationUnavailable {};  interface TransactionFactory {     Control create(in unsigned long time_out);     Control recreate(in PropagationContext ctx);   };     interface Control {     Terminator get_terminator()       raises(Unavailable);     Coordinator get_coordinator()       raises(Unavailable);   };     interface Terminator {    void commit(in boolean report_heuristics)       raises( HeuristicMixed, 	      HeuristicHazard );     void rollback();   };     interface Coordinator {    Status get_status();    Status get_parent_status();    Status get_top_level_status();    boolean is_same_transaction(in Coordinator tc);    boolean is_related_transaction(in Coordinator tc);    boolean is_ancestor_transaction(in Coordinator tc);    boolean is_descendant_transaction(in Coordinator tc);    boolean is_top_level_transaction();        unsigned long hash_transaction();    unsigned long hash_top_level_tran();        RecoveryCoordinator register_resource(in Resource r)      raises(Inactive);    //     void register_synchronization (in Synchronization sync)//       raises(Inactive, SynchronizationUnavailable);        void register_subtran_aware(in SubtransactionAwareResource r)      raises(Inactive, NotSubtransaction);        void rollback_only()      raises(Inactive);        string get_transaction_name();    Control create_subtransaction()      raises(SubtransactionsUnavailable, Inactive);    PropagationContext get_txcontext ()      raises(Unavailable);  };  interface RecoveryCoordinator {     Status replay_completion(in Resource r)       raises(NotPrepared);   };     interface Resource {     Vote prepare()      raises(HeuristicMixed,	     HeuristicHazard);    void rollback()       raises( HeuristicCommit, 	      HeuristicMixed, 	      HeuristicHazard );     void commit()       raises( NotPrepared, 	      HeuristicRollback, 	      HeuristicMixed, 	      HeuristicHazard );     void commit_one_phase()       raises( HeuristicHazard,	      HeuristicRollback, 	      HeuristicMixed);     void forget();   };   //   interface TransactionalObject { //   };   //   interface Synchronization : TransactionalObject {//     void before_completion();//     void after_completion(in CosTransactions::Status status);//   };  interface SubtransactionAwareResource : Resource {    void commit_subtransaction(in Coordinator parent);     void rollback_subtransaction();   };  }; // End of CosTransactions Modulemodule ETraP {   // interface Server    interface Server :	CosTransactions::Coordinator, CosTransactions::Resource,	CosTransactions::RecoveryCoordinator, CosTransactions::Control {    };//     interface Server :// 	CosTransactions::Coordinator, CosTransactions::Resource,// 	CosTransactions::RecoveryCoordinator, CosTransactions::Control,// 	CosTransactions::Synchronization {//     };    }; // End of ETraP Module#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?