summaryrefslogtreecommitdiff
path: root/modules/CIAO/ciao/ComponentServer/CIAO_ComponentServer.idl
diff options
context:
space:
mode:
Diffstat (limited to 'modules/CIAO/ciao/ComponentServer/CIAO_ComponentServer.idl')
-rw-r--r--modules/CIAO/ciao/ComponentServer/CIAO_ComponentServer.idl79
1 files changed, 79 insertions, 0 deletions
diff --git a/modules/CIAO/ciao/ComponentServer/CIAO_ComponentServer.idl b/modules/CIAO/ciao/ComponentServer/CIAO_ComponentServer.idl
new file mode 100644
index 00000000000..0acb62bb092
--- /dev/null
+++ b/modules/CIAO/ciao/ComponentServer/CIAO_ComponentServer.idl
@@ -0,0 +1,79 @@
+/**
+ * @file CIAO_ComponentServer.idl
+ * @author William R. Otte <wotte@dre.vanderbilt.edu>
+ * $Id$
+ * A couple CIAO-specific extensions to the component server
+ * interfaces.
+ */
+
+#ifndef CIAO_COMPONENTSERVER_IDL_
+#define CIAO_COMPONENTSERVER_IDL_
+
+#include <ccm/CCM_Object.idl>
+#include <ccm/ComponentServer/CCM_ComponentServer.idl>
+
+module CIAO
+{
+ module Deployment
+ {
+ interface ComponentServer : ::Components::Deployment::ComponentServer
+ {
+ oneway void shutdown ();
+ };
+
+ exception InvalidComponent
+ {
+ };
+
+ /**
+ * @interface CIAO_Container
+ * @brief CIAO specific extensions to the component server interface.
+ */
+ interface Container : Components::Deployment::Container
+ {
+ /// Instruct the container to install a component without
+ /// an explicit home.
+ ::Components::CCMObject install_component (in ::Components::Deployment::UUID id,
+ in string entrypt,
+ in ::Components::ConfigValues config)
+ raises (::Components::Deployment::UnknownImplId,
+ ::Components::Deployment::ImplEntryPointNotFound,
+ ::Components::Deployment::InstallationFailure,
+ ::Components::Deployment::InvalidConfiguration);
+
+ /// Activate component with specified ID, if no ID provided,
+ /// activates all components.
+ void activate_component (in ::Components::CCMObject comp)
+ raises (InvalidComponent);
+
+ /// Passivate component with specified ID, if no ID provided,
+ /// passivates all components.
+ void passivate_component (in ::Components::CCMObject comp)
+ raises (InvalidComponent);
+
+ /// Instruct the container to remove a component installed
+ /// without an explicit home. If the component was installed
+ /// with an explicit home, this operation will fail.
+ void remove_component (in ::Components::CCMObject cref)
+ raises (::Components::RemoveFailure);
+
+ /// Returns a sequence of all homeless components.
+ ::Components::CCMObjectSeq get_components ();
+
+ void connect_local_facet (in ::Components::CCMObject provider_ref,
+ in string provider_port,
+ in ::Components::CCMObject user_ref,
+ in string user_port)
+ raises (::Components::InvalidConnection,
+ ::Components::AlreadyConnected);
+
+ void disconnect_local_facet (in ::Components::CCMObject provider_ref,
+ in string provider_port,
+ in ::Components::CCMObject user_ref,
+ in string user_port)
+ raises (::Components::InvalidConnection);
+ };
+ };
+};
+
+#endif /* CIAO_COMPONENTSERVER_IDL_ */