[Enterprise Extensions only]

CosTransactions::Coordinator Interface

Overview Provides common operations for top-level transactions.
File stem CosTransactions
Exceptions Inactive
SubtransactionsUnavailable
Supported operations Coordinator::get_parent_status
Coordinator::get_status
Coordinator::get_top_level_status
Coordinator::get_transaction_name
Coordinator::hash_top_level_transaction
Coordinator::hash_transaction
Coordinator::is_ancestor_transaction
Coordinator::is_descendant_transaction
Coordinator::is_related_transaction
Coordinator::is_same_transaction
Coordinator::is_top_level_transaction
Coordinator::rollback_only


Intended Usage

The Coordinator interface provides common operations for top-level transactions. Participants in a transaction are typically either recoverable objects, or agents of recoverable objects, such as subordinate coordinators. An object supporting the Coordinator interface is implicitly associated with one transaction only.

IDL syntax

  interface Coordinator
  {
      Status get_status();
      Status get_parent_status();
      Status get_top_level_status();
      boolean is_same_transaction(in Coordinator coord);
      boolean is_related_transaction(in Coordinator coord);
      boolean is_anscestor_transaction(in Coordinator coord);
      boolean is_descendant_transaction(in Coordinator coord);
      boolean is_top_level_transaction();
      unsigned long hash_transaction(in unsigned long maximum);
      unsigned long hash_top_level_tran(in unsigned long maximum);
      RecoveryCoordinator register_resource(in Resource res)
          raises(Inactive);
      void register_synchronization (in Synchronization sync)
          raises(Inactive);
      void register_subtran_aware(in SubtransactionalAwareResource res)
          raises(Inactive, SubtransactionsUnavailable);
      void rollback_only()
          raises(Inactive);
      string get_transaction_name();
      Control create_subtransaction()
          raises(SubtransactionsUnavailable Inactive);
      CosTSInteroperation::PropagationContext get_txcontext ()
          raises(Unavailable);
  };