/** * @file Policy.pidl * * $Id$ * * @brief Pre-compiled IDL source for the CORBA::Policy related * classes. * * This file is used to generate the code in PolicyC.{h,i,cpp}. * Also, skeleton code for the only non local Policy interface is * generated from this pidl file and then the declaration code is * moved to tao/PortableServer/PolicyS.{h,i,cpp} * * The steps to regenerate the code are as follows: * * 1. Run the tao_idl compiler on the patched pidl file. The * command used for this is: * * tao_idl.exe * -o orig -Gp -Gd -Ge 1 -GT * -Wb,export_macro=TAO_Export * -Wb,export_include="tao/TAO_Export.h" * -Wb,pre_include="ace/pre.h" * -Wb,post_include="ace/post.h" * Policy.pidl * * 2. Then patch the generated code. This patch (a) eliminates * cycles in the include dependencies; (b) adds the TAO_Encodable * methods to the Policy class; (c) fixes the #includes in the * PolicyS.h file. * * Apply patches using the following commands: * * cp orig/PolicyC.{h,i,cpp} . * cp orig/PolicyS.{h,i,cpp} PortableServer * cp orig/PolicyS_T.{h,i,cpp} PortableServer * patch < diffs/Policy.diff * * Note: The diffs were generated with these commands: * * for i in PolicyC.{h,i,cpp}; do * diff -wBbu orig/$i $i; * done > diffs/Policy.diff * for i in Policy{S,S_T}.{h,i,cpp}; do * diff -wBbu orig/$i PortableServer/$i; * done >> diffs/Policy.diff */ #ifndef TAO_CORBA_POLICY_PIDL #define TAO_CORBA_POLICY_PIDL #include #include #pragma prefix "omg.org" module CORBA { 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 indices; }; interface Policy { readonly attribute PolicyType policy_type; Policy copy (); void destroy (); }; local interface PolicyManager { PolicyList get_policy_overrides (in PolicyTypeSeq ts); void set_policy_overrides ( in PolicyList policies, in SetOverrideType set_add) raises (InvalidPolicies); }; local interface PolicyCurrent : PolicyManager, Current { }; }; #pragma prefix "" #endif /* TAO_CORBA_POLICY_PIDL */