Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

com::cosylab::acs::maci::Manager Interface Reference

Inheritance diagram for com::cosylab::acs::maci::Manager:

Inheritance graph
[legend]
Collaboration diagram for com::cosylab::acs::maci::Manager:

Collaboration graph
[legend]
List of all members.

Public Member Functions

String getDomain ()
ContainerInfo[] getContainerInfo (int id, int[] handles, String name_wc) throws AcsJNoPermissionEx
ClientInfo[] getClientInfo (int id, int[] handles, String name_wc) throws AcsJNoPermissionEx
ComponentInfo[] getComponentInfo (int id, int[] handles, String name_wc, String type_wc, boolean activeOnly) throws AcsJNoPermissionEx
Component getComponent (int id, URI curl, boolean activate, StatusHolder status) throws AcsJCannotGetComponentEx, AcsJNoPermissionEx
Component restartComponent (int id, URI curl) throws AcsJNoPermissionEx, AcsJBadParameterEx
void makeComponentImmortal (int id, URI curl, boolean immortalState) throws AcsJCannotGetComponentEx, AcsJNoPermissionEx, AcsJBadParameterEx
Component getService (int id, URI curl, boolean activate, StatusHolder status) throws AcsJCannotGetComponentEx, AcsJNoPermissionEx
ClientInfo login (Client reference) throws AcsJNoPermissionEx
void logout (int id) throws AcsJNoPermissionEx
int registerComponent (int id, URI curl, String type, Component cob) throws AcsJNoPermissionEx, AcsJBadParameterEx
int releaseComponent (int id, URI curl) throws AcsJNoPermissionEx, AcsJBadParameterEx
int forceReleaseComponent (int id, URI curl) throws AcsJNoPermissionEx, AcsJBadParameterEx
void shutdown (int id, int containers) throws AcsJNoPermissionEx
void shutdownContainer (int id, String containerName, int action) throws AcsJNoPermissionEx
void unregisterComponent (int id, int handle) throws AcsJNoPermissionEx, AcsJBadParameterEx
ComponentInfo getDefaultComponent (int id, String type) throws AcsJCannotGetComponentEx, AcsJNoPermissionEx, NoDefaultComponentException
ComponentInfo getDynamicComponent (int id, ComponentSpec componentSpec, boolean markAsDefault) throws AcsJCannotGetComponentEx, AcsJNoPermissionEx, AcsJIncompleteComponentSpecEx, AcsJInvalidComponentSpecEx, AcsJComponentSpecIncompatibleWithActiveComponentEx
ComponentInfo getCollocatedComponent (int id, ComponentSpec componentSpec, boolean markAsDefault, URI targetComponentURI) throws AcsJCannotGetComponentEx, AcsJNoPermissionEx, AcsJIncompleteComponentSpecEx, AcsJInvalidComponentSpecEx, AcsJComponentSpecIncompatibleWithActiveComponentEx
Component getComponentNonSticky (int id, URI curl) throws AcsJCannotGetComponentEx, AcsJNoPermissionEx

Detailed Description

Manager is the central point of interaction between the components and the clients that request MACI services. A Manager is responsible for managing a domain. Manager has the following functionality:

This interface defines a CORBA-independent interface for the Manager. In ACS, the acs.maci.plugManagerProxyImpl class implements the CORBA interface and delegates toan implementation of this Manager class the real work.

NOTE: There is no throws RemoteException in the signature of the methods.

See also:
si.ijs.acs.maci.plug.ManagerProxyImpl, si.ijs.acs.maci.plug.ManagerProxy, acs.maci.manager.ManagerImpl
Author:
Matej Sekoranja (matej.sekoranja@cosylab.com)
Version:
@VERSION@


Member Function Documentation

int com::cosylab::acs::maci::Manager::forceReleaseComponent int  id,
URI  curl
throws AcsJNoPermissionEx, AcsJBadParameterEx
 

Forcefully release a component.

Parameters:
id Identification of the caller.
curl The CURL of the Component to be released.
Returns:
Number of clients that are still using the Component after the operation completed. This is a useful debugging tool.

Implemented in com::cosylab::acs::maci::manager::ManagerImpl, and com::cosylab::acs::maci::plug::ManagerProxy.

ClientInfo [] com::cosylab::acs::maci::Manager::getClientInfo int  id,
int[]  handles,
String  name_wc
throws AcsJNoPermissionEx
 

Get all the information that the Manager has about its known clients. To invoke this method, the caller must have INTROSPECT_MANAGER access rights, or it must be the object whose info it is requesting (request by handle sequence of length one). Calling this function does not affect the internal state of the Manager.

