summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohnny Willemsen <jwillemsen@remedy.nl>2006-11-22 11:18:50 +0000
committerJohnny Willemsen <jwillemsen@remedy.nl>2006-11-22 11:18:50 +0000
commit1f9c3f107fdfe3ab39491313b95e41e65f1d7af5 (patch)
treee4efcc9e736ce38cb877850a55a5efd6ceeea7d2
parent3b05d9285e09d5b55bc2de94f9f4e9d29fb7433c (diff)
downloadATCD-1f9c3f107fdfe3ab39491313b95e41e65f1d7af5.tar.gz
Wed Nov 22 11:05:12 2006 Johnny Willemsen <jwillemsen@remedy.nl>
-rw-r--r--CIAO/ciao/CCM_Base.idl106
-rw-r--r--CIAO/ciao/CCM_CCM2Context.idl47
-rw-r--r--CIAO/ciao/CCM_CCMException.idl37
-rw-r--r--CIAO/ciao/CCM_Component.idl140
-rw-r--r--CIAO/ciao/CCM_Configurator.idl34
-rw-r--r--CIAO/ciao/CCM_Container.idl94
-rw-r--r--CIAO/ciao/CCM_Container_Ex.idl59
-rw-r--r--CIAO/ciao/CCM_Context.idl51
-rw-r--r--CIAO/ciao/CCM_Cookie.idl29
-rw-r--r--CIAO/ciao/CCM_Core.mpc118
-rw-r--r--CIAO/ciao/CCM_EnterpriseComponent.idl25
-rw-r--r--CIAO/ciao/CCM_EntityComponent.idl51
-rw-r--r--CIAO/ciao/CCM_EntityContext.idl35
-rw-r--r--CIAO/ciao/CCM_Enumeration.idl38
-rw-r--r--CIAO/ciao/CCM_Event.idl9
-rw-r--r--CIAO/ciao/CCM_Home.idl51
-rw-r--r--CIAO/ciao/CCM_HomeConfigurator.idl32
-rw-r--r--CIAO/ciao/CCM_HomeExecutorBase.idl27
-rw-r--r--CIAO/ciao/CCM_HomeFinder.idl39
-rw-r--r--CIAO/ciao/CCM_HomeRegistration.idl34
-rw-r--r--CIAO/ciao/CCM_KeylessCCMHome.idl30
-rw-r--r--CIAO/ciao/CCM_Navigation.idl53
-rw-r--r--CIAO/ciao/CCM_Object.idl100
-rw-r--r--CIAO/ciao/CCM_ProxyHomeRegistration.idl36
-rw-r--r--CIAO/ciao/CCM_Receptacle.idl68
-rw-r--r--CIAO/ciao/CCM_Session2Context.idl50
-rw-r--r--CIAO/ciao/CCM_SessionSynchronization.idl39
-rw-r--r--CIAO/ciao/CCM_StandardConfigurator.idl37
-rw-r--r--CIAO/ciao/CIAO_Value.idl21
-rw-r--r--CIAO/ciao/Client_init.cpp4
-rw-r--r--CIAO/ciao/Components.idl3
-rw-r--r--CIAO/ciao/ComponentsC.h101
-rw-r--r--CIAO/ciao/ComponentsS.h63
-rw-r--r--CIAO/ciao/Container_Base.pidl33
-rw-r--r--CIAO/ciao/Cookies.h4
-rw-r--r--CIAO/ciao/CosPersistentState.idl11
-rw-r--r--CIAO/ciao/Deployment.idl20
-rw-r--r--CIAO/ciao/Deployment_Application.idl34
-rw-r--r--CIAO/ciao/Deployment_Base.idl73
-rw-r--r--CIAO/ciao/Deployment_Connection.idl43
-rw-r--r--CIAO/ciao/Deployment_Core.idl79
-rw-r--r--CIAO/ciao/Deployment_Data.idl25
-rw-r--r--CIAO/ciao/Deployment_TargetData.idl62
-rw-r--r--CIAO/ciao/DomainApplicationManager.idl1
-rw-r--r--CIAO/ciao/Home_Servant_Impl_Base.h2
-rw-r--r--CIAO/ciao/NodeApplicationManager.idl18
-rw-r--r--CIAO/ciao/NodeManager.idl20
-rw-r--r--CIAO/ciao/Servant_Impl_Base.h7
-rw-r--r--CIAO/ciao/Servant_Impl_T.cpp1
-rw-r--r--CIAO/ciao/Server_init.cpp3
-rw-r--r--CIAO/ciao/StandardConfigurator_Impl.h2
-rw-r--r--CIAO/ciao/SwapExec.idl3
-rw-r--r--CIAO/ciao/Swapping_Servant_Home_Impl_Base.h2
-rw-r--r--CIAO/ciao/TargetManager.idl36
-rw-r--r--CIAO/ciao/Target_Data.idl28
-rw-r--r--CIAO/ciao/UpgradeableContext.idl3
56 files changed, 1326 insertions, 845 deletions
diff --git a/CIAO/ciao/CCM_Base.idl b/CIAO/ciao/CCM_Base.idl
index a37d55c099f..32f46191825 100644
--- a/CIAO/ciao/CCM_Base.idl
+++ b/CIAO/ciao/CCM_Base.idl
@@ -27,114 +27,8 @@ module Components
{
typeprefix Components "omg.org";
- typedef string FeatureName;
- typedef sequence<FeatureName> NameList;
-
- valuetype Cookie
- {
- private CORBA::OctetSeq cookieValue;
- };
-
- valuetype PortDescription
- {
- public FeatureName name;
- public CORBA::RepositoryId type_id;
- };
-
- valuetype FacetDescription : PortDescription
- {
- public Object facet_ref;
- };
-
- typedef sequence<FacetDescription> FacetDescriptions;
-
- typedef unsigned long FailureReason;
-
- exception InvalidName {};
exception InvalidConnection {};
- exception ExceededConnectionLimit {};
exception AlreadyConnected {};
exception NoConnection {};
- exception CookieRequired {};
- exception CreateFailure {
- FailureReason reason;
- };
- exception FinderFailure
- {
- FailureReason reason;
- };
- exception RemoveFailure
- {
- FailureReason reason;
- };
- exception DuplicateKeyValue {};
- exception InvalidKey {};
- exception UnknownKeyValue {};
- exception NoKeyAvailable {};
- exception BadEventType
- {
- CORBA::RepositoryId expected_event_type;
- };
- exception HomeNotFound {};
- exception WrongComponentType {};
-
- typedef FailureReason InvalidConfigurationReason;
- const InvalidConfigurationReason UnknownConfigValueName = 0;
- const InvalidConfigurationReason InvalidConfigValueType = 1;
- const InvalidConfigurationReason ConfigValueRequired = 2;
- const InvalidConfigurationReason ConfigValueNotExpected = 3;
- exception InvalidConfiguration
- {
- InvalidConfigurationReason reason;
- FeatureName name;
- };
- exception IllegalState {};
-
- interface Navigation
- {
- Object provide_facet (in FeatureName name)
- raises (InvalidName);
- FacetDescriptions get_all_facets();
- FacetDescriptions get_named_facets (in NameList names)
- raises (InvalidName);
- boolean same_component (in Object object_ref);
- };
-
- valuetype ConnectionDescription
- {
- public Cookie ck;
- public Object objref;
- };
- typedef sequence<ConnectionDescription> ConnectionDescriptions;
-
- valuetype ReceptacleDescription : PortDescription
- {
- public boolean is_multiple;
- public ConnectionDescriptions connections;
- };
- typedef sequence<ReceptacleDescription> ReceptacleDescriptions;
-
- interface Receptacles
- {
- Cookie connect (in FeatureName name, in Object connection )
- raises (InvalidName,
- InvalidConnection,
- AlreadyConnected,
- ExceededConnectionLimit);
-
- Object disconnect (in FeatureName name, in Cookie ck)
- raises (InvalidName,
- InvalidConnection,
- CookieRequired,
- NoConnection);
-
- ConnectionDescriptions get_connections (in FeatureName name)
- raises (InvalidName);
-
- ReceptacleDescriptions get_all_receptacles ();
-
- ReceptacleDescriptions get_named_receptacles (in NameList names)
- raises (InvalidName);
- };
};
#endif /* CCM_BASE_IDL */
diff --git a/CIAO/ciao/CCM_CCM2Context.idl b/CIAO/ciao/CCM_CCM2Context.idl
new file mode 100644
index 00000000000..d0533714ad1
--- /dev/null
+++ b/CIAO/ciao/CCM_CCM2Context.idl
@@ -0,0 +1,47 @@
+// $Id$
+
+/**
+ * @@ Compile this file with:
+ *
+ * tao_idl -Gv -I ../.. -I ../../orbsvcs/orbsvcs \
+ * -Wb,export_macro=CIAO_Export \
+ * -Wb,export_include=CIAO_export.h \
+ * -Wb,pre_include="ace/pre.h" \
+ * -Wb,post_include="ace/post.h" \
+ * CCM_Container_Ex.idl
+ */
+
+//#define CIAO_HAS_IMPORT_KEYWORD
+
+#if !defined (CCM_2CONTEXT_IDL)
+#define CCM_2CONTEXT_IDL
+
+#include "CCM_Container.idl"
+#include "CCM_HomeRegistration.idl"
+#include <CosPersistentState.idl>
+
+// *************** Extended Container Interfaces ***************
+
+module Components
+{
+ typeprefix Components "omg.org";
+
+ typedef CosPersistentState::CatalogBase CatalogBase;
+ typedef CosPersistentState::_TypeId _TypeId;
+
+ exception PolicyMismatch {};
+ exception PersistenceNotAvailable {};
+
+ local interface CCM2Context : CCMContext
+ {
+ HomeRegistration get_home_registration ();
+
+ void req_passivate ()
+ raises (PolicyMismatch);
+
+ CatalogBase get_persistence (in _TypeId catalog_type_id)
+ raises (PersistenceNotAvailable);
+ };
+
+};
+#endif /* CCM_2CONTEXT_IDL */
diff --git a/CIAO/ciao/CCM_CCMException.idl b/CIAO/ciao/CCM_CCMException.idl
new file mode 100644
index 00000000000..445e09e1d1a
--- /dev/null
+++ b/CIAO/ciao/CCM_CCMException.idl
@@ -0,0 +1,37 @@
+// $Id$
+
+/**
+ * @@ Compile this file with:
+ *
+ * tao_idl -Gv -I ../.. -I ../../orbsvcs/orbsvcs \
+ * -Wb,export_macro=CIAO_Export \
+ * -Wb,export_include=CIAO_export.h \
+ * -Wb,pre_include="ace/pre.h" \
+ * -Wb,post_include="ace/post.h" \
+ * CCM_Container.idl
+ */
+
+#if !defined (CCM_CCMEXCEPTION_IDL)
+#define CCM_CCMEXCEPTION_IDL
+
+module Components
+{
+ typeprefix Components "omg.org";
+
+ enum CCMExceptionReason
+ {
+ SYSTEM_ERROR,
+ CREATE_ERROR,
+ REMOVE_ERROR,
+ DUPLICATE_KEY,
+ FIND_ERROR,
+ OBJECT_NOT_FOUND,
+ NO_SUCH_ENTITY
+ };
+
+ exception CCMException
+ {
+ CCMExceptionReason reason;
+ };
+};
+#endif /* CCM_CCMEXCEPTION_IDL */
diff --git a/CIAO/ciao/CCM_Component.idl b/CIAO/ciao/CCM_Component.idl
index 32c0299acf0..a19ce9b4099 100644
--- a/CIAO/ciao/CCM_Component.idl
+++ b/CIAO/ciao/CCM_Component.idl
@@ -15,142 +15,8 @@
#define CCM_COMPONENT_IDL
#include "CCM_Event.idl"
-#include "tao/IFR_Client/IFR_Base.pidl"
+#include "CCM_Home.idl"
+#include "CCM_Object.idl"
+#include "CCM_Enumeration.idl"
-module Components
-{
- typeprefix Components "omg.org";
-
- abstract valuetype PrimaryKeyBase {};
-
- interface CCMObject; //forward reference
-
- interface CCMHome
- {
- CORBA::IRObject get_component_def ();
- CORBA::IRObject get_home_def ();
- void remove_component ( in CCMObject comp)
- raises (RemoveFailure);
- };
- typedef sequence<CCMHome> CCMHomes;
-
- interface KeylessCCMHome
- {
- CCMObject create_component()
- raises (CreateFailure);
- };
-
- interface HomeFinder
- {
- CCMHome find_home_by_component_type (in CORBA::RepositoryId comp_repid)
- raises (HomeNotFound);
-
- CCMHome find_home_by_home_type (in CORBA::RepositoryId home_repid)
- raises (HomeNotFound);
-
- CCMHome find_home_by_name (in string home_name)
- raises (HomeNotFound);
- };
-
- interface Configurator
- {
- void configure (in CCMObject comp)
- raises (WrongComponentType);
- };
-
- valuetype ConfigValue
- {
- public FeatureName name;
- public any value;
- };
-
- typedef sequence<ConfigValue> ConfigValues;
-
- interface StandardConfigurator : Configurator
- {
- void set_configuration (in ConfigValues descr);
- };
-
- interface HomeConfiguration : CCMHome
- {
- void set_configurator (in Configurator cfg);
- void set_configuration_values (in ConfigValues config);
- void complete_component_configuration (in boolean b);
- void disable_home_configuration();
- };
-
- valuetype ComponentPortDescription
- {
- public FacetDescriptions facets;
- public ReceptacleDescriptions receptacles;
- public ConsumerDescriptions consumers;
- public EmitterDescriptions emitters;
- public PublisherDescriptions publishers;
- };
-
- interface CCMObject : Navigation, Receptacles, Events
- {
- CORBA::IRObject get_component_def ( );
- CCMHome get_ccm_home( );
- PrimaryKeyBase get_primary_key( )
- raises (NoKeyAvailable);
- void remove()
- raises (RemoveFailure);
- ComponentPortDescription get_all_ports ();
-
- /// Factory method to return a StandardConfigurator interface. CIAO specific
- StandardConfigurator get_standard_configurator ( );
-
- /// CIAO specific operations to have some control on when and how
- /// to activate components.
- /**
- * This is all from our work on ARMS where we needed to know whether
- * every component has been configured, say for example to use
- * logging in the assembly which could in turn be provided by a
- * component. To get around all this we are adding some methods on
- * this till we think of some standard way to do this. The problem
- * is that the deployer should be able to call this as opposed to
- * the home calling it as soon as the component is created.
- *
- * All these operations are called in the order mentioned, ie. the
- * deployer calls ciao_preactivate () on all components, then
- * ciao_activate and then ciao_postactivate (). The speciality is
- * that these operations would be invoked on every target object
- * before the next call is made. It is similar to the way
- * portable interceptors work, trying to get everything onto the
- * flow stack, but differ in the intention.
- */
- void ciao_preactivate ()
- raises (InvalidConfiguration);
-
- void ciao_activate ()
- raises (InvalidConfiguration);
-
- void ciao_postactivate ()
- raises (InvalidConfiguration);
-
- void ciao_passivate ()
- raises (InvalidConfiguration);
-
- void configuration_complete ()
- raises (InvalidConfiguration);
- };
-
- /// @@ Enumeration and DefaultEnumeration are only for EJB to CCM
- /// mapping? At any rate, we should be able to skip them for now.
- /// @todo Move these then to a seperate file so that the linker can
- /// optimize things out of the executable when building staticly
- abstract valuetype Enumeration
- {
- boolean has_more_elements();
- CCMObject next_element();
- };
-
- typedef sequence<CCMObject> CCMObjectSeq;
-
- valuetype DefaultEnumeration : Enumeration
- {
- private CCMObjectSeq objects;
- };
-};
#endif /* CCM_COMPONENT_IDL */
diff --git a/CIAO/ciao/CCM_Configurator.idl b/CIAO/ciao/CCM_Configurator.idl
new file mode 100644
index 00000000000..1c908bde6ce
--- /dev/null
+++ b/CIAO/ciao/CCM_Configurator.idl
@@ -0,0 +1,34 @@
+// $Id$
+
+/**
+ * @@ Compile this file with:
+ *
+ * tao_idl -Gv -I ../.. -I ../../orbsvcs/orbsvcs \
+ * -Wb,export_macro=CIAO_Export \
+ * -Wb,export_include=CIAO_export.h \
+ * -Wb,pre_include="ace/pre.h" \
+ * -Wb,post_include="ace/post.h" \
+ * CCM_Component.idl
+ */
+
+#if !defined (CCM_CONFIGURATOR_IDL)
+#define CCM_CONFIGURATOR_IDL
+
+#include "CCM_Event.idl"
+#include "CCM_Home.idl"
+
+module Components
+{
+ typeprefix Components "omg.org";
+
+ exception WrongComponentType {};
+
+ interface CCMObject;
+
+ interface Configurator
+ {
+ void configure (in CCMObject comp)
+ raises (WrongComponentType);
+ };
+};
+#endif /* CCM_CONFIGURATOR_IDLL */
diff --git a/CIAO/ciao/CCM_Container.idl b/CIAO/ciao/CCM_Container.idl
index b8a6ab3286b..4eb3f268da9 100644
--- a/CIAO/ciao/CCM_Container.idl
+++ b/CIAO/ciao/CCM_Container.idl
@@ -17,8 +17,10 @@
#define CCM_CONTAINER_IDL
#include "CCM_Component.idl"
-#include "orbsvcs/SecurityLevel2.idl"
-#include "CCM_Transaction.idl"
+#include "CCM_Context.idl"
+#include "CCM_CCMException.idl"
+#include "CCM_EnterpriseComponent.idl"
+#include "CCM_HomeExecutorBase.idl"
// *************** Basic Container interfaces ***************
@@ -26,44 +28,6 @@ module Components
{
typeprefix Components "omg.org";
- typedef SecurityLevel2::Credentials Principal;
-
- local interface CCMContext
- {
- Principal get_caller_principal();
-
- CCMHome get_CCM_home();
-
- boolean get_rollback_only()
- raises (IllegalState);
-
- Transaction::UserTransaction get_user_transaction()
- raises (IllegalState);
-
- boolean is_caller_in_role (in string role);
-
- void set_rollback_only()
- raises (IllegalState);
- };
-
- enum CCMExceptionReason
- {
- SYSTEM_ERROR,
- CREATE_ERROR,
- REMOVE_ERROR,
- DUPLICATE_KEY,
- FIND_ERROR,
- OBJECT_NOT_FOUND,
- NO_SUCH_ENTITY
- };
-
- exception CCMException
- {
- CCMExceptionReason reason;
- };
-
- local interface EnterpriseComponent {};
-
local interface SessionContext : CCMContext
{
Object get_CCM_object()
@@ -103,55 +67,5 @@ module Components
void ciao_postactivate ()
raises (CCMException);
};
-
- local interface SessionSynchronization
- {
- void after_begin ()
- raises (CCMException);
-
- void before_completion ()
- raises (CCMException);
-
- void after_completion (in boolean committed)
- raises (CCMException);
- };
-
- local interface EntityContext : CCMContext
- {
- Object get_CCM_object ()
- raises (IllegalState);
-
- PrimaryKeyBase get_primary_key ()
- raises (IllegalState);
- };
-
- local interface EntityComponent : EnterpriseComponent
- {
- void set_entity_context (in EntityContext ctx)
- raises (CCMException);
-
- void unset_entity_context ()
- raises (CCMException);
-
- void ccm_activate ()
- raises (CCMException);
-
- void ccm_load ()
- raises (CCMException);
-
- void ccm_store ()
- raises (CCMException);
-
- void ccm_passivate ()
- raises (CCMException);
-
- void ccm_remove ()
- raises (CCMException);
- };
-
-
- local interface HomeExecutorBase
- {
- };
};
#endif /* CCM_CONTAINER_IDL */
diff --git a/CIAO/ciao/CCM_Container_Ex.idl b/CIAO/ciao/CCM_Container_Ex.idl
index 0aeb481807d..def43f81a46 100644
--- a/CIAO/ciao/CCM_Container_Ex.idl
+++ b/CIAO/ciao/CCM_Container_Ex.idl
@@ -17,6 +17,8 @@
#define CCM_CONTAINER_EX_IDL
#include "CCM_Container.idl"
+#include "CCM_Session2Context.idl"
+#include "CCM_EntityContext.idl"
#include <CosPersistentState.idl>
// *************** Extended Container Interfaces ***************
@@ -25,16 +27,6 @@ module Components
{
typeprefix Components "omg.org";
- enum BadComponentReferenceReason
- {
- NON_LOCAL_REFERENCE,
- NON_COMPONENT_REFERENCE,
- WRONG_CONTAINER
- };
-
- typedef CosPersistentState::CatalogBase CatalogBase;
- typedef CosPersistentState::_TypeId _TypeId;
-
typedef short SegmentId;
const SegmentId COMPONENT_SEGMENT = 0;
@@ -47,55 +39,8 @@ module Components
typedef short StateIdType;
const StateIdType PERSISTENT_ID = 0;
- exception BadComponentReference
- {
- BadComponentReferenceReason reason;
- };
- exception PolicyMismatch {};
- exception PersistenceNotAvailable {};
- exception UnknownActualHome {};
- exception ProxyHomeNotSupported {};
exception InvalidStateIdData {};
- local interface HomeRegistration
- {
- void register_home (in CCMHome home_ref,
- in string home_name);
-
- void unregister_home (in CCMHome home_ref);
- };
-
- local interface CCM2Context : CCMContext
- {
- HomeRegistration get_home_registration ();
-
- void req_passivate ()
- raises (PolicyMismatch);
-
- CatalogBase get_persistence (in _TypeId catalog_type_id)
- raises (PersistenceNotAvailable);
- };
-
- local interface ProxyHomeRegistration : HomeRegistration
- {
- void register_proxy_home (in CCMHome rhome,
- in CCMHome ahome)
- raises (UnknownActualHome,
- ProxyHomeNotSupported);
- };
-
- local interface Session2Context : SessionContext, CCM2Context
- {
- Object create_ref (in CORBA::RepositoryId repid);
-
- Object create_ref_from_oid (in CORBA::OctetSeq oid,
- in CORBA::RepositoryId repid);
-
- CORBA::OctetSeq get_oid_from_ref (in Object objref)
- raises (IllegalState,
- BadComponentReference);
- };
-
abstract valuetype StateIdValue
{
StateIdType get_sid_type();
diff --git a/CIAO/ciao/CCM_Context.idl b/CIAO/ciao/CCM_Context.idl
new file mode 100644
index 00000000000..7379c20b918
--- /dev/null
+++ b/CIAO/ciao/CCM_Context.idl
@@ -0,0 +1,51 @@
+// $Id$
+
+/**
+ * @@ Compile this file with:
+ *
+ * tao_idl -Gv -I ../.. -I ../../orbsvcs/orbsvcs \
+ * -Wb,export_macro=CIAO_Export \
+ * -Wb,export_include=CIAO_export.h \
+ * -Wb,pre_include="ace/pre.h" \
+ * -Wb,post_include="ace/post.h" \
+ * CCM_Container.idl
+ */
+
+//#define CIAO_HAS_IMPORT_KEYWORD
+
+#if !defined (CCM_CONTEXT_IDL)
+#define CCM_CONTEXT_IDL
+
+#include "orbsvcs/SecurityLevel2.idl"
+#include "CCM_Transaction.idl"
+#include "CCM_Home.idl"
+
+// *************** Basic Container interfaces ***************
+
+module Components
+{
+ typeprefix Components "omg.org";
+
+ typedef SecurityLevel2::Credentials Principal;
+
+ exception IllegalState {};
+
+ local interface CCMContext
+ {
+ Principal get_caller_principal();
+
+ CCMHome get_CCM_home();
+
+ boolean get_rollback_only()
+ raises (IllegalState);
+
+ Transaction::UserTransaction get_user_transaction()
+ raises (IllegalState);
+
+ boolean is_caller_in_role (in string role);
+
+ void set_rollback_only()
+ raises (IllegalState);
+ };
+};
+#endif /* CCM_CONTEXT_IDL */
diff --git a/CIAO/ciao/CCM_Cookie.idl b/CIAO/ciao/CCM_Cookie.idl
new file mode 100644
index 00000000000..f815d9f1ef9
--- /dev/null
+++ b/CIAO/ciao/CCM_Cookie.idl
@@ -0,0 +1,29 @@
+// $Id$
+
+/**
+ * @@ Compile this file with:
+ *
+ * tao_idl -I W:/ACE_wrappers/TAO Component_Base.idl
+ * tao_idl -I ../.. \
+ * -Wb,export_macro=CIAO_Export \
+ * -Wb,export_include=CIAO_export.h \
+ * -Wb,pre_include="ace/pre.h" \
+ * -Wb,post_include="ace/post.h" \
+ * CCM_Base.idl
+ */
+
+#if !defined (CCM_COOKIE_IDL)
+#define CCM_COOKIE_IDL
+
+#include "tao/OctetSeq.pidl"
+
+module Components
+{
+ typeprefix Components "omg.org";
+
+ valuetype Cookie
+ {
+ private CORBA::OctetSeq cookieValue;
+ };
+};
+#endif /* CCM_COOKIE_IDL */
diff --git a/CIAO/ciao/CCM_Core.mpc b/CIAO/ciao/CCM_Core.mpc
index 339c4d2f387..b8cda16612b 100644
--- a/CIAO/ciao/CCM_Core.mpc
+++ b/CIAO/ciao/CCM_Core.mpc
@@ -13,18 +13,51 @@ project (CIAO_DnC_Client) : taolib_with_idl, valuetype, ifr_client {
dynamicflags = CIAO_CLIENT_BUILD_DLL
IDL_Files {
+ idlflags += -SS -Sci
CCM_Base.idl
- CCM_Event.idl
CCM_Component.idl
- CIAO_Value.idl
+ }
+
+ IDL_Files {
+ idlflags += -SS
+ CCM_Cookie.idl
+ CCM_Enumeration.idl
+ }
+
+ IDL_Files {
+ CCM_HomeConfigurator.idl
+ CCM_StandardConfigurator.idl
+ CCM_KeylessCCMHome.idl
+ CCM_Home.idl
+ CCM_Object.idl
+ CCM_HomeFinder.idl
+ CCM_Navigation.idl
+ CCM_Receptacle.idl
+ Components.idl
+ }
+
+ IDL_Files {
+ CCM_Configurator.idl
+ CCM_Event.idl
}
Source_Files {
CCM_BaseC.cpp
CCM_EventC.cpp
CCM_ComponentC.cpp
- CIAO_ValueC.cpp
+ CCM_EnumerationC.cpp
+ CCM_HomeC.cpp
+ CCM_ConfiguratorC.cpp
+ CCM_HomeConfiguratorC.cpp
+ CCM_KeylessCCMHomeC.cpp
+ CCM_StandardConfiguratorC.cpp
+ CCM_HomeFinderC.cpp
+ CCM_NavigationC.cpp
+ CCM_ReceptacleC.cpp
+ CCM_CookieC.cpp
+ CCM_ObjectC.cpp
Client_init.cpp
+ ComponentsC.cpp
}
Header_Files {
@@ -43,25 +76,60 @@ project (CIAO_DnC_Container) : orbsvcslib, portableserver, security, valuetype,
includes += $(CIAO_ROOT)/DAnCE
IDL_Files {
+ idlflags += -SS -Sci
+ CCM_Context.idl
+ CCM_CCMException.idl
+ CCM_EntityComponent.idl
+ CCM_EntityContext.idl
+ SwapExec.idl
+ UpgradeableContext.idl
+ }
+
+ IDL_Files {
+ idlflags += -SS
+ CCM_CCM2Context.idl
+ CCM_ProxyHomeRegistration.idl
+ CCM_Session2Context.idl
CCM_Transaction.idl
CosPersistentState.idl
CCM_Container.idl
CCM_Container_Ex.idl
- SwapExec.idl
- UpgradeableContext.idl
+ CCM_EnterpriseComponent.idl
+ CCM_SessionSynchronization.idl
+ CCM_HomeRegistration.idl
+ CCM_HomeExecutorBase.idl
}
Source_Files {
CCM_TransactionC.cpp
CosPersistentStateC.cpp
CCM_ContainerC.cpp
+ CCM_EnterpriseComponentC.cpp
+ CCM_SessionSynchronizationC.cpp
+ CCM_CCMExceptionC.cpp
+ CCM_ContextC.cpp
CCM_Container_ExC.cpp
- CCM_BaseS.cpp
+ CCM_ProxyHomeRegistrationC.cpp
+ CCM_Session2ContextC.cpp
+ CCM_CCM2ContextC.cpp
+ CCM_HomeRegistrationC.cpp
+ CCM_HomeExecutorBaseC.cpp
+ CCM_EntityContextC.cpp
+ CCM_EntityComponentC.cpp
CCM_EventS.cpp
- CCM_ComponentS.cpp
+ CCM_ConfiguratorS.cpp
+ CCM_HomeConfiguratorS.cpp
+ CCM_KeylessCCMHomeS.cpp
+ CCM_StandardConfiguratorS.cpp
+ CCM_HomeS.cpp
+ CCM_ObjectS.cpp
+ CCM_HomeFinderS.cpp
+ CCM_NavigationS.cpp
+ CCM_ReceptacleS.cpp
SwapExecC.cpp
UpgradeableContextC.cpp
Cookies.cpp
+ ComponentsS.cpp
}
}
@@ -82,29 +150,45 @@ project(Deployment_stub) : taolib_with_idl, valuetype, ifr_client, ciao_events_b
dynamicflags = DEPLOYMENT_STUB_BUILD_DLL
IDL_Files {
- NodeApplication_CallBack.idl
- Deployment_Core.idl
- Deployment_Base.idl
- Deployment_Data.idl
+ idlflags += -SS -Sci
Packaging_Data.idl
Target_Data.idl
+ }
+
+ IDL_Files {
+ idlflags += -SS
+ Deployment_Base.idl
+ Deployment_Connection.idl
+ Deployment_Data.idl
+ Deployment_TargetData.idl
+ ServerResources.idl
+ Deployment_Events.idl
+ }
+
+ IDL_Files {
+ TargetManager.idl
+ NodeApplication_CallBack.idl
+ Deployment_Core.idl
+ Deployment_Application.idl
Deployment.idl
NodeManager.idl
NodeApplicationManager.idl
DomainApplicationManager.idl
ExecutionManager.idl
RepositoryManager.idl
- ServerResources.idl
- Deployment_Events.idl
}
Source_Files {
Deployment_CoreC.cpp
Deployment_BaseC.cpp
+ Deployment_ConnectionC.cpp
Deployment_DataC.cpp
+ Deployment_TargetDataC.cpp
+ Deployment_ApplicationC.cpp
Packaging_DataC.cpp
Target_DataC.cpp
DeploymentC.cpp
+ TargetManagerC.cpp
NodeManagerC.cpp
NodeApplicationManagerC.cpp
DomainApplicationManagerC.cpp
@@ -134,10 +218,7 @@ project(Deployment_svnt) : taolib_with_idl, portableserver, valuetype, ifr_clien
Source_Files {
Deployment_CoreS.cpp
- Deployment_BaseS.cpp
- Deployment_DataS.cpp
- Packaging_DataS.cpp
- Target_DataS.cpp
+ Deployment_ApplicationS.cpp
DeploymentS.cpp
RepositoryManagerS.cpp
NodeManagerS.cpp
@@ -145,9 +226,8 @@ project(Deployment_svnt) : taolib_with_idl, portableserver, valuetype, ifr_clien
DomainApplicationManagerS.cpp
ExecutionManagerS.cpp
NodeApp_CB_Impl.cpp
+ TargetManagerS.cpp
NodeApplication_CallBackS.cpp
- ServerResourcesS.cpp
- Deployment_EventsS.cpp
}
}
diff --git a/CIAO/ciao/CCM_EnterpriseComponent.idl b/CIAO/ciao/CCM_EnterpriseComponent.idl
new file mode 100644
index 00000000000..b3f3d1b9432
--- /dev/null
+++ b/CIAO/ciao/CCM_EnterpriseComponent.idl
@@ -0,0 +1,25 @@
+// $Id$
+
+/**
+ * @@ Compile this file with:
+ *
+ * tao_idl -Gv -I ../.. -I ../../orbsvcs/orbsvcs \
+ * -Wb,export_macro=CIAO_Export \
+ * -Wb,export_include=CIAO_export.h \
+ * -Wb,pre_include="ace/pre.h" \
+ * -Wb,post_include="ace/post.h" \
+ * CCM_Container.idl
+ */
+
+//#define CIAO_HAS_IMPORT_KEYWORD
+
+#if !defined (CCM_ENTERPRISECOMPONENT_IDL)
+#define CCM_ENTERPRISECOMPONENT_IDL
+
+module Components
+{
+ typeprefix Components "omg.org";
+
+ local interface EnterpriseComponent {};
+};
+#endif /* CCM_CONTAINER_IDL */
diff --git a/CIAO/ciao/CCM_EntityComponent.idl b/CIAO/ciao/CCM_EntityComponent.idl
new file mode 100644
index 00000000000..28342b37b84
--- /dev/null
+++ b/CIAO/ciao/CCM_EntityComponent.idl
@@ -0,0 +1,51 @@
+// $Id$
+
+/**
+ * @@ Compile this file with:
+ *
+ * tao_idl -Gv -I ../.. -I ../../orbsvcs/orbsvcs \
+ * -Wb,export_macro=CIAO_Export \
+ * -Wb,export_include=CIAO_export.h \
+ * -Wb,pre_include="ace/pre.h" \
+ * -Wb,post_include="ace/post.h" \
+ * CCM_Container.idl
+ */
+
+//#define CIAO_HAS_IMPORT_KEYWORD
+
+#if !defined (CCM_ENTITYCOMPONENT_IDL)
+#define CCM_ENTITYCOMPONENT_IDL
+
+#include "CCM_CCMException.idl"
+#include "CCM_EnterpriseComponent.idl"
+#include "CCM_EntityContext.idl"
+
+module Components
+{
+ typeprefix Components "omg.org";
+
+ local interface EntityComponent : EnterpriseComponent
+ {
+ void set_entity_context (in EntityContext ctx)
+ raises (CCMException);
+
+ void unset_entity_context ()
+ raises (CCMException);
+
+ void ccm_activate ()
+ raises (CCMException);
+
+ void ccm_load ()
+ raises (CCMException);
+
+ void ccm_store ()
+ raises (CCMException);
+
+ void ccm_passivate ()
+ raises (CCMException);
+
+ void ccm_remove ()
+ raises (CCMException);
+ };
+};
+#endif /* CCM_ENTITYCOMPONENT_IDL */
diff --git a/CIAO/ciao/CCM_EntityContext.idl b/CIAO/ciao/CCM_EntityContext.idl
new file mode 100644
index 00000000000..87b199c74c1
--- /dev/null
+++ b/CIAO/ciao/CCM_EntityContext.idl
@@ -0,0 +1,35 @@
+// $Id$
+
+/**
+ * @@ Compile this file with:
+ *
+ * tao_idl -Gv -I ../.. -I ../../orbsvcs/orbsvcs \
+ * -Wb,export_macro=CIAO_Export \
+ * -Wb,export_include=CIAO_export.h \
+ * -Wb,pre_include="ace/pre.h" \
+ * -Wb,post_include="ace/post.h" \
+ * CCM_Container.idl
+ */
+
+//#define CIAO_HAS_IMPORT_KEYWORD
+
+#if !defined (CCM_ENTITYCONTEXT_IDL)
+#define CCM_ENTITYCONTEXT_IDL
+
+#include "CCM_Context.idl"
+#include "CCM_Object.idl"
+
+module Components
+{
+ typeprefix Components "omg.org";
+
+ local interface EntityContext : CCMContext
+ {
+ Object get_CCM_object ()
+ raises (IllegalState);
+
+ PrimaryKeyBase get_primary_key ()
+ raises (IllegalState);
+ };
+};
+#endif /* CCM_ENTITYCONTEXT_IDL */
diff --git a/CIAO/ciao/CCM_Enumeration.idl b/CIAO/ciao/CCM_Enumeration.idl
new file mode 100644
index 00000000000..cec9e60da19
--- /dev/null
+++ b/CIAO/ciao/CCM_Enumeration.idl
@@ -0,0 +1,38 @@
+// $Id$
+
+/**
+ * @@ Compile this file with:
+ *
+ * tao_idl -Gv -I ../.. -I ../../orbsvcs/orbsvcs \
+ * -Wb,export_macro=CIAO_Export \
+ * -Wb,export_include=CIAO_export.h \
+ * -Wb,pre_include="ace/pre.h" \
+ * -Wb,post_include="ace/post.h" \
+ * CCM_Component.idl
+ */
+
+#if !defined (CCM_ENUMERATION_IDL)
+#define CCM_ENUMERATION_IDL
+
+#include "CCM_Object.idl"
+
+module Components
+{
+ typeprefix Components "omg.org";
+
+ /// @@ Enumeration and DefaultEnumeration are only for EJB to CCM
+ /// mapping? At any rate, we should be able to skip them for now.
+ abstract valuetype Enumeration
+ {
+ boolean has_more_elements();
+ CCMObject next_element();
+ };
+
+ typedef sequence<CCMObject> CCMObjectSeq;
+
+ valuetype DefaultEnumeration : Enumeration
+ {
+ private CCMObjectSeq objects;
+ };
+};
+#endif /* CCM_ENUMERATION_IDL */
diff --git a/CIAO/ciao/CCM_Event.idl b/CIAO/ciao/CCM_Event.idl
index 6349682550a..b149e0bbd28 100644
--- a/CIAO/ciao/CCM_Event.idl
+++ b/CIAO/ciao/CCM_Event.idl
@@ -17,6 +17,10 @@
#define CCM_EVENT_IDL
#include "CCM_Base.idl"
+#include "CCM_Navigation.idl"
+#include "CCM_Receptacle.idl"
+#include "CCM_Cookie.idl"
+#include "tao/orb_types.pidl"
module Components
{
@@ -24,6 +28,11 @@ module Components
abstract valuetype EventBase {};
+ exception BadEventType
+ {
+ CORBA::RepositoryId expected_event_type;
+ };
+
interface EventConsumerBase
{
void push_event (in EventBase evt) raises (BadEventType);
diff --git a/CIAO/ciao/CCM_Home.idl b/CIAO/ciao/CCM_Home.idl
new file mode 100644
index 00000000000..33fa0873f62
--- /dev/null
+++ b/CIAO/ciao/CCM_Home.idl
@@ -0,0 +1,51 @@
+// $Id$
+
+/**
+ * @@ Compile this file with:
+ *
+ * tao_idl -Gv -I ../.. -I ../../orbsvcs/orbsvcs \
+ * -Wb,export_macro=CIAO_Export \
+ * -Wb,export_include=CIAO_export.h \
+ * -Wb,pre_include="ace/pre.h" \
+ * -Wb,post_include="ace/post.h" \
+ * CCM_Component.idl
+ */
+
+#if !defined (CCM_HOME_IDL)
+#define CCM_HOME_IDL
+
+#include "tao/IFR_Client/IFR_Base.pidl"
+
+module Components
+{
+ typeprefix Components "omg.org";
+
+ typedef unsigned long FailureReason;
+
+ exception CreateFailure {
+ FailureReason reason;
+ };
+ exception FinderFailure
+ {
+ FailureReason reason;
+ };
+ exception RemoveFailure
+ {
+ FailureReason reason;
+ };
+
+ exception DuplicateKeyValue {};
+ exception InvalidKey {};
+ exception UnknownKeyValue {};
+
+ interface CCMObject;
+
+ interface CCMHome
+ {
+ CORBA::IRObject get_component_def ();
+ CORBA::IRObject get_home_def ();
+ void remove_component ( in CCMObject comp)
+ raises (RemoveFailure);
+ };
+};
+#endif /* CCM_COMPONENT_IDL */
diff --git a/CIAO/ciao/CCM_HomeConfigurator.idl b/CIAO/ciao/CCM_HomeConfigurator.idl
new file mode 100644
index 00000000000..d2c254ce078
--- /dev/null
+++ b/CIAO/ciao/CCM_HomeConfigurator.idl
@@ -0,0 +1,32 @@
+// $Id$
+
+/**
+ * @@ Compile this file with:
+ *
+ * tao_idl -Gv -I ../.. -I ../../orbsvcs/orbsvcs \
+ * -Wb,export_macro=CIAO_Export \
+ * -Wb,export_include=CIAO_export.h \
+ * -Wb,pre_include="ace/pre.h" \
+ * -Wb,post_include="ace/post.h" \
+ * CCM_Component.idl
+ */
+
+#if !defined (CCM_HOMECONFIGURATOR_IDL)
+#define CCM_HOMECONFIGURATOR_IDL
+
+#include "CCM_Configurator.idl"
+#include "CCM_StandardConfigurator.idl"
+
+module Components
+{
+ typeprefix Components "omg.org";
+
+ interface HomeConfiguration : CCMHome
+ {
+ void set_configurator (in Configurator cfg);
+ void set_configuration_values (in ConfigValues config);
+ void complete_component_configuration (in boolean b);
+ void disable_home_configuration();
+ };
+};
+#endif /* CCM_HOMECONFIGURATOR_IDL */
diff --git a/CIAO/ciao/CCM_HomeExecutorBase.idl b/CIAO/ciao/CCM_HomeExecutorBase.idl
new file mode 100644
index 00000000000..e1db55b9afc
--- /dev/null
+++ b/CIAO/ciao/CCM_HomeExecutorBase.idl
@@ -0,0 +1,27 @@
+// $Id$
+
+/**
+ * @@ Compile this file with:
+ *
+ * tao_idl -Gv -I ../.. -I ../../orbsvcs/orbsvcs \
+ * -Wb,export_macro=CIAO_Export \
+ * -Wb,export_include=CIAO_export.h \
+ * -Wb,pre_include="ace/pre.h" \
+ * -Wb,post_include="ace/post.h" \
+ * CCM_Container.idl
+ */
+
+//#define CIAO_HAS_IMPORT_KEYWORD
+
+#if !defined (CCM_HOMEEXECUTORBASE_IDL)
+#define CCM_HOMEEXECUTORBASE_IDL
+
+module Components
+{
+ typeprefix Components "omg.org";
+
+ local interface HomeExecutorBase
+ {
+ };
+};
+#endif /* CCM_HOMEEXECUTORBASE_IDL */
diff --git a/CIAO/ciao/CCM_HomeFinder.idl b/CIAO/ciao/CCM_HomeFinder.idl
new file mode 100644
index 00000000000..f5ffca44442
--- /dev/null
+++ b/CIAO/ciao/CCM_HomeFinder.idl
@@ -0,0 +1,39 @@
+// $Id$
+
+/**
+ * @@ Compile this file with:
+ *
+ * tao_idl -Gv -I ../.. -I ../../orbsvcs/orbsvcs \
+ * -Wb,export_macro=CIAO_Export \
+ * -Wb,export_include=CIAO_export.h \
+ * -Wb,pre_include="ace/pre.h" \
+ * -Wb,post_include="ace/post.h" \
+ * CCM_HomeFinder.idl
+ */
+
+#if !defined (CCM_HOMEFINDER_IDL)
+#define CCM_HOMEFINDER_IDL
+
+#include "tao/orb_types.pidl"
+
+module Components
+{
+ typeprefix Components "omg.org";
+
+ exception HomeNotFound {};
+
+ interface CCMHome;
+
+ interface HomeFinder
+ {
+ CCMHome find_home_by_component_type (in CORBA::RepositoryId comp_repid)
+ raises (HomeNotFound);
+
+ CCMHome find_home_by_home_type (in CORBA::RepositoryId home_repid)
+ raises (HomeNotFound);
+
+ CCMHome find_home_by_name (in string home_name)
+ raises (HomeNotFound);
+ };
+};
+#endif /* CCM_HOMEFINDER_IDL */
diff --git a/CIAO/ciao/CCM_HomeRegistration.idl b/CIAO/ciao/CCM_HomeRegistration.idl
new file mode 100644
index 00000000000..f724b908337
--- /dev/null
+++ b/CIAO/ciao/CCM_HomeRegistration.idl
@@ -0,0 +1,34 @@
+// $Id$
+
+/**
+ * @@ Compile this file with:
+ *
+ * tao_idl -Gv -I ../.. -I ../../orbsvcs/orbsvcs \
+ * -Wb,export_macro=CIAO_Export \
+ * -Wb,export_include=CIAO_export.h \
+ * -Wb,pre_include="ace/pre.h" \
+ * -Wb,post_include="ace/post.h" \
+ * CCM_Container_Ex.idl
+ */
+
+//#define CIAO_HAS_IMPORT_KEYWORD
+
+#if !defined (CCM_HOMEREGISTRATION_IDL)
+#define CCM_HOMEREGISTRATION_IDL
+
+#include "CCM_Home.idl"
+
+module Components
+{
+ typeprefix Components "omg.org";
+
+ local interface HomeRegistration
+ {
+ void register_home (in CCMHome home_ref,
+ in string home_name);
+
+ void unregister_home (in CCMHome home_ref);
+ };
+
+};
+#endif /* CCM_HOMEREGISTRATION_IDL */
diff --git a/CIAO/ciao/CCM_KeylessCCMHome.idl b/CIAO/ciao/CCM_KeylessCCMHome.idl
new file mode 100644
index 00000000000..3b27b2b8cb2
--- /dev/null
+++ b/CIAO/ciao/CCM_KeylessCCMHome.idl
@@ -0,0 +1,30 @@
+// $Id$
+
+/**
+ * @@ Compile this file with:
+ *
+ * tao_idl -Gv -I ../.. -I ../../orbsvcs/orbsvcs \
+ * -Wb,export_macro=CIAO_Export \
+ * -Wb,export_include=CIAO_export.h \
+ * -Wb,pre_include="ace/pre.h" \
+ * -Wb,post_include="ace/post.h" \
+ * CCM_Component.idl
+ */
+
+#if !defined (CCM_KEYLESSCCMHOME_IDL)
+#define CCM_KEYLESSCCMHOME_IDL
+
+#include "CCM_Home.idl"
+
+module Components
+{
+ typeprefix Components "omg.org";
+
+ interface KeylessCCMHome
+ {
+ CCMObject create_component()
+ raises (CreateFailure);
+ };
+
+};
+#endif /* CCM_KEYLESSCCMHOME_IDL */
diff --git a/CIAO/ciao/CCM_Navigation.idl b/CIAO/ciao/CCM_Navigation.idl
new file mode 100644
index 00000000000..6305d8fe3c9
--- /dev/null
+++ b/CIAO/ciao/CCM_Navigation.idl
@@ -0,0 +1,53 @@
+// $Id$
+
+/**
+ * @@ Compile this file with:
+ *
+ * tao_idl -I W:/ACE_wrappers/TAO Component_Base.idl
+ * tao_idl -I ../.. \
+ * -Wb,export_macro=CIAO_Export \
+ * -Wb,export_include=CIAO_export.h \
+ * -Wb,pre_include="ace/pre.h" \
+ * -Wb,post_include="ace/post.h" \
+ * CCM_Navigation.idl
+ */
+
+//#define CIAO_HAS_IMPORT_KEYWORD
+
+#if !defined (CCM_NAVIGATION_IDL)
+#define CCM_NAVIGATION_IDL
+
+#include "tao/orb_types.pidl"
+
+module Components
+{
+ typeprefix Components "omg.org";
+
+ typedef string FeatureName;
+ typedef sequence<FeatureName> NameList;
+
+ valuetype PortDescription
+ {
+ public FeatureName name;
+ public CORBA::RepositoryId type_id;
+ };
+
+ valuetype FacetDescription : PortDescription
+ {
+ public Object facet_ref;
+ };
+
+ typedef sequence<FacetDescription> FacetDescriptions;
+
+ exception InvalidName {};
+ interface Navigation
+ {
+ Object provide_facet (in FeatureName name)
+ raises (InvalidName);
+ FacetDescriptions get_all_facets();
+ FacetDescriptions get_named_facets (in NameList names)
+ raises (InvalidName);
+ boolean same_component (in Object object_ref);
+ };
+};
+#endif /* CCM_NAVIGATION_IDL */
diff --git a/CIAO/ciao/CCM_Object.idl b/CIAO/ciao/CCM_Object.idl
new file mode 100644
index 00000000000..fc7309ddcdd
--- /dev/null
+++ b/CIAO/ciao/CCM_Object.idl
@@ -0,0 +1,100 @@
+// $Id$
+
+/**
+ * @@ Compile this file with:
+ *
+ * tao_idl -Gv -I ../.. -I ../../orbsvcs/orbsvcs \
+ * -Wb,export_macro=CIAO_Export \
+ * -Wb,export_include=CIAO_export.h \
+ * -Wb,pre_include="ace/pre.h" \
+ * -Wb,post_include="ace/post.h" \
+ * CCM_Component.idl
+ */
+
+#if !defined (CCM_OBJECT_IDL)
+#define CCM_OBJECT_IDL
+
+#include "CCM_Event.idl"
+#include "CCM_Navigation.idl"
+#include "CCM_Home.idl"
+
+module Components
+{
+ typeprefix Components "omg.org";
+
+ typedef FailureReason InvalidConfigurationReason;
+ const InvalidConfigurationReason UnknownConfigValueName = 0;
+ const InvalidConfigurationReason InvalidConfigValueType = 1;
+ const InvalidConfigurationReason ConfigValueRequired = 2;
+ const InvalidConfigurationReason ConfigValueNotExpected = 3;
+
+ exception InvalidConfiguration
+ {
+ InvalidConfigurationReason reason;
+ FeatureName name;
+ };
+
+ abstract valuetype PrimaryKeyBase {};
+
+ valuetype ComponentPortDescription
+ {
+ public FacetDescriptions facets;
+ public ReceptacleDescriptions receptacles;
+ public ConsumerDescriptions consumers;
+ public EmitterDescriptions emitters;
+ public PublisherDescriptions publishers;
+ };
+
+ interface StandardConfigurator;
+
+ exception NoKeyAvailable {};
+
+ interface CCMObject : Navigation, Receptacles, Events
+ {
+ CORBA::IRObject get_component_def ( );
+ CCMHome get_ccm_home( );
+ PrimaryKeyBase get_primary_key( )
+ raises (NoKeyAvailable);
+ void remove()
+ raises (RemoveFailure);
+ ComponentPortDescription get_all_ports ();
+
+ /// Factory method to return a StandardConfigurator interface. CIAO specific
+ StandardConfigurator get_standard_configurator ( );
+
+ /// CIAO specific operations to have some control on when and how
+ /// to activate components.
+ /**
+ * This is all from our work on ARMS where we needed to know whether
+ * every component has been configured, say for example to use
+ * logging in the assembly which could in turn be provided by a
+ * component. To get around all this we are adding some methods on
+ * this till we think of some standard way to do this. The problem
+ * is that the deployer should be able to call this as opposed to
+ * the home calling it as soon as the component is created.
+ *
+ * All these operations are called in the order mentioned, ie. the
+ * deployer calls ciao_preactivate () on all components, then
+ * ciao_activate and then ciao_postactivate (). The speciality is
+ * that these operations would be invoked on every target object
+ * before the next call is made. It is similar to the way
+ * portable interceptors work, trying to get everything onto the
+ * flow stack, but differ in the intention.
+ */
+ void ciao_preactivate ()
+ raises (InvalidConfiguration);
+
+ void ciao_activate ()
+ raises (InvalidConfiguration);
+
+ void ciao_postactivate ()
+ raises (InvalidConfiguration);
+
+ void ciao_passivate ()
+ raises (InvalidConfiguration);
+
+ void configuration_complete ()
+ raises (InvalidConfiguration);
+ };
+};
+#endif /* CCM_OBJECT_IDL */
diff --git a/CIAO/ciao/CCM_ProxyHomeRegistration.idl b/CIAO/ciao/CCM_ProxyHomeRegistration.idl
new file mode 100644
index 00000000000..f15cce2a25e
--- /dev/null
+++ b/CIAO/ciao/CCM_ProxyHomeRegistration.idl
@@ -0,0 +1,36 @@
+// $Id$
+
+/**
+ * @@ Compile this file with:
+ *
+ * tao_idl -Gv -I ../.. -I ../../orbsvcs/orbsvcs \
+ * -Wb,export_macro=CIAO_Export \
+ * -Wb,export_include=CIAO_export.h \
+ * -Wb,pre_include="ace/pre.h" \
+ * -Wb,post_include="ace/post.h" \
+ * CCM_Container_Ex.idl
+ */
+
+//#define CIAO_HAS_IMPORT_KEYWORD
+
+#if !defined (CCM_PROXYHOMEREGISTRATION_IDL)
+#define CCM_PROXYHOMEREGISTRATION_IDL
+
+#include "CCM_HomeRegistration.idl"
+
+module Components
+{
+ typeprefix Components "omg.org";
+
+ exception UnknownActualHome {};
+ exception ProxyHomeNotSupported {};
+
+ local interface ProxyHomeRegistration : HomeRegistration
+ {
+ void register_proxy_home (in CCMHome rhome,
+ in CCMHome ahome)
+ raises (UnknownActualHome,
+ ProxyHomeNotSupported);
+ };
+};
+#endif /* CCM_PROXYHOMEREGISTRATION_IDL */
diff --git a/CIAO/ciao/CCM_Receptacle.idl b/CIAO/ciao/CCM_Receptacle.idl
new file mode 100644
index 00000000000..5aafe192c73
--- /dev/null
+++ b/CIAO/ciao/CCM_Receptacle.idl
@@ -0,0 +1,68 @@
+// $Id$
+
+/**
+ * @@ Compile this file with:
+ *
+ * tao_idl -I W:/ACE_wrappers/TAO Component_Base.idl
+ * tao_idl -I ../.. \
+ * -Wb,export_macro=CIAO_Export \
+ * -Wb,export_include=CIAO_export.h \
+ * -Wb,pre_include="ace/pre.h" \
+ * -Wb,post_include="ace/post.h" \
+ * CCM_Base.idl
+ */
+
+//#define CIAO_HAS_IMPORT_KEYWORD
+
+#if !defined (CCM_RECEPTACLE_IDL)
+#define CCM_RECEPTACLE_IDL
+
+#include "CCM_Base.idl"
+#include "CCM_Navigation.idl"
+#include "CCM_Cookie.idl"
+
+module Components
+{
+ typeprefix Components "omg.org";
+
+ valuetype ConnectionDescription
+ {
+ public Cookie ck;
+ public Object objref;
+ };
+ typedef sequence<ConnectionDescription> ConnectionDescriptions;
+
+ valuetype ReceptacleDescription : PortDescription
+ {
+ public boolean is_multiple;
+ public ConnectionDescriptions connections;
+ };
+ typedef sequence<ReceptacleDescription> ReceptacleDescriptions;
+
+ exception ExceededConnectionLimit {};
+ exception CookieRequired {};
+
+ interface Receptacles
+ {
+ Cookie connect (in FeatureName name, in Object connection )
+ raises (InvalidName,
+ InvalidConnection,
+ AlreadyConnected,
+ ExceededConnectionLimit);
+
+ Object disconnect (in FeatureName name, in Cookie ck)
+ raises (InvalidName,
+ InvalidConnection,
+ CookieRequired,
+ NoConnection);
+
+ ConnectionDescriptions get_connections (in FeatureName name)
+ raises (InvalidName);
+
+ ReceptacleDescriptions get_all_receptacles ();
+
+ ReceptacleDescriptions get_named_receptacles (in NameList names)
+ raises (InvalidName);
+ };
+};
+#endif /* CCM_RECEPTACLE_IDL */
diff --git a/CIAO/ciao/CCM_Session2Context.idl b/CIAO/ciao/CCM_Session2Context.idl
new file mode 100644
index 00000000000..72b6b72ef04
--- /dev/null
+++ b/CIAO/ciao/CCM_Session2Context.idl
@@ -0,0 +1,50 @@
+// $Id$
+
+/**
+ * @@ Compile this file with:
+ *
+ * tao_idl -Gv -I ../.. -I ../../orbsvcs/orbsvcs \
+ * -Wb,export_macro=CIAO_Export \
+ * -Wb,export_include=CIAO_export.h \
+ * -Wb,pre_include="ace/pre.h" \
+ * -Wb,post_include="ace/post.h" \
+ * CCM_Container_Ex.idl
+ */
+
+//#define CIAO_HAS_IMPORT_KEYWORD
+
+#if !defined (CCM_SESSION2CONTEXT_IDL)
+#define CCM_SESSION2CONTEXT_IDL
+
+#include "CCM_CCM2Context.idl"
+
+// *************** Extended Container Interfaces ***************
+
+module Components
+{
+ typeprefix Components "omg.org";
+
+ enum BadComponentReferenceReason
+ {
+ NON_LOCAL_REFERENCE,
+ NON_COMPONENT_REFERENCE,
+ WRONG_CONTAINER
+ };
+ exception BadComponentReference
+ {
+ BadComponentReferenceReason reason;
+ };
+
+ local interface Session2Context : SessionContext, CCM2Context
+ {
+ Object create_ref (in CORBA::RepositoryId repid);
+
+ Object create_ref_from_oid (in CORBA::OctetSeq oid,
+ in CORBA::RepositoryId repid);
+
+ CORBA::OctetSeq get_oid_from_ref (in Object objref)
+ raises (IllegalState,
+ BadComponentReference);
+ };
+};
+#endif /* CCM_SESSION2CONTEXT_IDL */
diff --git a/CIAO/ciao/CCM_SessionSynchronization.idl b/CIAO/ciao/CCM_SessionSynchronization.idl
new file mode 100644
index 00000000000..1e94b10ac34
--- /dev/null
+++ b/CIAO/ciao/CCM_SessionSynchronization.idl
@@ -0,0 +1,39 @@
+// $Id$
+
+/**
+ * @@ Compile this file with:
+ *
+ * tao_idl -Gv -I ../.. -I ../../orbsvcs/orbsvcs \
+ * -Wb,export_macro=CIAO_Export \
+ * -Wb,export_include=CIAO_export.h \
+ * -Wb,pre_include="ace/pre.h" \
+ * -Wb,post_include="ace/post.h" \
+ * CCM_Container.idl
+ */
+
+//#define CIAO_HAS_IMPORT_KEYWORD
+
+#if !defined (CCM_SESSIONSYNCHRONIZATION_IDL)
+#define CCM_SESSIONSYNCHRONIZATION_IDL
+
+#include "CCM_CCMException.idl"
+
+// *************** Basic Container interfaces ***************
+
+module Components
+{
+ typeprefix Components "omg.org";
+
+ local interface SessionSynchronization
+ {
+ void after_begin ()
+ raises (CCMException);
+
+ void before_completion ()
+ raises (CCMException);
+
+ void after_completion (in boolean committed)
+ raises (CCMException);
+ };
+};
+#endif /* CCM_SESSIONSYNCHRONIZATION_IDL */
diff --git a/CIAO/ciao/CCM_StandardConfigurator.idl b/CIAO/ciao/CCM_StandardConfigurator.idl
new file mode 100644
index 00000000000..e22ea585498
--- /dev/null
+++ b/CIAO/ciao/CCM_StandardConfigurator.idl
@@ -0,0 +1,37 @@
+// $Id$
+
+/**
+ * @@ Compile this file with:
+ *
+ * tao_idl -Gv -I ../.. -I ../../orbsvcs/orbsvcs \
+ * -Wb,export_macro=CIAO_Export \
+ * -Wb,export_include=CIAO_export.h \
+ * -Wb,pre_include="ace/pre.h" \
+ * -Wb,post_include="ace/post.h" \
+ * CCM_Component.idl
+ */
+
+#if !defined (CCM_STANDARDCONFIGURATOR_IDL)
+#define CCM_STANDARDCONFIGURATOR_IDL
+
+#include "CCM_Configurator.idl"
+
+module Components
+{
+ typeprefix Components "omg.org";
+
+ valuetype ConfigValue
+ {
+ public FeatureName name;
+ public any value;
+ };
+
+ typedef sequence<ConfigValue> ConfigValues;
+
+ interface StandardConfigurator : Configurator
+ {
+ void set_configuration (in ConfigValues descr);
+ };
+
+};
+#endif /* CCM_STANDARDCONFIGURATOR_IDL */
diff --git a/CIAO/ciao/CIAO_Value.idl b/CIAO/ciao/CIAO_Value.idl
deleted file mode 100644
index 52efed12f75..00000000000
--- a/CIAO/ciao/CIAO_Value.idl
+++ /dev/null
@@ -1,21 +0,0 @@
-// $Id$
-
-/**
- * @file CIAO_Value.idl
- *
- * @brief Some CIAO valuetype extension for internal use.
- */
-
-#include "CCM_Base.idl"
-
-/**
- * @ Note: This needs deprecation.
- *
- */
-module CIAO
-{
- valuetype Cookie : Components::Cookie
- {
- CORBA::OctetSeq get_cookie ();
- };
-};
diff --git a/CIAO/ciao/Client_init.cpp b/CIAO/ciao/Client_init.cpp
index 7dd0b874b54..15325cf7a4e 100644
--- a/CIAO/ciao/Client_init.cpp
+++ b/CIAO/ciao/Client_init.cpp
@@ -3,7 +3,7 @@
#include "Client_init.h"
#include "CIAO_common.h"
#include "CCM_ComponentC.h"
-#include "CIAO_ValueC.h"
+#include "CCM_StandardConfiguratorC.h"
#include "ace/Env_Value_T.h"
int
@@ -11,8 +11,6 @@ CIAO::Client_init (CORBA::ORB_ptr o)
{
CIAO_REGISTER_VALUE_FACTORY (o, Components::Cookie_init,
Components::Cookie);
- CIAO_REGISTER_VALUE_FACTORY (o, Components::Cookie_init,
- CIAO::Cookie);
CIAO_REGISTER_VALUE_FACTORY (o, Components::PortDescription_init,
Components::PortDescription);
CIAO_REGISTER_VALUE_FACTORY (o, Components::FacetDescription_init,
diff --git a/CIAO/ciao/Components.idl b/CIAO/ciao/Components.idl
index ad85c28e448..d73c101d2cc 100644
--- a/CIAO/ciao/Components.idl
+++ b/CIAO/ciao/Components.idl
@@ -10,6 +10,9 @@
#define CIAO_COMPONENTS_IDL
#include "CCM_Component.idl"
+#include "CCM_KeylessCCMHome.idl"
+#include "CCM_Home.idl"
+#include "CCM_Object.idl"
#endif /* CIAO_COMPONENTS_IDL */
diff --git a/CIAO/ciao/ComponentsC.h b/CIAO/ciao/ComponentsC.h
deleted file mode 100644
index f097a6ead82..00000000000
--- a/CIAO/ciao/ComponentsC.h
+++ /dev/null
@@ -1,101 +0,0 @@
-// -*- C++ -*-
-//
-// $Id$
-
-// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
-// TAO and the TAO IDL Compiler have been developed by:
-// Center for Distributed Object Computing
-// Washington University
-// St. Louis, MO
-// USA
-// http://www.cs.wustl.edu/~schmidt/doc-center.html
-// and
-// Distributed Object Computing Laboratory
-// University of California at Irvine
-// Irvine, CA
-// USA
-// http://doc.ece.uci.edu/
-// and
-// Institute for Software Integrated Systems
-// Vanderbilt University
-// Nashville, TN
-// USA
-// http://www.isis.vanderbilt.edu/
-//
-// Information about TAO is available at:
-// http://www.cs.wustl.edu/~schmidt/TAO.html
-
-// TAO_IDL - Generated from
-// be/be_codegen.cpp:150
-
-#ifndef _TAO_IDL_COMPONENTSC_H_
-#define _TAO_IDL_COMPONENTSC_H_
-
-#include "tao/ORB.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-#include "tao/CDR.h"
-#include "tao/Environment.h"
-#include "tao/AnyTypeCode/TypeCode.h"
-#include "tao/Versioned_Namespace.h"
-
-#include "CCM_ComponentC.h"
-
-#if defined (TAO_EXPORT_MACRO)
-#undef TAO_EXPORT_MACRO
-#endif
-#define TAO_EXPORT_MACRO
-
-#if defined (TAO_EXPORT_NESTED_CLASSES)
-# if defined (TAO_EXPORT_NESTED_MACRO)
-# undef TAO_EXPORT_NESTED_MACRO
-# endif /* defined (TAO_EXPORT_NESTED_MACRO) */
-# define TAO_EXPORT_NESTED_MACRO
-#endif /* TAO_EXPORT_NESTED_CLASSES */
-
-#if defined(_MSC_VER)
-#pragma warning(push)
-#pragma warning(disable:4250)
-#endif /* _MSC_VER */
-
-#if defined (__BORLANDC__)
-#pragma option push -w-rvl -w-rch -w-ccc -w-inl
-#endif /* __BORLANDC__ */
-
-// TAO_IDL - Generated from
-// be/be_visitor_traits.cpp:50
-
-// Traits specializations.
-
-TAO_BEGIN_VERSIONED_NAMESPACE_DECL
-namespace TAO
-{
-}
-TAO_END_VERSIONED_NAMESPACE_DECL
-
-// TAO_IDL - Generated from
-// be/be_visitor_root/cdr_op.cpp:48
-
-#ifndef __ACE_INLINE__
-
-// TAO_IDL - Generated from
-// be/be_visitor_root/cdr_op.cpp:64
-
-#endif /* __ACE_INLINE__ */
-
-// TAO_IDL - Generated from
-// be/be_codegen.cpp:911
-
-
-#if defined(_MSC_VER)
-#pragma warning(pop)
-#endif /* _MSC_VER */
-
-#if defined (__BORLANDC__)
-#pragma option pop
-#endif /* __BORLANDC__ */
-
-#endif /* ifndef */
diff --git a/CIAO/ciao/ComponentsS.h b/CIAO/ciao/ComponentsS.h
deleted file mode 100644
index 9a025aac8d7..00000000000
--- a/CIAO/ciao/ComponentsS.h
+++ /dev/null
@@ -1,63 +0,0 @@
-// -*- C++ -*-
-//
-// $Id$
-
-// **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
-// TAO and the TAO IDL Compiler have been developed by:
-// Center for Distributed Object Computing
-// Washington University
-// St. Louis, MO
-// USA
-// http://www.cs.wustl.edu/~schmidt/doc-center.html
-// and
-// Distributed Object Computing Laboratory
-// University of California at Irvine
-// Irvine, CA
-// USA
-// http://doc.ece.uci.edu/
-// and
-// Institute for Software Integrated Systems
-// Vanderbilt University
-// Nashville, TN
-// USA
-// http://www.isis.vanderbilt.edu/
-//
-// Information about TAO is available at:
-// http://www.cs.wustl.edu/~schmidt/TAO.html
-
-// TAO_IDL - Generated from
-// be/be_codegen.cpp:390
-
-#ifndef _TAO_IDL_COMPONENTSS_H_
-#define _TAO_IDL_COMPONENTSS_H_
-
-
-#include "CCM_ComponentS.h"
-#include "ComponentsC.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-#include "tao/Collocation_Proxy_Broker.h"
-#include "tao/PortableServer/PortableServer.h"
-#include "tao/PortableServer/Servant_Base.h"
-
-#if defined(_MSC_VER)
-#pragma warning(push)
-#pragma warning(disable:4250)
-#endif /* _MSC_VER */
-
-#if defined (__BORLANDC__)
-#pragma option push -w-rvl -w-rch -w-ccc -w-inl
-#endif /* __BORLANDC__ */
-
-#if defined(_MSC_VER)
-#pragma warning(pop)
-#endif /* _MSC_VER */
-
-#if defined (__BORLANDC__)
-#pragma option pop
-#endif /* __BORLANDC__ */
-
-#endif /* ifndef */
diff --git a/CIAO/ciao/Container_Base.pidl b/CIAO/ciao/Container_Base.pidl
deleted file mode 100644
index e698ea66b45..00000000000
--- a/CIAO/ciao/Container_Base.pidl
+++ /dev/null
@@ -1,33 +0,0 @@
-// $Id$
-
-/**
- * CIAO's internal container interface definitions.
- */
-
-//#define CIAO_HAS_IMPORT_KEYWORD
-
-#if !defined (CONTAINER_BASE_PIDL)
-#define CONTAINER_BASE_PIDL
-
-#include "CIAO_Component.pidl"
-#include <SecurityLevel2.idl>
-#include "CIAO_Transaction.pidl"
-
-// *************** Basic Container interfaces ***************
-
-module CIAO
-{
- typeprefix Components "wustl.edu";
-
- local interface Container
- {
- // Return the POA
- PortableServer::POA the_POA ();
- };
-
- local interface SessionContainer
- {
-
- };
-};
-#endif /* CONTAINER_BASE_PIDL */
diff --git a/CIAO/ciao/Cookies.h b/CIAO/ciao/Cookies.h
index dd4f11407a8..995629378d2 100644
--- a/CIAO/ciao/Cookies.h
+++ b/CIAO/ciao/Cookies.h
@@ -12,15 +12,13 @@
#define CIAO_COOKIES_H
#include /**/ "ace/pre.h"
-#include "CCM_BaseC.h"
-
+#include "CCM_CookieC.h"
#if !defined (ACE_LACKS_PRAGMA_ONCE)
# pragma once
#endif /* ACE_LACKS_PRAGMA_ONCE */
#include "CIAO_Container_Export.h"
-#include "CIAO_ValueC.h"
#include "ace/Active_Map_Manager.h"
namespace CIAO
diff --git a/CIAO/ciao/CosPersistentState.idl b/CIAO/ciao/CosPersistentState.idl
index 64f127539e2..a5211d071aa 100644
--- a/CIAO/ciao/CosPersistentState.idl
+++ b/CIAO/ciao/CosPersistentState.idl
@@ -13,11 +13,12 @@
#define CIAO_COSPERSISTENTSTATE_PIDL
module CosPersistentState {
- local interface CatalogBase
- {
- };
- typedef sequence<octet> _TypeId;
- typedef string Pid;
+ local interface CatalogBase
+ {
+ };
+
+ typedef sequence<octet> _TypeId;
+ typedef string Pid;
};
#endif /* CIAO_COSPERSISTENTSTATE_PIDL */
diff --git a/CIAO/ciao/Deployment.idl b/CIAO/ciao/Deployment.idl
index cf3b49ff457..d7c952a8c51 100644
--- a/CIAO/ciao/Deployment.idl
+++ b/CIAO/ciao/Deployment.idl
@@ -35,27 +35,7 @@ module Deployment {
string name;
string plan_uuid;
};
-
- /**
- * @struct Sched_Params
- * @brief Carries Scheduling Params
- * @description CIAO specific structure to carry the scheduling params
- * to set the process, required by RACE
- */
- struct Sched_Params
- {
- long policy_;
- long priority_;
- long scope_;
- long msec_;
- };
-
typedef sequence < ComponentPlan > ComponentPlans;
-
- typedef sequence < Application > Applications;
-
- interface Logger {
- };
};
#endif /* DEPLOYMENT_IDL */
diff --git a/CIAO/ciao/Deployment_Application.idl b/CIAO/ciao/Deployment_Application.idl
new file mode 100644
index 00000000000..4ae531357c5
--- /dev/null
+++ b/CIAO/ciao/Deployment_Application.idl
@@ -0,0 +1,34 @@
+// $Id$
+
+#if !defined (DEPLOYMENT_APPLICATION_IDL)
+#define DEPLOYMENT_APPLICATION_IDL
+
+#include "Deployment_Connection.idl"
+
+module Deployment
+{
+ exception StartError
+ {
+ string name;
+ string reason;
+ };
+
+ exception InvalidConnection
+ {
+ string name;
+ string reason;
+ };
+
+ interface Application
+ {
+ void finishLaunch (in Connections providedReference,
+ in boolean start,
+ in boolean is_ReDAC)
+ raises (StartError, InvalidConnection);
+ void start ()
+ raises (StartError);
+ };
+ typedef sequence < Application > Applications;
+};
+
+#endif /* DEPLOYMENT_APPLICATION_IDL */
diff --git a/CIAO/ciao/Deployment_Base.idl b/CIAO/ciao/Deployment_Base.idl
index caadccf2fee..5b9618dfab2 100644
--- a/CIAO/ciao/Deployment_Base.idl
+++ b/CIAO/ciao/Deployment_Base.idl
@@ -4,10 +4,23 @@
#define DEPLOYMENT_BASE_IDL
#include <orb.idl>
-#include "Deployment_Core.idl"
module Deployment {
+ struct Property
+ {
+ string name;
+ any value;
+ };
+ typedef sequence < Property > Properties;
+
+ struct Requirement {
+ string resourceType;
+ string name;
+ Properties property;
+ };
+ typedef sequence < Requirement > Requirements;
+
enum SatisfierPropertyKind {
Quantity,
Capacity,
@@ -23,65 +36,7 @@ module Deployment {
boolean dynamic;
any value;
};
-
typedef sequence < SatisfierProperty > SatisfierProperties;
-
- struct SharedResource {
- string name;
- ::CORBA::StringSeq resourceType;
- ::CORBA::ULongSeq nodeRef;
- SatisfierProperties property;
- };
-
- typedef sequence < SharedResource > SharedResources;
-
- struct Resource {
- string name;
- ::CORBA::StringSeq resourceType;
- SatisfierProperties property;
- };
-
- typedef sequence < Resource > Resources;
-
- struct Node {
- string name;
- string label;
- ::CORBA::ULongSeq sharedResourceRef;
- ::CORBA::ULongSeq connectionRef;
- Resources resource;
- };
-
- typedef sequence < Node > Nodes;
-
- struct Interconnect {
- string name;
- string label;
- ::CORBA::ULongSeq connectionRef;
- ::CORBA::ULongSeq connectRef;
- Resources resource;
- };
-
- typedef sequence < Interconnect > Interconnects;
-
- struct Bridge {
- string name;
- string label;
- ::CORBA::ULongSeq connectRef;
- Resources resource;
- };
-
- typedef sequence < Bridge > Bridges;
-
- struct Domain {
- string UUID;
- string label;
- SharedResources sharedResource;
- Nodes node;
- Interconnects interconnect;
- Bridges bridge;
- Properties infoProperty;
- };
-
};
#endif /* DEPLOYMENT_BASE_IDL */
diff --git a/CIAO/ciao/Deployment_Connection.idl b/CIAO/ciao/Deployment_Connection.idl
new file mode 100644
index 00000000000..e8908eaeaba
--- /dev/null
+++ b/CIAO/ciao/Deployment_Connection.idl
@@ -0,0 +1,43 @@
+// $Id$
+
+#if !defined (DEPLOYMENT_CONNECTION_IDL)
+#define DEPLOYMENT_CONNECTION_IDL
+
+#include "Deployment_Data.idl"
+#include <ciaosvcs/Events/CIAO_Events_Base/CIAO_Events.idl>
+
+// *************** Packaging and Deployment ***************
+module Deployment
+{
+ typedef sequence < Object > Endpoints;
+ //typedef Object Endpoint;
+
+ // CIAO's specific <Connection> type defition.
+ // To avoid the connection info in the plan being passed to the
+ // local node and to make the implementation not very cumbersome
+ // I changed the connection struct to include some extra informations.
+ struct Connection
+ {
+ string instanceName;
+ string portName;
+ CCMComponentPortKind kind;
+
+ string endpointInstanceName; // CIAO specific extension
+ string endpointPortName; // CIAO specific extension
+
+ // the endpoints member is change to endpoint.
+ // Since we will not have more than 1 objref in there.
+ Object endpoint;
+
+ // A wrapper facade interface to provision different event
+ // communication mechanisms, including RTEC, etc.
+ CIAO::CIAO_Event_Service event_service;
+
+ // The properties of this connection, particularly useful
+ // to speicfy QoS properties of pub/sub service connections.
+ Properties config;
+ };
+
+ typedef sequence < Connection > Connections;
+};
+#endif /* DEPLOYMENT_CONNECTION_IDL */
diff --git a/CIAO/ciao/Deployment_Core.idl b/CIAO/ciao/Deployment_Core.idl
index 56e1c7aceea..cbdadb08c93 100644
--- a/CIAO/ciao/Deployment_Core.idl
+++ b/CIAO/ciao/Deployment_Core.idl
@@ -4,7 +4,9 @@
#define DEPLOYMENT_CORE_IDL
#include "CCM_Component.idl"
-#include <ciaosvcs/Events/CIAO_Events_Base/CIAO_Events.idl>
+#include "Deployment_TargetData.idl"
+#include "Deployment_Data.idl"
+#include "Deployment_Application.idl"
// *************** Packaging and Deployment ***************
module Deployment
@@ -32,75 +34,11 @@ module Deployment
//Below are from the OMG Deployment.idl
- exception StartError
- {
- string name;
- string reason;
- };
-
exception StopError {
string name;
string reason;
};
- exception InvalidConnection
- {
- string name;
- string reason;
- };
-
- //==============property==================
- struct Property
- {
- string name;
- any value;
- };
-
- typedef sequence < Property > Properties;
-
- //============connection==================
-
- typedef sequence < Object > Endpoints;
- //typedef Object Endpoint;
-
- enum CCMComponentPortKind
- {
- Facet,
- SimplexReceptacle,
- MultiplexReceptacle,
- EventEmitter,
- EventPublisher,
- EventConsumer
- };
-
- // CIAO's specific <Connection> type defition.
- // To avoid the connection info in the plan being passed to the
- // local node and to make the implementation not very cumbersome
- // I changed the connection struct to include some extra informations.
- struct Connection
- {
- string instanceName;
- string portName;
- CCMComponentPortKind kind;
-
- string endpointInstanceName; // CIAO specific extension
- string endpointPortName; // CIAO specific extension
-
- // the endpoints member is change to endpoint.
- // Since we will not have more than 1 objref in there.
- Object endpoint;
-
- // A wrapper facade interface to provision different event
- // communication mechanisms, including RTEC, etc.
- CIAO::CIAO_Event_Service event_service;
-
- // The properties of this connection, particularly useful
- // to speicfy QoS properties of pub/sub service connections.
- Properties config;
- };
-
- typedef sequence < Connection > Connections;
-
//=======================================
struct ComponentImplementationInfo
{
@@ -131,17 +69,6 @@ module Deployment
Properties nodeapp_config;
};
- //==================================
- interface Application
- {
- void finishLaunch (in Connections providedReference,
- in boolean start,
- in boolean is_ReDAC)
- raises (StartError, InvalidConnection);
- void start ()
- raises (StartError);
- };
-
struct Component_Info
{
string component_instance_name;
diff --git a/CIAO/ciao/Deployment_Data.idl b/CIAO/ciao/Deployment_Data.idl
index 7b475947add..a6ea27638ca 100644
--- a/CIAO/ciao/Deployment_Data.idl
+++ b/CIAO/ciao/Deployment_Data.idl
@@ -6,6 +6,16 @@
module Deployment {
+ enum CCMComponentPortKind
+ {
+ Facet,
+ SimplexReceptacle,
+ MultiplexReceptacle,
+ EventEmitter,
+ EventPublisher,
+ EventConsumer
+ };
+
struct ComponentPortDescription {
string name;
string specificType;
@@ -38,14 +48,6 @@ module Deployment {
Properties infoProperty;
};
- struct Requirement {
- string resourceType;
- string name;
- Properties property;
- };
-
- typedef sequence < Requirement > Requirements;
-
struct MonolithicDeploymentDescription {
string name;
::CORBA::StringSeq source;
@@ -182,13 +184,6 @@ module Deployment {
Properties infoProperty;
};
- enum DomainUpdateKind {
- Add,
- Delete,
- UpdateAll,
- UpdateAvailable
- };
-
struct ComponentPackageReference {
string requiredUUID;
string requiredName;
diff --git a/CIAO/ciao/Deployment_TargetData.idl b/CIAO/ciao/Deployment_TargetData.idl
new file mode 100644
index 00000000000..af3a3fb5ee2
--- /dev/null
+++ b/CIAO/ciao/Deployment_TargetData.idl
@@ -0,0 +1,62 @@
+//$Id$
+
+#ifndef DEPLOYMENT_TARGETDATA_IDL
+#define DEPLOYMENT_TARGETDATA_IDL
+
+#include <ciao/Deployment_Base.idl>
+
+module Deployment {
+
+ struct Resource {
+ string name;
+ ::CORBA::StringSeq resourceType;
+ SatisfierProperties property;
+ };
+ typedef sequence < Resource > Resources;
+
+ struct SharedResource {
+ string name;
+ ::CORBA::StringSeq resourceType;
+ ::CORBA::ULongSeq nodeRef;
+ SatisfierProperties property;
+ };
+ typedef sequence < SharedResource > SharedResources;
+
+ struct Node {
+ string name;
+ string label;
+ ::CORBA::ULongSeq sharedResourceRef;
+ ::CORBA::ULongSeq connectionRef;
+ Resources resource;
+ };
+ typedef sequence < Node > Nodes;
+
+ struct Interconnect {
+ string name;
+ string label;
+ ::CORBA::ULongSeq connectionRef;
+ ::CORBA::ULongSeq connectRef;
+ Resources resource;
+ };
+ typedef sequence < Interconnect > Interconnects;
+
+ struct Bridge {
+ string name;
+ string label;
+ ::CORBA::ULongSeq connectRef;
+ Resources resource;
+ };
+ typedef sequence < Bridge > Bridges;
+
+ struct Domain {
+ string UUID;
+ string label;
+ SharedResources sharedResource;
+ Nodes node;
+ Interconnects interconnect;
+ Bridges bridge;
+ Properties infoProperty;
+ };
+};
+
+#endif /* DEPLOYMENT_TARGETDATA_IDL */
diff --git a/CIAO/ciao/DomainApplicationManager.idl b/CIAO/ciao/DomainApplicationManager.idl
index c0030465638..fa21d64d39f 100644
--- a/CIAO/ciao/DomainApplicationManager.idl
+++ b/CIAO/ciao/DomainApplicationManager.idl
@@ -3,6 +3,7 @@
#define DOMAINAPPLICATIONMANAGER_IDL
#include "Deployment.idl"
+#include "Deployment_Core.idl"
module Deployment {
/// CIAO 's DomainApplicationManager interface differs spec-defined interface
diff --git a/CIAO/ciao/Home_Servant_Impl_Base.h b/CIAO/ciao/Home_Servant_Impl_Base.h
index a8752b95218..848259f72d5 100644
--- a/CIAO/ciao/Home_Servant_Impl_Base.h
+++ b/CIAO/ciao/Home_Servant_Impl_Base.h
@@ -19,7 +19,7 @@
#include /**/ "ace/pre.h"
-#include "CCM_ComponentS.h"
+#include "CCM_HomeS.h"
#if !defined (ACE_LACKS_PRAGMA_ONCE)
# pragma once
diff --git a/CIAO/ciao/NodeApplicationManager.idl b/CIAO/ciao/NodeApplicationManager.idl
index 1c3e33ad05b..6a3b8e42f8a 100644
--- a/CIAO/ciao/NodeApplicationManager.idl
+++ b/CIAO/ciao/NodeApplicationManager.idl
@@ -2,6 +2,7 @@
#ifndef NODEAPPLICATIONMANAGER_IDL
#define NODEAPPLICATIONMANAGER_IDL
+#include "Deployment_Core.idl"
#include "Deployment.idl"
module Deployment {
@@ -14,6 +15,21 @@ module Deployment {
raises (StopError);
};
+ /**
+ * @struct Sched_Params
+ * @brief Carries Scheduling Params
+ * @description CIAO specific structure to carry the scheduling params
+ * to set the process, required by RACE
+ */
+ struct Sched_Params
+ {
+ long policy_;
+ long priority_;
+ long scope_;
+ long msec_;
+ };
+
+
interface NodeApplicationManager :
ApplicationManager
{
@@ -40,7 +56,7 @@ module Deployment {
/// CIAO speicfic operation to set the information of
/// "shared components" (through NodeManager)
void set_shared_components (in ComponentPlans components);
-
+
/// CIAO specific function to set priority
/// o component , required by RACE
long set_priority (in string cid , in Sched_Params params);
diff --git a/CIAO/ciao/NodeManager.idl b/CIAO/ciao/NodeManager.idl
index 47651ac52bb..318cea79aed 100644
--- a/CIAO/ciao/NodeManager.idl
+++ b/CIAO/ciao/NodeManager.idl
@@ -3,21 +3,36 @@
#define NODEMANAGER_IDL
#include "Deployment.idl"
+#include "Deployment_Core.idl"
+#include "TargetManager.idl"
module Deployment {
+ interface Logger {
+ };
+
interface NodeApplicationManager;
interface NodeManager {
+ /*
+ * @todo 06-02-01 mentions a 4th argument:in long updateInterval
+ */
void joinDomain (in Domain ciao_domain,
in TargetManager manager,
in Logger log);
void leaveDomain ();
+ /*
+ * @todo According to 06-02-01 there should also be a ResourceCommitmentManager
+ * as second argument
+ */
NodeApplicationManager preparePlan (in DeploymentPlan plan)
raises (StartError, PlanError);
+ /*
+ * @todo According to 06-02-01 InvalidReference shouldn't be here
+ */
void destroyManager (in NodeApplicationManager appManager)
raises (StopError, InvalidReference);
@@ -32,6 +47,11 @@ module Deployment {
/// CIAO specific extension
/// Get all the shared components installed in this node
ComponentPlans get_shared_components ();
+
+ /*
+ * @todo According to 06-02-01 missing is:
+ * Resources getDynamicResources ();
+ */
};
};
diff --git a/CIAO/ciao/Servant_Impl_Base.h b/CIAO/ciao/Servant_Impl_Base.h
index a68270392b2..38d855aa5ab 100644
--- a/CIAO/ciao/Servant_Impl_Base.h
+++ b/CIAO/ciao/Servant_Impl_Base.h
@@ -30,8 +30,9 @@
#include "CCM_EventC.h"
#include "CIAO_Server_Export.h"
-#include "CCM_ComponentS.h"
-#include "CCM_ContainerS.h"
+#include "CCM_ContainerC.h"
+#include "CCM_ObjectS.h"
+#include "CCM_StandardConfiguratorC.h"
#include "Home_Servant_Impl_Base.h"
#include "Servant_Activator.h"
@@ -137,7 +138,7 @@ namespace CIAO
ACE_ENV_ARG_DECL_WITH_DEFAULTS)
ACE_THROW_SPEC ((CORBA::SystemException,
Components::InvalidName));
-
+
virtual ::Components::ReceptacleDescriptions *
get_all_receptacles (ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
ACE_THROW_SPEC ((CORBA::SystemException));
diff --git a/CIAO/ciao/Servant_Impl_T.cpp b/CIAO/ciao/Servant_Impl_T.cpp
index b9476f72333..c1e7a6ce117 100644
--- a/CIAO/ciao/Servant_Impl_T.cpp
+++ b/CIAO/ciao/Servant_Impl_T.cpp
@@ -4,6 +4,7 @@
#define CIAO_SERVANT_IMPL_T_C
#include "Servant_Impl_T.h"
+#include "CCM_EntityContextC.h"
namespace CIAO
{
diff --git a/CIAO/ciao/Server_init.cpp b/CIAO/ciao/Server_init.cpp
index efb4e9144af..8e1428382d0 100644
--- a/CIAO/ciao/Server_init.cpp
+++ b/CIAO/ciao/Server_init.cpp
@@ -3,6 +3,7 @@
#include "Server_init.h"
#include "CIAO_common.h"
#include "CCM_ComponentC.h"
+#include "CCM_StandardConfiguratorC.h"
#include "Cookies.h"
#include "ace/OS_NS_stdio.h"
@@ -13,8 +14,6 @@ namespace CIAO
{
CIAO_REGISTER_VALUE_FACTORY (o, CIAO::Map_Key_Cookie_init,
Components::Cookie);
- CIAO_REGISTER_VALUE_FACTORY (o, CIAO::Map_Key_Cookie_init,
- CIAO::Cookie);
CIAO_REGISTER_VALUE_FACTORY (o, Components::PortDescription_init,
Components::PortDescription);
CIAO_REGISTER_VALUE_FACTORY (o, Components::FacetDescription_init,
diff --git a/CIAO/ciao/StandardConfigurator_Impl.h b/CIAO/ciao/StandardConfigurator_Impl.h
index a743c4d231f..558137b64d5 100644
--- a/CIAO/ciao/StandardConfigurator_Impl.h
+++ b/CIAO/ciao/StandardConfigurator_Impl.h
@@ -18,7 +18,7 @@
#define CIAO_STANDARDCONFIGURATOR_IMPL_H
# include /**/ "ace/pre.h"
-#include "CCM_ComponentS.h"
+#include "CCM_StandardConfiguratorS.h"
#if !defined (ACE_LACKS_PRAGMA_ONCE)
# pragma once
diff --git a/CIAO/ciao/SwapExec.idl b/CIAO/ciao/SwapExec.idl
index 1a6d00c3575..94aa99efd65 100644
--- a/CIAO/ciao/SwapExec.idl
+++ b/CIAO/ciao/SwapExec.idl
@@ -1,7 +1,6 @@
// $Id$
-#include "CCM_Container.idl"
-
+#include "CCM_EnterpriseComponent.idl"
module CIAO
{
diff --git a/CIAO/ciao/Swapping_Servant_Home_Impl_Base.h b/CIAO/ciao/Swapping_Servant_Home_Impl_Base.h
index 66258261e7d..5e118476f18 100644
--- a/CIAO/ciao/Swapping_Servant_Home_Impl_Base.h
+++ b/CIAO/ciao/Swapping_Servant_Home_Impl_Base.h
@@ -15,7 +15,7 @@
#include /**/ "ace/pre.h"
-#include "CCM_ComponentS.h"
+#include "CCM_HomeS.h"
#if !defined (ACE_LACKS_PRAGMA_ONCE)
# pragma once
diff --git a/CIAO/ciao/TargetManager.idl b/CIAO/ciao/TargetManager.idl
new file mode 100644
index 00000000000..e604a237161
--- /dev/null
+++ b/CIAO/ciao/TargetManager.idl
@@ -0,0 +1,36 @@
+// $Id$
+
+#ifndef TARGETMANAGER_IDL
+#define TARGETMANAGER_IDL
+
+#include "Target_Data.idl"
+#include "Deployment_TargetData.idl"
+
+module Deployment {
+
+ enum DomainUpdateKind {
+ Add,
+ Delete,
+ UpdateAll,
+ UpdateAvailable
+ };
+
+ /**
+ * @todo The ResourceCommitmentManager is part of 06-04-01 and this is not
+ * part of the Target Manager yet
+ */
+ interface TargetManager {
+ Domain getAllResources ();
+ Domain getAvailableResources ();
+ /// @todo 06-04-01 specifies this differently
+ void commitResources (in DeploymentPlan plan)
+ raises (ResourceNotAvailable, PlanError);
+ /// @todo This is not part of 06-04-01
+ void releaseResources (in DeploymentPlan argname);
+ void updateDomain (in ::CORBA::StringSeq elements,
+ in Domain domainSubset,
+ in DomainUpdateKind updateKind);
+ };
+};
+
+#endif /* TARGETMANAGER_IDL */
diff --git a/CIAO/ciao/Target_Data.idl b/CIAO/ciao/Target_Data.idl
index ba1d895c784..683f16dc2ff 100644
--- a/CIAO/ciao/Target_Data.idl
+++ b/CIAO/ciao/Target_Data.idl
@@ -7,6 +7,11 @@
module Deployment {
+ exception PlanError {
+ string name;
+ string reason;
+ };
+
exception ResourceNotAvailable {
string name;
string resourceType;
@@ -14,29 +19,6 @@ module Deployment {
string elementName;
string resourceName;
};
-
- exception PlanError {
- string name;
- string reason;
- };
-
-
- /**
- * @todo The ResourceCommitmentManager is part of 06-04-01 and this is not
- * part of the Target Manager yet
- */
- interface TargetManager {
- Domain getAllResources ();
- Domain getAvailableResources ();
- /// @todo 06-04-01 specifies this differently
- void commitResources (in DeploymentPlan plan)
- raises (ResourceNotAvailable, PlanError);
- /// @todo This is not part of 06-04-01
- void releaseResources (in DeploymentPlan argname);
- void updateDomain (in ::CORBA::StringSeq elements,
- in Domain domainSubset,
- in DomainUpdateKind updateKind);
- };
};
#endif /* TARGET_DATA_IDL */
diff --git a/CIAO/ciao/UpgradeableContext.idl b/CIAO/ciao/UpgradeableContext.idl
index 0fe4a332986..343c512abe6 100644
--- a/CIAO/ciao/UpgradeableContext.idl
+++ b/CIAO/ciao/UpgradeableContext.idl
@@ -1,10 +1,7 @@
// $Id$
#include "CCM_Container.idl"
-#include "CCM_Base.idl"
-#include "CCM_Event.idl"
#include "tao/PortableServer/PortableServer_include.pidl"
-#include <orb.idl>
module CIAO
{