00001 /** 00002 * @file Policy.pidl 00003 * 00004 * $Id: Policy.pidl 79256 2007-08-08 11:24:06Z johnnyw $ 00005 * 00006 * @brief Pre-compiled IDL source for the CORBA::Policy related 00007 * classes. 00008 * 00009 * This file is used to generate the code in PolicyC.{h,inl,cpp}. 00010 * Also, skeleton code for the only non local Policy interface is 00011 * generated from this pidl file and then the declaration code is 00012 * moved to tao/PortableServer/PolicyS.{h,inl,cpp} 00013 * 00014 * The steps to regenerate the code are as follows: 00015 * 00016 * 1. Run the tao_idl compiler on the patched pidl file. The 00017 * command used for this is: 00018 * 00019 * tao_idl.exe 00020 * -o orig -Gp -Gd -GA -Ssi 00021 * -Wb,stub_export_macro=TAO_Export 00022 * -Wb,stub_export_include="tao/TAO_Export.h" 00023 * -Wb,skel_export_macro=TAO_PortableServer_Export 00024 * -Wb,skel_export_include=portableserver_export.h 00025 * -Wb,pre_include="ace/pre.h" 00026 * -Wb,post_include="ace/post.h" 00027 * Policy.pidl 00028 * 00029 * 2. Then patch the generated code using patches in 00030 * diff/Policy.diff. To patch the generated code in 00031 * PortableServer look for diffs in PortableServer/diffs 00032 * directory. 00033 * 00034 * Note: The diffs were generated with these commands: 00035 * 00036 * for i in PolicyC.{h,i,cpp}; do 00037 * diff -wBbu orig/$i $i; 00038 * done > diffs/Policy.diff 00039 * for i in Policy{S,S_T}.{h,i,cpp}; do 00040 * diff -wBbu orig/$i PortableServer/$i; 00041 * done >> diffs/Policy.diff 00042 */ 00043 00044 #ifndef TAO_CORBA_POLICY_PIDL 00045 #define TAO_CORBA_POLICY_PIDL 00046 00047 #include "tao/UShortSeq.pidl" 00048 #include "tao/Current.pidl" 00049 #include "tao/Policy_Forward.pidl" 00050 00051 #pragma prefix "omg.org" 00052 00053 module CORBA 00054 { 00055 typedef short PolicyErrorCode; 00056 const PolicyErrorCode BAD_POLICY = 0; 00057 const PolicyErrorCode UNSUPPORTED_POLICY = 1; 00058 const PolicyErrorCode BAD_POLICY_TYPE = 2; 00059 const PolicyErrorCode BAD_POLICY_VALUE = 3; 00060 const PolicyErrorCode UNSUPPORTED_POLICY_VALUE = 4; 00061 00062 exception PolicyError 00063 { 00064 PolicyErrorCode reason; 00065 }; 00066 00067 exception InvalidPolicies 00068 { 00069 UShortSeq indices; 00070 }; 00071 00072 interface Policy 00073 { 00074 readonly attribute PolicyType policy_type; 00075 Policy copy (); 00076 void destroy (); 00077 }; 00078 }; 00079 00080 #pragma prefix "" 00081 00082 #endif /* TAO_CORBA_POLICY_PIDL */