Parameters:
id Identification of the caller.
handles Handles of the clients whose information is requested. If this is an empty sequence, the name_wc parameter is used.
name_wc Wildcard that the clients's name must match in order for its information to be returned.
Returns:
A sequence of ClientInfo structures containing the entire Manager's knowledge about the containers. If access is denied to a subset of objects, the handles to those objects are set to 0.

Implemented in com::cosylab::acs::maci::manager::ManagerImpl, and com::cosylab::acs::maci::plug::ManagerProxy.

ComponentInfo com::cosylab::acs::maci::Manager::getCollocatedComponent int  id,
ComponentSpec  componentSpec,
boolean  markAsDefault,
URI  targetComponentURI
throws AcsJCannotGetComponentEx, AcsJNoPermissionEx, AcsJIncompleteComponentSpecEx, AcsJInvalidComponentSpecEx, AcsJComponentSpecIncompatibleWithActiveComponentEx
 

Activation of an co-deployed component.

Parameters:
id Identification of the caller.
componentSpec Component to be obtained.
markAsDefault Mark component as default component of its type.
targetComponentURI target co-deployed component.
Returns:
ComponentInfo of requested component. If componentSpec if found to be incomplete IncompleteComponentSpecException exception is thrown. If requested component collides with already activated component with the same name ComponentSpecIncompatibleWithActiveComponentException exception is thrown.

Implemented in com::cosylab::acs::maci::manager::ManagerImpl, and com::cosylab::acs::maci::plug::ManagerProxy.

Component com::cosylab::acs::maci::Manager::getComponent int  id,
URI  curl,
boolean  activate,
StatusHolder  status
throws AcsJCannotGetComponentEx, AcsJNoPermissionEx
 

Get a component, activating it if necessary. The client represented by id (the handle) must have adequate access rights to access the component. This is untrue of components: components always have unlimited access rights to other components.

Parameters:
id Identification of the caller. If this is an invalid handle, or if the caller does not have enough access rights, a AcsJNoPermissionEx exception is raised.
curl CURL of the component whose reference is to be retrieved.
activate true if the Component is to be activated in case it does not exist. If set to false, and the Component exist, a null reference is returned and status is set to COMPONENT_NOT_ACTIVATED.
status Status of the request. One of COMPONENT_ACTIVATED, COMPONENT_DOES_NO_EXIST and COMPONENT_NOT_ACTIVATED.
Returns:
Reference to the Component. If the Component could not be activated, a nil reference is returned, and the status contains an error code detailing the cause of failure (one of the component_* constants).

Implemented in com::cosylab::acs::maci::manager::ManagerImpl, and com::cosylab::acs::maci::plug::ManagerProxy.

ComponentInfo [] com::cosylab::acs::maci::Manager::getComponentInfo int  id,
int[]  handles,
String  name_wc,
String  type_wc,
boolean  activeOnly
throws AcsJNoPermissionEx
 

Get all the information that the Manager has about components. To invoke this method, the caller must have INTROSPECT_MANAGER access rights, or it must have adequate privileges to access the Component (the same as with the get_component method). Information about all components is returned, unless the active_only parameter is set to true, in which case only information about those components that are currently registered with the Manager and activated is returned. Calling this function does not affect the internal state of the Manager.

Parameters:
id Identification of the caller.
handles Handles of the components whose information is requested. If this is an empty sequence, the name_wc and type_wc parameters are used.
name_wc Wildcard that the Component's name must match in order for its information to be returned.
type_wc Wildcard that the Component's type must match in order for its information to be returned.
activeOnly If true returns information only about components that are activated.
Returns:
A sequence of ComponentInfo structures containing the entire Manager's knowledge about the components. If access is denied to a subset of objects, the handles to those objects are set to 0.

Implemented in com::cosylab::acs::maci::manager::ManagerImpl, and com::cosylab::acs::maci::plug::ManagerProxy.

Component com::cosylab::acs::maci::Manager::getComponentNonSticky int  id,
URI  curl
throws AcsJCannotGetComponentEx, AcsJNoPermissionEx
 

Get a component, do not activate it and also do not do any reference counting. The client represented by id (the handle) must have adequate access rights to access the Component. This is untrue of components: components always have unlimited access rights to other components.

Parameters:
id Identification of the caller. If this is an invalid handle, or if the caller does not have enough access rights, a AcsJNoPermissionEx exception is raised.
component_url CURL of the Component whose reference is to be retrieved.
Returns:
Reference to the Component.

Implemented in com::cosylab::acs::maci::manager::ManagerImpl, and com::cosylab::acs::maci::plug::ManagerProxy.

