GIOP.pidl

Go to the documentation of this file.
00001 //$Id: GIOP.pidl 81200 2008-04-01 13:03:30Z johnnyw $
00002 // ================================================================
00003 //
00004 // = LIBRARY
00005 //   TAO
00006 //
00007 // = FILENAME
00008 //   GIOP1_2.pidl
00009 //
00010 // = DESCRIPTION
00011 //   Some new data types included for GIOP 1.2
00012 //   This file is used to generate the code in
00013 //   GIOP*.* The command used to generate code
00014 //   is:
00015 //
00016 //     tao_idl
00017 //        -o orig -GA -I.. -SS -Sc
00018 //          -Wb,export_macro=TAO_Export
00019 //          -Wb,export_include="tao/TAO_Export.h"
00020 //          -Wb,pre_include="ace/pre.h"
00021 //          -Wb,post_include="ace/post.h"
00022 //          -Wb,versioning_begin=TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00023 //          -Wb,versioning_end=TAO_END_VERSIONED_NAMESPACE_DECL
00024 //          GIOP.pidl
00025 //
00026 // ================================================================
00027 
00028 #ifndef TAO_GIOP_PIDL
00029 #define TAO_GIOP_PIDL
00030 
00031 #include "tao/IOP_IOR.pidl"
00032 
00033 #pragma prefix "omg.org"
00034 
00035 module GIOP
00036 {
00037   typedef short AddressingDisposition;
00038   const short KeyAddr = 0;
00039   const short ProfileAddr = 1;
00040   const short ReferenceAddr = 2;
00041 
00042   struct Version
00043   {
00044     octet major;
00045     octet minor;
00046   };
00047 
00048   struct IORAddressingInfo
00049   {
00050     unsigned long selected_profile_index;
00051     IOP::IOR ior;
00052   };
00053 
00054   union TargetAddress switch (AddressingDisposition)
00055   {
00056     case KeyAddr: CORBA::OctetSeq object_key;
00057     case ProfileAddr: IOP::TaggedProfile profile;
00058     case ReferenceAddr: IORAddressingInfo ior;
00059   };
00060 
00061   enum MsgType {
00062     Request,
00063     Reply,
00064     CancelRequest,
00065     LocateRequest,
00066     LocateReply,
00067     CloseConnection,
00068     MessageError,
00069     Fragment
00070   };
00071 
00072   enum ReplyStatusType {
00073     NO_EXCEPTION,
00074     USER_EXCEPTION,
00075     SYSTEM_EXCEPTION,
00076     LOCATION_FORWARD,
00077     LOCATION_FORWARD_PERM,
00078     NEEDS_ADDRESSING_MODE
00079   };
00080 
00081   enum LocateStatusType {
00082     UNKNOWN_OBJECT,
00083     OBJECT_HERE,
00084     OBJECT_FORWARD,
00085     OBJECT_FORWARD_PERM,
00086     LOC_SYSTEM_EXCEPTION,
00087     LOC_NEEDS_ADDRESSING_MODE
00088   };
00089 };
00090 
00091 #endif  /* TAO_GIOP_PIDL */

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