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

com::cosylab::acs::maci::Client Interface Reference

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

Inheritance graph
[legend]
List of all members.

Public Member Functions

AuthenticationData authenticate (long executionId, String question) throws RemoteException
void components_available (ComponentInfo[] components) throws RemoteException
void components_unavailable (String[] components) throws RemoteException
void disconnect () throws RemoteException
void message (MessageType type, String message) throws RemoteException
void taggedmessage (MessageType type, short id, String message) throws RemoteException
String name () throws RemoteException
boolean ping () throws RemoteException
String getRemoteLocation () throws RemoteException

Detailed Description

Every client of a Component service that is not itself a Component must implement an interface called Client. The interface allows the client to act as a secure party in the communication with the components, to receive general-purpose string messages from the MACI components and to be notified when any change happens to the components that the client utilizes. Each client logs in to the MACI system before any other requests are made, and in turn it obtains an handle, which it must use in every subsequent request to the MACI.

Author:
Matej Sekoranja (matej.sekoranja@cosylab.com)
Version:
@VERSION@


Member Function Documentation

AuthenticationData com::cosylab::acs::maci::Client::authenticate long  executionId,
String  question
throws RemoteException
 

Authentication method. Method authenticate is the challenge issued to the client after it tries to login. The login will be successful if the client's authenticate() produces the expected result. Only in this case will the Manager's login method return a valid handle, which the client will later use as the id parameter with all calls to the Manager.

Parameters:
question The question posed by the Manager.
Returns:
authentication structure (including answer to the question).

Implemented in com::cosylab::acs::maci::plug::ClientImpl, com::cosylab::acs::maci::plug::ClientProxy, and com::cosylab::acs::maci::test::TestClient.

void com::cosylab::acs::maci::Client::components_available ComponentInfo[]  components  )  throws RemoteException
 

Notify client about the change (availability) of the components currently in use by this client. For administrative clients, notification is issued for the change of availability of any component in the domain.

Parameters:
cobs A sequence of ComponentInfo structures identifying the affected components. Regular clients receive the name, the type, the handle and the reference of the newly activated component. Administrative clients also receive the handle of the container where the component was activated.

Implemented in com::cosylab::acs::maci::plug::ClientImpl, com::cosylab::acs::maci::plug::ClientProxy, and com::cosylab::acs::maci::test::TestClient.

void com::cosylab::acs::maci::Client::components_unavailable String[]  components  )  throws RemoteException
 

Notify client that some of the components currently in use by client have become unavailable.

Parameters:
cobs CURLs of the unavailable components.

Implemented in com::cosylab::acs::maci::plug::ClientImpl, com::cosylab::acs::maci::plug::ClientProxy, and com::cosylab::acs::maci::test::TestClient.

void com::cosylab::acs::maci::Client::disconnect  )  throws RemoteException
 

Disconnect notification. The disconnect method is called by the Manager to notify the client that it will be unavailable and that the client should log off.

Implemented in com::cosylab::acs::maci::plug::ClientImpl, com::cosylab::acs::maci::plug::ClientProxy, and com::cosylab::acs::maci::test::TestClient.

String com::cosylab::acs::maci::Client::getRemoteLocation  )  throws RemoteException
 

Get location string (host).

Implemented in com::cosylab::acs::maci::plug::ClientImpl, com::cosylab::acs::maci::plug::ClientProxy, and com::cosylab::acs::maci::test::TestClient.

void com::cosylab::acs::maci::Client::message MessageType  type,
String  message
throws RemoteException
 

The Manager and administrators use this method for sending textual messages to the client.

Parameters:
type Type of the message, instance of MessageType.
message Contents of the message. The contents are human readable.

Implemented in com::cosylab::acs::maci::plug::ClientImpl, com::cosylab::acs::maci::plug::ClientProxy, and com::cosylab::acs::maci::test::TestClient.

String com::cosylab::acs::maci::Client::name  )  throws RemoteException
 

Client name.

Returns:
name

Implemented in com::cosylab::acs::maci::plug::ClientImpl, com::cosylab::acs::maci::plug::ClientProxy, and com::cosylab::acs::maci::test::TestClient.

boolean com::cosylab::acs::maci::Client::ping  )  throws RemoteException
 

Manager pings its clients (both GUI clients, as well as Containers) repeatedly to verify that they still exist. The return value can be either "true", indicating that everything is OK with the client, or "false", indicating that client is malfunctioning.

If RemoteTransientException exception is thrown, the Manager should retry the ping several times, and only then shall the client be assumed to be malfunctioning. If another exception is thrown, the client may be immediately assumed to be malfunctioning. Once the client is found to be malfunctioning, the Manager makes an implicit logout of the client.

Implemented in com::cosylab::acs::maci::plug::ClientImpl, com::cosylab::acs::maci::plug::ClientProxy, and com::cosylab::acs::maci::test::TestClient.

void com::cosylab::acs::maci::Client::taggedmessage MessageType  type,
short  id,
String  message
throws RemoteException
 

The Manager and administrators use this method for sending tagged textual messages to the client.

Parameters:
type Type of the message, instance of MessageType.
id Tag of the message, integer
message Contents of the message. The contents are human readable.

Implemented in com::cosylab::acs::maci::plug::ClientImpl, com::cosylab::acs::maci::plug::ClientProxy, and com::cosylab::acs::maci::test::TestClient.


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