ContainerInfo [] com::cosylab::acs::maci::Manager::getContainerInfo int  id,
int[]  handles,
String  name_wc
throws AcsJNoPermissionEx
 

Get all the information that the Manager has about its known containers. To invoke this method, the caller must have INTROSPECT_MANAGER access rights, or it must be the object whose info it is requesting (request by handle sequence of length one). Calling this function does not affect the internal state of the Manager.

Parameters:
id Identification of the caller.
handles Handles of the containers whose information is requested. If this is an empty sequence, the name_wc parameter is used.
name_wc Wildcard that the container's name must match in order for its information to be returned.
Returns:
A sequence of ContainerInfo structures containing the entire Manager's knowledge about the containers. If access is denied to a subset of objects, the handles to those objects are set to 0.

Implemented in com::cosylab::acs::maci::manager::ManagerImpl, and com::cosylab::acs::maci::plug::ManagerProxy.

ComponentInfo com::cosylab::acs::maci::Manager::getDefaultComponent int  id,
String  type
throws AcsJCannotGetComponentEx, AcsJNoPermissionEx, NoDefaultComponentException
 

Get default component of given type. The client represented by id (the handle) must have adequate access rights to access the component.

Parameters:
id Identification of the caller. If this is an invalid handle, or if the caller does not have enough access rights, a AcsJNoPermissionEx exception is raised.
type type of the component whose reference is to be restarted.
Returns:
ComponentInfo of the component. If no defualt component is found NoDefaultComponentException exception is thrown.

Implemented in com::cosylab::acs::maci::manager::ManagerImpl, and com::cosylab::acs::maci::plug::ManagerProxy.

String com::cosylab::acs::maci::Manager::getDomain  ) 
 

Return the fully qualified name of the domain, e.g., "antenna1.alma.nrao".

Returns:
the fully qualified name of the domain

Implemented in com::cosylab::acs::maci::manager::ManagerImpl, and com::cosylab::acs::maci::plug::ManagerProxy.

ComponentInfo com::cosylab::acs::maci::Manager::getDynamicComponent int  id,
ComponentSpec  componentSpec,
boolean  markAsDefault
throws AcsJCannotGetComponentEx, AcsJNoPermissionEx, AcsJIncompleteComponentSpecEx, AcsJInvalidComponentSpecEx, AcsJComponentSpecIncompatibleWithActiveComponentEx
 

Activation of an dynamic component.

Parameters:
id Identification of the caller.
componentSpec Component to be obtained.
markAsDefault Mark component as default component of its type.
Returns:
ComponentInfo of requested component. If componentSpec if found to be incomplete IncompleteComponentSpecException exception is thrown. If requested component collides with already activated component with the same name ComponentSpecIncompatibleWithActiveComponentException exception is thrown.

Implemented in com::cosylab::acs::maci::manager::ManagerImpl, and com::cosylab::acs::maci::plug::ManagerProxy.

Component com::cosylab::acs::maci::Manager::getService int  id,
URI  curl,
boolean  activate,
StatusHolder  status
throws AcsJCannotGetComponentEx, AcsJNoPermissionEx
 

Get a service. NOTE: a component is also a service, i.e. a service activated by a container.

See also:
#get_component

Implemented in com::cosylab::acs::maci::manager::ManagerImpl, and com::cosylab::acs::maci::plug::ManagerProxy.

ClientInfo com::cosylab::acs::maci::Manager::login Client  reference  )  throws AcsJNoPermissionEx
 

Login to MACI. Containers, Clients and Administrative clients call this function first to identify themselves with the Manager. The Manager authenticates them (through the authenticate function), and assigns them access rights and a handle, through which they will identify themselves at subsequent calls to the Manager.

Parameters:
reference A reference to the Client.
Returns:
A ClientInfo structure with handle (h) and access fields filled-in. If the client with this name did not logout prior to calling login, the components sequence in ClientInfo contains the handles of all components that the client was using. (For containers, the components sequence contains handles of all components previously hosted by the Container.)

Implemented in com::cosylab::acs::maci::manager::ManagerImpl, and com::cosylab::acs::maci::plug::ManagerProxy.

void com::cosylab::acs::maci::Manager::logout int  id  )  throws AcsJNoPermissionEx
 

Logout from MACI.

Parameters:
id Handle of the Client that is logging out

Implemented in com::cosylab::acs::maci::manager::ManagerImpl, and com::cosylab::acs::maci::plug::ManagerProxy.

