summaryrefslogtreecommitdiff
path: root/modules/CIAO/ciao/CCM_Context.idl
diff options
context:
space:
mode:
Diffstat (limited to 'modules/CIAO/ciao/CCM_Context.idl')
-rw-r--r--modules/CIAO/ciao/CCM_Context.idl44
1 files changed, 44 insertions, 0 deletions
diff --git a/modules/CIAO/ciao/CCM_Context.idl b/modules/CIAO/ciao/CCM_Context.idl
new file mode 100644
index 00000000000..52efd23bad0
--- /dev/null
+++ b/modules/CIAO/ciao/CCM_Context.idl
@@ -0,0 +1,44 @@
+// $Id$
+
+#if !defined (CCM_CONTEXT_IDL)
+#define CCM_CONTEXT_IDL
+
+#include "ciao/Security.idl"
+#include "ciao/CCM_Transaction.idl"
+#include "ciao/CCM_Home.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);
+
+ /**
+ * @todo Add for QoS4CCM
+ * Object resolve_service_reference(in string service_id)
+ * raises (CCMException);
+ */
+ };
+};
+#endif /* CCM_CONTEXT_IDL */