summaryrefslogtreecommitdiff
path: root/TAO/tao/IFR_Client/IFR_Components.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_Components.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_Components.pidl')
-rw-r--r--TAO/tao/IFR_Client/IFR_Components.pidl523
1 files changed, 228 insertions, 295 deletions
diff --git a/TAO/tao/IFR_Client/IFR_Components.pidl b/TAO/tao/IFR_Client/IFR_Components.pidl
index 6d4b54dd82a..6bc2ce68bca 100644
--- a/TAO/tao/IFR_Client/IFR_Components.pidl
+++ b/TAO/tao/IFR_Client/IFR_Components.pidl
@@ -16,50 +16,39 @@
// time. This IDL file contains all the interfaces and other data
// types related to CORBA components.
//
-// 1. Patch this pidl file with
+// The command used to generate code from this IDL file is:
//
-// patch < diffs/IFR_Components.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_Components.pidl
//
-// 3. Copy the generated files to the current directory.
-//
-// 4. Patch the generated files, using
-//
-// patch < diffs/IFR_ComponentsC.h.diff
-// patch < diffs/IFR_ComponentsC.i.diff
-// patch < diffs/IFR_ComponentsC.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_ComponentsC.h IFR_ComponentsC.h > diffs/IFR_ComponentsC.h.diff
-// diff -wbu orig/IFR_ComponentsC.i IFR_ComponentsC.i > diffs/IFR_ComponentsC.i.diff
-// diff -wbu orig/IFR_ComponentsC.cpp IFR_ComponentsC.cpp > diffs/IFR_ComponentsC.cpp.diff
+// To generate the skeleton files for the IFR Service, the command is:
//
-// 5. Restore IFR_Components.pidl.
-//
-// To regenerate the skeleton files IFR_ComponentsS.{h,i,cpp} and
-// IFR_ComponentsS_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_Components.pidl
//
+// The only modification necessary to the skelton files is to
+// change
+//
+// #include "IFR_ComponentsC.h"
+//
+// to
+//
+// #include "tao/IFR_Client/IFR_ComponentsC.h"
+//
+// in IFR_ComponentsS.h. The stub files may be deleted from the IFRService
+// directory.
+//
// ================================================================
#ifndef _IFR_COMPONENTS_IDL_
@@ -67,293 +56,237 @@
#include "IFR_Extended.pidl"
-#pragma prefix "omg.org"
-
-module IR
+module CORBA
{
- enum DefinitionKind
+ module ComponentIR
{
- dk_none,
- dk_all,
- dk_Attribute,
- dk_Constant,
- dk_Exception,
- dk_Interface,
- dk_Module,
- dk_Operation,
- dk_Typedef,
- dk_Alias,
- dk_Struct,
- dk_Union,
- dk_Enum,
- dk_Primitive,
- dk_String,
- dk_Sequence,
- dk_Array,
- dk_Repository,
- dk_Wstring,
- dk_Fixed,
- dk_Value,
- dk_ValueBox,
- dk_ValueMember,
- dk_Native,
- dk_Component,
- dk_Home,
- dk_Factory,
- dk_Finder,
- dk_PrimaryKey,
- dk_Emits,
- dk_Publishes,
- dk_Consumes,
- dk_Provides,
- dk_Uses
- };
+ typeprefix ComponentIR "omg.org";
- typedef string Identifier;
- typedef string ScopedName;
- typedef string RepositoryId;
- typedef sequence<RepositoryId> RepositoryIdSeq;
- typedef string VersionSpec;
-
- interface ComponentDef;
- typedef sequence <ComponentDef> ComponentDefSeq;
- interface ProvidesDef;
- typedef sequence <ProvidesDef> ProvidesDefSeq;
- interface UsesDef;
- typedef sequence <UsesDef> UsesDefSeq;
- interface HomeDef;
- typedef sequence <HomeDef> HomeDefSeq;
- interface EventDef;
- interface EmitsDef;
- typedef sequence <EmitsDef> EmitsDefSeq;
- interface PublishesDef;
- typedef sequence <PublishesDef> PublishesDefSeq;
- interface ConsumesDef;
- typedef sequence <ConsumesDef> ConsumesDefSeq;
- interface FactoryDef;
- typedef sequence <FactoryDef> FactoryDefSeq;
- interface FinderDef;
- typedef sequence <FinderDef> FinderDefSeq;
- interface PrimaryKeyDef;
-
- interface ComponentRepository : CORBA::Repository
- {
- ComponentDef create_component (
- in RepositoryId id,
- in Identifier name,
- in VersionSpec version,
- in ComponentDef base_component,
- in CORBA::InterfaceDefSeq supports_interfaces
- );
- HomeDef create_home (
- in RepositoryId id,
- in Identifier name,
- in VersionSpec version,
- in HomeDef base_home,
- in ComponentDef managed_component,
- in CORBA::ValueDef primary_key
- );
- };
+ interface ComponentDef;
+ interface HomeDef;
- interface ProvidesDef : CORBA::Contained
- {
- // read interface
- readonly attribute CORBA::InterfaceDef interface_type;
- };
+ interface EventDef : ExtValueDef
+ {
+ };
- struct ProvidesDescription
- {
- Identifier name;
- RepositoryId id;
- RepositoryId defined_in;
- VersionSpec version;
- CORBA::InterfaceDef interface_type;
- };
+ interface Container
+ {
+ ComponentDef create_component (
+ in RepositoryId id,
+ in Identifier name,
+ in VersionSpec version,
+ in ComponentDef base_component,
+ in InterfaceDefSeq supports_interfaces
+ );
- interface UsesDef : CORBA::Contained
- {
- // read interface
- readonly attribute CORBA::InterfaceDef interface_type;
- readonly attribute boolean is_multiple;
- };
+ HomeDef create_home (
+ in RepositoryId id,
+ in Identifier name,
+ in VersionSpec version,
+ in HomeDef base_home,
+ in ComponentDef managed_component,
+ in InterfaceDefSeq supports_interfaces,
+ in ValueDef primary_key
+ );
- struct UsesDescription
- {
- Identifier name;
- RepositoryId id;
- RepositoryId defined_in;
- VersionSpec version;
- CORBA::InterfaceDef interface_type;
- boolean is_multiple;
- };
+ EventDef create_event (
+ in RepositoryId id,
+ in Identifier name,
+ in VersionSpec version,
+ in boolean is_custom,
+ in boolean is_abstract,
+ in ValueDef base_value,
+ in boolean is_truncatable,
+ in ValueDefSeq abstract_base_values,
+ in InterfaceDefSeq supported_interfaces,
+ in ExtInitializerSeq initializers
+ );
+ };
- typedef sequence <ProvidesDescription> ProvidesDescSeq;
- typedef sequence <UsesDescription> UsesDescSeq;
+ interface ModuleDef : CORBA::ModuleDef,
+ Container
+ {
+ };
- interface EventDef : CORBA::Contained
- { // abstract - never instantiated
- // read interface
- boolean is_a (in RepositoryId event_id);
- readonly attribute CORBA::ValueDef event;
- };
+ interface Repository : CORBA::Repository,
+ Container
+ {
+ };
- struct EventDescription
- {
- Identifier name;
- RepositoryId id;
- RepositoryId defined_in;
- VersionSpec version;
- CORBA::ValueDef value;
- };
+ interface ProvidesDef : Contained
+ {
+ attribute InterfaceDef interface_type;
+ };
- interface EmitsDef : EventDef
- {
- };
+ struct ProvidesDescription
+ {
+ Identifier name;
+ RepositoryId id;
+ RepositoryId defined_in;
+ VersionSpec version;
+ RepositoryId interface_type;
+ };
- interface PublishesDef : EventDef
- {
- };
+ interface UsesDef : Contained
+ {
+ attribute InterfaceDef interface_type;
+ attribute boolean is_multiple;
+ };
- interface ConsumesDef : EventDef
- {
- };
+ struct UsesDescription
+ {
+ Identifier name;
+ RepositoryId id;
+ RepositoryId defined_in;
+ VersionSpec version;
+ RepositoryId interface_type;
+ boolean is_multiple;
+ };
- interface ComponentDef : CORBA::InterfaceDef
- {
- // read/write interface
- attribute CORBA::InterfaceDefSeq supported_interfaces;
- // read interface
- readonly attribute ComponentDef base_component;
- readonly attribute ProvidesDefSeq provides_interfaces;
- readonly attribute UsesDefSeq uses_interfaces;
- readonly attribute EmitsDefSeq emits_events;
- readonly attribute PublishesDefSeq publishes_events;
- readonly attribute ConsumesDefSeq consumes_events;
- readonly attribute boolean is_basic;
- // write interface
- ProvidesDef create_provides (
- in RepositoryId id,
- in Identifier name,
- in VersionSpec version,
- in CORBA::InterfaceDef interface_type
- );
- UsesDef create_uses (
- in RepositoryId id,
- in Identifier name,
- in VersionSpec version,
- in CORBA::InterfaceDef interface_type,
- in boolean is_multiple
- );
- EmitsDef create_emits (
- in RepositoryId id,
- in Identifier name,
- in VersionSpec version,
- in CORBA::ValueDef value
- );
- PublishesDef create_publishes (
- in RepositoryId id,
- in Identifier name,
- in VersionSpec version,
- in CORBA::ValueDef value
- );
- ConsumesDef create_consumes (
- in RepositoryId id,
- in Identifier name,
- in VersionSpec version,
- in CORBA::ValueDef value
- );
- };
+ interface EventPortDef : Contained
+ {
+ // read/write interface
+ attribute EventDef event;
+ // read interface
+ boolean is_a (in RepositoryId event_id);
+ };
- struct ComponentDescription
- {
- Identifier name;
- RepositoryId id;
- RepositoryId defined_in;
- VersionSpec version;
- RepositoryId base_component;
- RepositoryIdSeq supports_interfaces;
- ProvidesDefSeq provides_interfaces;
- UsesDefSeq uses_interfaces;
- CORBA::AttrDescriptionSeq attributes;
- EmitsDefSeq emits_events;
- PublishesDefSeq publishes_events;
- ConsumesDefSeq consumes_events;
- boolean is_basic;
- };
+ struct EventPortDescription
+ {
+ Identifier name;
+ RepositoryId id;
+ RepositoryId defined_in;
+ VersionSpec version;
+ RepositoryId event;
+ };
- interface PrimaryKeyDef : CORBA::Contained
- {
- // read interface
- boolean is_a (in RepositoryId primary_key_id);
- readonly attribute CORBA::ValueDef primary_key;
- };
+ interface EmitsDef : EventPortDef
+ {
+ };
- struct PrimaryKeyDescription
- {
- Identifier name;
- RepositoryId id;
- RepositoryId defined_in;
- VersionSpec version;
- CORBA::ValueDef primary_key;
- };
+ interface PublishesDef : EventPortDef
+ {
+ };
- interface FactoryDef : CORBA::OperationDef
- { // only PARAM_IN parameters
- };
+ interface ConsumesDef : EventPortDef
+ {
+ };
- interface FinderDef : CORBA::OperationDef
- { // only PARAM_IN parameters
- };
+ interface ComponentDef : ExtInterfaceDef
+ {
+ // read/write interface
+ attribute ComponentDef base_component;
+ attribute InterfaceDefSeq supported_interfaces;
- interface HomeDef : CORBA::InterfaceDef
- {
- // read operations
- readonly attribute HomeDef base_home;
- readonly attribute ComponentDef managed_component;
- readonly attribute PrimaryKeyDef primary_key;
- readonly attribute FactoryDefSeq factories;
- readonly attribute FinderDefSeq finders;
- readonly attribute boolean is_basic;
- // write interfaces
- PrimaryKeyDef create_primary_key (
- in RepositoryId id,
- in Identifier name,
- in VersionSpec version,
- in CORBA::ValueDef primary_key
- );
- FactoryDef create_factory (
- in RepositoryId id,
- in Identifier name,
- in VersionSpec version,
- in CORBA::ParDescriptionSeq params, // only PARAM_INs
- in CORBA::ExceptionDefSeq exceptions
- );
- FinderDef create_finder (
- in RepositoryId id,
- in Identifier name,
- in VersionSpec version,
- in CORBA::ParDescriptionSeq params, // only PARAM_INs
- in CORBA::ExceptionDefSeq exceptions
- );
- };
+ // write interface
+ ProvidesDef create_provides (
+ in RepositoryId id,
+ in Identifier name,
+ in VersionSpec version,
+ in InterfaceDef interface_type
+ );
- struct HomeDescription
- {
- Identifier name;
- RepositoryId id;
- RepositoryId defined_in;
- VersionSpec version;
- RepositoryId base_home;
- RepositoryId managed_component;
- PrimaryKeyDef primary_key_def;
- FactoryDefSeq factories;
- FinderDefSeq finders;
- CORBA::OpDescriptionSeq operations;
- CORBA::AttrDescriptionSeq attributes;
- boolean is_basic;
+ UsesDef create_uses (
+ in RepositoryId id,
+ in Identifier name,
+ in VersionSpec version,
+ in InterfaceDef interface_type,
+ in boolean is_multiple
+ );
+
+ EmitsDef create_emits (
+ in RepositoryId id,
+ in Identifier name,
+ in VersionSpec version,
+ in EventDef event
+ );
+
+ PublishesDef create_publishes (
+ in RepositoryId id,
+ in Identifier name,
+ in VersionSpec version,
+ in EventDef event
+ );
+
+ ConsumesDef create_consumes (
+ in RepositoryId id,
+ in Identifier name,
+ in VersionSpec version,
+ in EventDef event
+ );
+ };
+
+ typedef sequence<ProvidesDescription> ProvidesDescriptionSeq;
+ typedef sequence<UsesDescription> UsesDescriptionSeq;
+ typedef sequence<EventPortDescription> EventPortDescriptionSeq;
+
+ struct ComponentDescription
+ {
+ Identifier name;
+ RepositoryId id;
+ RepositoryId defined_in;
+ VersionSpec version;
+ RepositoryId base_component;
+ RepositoryIdSeq supported_interfaces;
+ ProvidesDescriptionSeq provided_interfaces;
+ UsesDescriptionSeq used_interfaces;
+ EventPortDescriptionSeq emits_events;
+ EventPortDescriptionSeq publishes_events;
+ EventPortDescriptionSeq consumes_events;
+ ExtAttrDescriptionSeq attributes;
+ TypeCode type;
+ };
+
+ interface FactoryDef : OperationDef
+ {
+ };
+
+ interface FinderDef : OperationDef
+ {
+ };
+
+ interface HomeDef : ExtInterfaceDef
+ {
+ // read/write interface
+ attribute HomeDef base_home;
+ attribute InterfaceDefSeq supported_interfaces;
+ attribute ComponentDef managed_component;
+ attribute ValueDef primary_key;
+
+ // write interface
+ FactoryDef create_factory (
+ in RepositoryId id,
+ in Identifier name,
+ in VersionSpec version,
+ in ParDescriptionSeq params,
+ in ExceptionDefSeq exceptions
+ );
+
+ FinderDef create_finder (
+ in RepositoryId id,
+ in Identifier name,
+ in VersionSpec version,
+ in ParDescriptionSeq params,
+ in ExceptionDefSeq exceptions
+ );
+ };
+
+ struct HomeDescription
+ {
+ Identifier name;
+ RepositoryId id;
+ RepositoryId defined_in;
+ VersionSpec version;
+ RepositoryId base_home;
+ RepositoryId managed_component;
+ ValueDescription primary_key;
+ OpDescriptionSeq factories;
+ OpDescriptionSeq finders;
+ OpDescriptionSeq operations;
+ ExtAttrDescriptionSeq attributes;
+ TypeCode type;
+ };
};
};
-#pragma prefix ""
-
#endif /* _IFR_COMPONENTS_IDL_ */