Policy.pidl

Go to the documentation of this file.
00001 /**
00002  * @file Policy.pidl
00003  *
00004  * Policy.pidl,v 1.24 2006/03/14 15:32:23 jtc Exp
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 -Ge 1 -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   local interface PolicyManager
00080   {
00081     PolicyList get_policy_overrides (in PolicyTypeSeq ts);
00082     void set_policy_overrides (
00083              in PolicyList policies,
00084              in SetOverrideType set_add)
00085         raises (InvalidPolicies);
00086   };
00087 
00088   local interface PolicyCurrent : PolicyManager, Current
00089   {
00090   };
00091 
00092 };
00093 
00094 #pragma prefix ""
00095 
00096 #endif /* TAO_CORBA_POLICY_PIDL */

Generated on Thu Nov 9 11:54:20 2006 for TAO by doxygen 1.3.6