Public Member Functions | Public Attributes

maci::Client Interface Reference

import "maci.idl";

Inheritance diagram for maci::Client:
Inheritance graph
[legend]

List of all members.

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

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 a security token, which it must use in every subsequent request to the MACI.


Member Function Documentation

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.

Returns:
Answer to the question. The first character of the answer identifies the type of the client, and can be one of:
  • 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).
Parameters:
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

Parameters:
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

Parameters:
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

Parameters:
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

Parameters:
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.

Member Data Documentation

const short maci::Client::MSG_ERROR = 0

Type constant identifying an error message.

Type constant identifying informational message.

Type constant identifying component autoload end message

Type constant identifying component autoload start message

readonly attribute string maci::Client::name

Client name


The documentation for this interface was generated from the following file: