// $Id$ #if !defined (CCM_TRANSACTION_IDL) #define CCM_TRANSACTION_IDL module Components { typeprefix Components "omg.org"; // @@ Components::Transaction is still there. module Transaction { typedef sequence TranToken; exception NoTransaction {}; exception NotSupported {}; exception SystemError {}; exception RollbackError {}; exception HeuristicMixed {}; exception HeuristicRollback {}; exception Security {}; exception InvalidToken {}; enum Status { ACTIVE, MARKED_ROLLBACK, PREPARED, COMMITTED, ROLLED_BACK, NO_TRANSACTION, PREPARING, COMMITTING, ROLLING_BACK }; local interface UserTransaction { void begin () raises (NotSupported, SystemError); void commit () raises (RollbackError, NoTransaction, HeuristicMixed, HeuristicRollback, Security, SystemError); void rollback () raises (NoTransaction, Security, SystemError); void set_rollback_only () raises (NoTransaction, SystemError); Status get_status() raises (SystemError); void set_timeout (in long to) raises (SystemError); TranToken suspend () raises (NoTransaction, SystemError); void resume (in TranToken txtoken) raises (InvalidToken, SystemError); }; }; }; #endif /* CCM_TRANSACTION_IDL */