class VarMap

A VarMap contains all information for legal protocol variables. More...

 
LOGO
 Annotated List  Files  Globals  Hierarchy  Index  Top

Public Types

Public Methods


Detailed Description

It contains all the possible protocols. All the possible variables those protocols support and whether the variables are read-only or read-write.

This is crutial for semantic checking.

VarMapErr (class)

VarMapErr

enum Access { READ, READ_WRITE, WRITE }

Access

A variable may be READ [readonly] or READ_WRITE [read/write].

Variable (struct)

Variable

A variable has Access control, it has a name, and a type.

typedef map<VarRW::Id,Variable*> VariableMap

VariableMap

typedef map<string,VariableMap*> ProtoMap

ProtoMap

const Variable&  variable (const string& protocol, const VarRW::Id& varname)

variable

[const]

Return Variable information for a variable of a specific protocol.

Throws an exception if no information is found.

Caller must not delete the map.

Parameters:

protocolprotocol of variable interested in.
varnamename of variable interested in.

Returns: access and type information for the requested variable.

VarRW::Id  var2id (const string& protocol, const string& varname)

var2id

[const]

 VarMap (ProcessWatchBase& pw)

VarMap

As the VarMap learns about new protocols, it will register interest with the process watcher for that protocol to monitor the status of the protocol process.

Parameters:

pwprocessWatch to use.
 ~VarMap ()

~VarMap

bool  protocol_known (const string& protocol)

protocol_known

Parameters:

protocolprotocol caller wish to knows existance of.

Returns: True if the protocol is known to the VarMap, false otherwise.

void  add_protocol_variable (const string& protocol, Variable* var)

add_protocol_variable

Add a variable to a protocol.

Parameters:

protocolprotocol for which variable should be added.
varthe variable to add. Do not delete.
string  str ()

str

String representation of varmap. Use only for debugging.

Returns: string representation of varmap.


Generated by: pavlin on kobe.xorp.net on Wed Jan 7 19:11:02 2009, using kdoc 2.0a54+XORP.