Classes | |
interface | LoggingConfigurable |
struct | ComponentInfo |
struct | AuthenticationData |
interface | Client |
struct | ClientInfo |
interface | CBComponentInfo |
interface | Container |
struct | ContainerInfo |
interface | Administrator |
interface | SynchronousAdministrator |
struct | ComponentSpec |
interface | 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 = "*" |
MACI Management and Access Control Interface. In abstract terms, a control system can be viewed as a collection of services that enable the interaction between the controlled entities and the clients.
The MACI module provides meta-services to manage the services themself. In particular it provides a uniform environment in which the services function and handles their life cycle.
typedef unsigned long maci::AccessDescriptor |
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 POSSESED
and REQUIRED
must equal REQUIRED
.
typedef sequence<ClientInfo> maci::ClientInfoSeq |
Convenience typedef for sequences of ClientInfo
typedef sequence<ComponentInfo> maci::ComponentInfoSeq |
Convenience typedef for sequences of ComponentInfo
typedef sequence<ComponentSpec> maci::ComponentSpecSeq |
Convenience typedef for sequences of ComponentSpec
typedef sequence<ContainerInfo> maci::ContainerInfoSeq |
Convenience typedef for sequences of ContainerInfo.
typedef string maci::CURL |
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:
curl://subdomain.domain/object/subobject
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.
typedef sequence<string> maci::CURLSeq |
Convenience typedef for sequences of CURLs.
typedef long long maci::ExecutionId |
Convenience typedef for sequences of ExecutionId
typedef unsigned long maci::Handle |
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.
typedef ulongSeq maci::HandleSeq |
Convenience typedef for sequences of Handle
typedef sequence<Object> maci::ObjectSeq |
Convenience typedef for sequences of objects.
typedef sequence<string> maci::stringSeq |
Convenience typedef for sequences of strings.
typedef sequence<unsigned long> maci::ulongSeq |
Convenience typedef for sequences of unsigned longs.
enum maci::ClientType |
enum maci::ImplLangType |
const string maci::COMPONENT_SPEC_ANY = "*" |
String constant denoting any entry in the component specification, the value will be determined by the Manager.