Policy.pidl

Go to the documentation of this file.
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 */

Generated on Tue Feb 2 17:37:52 2010 for TAO by  doxygen 1.4.7