diff options
Diffstat (limited to 'modules/CIAO/ccm/CCM_Context.idl')
-rw-r--r-- | modules/CIAO/ccm/CCM_Context.idl | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/modules/CIAO/ccm/CCM_Context.idl b/modules/CIAO/ccm/CCM_Context.idl new file mode 100644 index 00000000000..499c934255e --- /dev/null +++ b/modules/CIAO/ccm/CCM_Context.idl @@ -0,0 +1,45 @@ +// $Id$ + +#if !defined (CCM_CONTEXT_IDL) +#define CCM_CONTEXT_IDL + +#include "ccm/Security.idl" +#include "ccm/CCM_Transaction.idl" +#include "ccm/CCM_Home.idl" +#include "ccm/CCM_CCMException.idl" + +// *************** Basic Container interfaces *************** + +module Components +{ + typeprefix Components "omg.org"; + + typedef SecurityLevel2::Credentials Principal; + + exception IllegalState {}; + + local interface CCMContext + { + Principal get_caller_principal(); + + CCMHome get_CCM_home(); + + boolean get_rollback_only() + raises (IllegalState); + + Transaction::UserTransaction get_user_transaction() + raises (IllegalState); + + boolean is_caller_in_role (in string role); + + void set_rollback_only() + raises (IllegalState); + + /** + * Added for QoS4CCM + */ + Object resolve_service_reference(in string service_id) + raises (CCMException); + }; +}; +#endif /* CCM_CONTEXT_IDL */ |