|
|
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:
protocol | protocol of variable interested in. |
varname | name 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:
pw | processWatch to use. |
~VarMap ()
| ~VarMap |
bool protocol_known (const string& protocol)
| protocol_known |
Parameters:
protocol | protocol 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:
protocol | protocol for which variable should be added. |
var | the variable to add. Do not delete. |
string str ()
| str |
String representation of varmap. Use only for debugging.
Returns: string representation of varmap.