diff options
author | parsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2003-03-12 16:18:58 +0000 |
---|---|---|
committer | parsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2003-03-12 16:18:58 +0000 |
commit | 414715263a41b8525f0371e9851cfc470171b0d5 (patch) | |
tree | bf1c5cdcd20e3d61ed9d590adfaef8b5fce061df /TAO/tao/IFR_Client/IFR_Basic.pidl | |
parent | d918dcf7a60a0a69c33de11f3b8259b2065d2e38 (diff) | |
download | ATCD-414715263a41b8525f0371e9851cfc470171b0d5.tar.gz |
ChangeLogTag: Wed Mar 12 09:49:00 2003 Jeff Parsons <j.parsons@vanderbilt.edu>
Diffstat (limited to 'TAO/tao/IFR_Client/IFR_Basic.pidl')
-rw-r--r-- | TAO/tao/IFR_Client/IFR_Basic.pidl | 137 |
1 files changed, 91 insertions, 46 deletions
diff --git a/TAO/tao/IFR_Client/IFR_Basic.pidl b/TAO/tao/IFR_Client/IFR_Basic.pidl index f6004b62cea..ca87f284a62 100644 --- a/TAO/tao/IFR_Client/IFR_Basic.pidl +++ b/TAO/tao/IFR_Client/IFR_Basic.pidl @@ -16,50 +16,39 @@ // time. This IDL file contains the concrete base interfaces of // the IFR, except for fixed types, valuetypes and CORBA components. // -// 1. Patch this pidl file with +// The command used to generate code from this IDL file is: // -// patch < diffs/IFR_Basic.pidl.diff -// -// This will remove the CORBA module, rename most types foo -// declared in it as CORBA_foo, unalias the simple typedefs -// which don't have a CORBA_ analog in corbafwd.h. -// -// 2. Generate the code. The command used to generate code from this -// IDL file is: -// -// tao_idl -o orig -Ge 1 -I.. \ +// tao_idl -Ge 1 -I.. \ // -Wb,export_macro=TAO_IFR_Client_Export \ // -Wb,export_include=ifr_client_export.h \ // -Wb,pre_include="ace/pre.h" \ // -Wb,post_include="ace/post.h" \ // IFR_Basic.pidl // -// 3. Copy the generated files to the current directory. -// -// 4. Patch the generated files, using -// -// patch < diffs/IFR_BasicC.h.diff -// patch < diffs/IFR_BasicC.i.diff -// patch < diffs/IFR_BasicC.cpp.diff +// Only the stub files are used in the TAO_IFR_Client library. The +// skeleton files can be deleted from this directory. // -// If this fails for some reason, the files must be patched -// by hand, and the diff files regenerated with +// No patching of the generated stub files is necessary. // -// diff -wbu orig/IFR_BasicC.h IFR_BasicC.h > diffs/IFR_BasicC.h.diff -// diff -wbu orig/IFR_BasicC.i IFR_BasicC.i > diffs/IFR_BasicC.i.diff -// diff -wbu orig/IFR_BasicC.cpp IFR_BasicC.cpp > diffs/IFR_BasicC.cpp.diff +// To generate the skeleton files for the IFR Service, the command is: // -// 5. Restore IFR_Base.pidl. -// -// To regenerate the skeleton files IFR_BasicS.{h,i,cpp} and -// IFR_BasicS_T.{h,i.cpp} in ACE_ROOT/TAO/orbsvcs/IFR_Service, use the -// command -// -// tao_idl -o ../../orbsvcs/IFR_Service/orig -Ge 1 \ +// tao_idl -o ../../orbsvcs/orbsvcs/IFRService -Ge 1 \ // -Wb,pre_include="ace/pre.h" \ // -Wb,post_include="ace/post.h" \ // IFR_Basic.pidl // +// The only modification necessary to the skelton files is to +// change +// +// #include "IFR_BasicC.h" +// +// to +// +// #include "tao/IFR_Client/IFR_BasicC.h" +// +// in IFR_BasicS.h. The stub files may be deleted from the IFRService +// directory. +// // ================================================================ #ifndef _IFR_BASIC_IDL_ @@ -67,8 +56,6 @@ #include "IFR_Base.pidl" -#pragma prefix "omg.org" - module CORBA { interface PrimitiveDef; @@ -227,17 +214,7 @@ module CORBA attribute StructMemberSeq members; }; - struct ExceptionDescription - { - Identifier name; - RepositoryId id; - RepositoryId defined_in; - VersionSpec version; - TypeCode type; - }; - typedef sequence <ExceptionDef> ExceptionDefSeq; - typedef sequence <ExceptionDescription> ExcDescriptionSeq; enum AttributeMode { @@ -262,19 +239,42 @@ module CORBA AttributeMode mode; }; + struct ExtAttributeDescription + { + Identifier name; + RepositoryId id; + RepositoryId defined_in; + VersionSpec version; + TypeCode type; + AttributeMode mode; + ExcDescriptionSeq get_exceptions; + ExcDescriptionSeq put_exceptions; + }; + + interface ExtAttributeDef : AttributeDef + { + // read/write interface + attribute ExcDescriptionSeq get_exceptions; + attribute ExcDescriptionSeq set_exceptions; + // read interface + ExtAttributeDescription describe_attribute (); + }; + enum OperationMode { OP_NORMAL, OP_ONEWAY }; +// Already defined in corbafwd.h, included from orb.idl +/* enum ParameterMode { PARAM_IN, PARAM_OUT, PARAM_INOUT }; - +*/ struct ParameterDescription { Identifier name; @@ -313,8 +313,11 @@ module CORBA typedef sequence <RepositoryId> RepositoryIdSeq; typedef sequence <OperationDescription> OpDescriptionSeq; typedef sequence <AttributeDescription> AttrDescriptionSeq; + typedef sequence <ExtAttributeDescription> ExtAttrDescriptionSeq; - interface InterfaceDef : Container, Contained, IDLType + interface InterfaceDef : Container, + Contained, + IDLType { // read/write interface attribute InterfaceDefSeq base_interfaces; @@ -366,15 +369,57 @@ module CORBA RepositoryIdSeq base_interfaces; }; + interface InterfaceAttrExtension + { + // read interface + struct ExtFullInterfaceDescription + { + Identifier name; + RepositoryId id; + RepositoryId defined_in; + VersionSpec version; + OpDescriptionSeq operations; + ExtAttrDescriptionSeq attributes; + RepositoryIdSeq base_interfaces; + TypeCode type; + }; + + ExtFullInterfaceDescription describe_ext_interface (); + + // write interface + ExtAttributeDef create_ext_attribute ( + in RepositoryId id, + in Identifier name, + in VersionSpec version, + in IDLType type, + in AttributeMode mode, + in ExceptionDefSeq get_exceptions, + in ExceptionDefSeq set_exceptions + ); + }; + + interface ExtInterfaceDef : InterfaceDef, + InterfaceAttrExtension + { + }; + interface AbstractInterfaceDef : InterfaceDef { }; + interface ExtAbstractInterfaceDef : AbstractInterfaceDef, + InterfaceAttrExtension + { + }; + interface LocalInterfaceDef : InterfaceDef { }; -}; -#pragma prefix "" + interface ExtLocalInterfaceDef : LocalInterfaceDef, + InterfaceAttrExtension + { + }; +}; #endif /* _IFR_BASIC_IDL_ */ |