summaryrefslogtreecommitdiff
path: root/CIAO/docs/templates/Executor.idl
diff options
context:
space:
mode:
Diffstat (limited to 'CIAO/docs/templates/Executor.idl')
-rw-r--r--CIAO/docs/templates/Executor.idl246
1 files changed, 0 insertions, 246 deletions
diff --git a/CIAO/docs/templates/Executor.idl b/CIAO/docs/templates/Executor.idl
deleted file mode 100644
index 259bffac0df..00000000000
--- a/CIAO/docs/templates/Executor.idl
+++ /dev/null
@@ -1,246 +0,0 @@
-// $Id$
-
-// ===========================================================
-//
-// @file Executor.idl
-//
-// The purpose of this IDL file is to serve as a template for the CIDL
-// generated equivalent executor file. The CIDL will generate this
-// file directly which, in turn, gets compiled by the TAO IDL compiler
-// to generate the C++ mappings for the stuff defined in this file
-// into a set of [idl-name]EC.{h,inl,cpp} files.
-//
-// This intermediate step is necessary because component implemenetors
-// will need to extend these executor definitions (thru inheritance)
-// to implemenet more complex executor implementations, such as those
-// that support session component interface. (This is necessary to
-// properly support C++ mapping for features such as interface
-// narrowing.)
-//
-// What are missing in the template for executor mappings are the
-// exception specifications for most operations.
-//
-// @author Nanbor Wang <nanbor@cs.wustl.edu>
-//
-// ===========================================================
-
-#ifndef [component_idl]E_IDL
-#define [component_idl]E_IDL
-
-#include "CCM_Container.idl" // Found in $(CIAO_ROOT)/ciao
- // For various definitions of container
- // internal/callback interfaces
-#include "[component_idl].idl" // Original component IDL definition
-// @@ We may need to include other *E.idl here.... Can't figure out
-// if we can do this automagically or not.
-
-##if there are module definitions, preserve them all
-module [module_name] {
-##endif
-
-////////////////////////////////////////////////////////////////////
-//// * Iterate thru all supported interface types
-//// It's possible that we need to put some of the common supported
-//// interface definitions into a separate compilation unit. How do we
-//// specify that in CCIDL? I haven't figured that out. Perhaps
-//// allowing CCIDL to compile files that contain no component
-//// definition?
-##foreach [interface_type] in (types of all supported interface) generate:
-
- local interface CCM_[interface_type] : [interface_type]
- {
- };
-
-##end foreach [interface_type]
-
-////////////////////////////////////////////////////////////////////
-//// * Iterate thru all facet ('provides' interface) interface types
-//// It's possible that we need to put some of the common facet
-//// definitions into a separate compilation unit. How do we
-//// specify that in CCIDL? I haven't figured that out. Perhaps
-//// allowing CCIDL to compile files that contain no component
-//// definition?
-##foreach [facet_interface_type] in (types of all facets) generate:
-
- local interface CCM_[facet_interface_type] : [facet_interface_type]
- {
- };
-
-##end foreach [facet_interface_type]
-
-////////////////////////////////////////////////////////////////////
-//// * Iterate thru all event ('emits', "publishes', or 'consumes') types
-//// It's possible that we need to put some of the EventConsumer
-//// definitions into a separate compilation unit. Like in the case
-//// of facets interface mappings, how do we
-//// specify that in CCIDL? I haven't figured that out. Perhaps
-//// allowing CCIDL to compile files that contain no component
-//// definition?
-
-##foreach [eventtype] in (all eventtypes) generate:
-
- local interface CCM_[eventtype]Consumer
- {
- void push (in [eventtype] ev);
- };
-
-##end foreach [eventtype]
-
-
-////////////////////////////////////////////////////////////////////
-//// * Iterate thru all component definitions in the IDL files.
-//// Notice that there's no distinction between entity and session
-//// components in executor mappings.
-
-##foreach [component basename] in (all component definitions) generate:
-
- // Component Main Executor Interface. We currently do not
- // support Executor-based implementation.
-
- local interface CCM_[component basename]_Executor
- :
-## if [component basename] inherits from [parent component name]
- CCM_[parent component name]_Executor
-## else
- ::Components::EnterpriseComponent
-## endif
-## foreach [interface name] in (all component supported interfaces) generate:
- , [interface name]
-## end foreach [interface name]
-
- {
-## foreach [attribute definition] in (attributes defined in [component basename]) generate:
- [attribute definition];
-## end foreach [attribute definition]
-
- };
-
- // Monolithic component executor.
- // For implementing monolithic component call back interface.
-
- local interface CCM_[component basename]
- :
-## if [component basename] inherits from [parent component name]
- CCM_[parent component name]
-## else
- ::Components::EnterpriseComponent
-## endif
-## foreach [interface name] in (all component supported interfaces) generate:
- , [interface name]
-## end foreach [interface name]
-
- {
-## foreach [attribute definition] in (attributes defined in [component basename]) generate:
- [attribute definition];
-## end foreach [attribute definition]
-
-## foreach [facet name] with [facet type] in (list of all provided interfaces) generate:
- CCM_[facet type] get_[facet name] ();
-## end foreach [facet name] with [facet type]
-
-## foreach [event name] with [eventtype] in (list of all event sinks) generate:
- void push_[event name] (in [eventtype] ev);
-## end foreach [event name] with [eventtype]
-
- };
-
- /**
- * Component Context Interface
- *
- * Notice that we are taking a shortcut here to inherit the
- * component-specific context from SessionContext directly instead
- * of CCMContext.
- */
- local interface CCM_[component basename]_Context
- :
-## if [component basename] inherits from [parent component name]
- CCM_[parent component name]_Context
-## else
- ::Components::SessionContext
-## endif
- {
-
-## foreach [receptacle name] with [uses type] in (list of all 'uses' interfaces) generate:
-## if [receptacle name] is a simplex receptacle ('uses')
- [uses type] get_connection_[receptacle name] ();
-## else ([receptacle name] is a multiplex ('uses multiple') receptacle)
- // [receptacle name]Connections typedef'ed as a sequence of
- // struct [receptacle name]Connection.
- [receptacle name]Connections get_connections_[receptacle name] ();
-## endif [receptacle name]
-## end foreach [receptacle name] with [uses type]
-
-## foreach [event name] with [eventtype] in (list of all event sources) generate:
- void push_[event name] (in [eventtype] ev);
-## end foreach [event name] with [eventtype]
-
- };
-
-##end foreach [component basename]
-
-
-////////////////////////////////////////////////////////////////////
-//// * Iterate thru all home definitions in the IDL files.
-
-##foreach [home basename] in (all home definitions) generate:
-
- local interface CCM_[home basename]Explicit
- :
-## if [home basename] inherits from [parent home name]
- CCM_[parent home name]Explicit
-## else
- ::Components::HomeExecutorBase
-## endif
-## foreach [interface name] in (all home supported interfaces) generate:
- , [interface name]
-## end foreach [interface name]
- {
-##foreach [operation] in (all explicit operations defined in [home basename])
-
- // The operation decl here.
-
-## end foreach opeartion
-
-##foreach [factory name] in (all factory operations defined in [home basename])
- ::Components::EnterpriseComponent [factory name] (....)
- raise (Components::CreateFailure, ....);
-##end foreach [factory name]
-
-##foreach [finder name] in (all finder operations defined in [home basename])
- ::Components::EnterpriseComponent [finder name] (....)
- raise (Components::FinderFailure, ....);
-##end foreach [finder name]
- };
-
- local interface CCM_[home basename]Implicit
- {
-## if [home basename] is a keyless home
- ::Components::EnterpriseComponent create ()
- raises (::Components::CCMException);
-## else [home basename] is key'ed home with [key type]
- // We do not support key'ed home at the moment but we might
- // as well generate the mapping.
- ::Components::EnterpriseComponent create (in [key type] key)
- raises (::Components::CCMException);
-
- ::Components::EnterpriseComponent find_by_primary_key (in [key type] key)
- raises (::Components::CCMException);
-
- void remove (in [key type] key)
- raises (::Components::CCMException);
-## endif (key'ed or keyless home)
- };
-
- local interface CCM_[home basename]
- : CCM_[home basename]Explicit,
- CCM_[home basename]Implicit
- {
- };
-
-##end foreach [home basename]
-
-##if there are module definitions, preserve them all
-};
-##endif
-
-#endif /* [component_idl]E_IDL */