summaryrefslogtreecommitdiff
path: root/TAO/tao/IFR_Client/IFR_Basic.pidl
diff options
context:
space:
mode:
authorparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2003-03-12 16:18:58 +0000
committerparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2003-03-12 16:18:58 +0000
commit414715263a41b8525f0371e9851cfc470171b0d5 (patch)
treebf1c5cdcd20e3d61ed9d590adfaef8b5fce061df /TAO/tao/IFR_Client/IFR_Basic.pidl
parentd918dcf7a60a0a69c33de11f3b8259b2065d2e38 (diff)
downloadATCD-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.pidl137
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_ */