#include <SCRAgent.h>
Inheritance diagram for SCRAgent:

Public Member Functions | |
| SCRAgent () | |
| virtual | ~SCRAgent () |
| virtual YCPValue | Read (const YCPPath &path, const YCPValue &arg=YCPNull(), const YCPValue &opt=YCPNull())=0 |
| virtual YCPBoolean | Write (const YCPPath &path, const YCPValue &value, const YCPValue &arg=YCPNull())=0 |
| virtual YCPList | Dir (const YCPPath &path)=0 |
| virtual YCPValue | Execute (const YCPPath &path, const YCPValue &value=YCPNull(), const YCPValue &arg=YCPNull()) |
| virtual YCPMap | Error (const YCPPath &path) |
| virtual YCPBoolean | RegisterAgent (const YCPPath &path, const YCPValue &value) |
| virtual YCPBoolean | UnregisterAgent (const YCPPath &path) |
| virtual YCPBoolean | UnregisterAllAgents () |
| virtual YCPBoolean | UnmountAgent (const YCPPath &path) |
| virtual YCPValue | otherCommand (const YCPTerm &term) |
| void | setAsCurrentSCR () |
Static Public Member Functions | |
| static YCPValue | readconf (const char *filename) |
| static SCRAgent * | instance () |
Public Attributes | |
| SCRAgent * | mainscragent |
Static Private Attributes | |
| static SCRAgent * | current_scr |
| static YCPMap | unspecified_error |
| returned by Error | |
An SCRAgent is an information agent. It handles a subtree of the whole SRC data tree of the system. You can look upon it as a database that is similar to a filesystem. Data is grouped in a tree. But type of the data being stored are not files but YCP values.
| SCRAgent::SCRAgent | ( | ) |
Initializes the base class.
| SCRAgent::~SCRAgent | ( | ) | [virtual] |
Cleans up. Furthermore baseclass must have a virtual destructor.
| virtual YCPValue SCRAgent::Read | ( | const YCPPath & | path, | |
| const YCPValue & | arg = YCPNull(), |
|||
| const YCPValue & | opt = YCPNull() | |||
| ) | [pure virtual] |
Reads data. Destroy the result after use.
| path | Specifies what part of the subtree should be read. The path is specified _relatively_ to Root()! |
Implemented in AnyAgent, DummyAgent, IniAgent, ModulesAgent, ResolverAgent, SystemAgent, ScriptingAgent, and StdioSCRAgent.
| virtual YCPBoolean SCRAgent::Write | ( | const YCPPath & | path, | |
| const YCPValue & | value, | |||
| const YCPValue & | arg = YCPNull() | |||
| ) | [pure virtual] |
Writes data. Destroy the result after use.
Implemented in AnyAgent, DummyAgent, IniAgent, ModulesAgent, ResolverAgent, SystemAgent, ScriptingAgent, and StdioSCRAgent.
Get a list of all subtrees.
Implemented in AnyAgent, DummyAgent, IniAgent, ModulesAgent, ResolverAgent, SystemAgent, ScriptingAgent, and StdioSCRAgent.
| virtual YCPValue SCRAgent::Execute | ( | const YCPPath & | path, | |
| const YCPValue & | value = YCPNull(), |
|||
| const YCPValue & | arg = YCPNull() | |||
| ) | [inline, virtual] |
Execute a command
Reimplemented in DummyAgent, SystemAgent, ScriptingAgent, and StdioSCRAgent.
Get a detailed error description if a previous command failed
Reimplemented in ScriptingAgent, and StdioSCRAgent.
| virtual YCPBoolean SCRAgent::RegisterAgent | ( | const YCPPath & | path, | |
| const YCPValue & | value | |||
| ) | [inline, virtual] |
Register an agent
Reimplemented in ScriptingAgent.
| virtual YCPBoolean SCRAgent::UnregisterAgent | ( | const YCPPath & | path | ) | [inline, virtual] |
Unregister an agent
Reimplemented in ScriptingAgent.
| virtual YCPBoolean SCRAgent::UnregisterAllAgents | ( | ) | [inline, virtual] |
Unregister all agents
Reimplemented in ScriptingAgent.
| virtual YCPBoolean SCRAgent::UnmountAgent | ( | const YCPPath & | path | ) | [inline, virtual] |
Unmount an agent
Reimplemented in ScriptingAgent.
Execute other commands. Return 0 if the command is not defined in your Agent.
Reimplemented in AnyAgent, DummyAgent, IniAgent, ModulesAgent, ResolverAgent, ScriptingAgent, and StdioSCRAgent.
| YCPValue SCRAgent::readconf | ( | const char * | filename | ) | [static] |
Reads the scr config file and returns the term. It skips all lines upto (including) the first starting with a ".", which is the path where the agant gets mounted (by the ScriptingAgent).
| SCRAgent * SCRAgent::instance | ( | ) | [static] |
| void SCRAgent::setAsCurrentSCR | ( | ) | [inline] |
A pointer to the SCRAgent (which normally is the ScriptingAgent) that created this SCRAgent. It can be used to call other SCRAgents directly from C++. You must check if it is not 0.
SCRAgent * SCRAgent::current_scr [static, private] |
YCPMap SCRAgent::unspecified_error [static, private] |
returned by Error
1.5.0