void com::cosylab::acs::maci::Manager::makeComponentImmortal int  id,
URI  curl,
boolean  immortalState
throws AcsJCannotGetComponentEx, AcsJNoPermissionEx, AcsJBadParameterEx
 

Change mortality state of an component. Compnent must be already active, otherwise NoResourcesException exception will be thrown. The caller must be an owner of an component or have administator rights, otherwise AcsJNoPermissionEx exception will be thrown.

Parameters:
id Identification of the caller. The caller must be an owner of an component or have administator rights.
curl The CURL of the component whose mortality to change.
immortalState New mortality state.

Implemented in com::cosylab::acs::maci::manager::ManagerImpl, and com::cosylab::acs::maci::plug::ManagerProxy.

int com::cosylab::acs::maci::Manager::registerComponent int  id,
URI  curl,
String  type,
Component  cob
throws AcsJNoPermissionEx, AcsJBadParameterEx
 

Register a CORBA object as a component, assigning it a CURL and making it accessible through the Manager. The component is treated as an immortal Component.

Parameters:
id Identification of the caller. The caller must have the REGISTER_COMPONENT access right to perform this operation.
curl CURL that will be assigned to the object. The CURL must be in the Manager's domain, otherwise a fundamental property of domains that one computer belongs to only one domain would be too easy to violate.
type Type of the component
cob Object to be registered as component.
Returns:
Returns the handle of the newly registered component.

Implemented in com::cosylab::acs::maci::manager::ManagerImpl, and com::cosylab::acs::maci::plug::ManagerProxy.

int com::cosylab::acs::maci::Manager::releaseComponent int  id,
URI  curl
throws AcsJNoPermissionEx, AcsJBadParameterEx
 

Release a component. In order for this operation to be possible, the caller represented by the id must have previously successfuly requested the component via a call to get_component. Releasing a component more times than requesting it should be avoided, but it produces no errors.

Parameters:
id Identification of the caller. The caller must have previously got the Component through get_component.
curl The CURL of the Component to be released.
Returns:
Number of clients that are still using the Component after the operation completed. This is a useful debugging tool.

Implemented in com::cosylab::acs::maci::manager::ManagerImpl, and com::cosylab::acs::maci::plug::ManagerProxy.

Component com::cosylab::acs::maci::Manager::restartComponent int  id,
URI  curl
throws AcsJNoPermissionEx, AcsJBadParameterEx
 

Restart a component. The client represented by id (the handle) must be a owner of a component.

Parameters:
id Identification of the caller. If this is an invalid handle, or if the caller does not have enough access rights, a AcsJNoPermissionEx exception is raised.
curl CURL of the component whose reference is to be restarted.
Returns:
Reference to the component. If the component could not be restarted, a nil reference is returned.

Implemented in com::cosylab::acs::maci::manager::ManagerImpl, and com::cosylab::acs::maci::plug::ManagerProxy.

void com::cosylab::acs::maci::Manager::shutdown int  id,
int  containers
throws AcsJNoPermissionEx
 

Shutdown the Manager. Warning: This call will also deactivate all components active in the system, including startup and immortal components.

Parameters:
id Identification of the caller. The caller must have the SHUTDOWN_SYSTEM access right.
containers The code to send to shutdown methods of all containers. If 0, the Container's shutdown methods are not called.

Implemented in com::cosylab::acs::maci::manager::ManagerImpl, and com::cosylab::acs::maci::plug::ManagerProxy.

void com::cosylab::acs::maci::Manager::shutdownContainer int  id,
String  containerName,
int  action
throws AcsJNoPermissionEx
 

Shutdown a container.

Parameters:
id Identification of the caller. The caller must have the SHUTDOWN_SYSTEM access right.
container_name name of the container to shutdown.
action The code to send to shutdown method of the container. If 0, the Container's disconnect methods is called instead.

Implemented in com::cosylab::acs::maci::manager::ManagerImpl, and com::cosylab::acs::maci::plug::ManagerProxy.

void com::cosylab::acs::maci::Manager::unregisterComponent int  id,
int  handle
throws AcsJNoPermissionEx, AcsJBadParameterEx
 

Unregister a component from the Manager.

Parameters:
id Identification of the caller. The caller must have the REGISTER_COMPONENT access right to perform this operation.
handle Component's handle. The component must have been previously registered through the call to register_component. If there are clients still using this component, a components_unavailable notification is issued to all of them, and the component is unregistered.

Implemented in com::cosylab::acs::maci::manager::ManagerImpl, and com::cosylab::acs::maci::plug::ManagerProxy.


The documentation for this interface was generated from the following file:
Generated on Thu Apr 30 03:11:16 2009 for ACS Java API by doxygen 1.3.8