summaryrefslogtreecommitdiff
path: root/TAO/tao/Policy.pidl
diff options
context:
space:
mode:
authorcoryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1999-04-07 17:14:20 +0000
committercoryan <coryan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1999-04-07 17:14:20 +0000
commita9aa86e32f8180375478ee8e443de06d7f7c2b81 (patch)
tree3c1ff4952d51f56a09922786025f8760bcc13d09 /TAO/tao/Policy.pidl
parentcfb3ded9436d9e7e76e1a86899b8ecb7062cf505 (diff)
downloadATCD-a9aa86e32f8180375478ee8e443de06d7f7c2b81.tar.gz
ChangeLogTag:Wed Apr 7 12:03:33 1999 Carlos O'Ryan <coryan@cs.wustl.edu>
Diffstat (limited to 'TAO/tao/Policy.pidl')
-rw-r--r--TAO/tao/Policy.pidl74
1 files changed, 68 insertions, 6 deletions
diff --git a/TAO/tao/Policy.pidl b/TAO/tao/Policy.pidl
index 3ea88619c24..90362927698 100644
--- a/TAO/tao/Policy.pidl
+++ b/TAO/tao/Policy.pidl
@@ -1,15 +1,77 @@
+//
// $Id$
+//
+// ================================================================
+//
+// = LIBRARY
+// TAO
+//
+// = FILENAME
+// Policy.pidl
+//
+// = DESCRIPTION
+// This file was used to generate the code in Policy{C,S,S_T}.{h,i,cpp}
+// The code is then hand-crafted to compile it inside the ORB, avoid
+// cyclic dependencies and enforce the locality constraints on
+// certain objects.
+//
+// ================================================================
+
+
+#pragma prefix "omg.org"
module CORBA
{
- typedef unsigned long PolicyType;
+ typedef short PolicyErrorCode;
+ const PolicyErrorCode BAD_POLICY = 0;
+ const PolicyErrorCode UNSUPPORTED_POLICY = 1;
+ const PolicyErrorCode BAD_POLICY_TYPE = 2;
+ const PolicyErrorCode BAD_POLICY_VALUE = 3;
+ const PolicyErrorCode UNSUPPORTED_POLICY_VALUE = 4;
+ exception PolicyError
+ {
+ PolicyErrorCode reason;
+ };
+
+ exception InvalidPolicies
+ {
+ sequence<unsigned short> indices;
+ };
+
+ typedef unsigned long PolicyType;
interface Policy
- {
- readonly attribute PolicyType policy_type;
- Policy copy ();
- void destroy ();
- };
+ {
+ readonly attribute PolicyType policy_type;
+ Policy copy ();
+ void destroy ();
+ };
typedef sequence<Policy> PolicyList;
+
+ typedef sequence<PolicyType> PolicyTypeSeq;
+
+ enum SetOverrideType
+ {
+ SET_OVERRIDE,
+ ADD_OVERRIDE
+ };
+
+ interface PolicyManager
+ {
+ PolicyList get_policy_overrides (in PolicyTypeSeq ts);
+ void set_policy_overrides (
+ in PolicyList policies,
+ in SetOverrideType set_add)
+ raises (InvalidPolicies);
+ };
+
+ interface Current
+ {
+ };
+
+ interface PolicyCurrent : PolicyManager, Current
+ {
+ };
+
};