summaryrefslogtreecommitdiff
path: root/CIAO/ciao/CCM_Context.idl
diff options
context:
space:
mode:
Diffstat (limited to 'CIAO/ciao/CCM_Context.idl')
-rw-r--r--CIAO/ciao/CCM_Context.idl45
1 files changed, 45 insertions, 0 deletions
diff --git a/CIAO/ciao/CCM_Context.idl b/CIAO/ciao/CCM_Context.idl
new file mode 100644
index 00000000000..e5eb75c218f
--- /dev/null
+++ b/CIAO/ciao/CCM_Context.idl
@@ -0,0 +1,45 @@
+// $Id$
+
+#if !defined (CCM_CONTEXT_IDL)
+#define CCM_CONTEXT_IDL
+
+#include "ciao/Security.idl"
+#include "ciao/CCM_Transaction.idl"
+#include "ciao/CCM_Home.idl"
+#include "ciao/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 */