Class: OPCUA::Server::TypeTopNode
- Defined in:
- ext/opcua/server/server.c
Instance Method Summary collapse
-
#add_object_type(name) ⇒ Object
{{{.
-
#add_reference_type(name, type) ⇒ Object
{{{.
-
#folder ⇒ Object
{{{.
Methods inherited from Node
#description, #description=, #exists?, #id, #name, #to_s
Instance Method Details
#add_object_type(name) ⇒ Object
{{{
71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 |
# File 'ext/opcua/server/server.c', line 71 static VALUE node_add_object_type(VALUE self, VALUE name) { //{{{ node_struct *ns; Data_Get_Struct(self, node_struct, ns); if (!ns->exists) rb_raise(rb_eRuntimeError, "Node does not exist anymore."); VALUE str = rb_obj_as_string(name); if (NIL_P(str) || TYPE(str) != T_STRING) rb_raise(rb_eTypeError, "cannot convert obj to string"); char *nstr = (char *)StringValuePtr(str); UA_NodeId n = UA_NODEID_NUMERIC(ns->master->default_ns, nodecounter++); UA_ObjectTypeAttributes dtAttr = UA_ObjectTypeAttributes_default; dtAttr.displayName = UA_LOCALIZEDTEXT("en-US", nstr); UA_Server_addObjectTypeNode(ns->master->master, n, ns->id, UA_NODEID_NUMERIC(0, UA_NS0ID_HASSUBTYPE), UA_QUALIFIEDNAME(ns->master->default_ns, nstr), dtAttr, NULL, NULL); return node_wrap(cTypeSubNode,node_alloc(ns->master,n)); } |
#add_reference_type(name, type) ⇒ Object
{{{
97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 |
# File 'ext/opcua/server/server.c', line 97 static VALUE node_add_reference_type(VALUE self, VALUE name, VALUE type) { //{{{ node_struct *ns; Data_Get_Struct(self, node_struct, ns); if (!ns->exists) rb_raise(rb_eRuntimeError, "Node does not exist anymore."); VALUE str = rb_obj_as_string(name); if (NIL_P(str) || TYPE(str) != T_STRING) rb_raise(rb_eTypeError, "cannot convert arg 1 to string"); char *nstr = (char *)StringValuePtr(str); if (TYPE(type) != T_FIXNUM) rb_raise(rb_eTypeError, "cannot convert arg 2 to integer"); UA_NodeId n = UA_NODEID_NUMERIC(ns->master->default_ns, nodecounter++); UA_ReferenceTypeAttributes rtAttr = UA_ReferenceTypeAttributes_default; rtAttr.displayName = UA_LOCALIZEDTEXT("en-US", nstr); UA_Server_addReferenceTypeNode(ns->master->master, n, ns->id, UA_NODEID_NUMERIC(0, NUM2INT(type)), UA_QUALIFIEDNAME(ns->master->default_ns, nstr), rtAttr, NULL, NULL); return node_wrap(cReferenceSubNode,node_alloc(ns->master,n)); } |
#folder ⇒ Object
{{{
65 66 67 68 69 70 |
# File 'ext/opcua/server/server.c', line 65 static VALUE node_type_folder(VALUE self) { //{{{ node_struct *ns; Data_Get_Struct(self, node_struct, ns); if (!ns->exists) rb_raise(rb_eRuntimeError, "Node does not exist anymore."); return node_wrap(cTypeTopNode, node_alloc(ns->master, UA_NODEID_NUMERIC(0, UA_NS0ID_FOLDERTYPE))); } |