From OpenSCADAWiki
Public methods:
- TCntrNode( TCntrNode *prev = NULL ); — Initialization with an indication of the parent node prev.
- virtual string objName( ); — Object name. Object-heir should extend the definition of aggregate object name.
- virtual TCntrNode &operator=( const TCntrNode &node ); — Virtual copy function of the dynamic tree nodes.
- void cntrCmd( XMLNode *opt, int lev = 0, const string &path = "", int off = 0 ); — Command of work with the control interface of the system. The transport transitions to the full path of the following form are supported: "**/sub_Security/usr_root/%2fgen**" где %2fgen — encoded sub-path to a particular field of the page (/gen).
- static XMLNode *ctrId( XMLNode *inf, const string &n_id, bool noex = false ); — Getting the XML node by the attribute's value "id" n_id. XML requests of the node by the full path to it are supported (node1/node2/node3).
- static XMLNode *_ctrMkNode( const char *n_nd, XMLNode *nd, int pos, const char *req, const string &dscr, int perm = RWRWRW, const char *user = "root", const char *grp = "root" );
- static XMLNode *ctrMkNode( const char *n_nd, XMLNode *nd, int pos, const char *req, const string &dscr int perm = RWRWRW, const char *user = "root", const char *grp = "root", int n_attr = 0, ... );
- static XMLNode *ctrMkNode2( const char *n_nd, XMLNode *nd, int pos, const char *req, const string &dscr, int perm = RWRWRW, const char *user = "root", const char *grp = "root", ... ); — Adding the control element to the page. It is possible to specify the set of additional attributes in the number of n_attr as follows: "{attribute1},{values1},{attribute2},{values2},..." or by zero pointer at the end of the pair sequence.
- bool ctrRemoveNode( XMLNode *nd, const char *path ); — Removing the control element path from the page nd.
- static bool ctrChkNode( XMLNode *nd, const char *cmd = "get", int perm = R_R_R_, const char *user = "root", const char *grp = "root", char mode = SEC_RD ); — Checking for the dynamic command getting cmd and for the existence of rights to its execution.
- ResMtx &dataRes( ); — Mutex for using resources of the node in common purpose.
- virtual const char *nodeName( ) const; — Node's name.
- virtual const char *nodeNameSYSM( ) const; — System message's location entry name, to place it to the system's message text by function "mess_sys" and "err_sys". Empty value, by default, to pass the node.
- string nodePath( char sep = 0, bool from_root = true ) const; — Getting the full path to the node, beginning from the root from_root, and using the separator sep or standard path recording.
- void nodeList( vector<string> &list, const string& gid = "" ); — Child nodes list list in the specified group gid.
- AutoHD<TCntrNode> nodeAt( const string &path, int lev = 0, char sep = 0, int off = 0, bool noex = false ); — Attachment to the child node.
- void nodeDel( const string &path, char sep = 0, int flag = NodeNoFlg ); — Deleting the node using its path.
- static void nodeCopy( const string &src, const string &dst, const string &user = "root" ); — Copying the nodes of the dynamic tree.
- TCntrNode *nodePrev( bool noex = false ) const; — Address of the parent node.
- char nodeFlg( ); — Node's flag.
- void setNodeFlg( char flg ); — Set flags TCntrNode::SelfModify, TCntrNode::SelfModifyS and TCntrNode::SelfSaveForceOnChild.
- char nodeMode( ) const; — Node's status.
- unsigned nodeUse( bool selfOnly ); — Number of the connections to the node. selfOnly — only self connections, without childs.
- unsigned nodePos( ); — The position of the node in the parent-node's container. It is valid only for ordered containers.
- int isModify( int mflg = TCntrNode::All ) const; — Checking for the modification of the node or nodes' branch.
- void modif( bool save = false, bool forceLoad = false ); — Setting the modification sign of the node, with saving save the sign at the loading and marking for the force loading forceLoad.
- void modifG( bool forceLoad = false ); — Setting the modification sign of the node branch, with marking for the force loading forceLoad.
- void modifClr( bool save = false ); — Clearing the modification sign or the saving sign save of the node.
- void modifGClr( ); — Clearing the modification sign of the node branch.
- void load( TConfig *cfg = NULL, string *errs = NULL ); — Load the dynamic tree node for ready configuration cfg. The loading errors place to errs by lines.
- void save( unsigned lev = 0, string *errs = NULL, int *errL = NULL ); — Saving the dynamic tree node, on nesting level lev (service). The saving errors place to errs by lines and maximum level errL.
- virtual void AHDConnect( ); — Connection to the node (capture of the resource).
- virtual bool AHDDisConnect( ); — Disсonnection from the node (release of the resource). Resource will remove on zero result.
- void mess_sys( int8_t level, const char *fmt, ... ); — The system message forms for the node path as the category, the level, the formatted message fmt appended by the node location and followed arguments.
- TError err_sys( const char *fmt, ... ) const; TError err_sys( int cod, const char *fmt, ... ) const; — The error object forms for the node path as the category, the code cod, the formatted message fmt appended by the node location and followed arguments.
- virtual TVariant objPropGet( const string &id ); — Request of the node's property as the user's object.
- virtual void objPropSet( const string &id, TVariant val ); — Setting the node's property as the user's object.
- virtual TVariant objFuncCall( const string &id, vector<TVariant> &prms, const string &user_lang ); — Node function id call with the parameters prms and for user/language user_lang ("{user}\n{lang}").
- int8_t grpSize( ); — Number of the containers with the child nodes.
- int8_t grpId( const string &sid ); — Getting the index of the group by its ID.
- virtual AutoHD<TCntrNode> chldAt( int8_t igr, const string &name, const string &user = "" ) const; — Attachment to the child node name of the container gr of the user user.
- virtual void chldList( int8_t igr, vector<string> &list, bool noex = false ) const; — The list of the child nodes list in the specified container gr.
- virtual bool chldPresent( int8_t igr, const string &name ) const; — Check for the presence of the specified child node name in the container gr.