import "maci.idl";
Public Member Functions | |
oneway void | disconnect () |
AuthenticationData | authenticate (in ExecutionId execution_id, in string question) |
oneway void | message (in short type, in string message) |
oneway void | taggedmessage (in short type, in short messageID, in string message) |
boolean | ping () |
oneway void | components_available (in ComponentInfoSeq components) |
oneway void | components_unavailable (in stringSeq component_names) |
Public Attributes | |
const short | MSG_ERROR = 0 |
const short | MSG_INFORMATION = 20 |
const short | MSGID_AUTOLOAD_START = 1 |
const short | MSGID_AUTOLOAD_END = 2 |
readonly attribute string | name |
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 a security token, which it must use in every subsequent request to the MACI.
AuthenticationData maci::Client::authenticate | ( | in ExecutionId | execution_id, | |
in string | question | |||
) |
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.
C
A regular client (implements just the Client interface). A
An container (implements the Container interface). AR
An container with recovery capability (implements the Container interface). S
Supervisor (implements the Administrator interface). execution_id | Execution ID of the container logging in. | |
question | The question posed by the Manager. |
oneway void maci::Client::components_available | ( | in ComponentInfoSeq | components | ) |
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.
Notice that this is a oneway method and therefore there cannot be return values or user exceptions. Only CORBA runtime exceptions due to communication issues can be thrown
components | 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. |
oneway void maci::Client::components_unavailable | ( | in stringSeq | component_names | ) |
Notify client that some of the components currently in use by client have become unavailable.
Notice that this is a oneway method and therefore there cannot be return values or user exceptions. Only CORBA runtime exceptions due to communication issues can be thrown
component_names | CURLs of the unavailable components. |
oneway void maci::Client::disconnect | ( | ) |
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.
Notice that this is a oneway method and therefore there cannot be return values or user exceptions. Only CORBA runtime exceptions due to communication issues can be thrown
oneway void maci::Client::message | ( | in short | type, | |
in string | message | |||
) |
The Manager and administrators use this method for sending textual messages to the client.
Notice that this is a oneway method and therefore there cannot be return values or user exceptions. Only CORBA runtime exceptions due to communication issues can be thrown
type | Can be either MSG_ERROR or MSG_INFORMATION. | |
message | Contents of the message. The contents are human readable. |
boolean maci::Client::ping | ( | ) |
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, of "false", indicating that client is malfunctioning.
If CORBA::TRANSIENT 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.
oneway void maci::Client::taggedmessage | ( | in short | type, | |
in short | messageID, | |||
in string | message | |||
) |
The Manager and administrators use this method for sending textual messages and status indicators to the client.
Notice that this is a oneway method and therefore there cannot be return values or user exceptions. Only CORBA runtime exceptions due to communication issues can be thrown
type | Can be either MSG_ERROR or MSG_INFORMATION. | |
messageID | Type of message being sent. | |
message | Contents of the message. The contents are human readable. |
const short maci::Client::MSG_ERROR = 0 |
Type constant identifying an error message.
const short maci::Client::MSG_INFORMATION = 20 |
Type constant identifying informational message.
const short maci::Client::MSGID_AUTOLOAD_END = 2 |
Type constant identifying component autoload end message
const short maci::Client::MSGID_AUTOLOAD_START = 1 |
Type constant identifying component autoload start message
readonly attribute string maci::Client::name |
Client name