From OpenSCADAWiki
(Importing a new version from external source) |
(Importing a new version from external source) |
||
Line 35: | Line 35: | ||
* ''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. | * ''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. | * ''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. | + | * ''TVariant property( const string &id, const TVariant &val, const string &grp = "sys" );'' — returns of the object's property ''id'' of the Control Interface for the group ''grp'' with setting its at ''val'' non NULL and EVAL. Where ''val'' in EVAL is clearing the property and NULL (TVariant without arguments) just doesn't set nothing. |
− | * ''virtual void objPropSet( const string &id, TVariant val );'' — Setting the node's property as the user's object. | + | * ''void propertyClrGrp( const string &idPref = "", const string &grp = "sys" );'' — clearing the group ''grp'' properties at the prefix ''idPref'', that is at empty ''idPref'' there are cleared all properties in the ''grp'' group. The property container is deleting also with clearing all properties. |
+ | * ''virtual TVariant objPropGet( const string &id );'' — Request of the node's property ''id'' as the user's object. It uses now ''TCntrNode::property()'' as the objects container in the "usr" group. | ||
+ | * ''virtual void objPropSet( const string &id, const TVariant &val );'' — Setting the node's property ''id'' as the user's object. It uses now ''TCntrNode::property()'' as the objects container in the "usr" group. | ||
* ''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}"). | * ''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 grpSize( );'' — Number of the containers with the child nodes. |
Revision as of 11:23, 21 January 2025
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.
- TVariant property( const string &id, const TVariant &val, const string &grp = "sys" ); — returns of the object's property id of the Control Interface for the group grp with setting its at val non NULL and EVAL. Where val in EVAL is clearing the property and NULL (TVariant without arguments) just doesn't set nothing.
- void propertyClrGrp( const string &idPref = "", const string &grp = "sys" ); — clearing the group grp properties at the prefix idPref, that is at empty idPref there are cleared all properties in the grp group. The property container is deleting also with clearing all properties.
- virtual TVariant objPropGet( const string &id ); — Request of the node's property id as the user's object. It uses now TCntrNode::property() as the objects container in the "usr" group.
- virtual void objPropSet( const string &id, const TVariant &val ); — Setting the node's property id as the user's object. It uses now TCntrNode::property() as the objects container in the "usr" group.
- 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.