[Enterprise Extensions only]

Control::get_terminator

Overview Returns an object that supports the Terminator Interface for the transaction represented by the Control object.
Original interface CosTransactions::Control Interface
Exceptions TransactionRolledBack
Unavailable


Intended Usage

The Terminator object can be used to rollback or commit the transaction associated with the Control. The Unavailable exception is raised if the Control cannot provide the requested object. The TransactionRolledBack standard exception is raised if the Control object represents a transaction that has rolled back.

IDL Syntax

  Terminator get_terminator ()
      raises (Unavailable);

Input parameters

None.

Return values

Terminator
An object that supports the Terminator interface for the transaction represented by the Control object. It can be used to commit or roll back the transaction. The caller should not free the returned object; the Transaction Service retains ownership of it.

Examples

The following examples demonstrate the usage of CosTransactions::Control::get_terminator.

C++ Example

#include <CosTransactions.hh>
{
   CosTransactions::Current_ptr my_current;
   CosTransactions::Control_ptr control;
   CosTransactions::Terminator_ptr term;
   ...
   // Access the CosTransactions::Current object.
   CORBA::Object_ptr orbCurrentPtr = 
      CBSeriesGlobal::orb()->resolve_initial_references("TransactionCurrent");
   my_current = CosTransactions::Current::_narrow(orbCurrentPtr);
   my_current->begin();
   control = my_current->get_control();
   term = control->get_terminator();
}

Java Example

import org.omg.CosTransactions.*;
{
   org.omg.CosTransactions.Current my_current;
   org.omg.CosTransactions.Control control;
   org.omg.CosTransactions.Terminator term;
   ...
   // Access the org.omg.CosTransactions.Current object.
   org.omg.CORBA.Object orbCurrentPtr = 
      com.ibm.CBCUtil.CBSeriesGlobal.orb().resolve_initial_references(
         "TransactionCurrent");
   my_current = org.omg.CosTransactions.CurrentHelper.narrow(orbCurrentPtr);
   my_current.begin();
   control = my_current.get_control();
   term = control.get_terminator();
}