Class: OPCUA::Server::ObjectVarNode
- Defined in:
- ext/opcua/server/server.c
Instance Method Summary collapse
-
#delete! ⇒ Object
{{{.
-
#value ⇒ Object
{{{.
-
#value=(value) ⇒ Object
{{{.
Methods inherited from Node
#description, #description=, #exists?, #id, #name, #to_s
Instance Method Details
#delete! ⇒ Object
{{{
744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 |
# File 'ext/opcua/server/server.c', line 744 static VALUE node_delete(VALUE self) { //{{{ node_struct *ns; Data_Get_Struct(self, node_struct, ns); if (!ns->exists) rb_raise(rb_eRuntimeError, "Node does not exist anymore."); UA_StatusCode retval = UA_Server_deleteNode(ns->master->master, ns->id, true); if (retval == UA_STATUSCODE_GOOD) { ns->exists = false; return Qtrue; } return Qfalse; } |
#value ⇒ Object
{{{
725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 |
# File 'ext/opcua/server/server.c', line 725 static VALUE node_value(VALUE self) { //{{{ node_struct *ns; Data_Get_Struct(self, node_struct, ns); if (!ns->exists) rb_raise(rb_eRuntimeError, "Node does not exist anymore."); UA_Variant value; UA_Variant_init(&value); UA_StatusCode retval = UA_Server_readValue(ns->master->master, ns->id, &value); VALUE ret = Qnil; if (retval == UA_STATUSCODE_GOOD) { ret = extract_value(value); } UA_Variant_clear(&value); return rb_ary_entry(ret,0); } |
#value=(value) ⇒ Object
{{{
706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 |
# File 'ext/opcua/server/server.c', line 706 static VALUE node_value_set(VALUE self, VALUE value) { //{{{ node_struct *ns; Data_Get_Struct(self, node_struct, ns); if (!ns->exists) rb_raise(rb_eRuntimeError, "Node does not exist anymore."); UA_Variant variant; if (value_to_variant(value,&variant,-1)) { // printf("-----------------------------------------%ld\n",variant.arrayDimensionsSize); if (variant.arrayDimensionsSize > 0) { UA_Server_writeValueRank(ns->master->master, ns->id, variant.arrayDimensionsSize); UA_Variant uaArrayDimensions; UA_Variant_setArray(&uaArrayDimensions, variant.arrayDimensions, variant.arrayDimensionsSize, &UA_TYPES[UA_TYPES_UINT32]); UA_Server_writeArrayDimensions(ns->master->master, ns->id, uaArrayDimensions); } UA_Server_writeValue(ns->master->master, ns->id, variant); } return self; } |