00001 //GIOP.pidl,v 1.17 2006/03/14 15:32:23 jtc Exp 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 was used to generate the code in 00013 // GIOP*.* The command used to generate code 00014 // is: 00015 // 00016 // tao_idl 00017 // -o orig -Ge 1 -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 00062 #endif /* TAO_GIOP_PIDL */