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


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< ComponentInfoComponentInfoSeq
typedef sequence< ClientInfoClientInfoSeq
typedef sequence< ContainerInfoContainerInfoSeq
typedef sequence< Object > ObjectSeq
typedef sequence< ComponentSpecComponentSpecSeq

Enumerations

enum  ImplLangType { JAVA, CPP, PYTHON }
enum  ClientType { CLIENT_TYPE, ADMINISTRATOR_TYPE, CONTAINER_TYPE }

Variables

const string COMPONENT_SPEC_ANY = "*"


Detailed Description

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 Documentation

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:

  • 0 - the handle is reserved
  • 1 - the handle represents a component
  • 2 - the handle represents a client
  • 3 - the handle represents an administrator
  • 4 - the handle represents a container
  • 5 - the handle represents a Manager (for inter-domain communcation).

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.


Enumeration Type Documentation

enum ClientType
 

Enumeration values:
CLIENT_TYPE 
ADMINISTRATOR_TYPE 
CONTAINER_TYPE 

enum ImplLangType
 

Enumeration values:
JAVA 
CPP 
PYTHON 


Variable Documentation

const string maci::COMPONENT_SPEC_ANY = "*"
 

String constant denoting any entry in the component specification, the value will be determined by the Manager.


Generated on Thu Apr 30 02:29:38 2009 for ACS IDL interfaces by doxygen 1.3.8