diff options
Diffstat (limited to 'modules/CIAO/ciao/ComponentServer/CIAO_ComponentServer.idl')
-rw-r--r-- | modules/CIAO/ciao/ComponentServer/CIAO_ComponentServer.idl | 79 |
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_ */ |