import "logging_idl.idl";
#include <ACSErrTypeCommon.idl>
#include <maciErrType.idl>
import "acscommon.idl";
Include dependency graph for maci.idl:
This graph shows which files directly or indirectly include this file:
Go to the source code of this file.
Namespaces | |
namespace | maci |
namespace | AccessRights |
Classes | |
interface | maci::LoggingConfigurable |
struct | maci::LoggingConfigurable::LogLevels |
struct | maci::ComponentInfo |
struct | maci::AuthenticationData |
interface | maci::Client |
struct | maci::ClientInfo |
interface | maci::Container |
struct | maci::ContainerInfo |
interface | maci::Administrator |
interface | maci::SynchronousAdministrator |
struct | maci::ComponentSpec |
interface | maci::Manager |
Typedefs | |
typedef unsigned long | AccessDescriptor |
typedef sequence< string > | stringSeq |
typedef unsigned long | Handle |
typedef string | CURL |
typedef sequence< string > | CURLSeq |
typedef sequence< unsigned long > | ulongSeq |
typedef ulongSeq | HandleSeq |
typedef long long | ExecutionId |
typedef sequence< ComponentInfo > | ComponentInfoSeq |
typedef sequence< ClientInfo > | ClientInfoSeq |
typedef sequence< ContainerInfo > | ContainerInfoSeq |
typedef sequence< Object > | ObjectSeq |
typedef sequence< ComponentSpec > | ComponentSpecSeq |
Enumerations | |
enum | ImplLangType { JAVA, CPP, PYTHON } |
enum | ClientType { CLIENT_TYPE, ADMINISTRATOR_TYPE, CONTAINER_TYPE } |
Variables | |
const string | COMPONENT_SPEC_ANY = "*" |
const maci::AccessDescriptor | INTROSPECT_MANAGER = 0x08000000 |
const maci::AccessDescriptor | SHUTDOWN_SYSTEM = 0x04000000 |
const maci::AccessDescriptor | REGISTER_COMPONENT = 0x02000000 |
|
A 32-bit integer representing access rights. It is used to describe access rights possessed by accessors and those required by objects being accessed). In order for access to be granted, bitwise and of |
|
Convenience typedef for sequences of ClientInfo |
|
Convenience typedef for sequences of ComponentInfo |
|
Convenience typedef for sequences of ComponentSpec |
|
Convenience typedef for sequences of ContainerInfo. |
|
Every component must have a unique designation, which clients use to identify that component. As a metaservice, MACI provides name resolution that from a well-formed component designation generates the component reference that can be returned to the client. Well-formed component designations are component URLs or CURLs. CURL is a hierarchical name implemented as a string of arbitrary length that consists of a static prefix (curl:// ), domain identifier and the component name. An example of a CURL might be "curl://antenna1.alma/mount/motor2", representing the 2nd motor of the mount component for ALMA antenna number 1. The syntax of the CURL is:
Both the domain and the object part form a hierarchy. Components of the domain name are separated by a dot, and parts of the object name are separated by a slash. |
|
Convenience typedef for sequences of CURLs. |
|
Convenience typedef for sequences of ExecutionId |
|
The Handle alias defines a universal handle used by MACI to uniquely tag the object instances. Handles optimize access and identifications of MACI components and replace the use of string identifiers. Handles are not unique globally and are not static. Manager guarantees only that they are unique in their scope and only for the duration of the object denoted by the handle. Upper 8 bits (24 to 31) of the handle denote the type of the object that the handle is representing. Possible values of the upper-most byte are:
Bits 0 thru 15 uniquely tag object instance. Bits 16 thru 23 are reserved. |
|
Convenience typedef for sequences of Handle |
|
Convenience typedef for sequences of objects. |
|
Convenience typedef for sequences of strings. |
|
Convenience typedef for sequences of unsigned longs. |
|
|
|
|
|
String constant denoting any entry in the component specification, the value will be determined by the Manager. |
|
Clients must have the INTROSPECT_MANAGER access right to be able to gain access to Manager's internal state. This access is usually given to administrator clients. |
|
Clients must have the REGISTER_COMPONENT access right to be able to call Manager's register_component and unregister_component methods. |
|
Clients must have the SHUTDOWN_SYSTEM access right to be able to call Manager's shutdown method, thus shutting down the entire control system. |