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_Components.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_Components.pidl')
-rw-r--r-- | TAO/tao/IFR_Client/IFR_Components.pidl | 523 |
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_ */ |