Browse Source

adding ServerTimestamp to all read attributes like UaExpert server does
adding SourceTrimestamp to value read attribute
relates #185

Stasik0 10 years ago
parent
commit
d690bc35cd
1 changed files with 9 additions and 1 deletions
  1. 9 1
      src/server/ua_services_attribute.c

+ 9 - 1
src/server/ua_services_attribute.c

@@ -100,8 +100,12 @@ static void readValue(UA_Server *server, const UA_ReadValueId *id, UA_DataValue
     case UA_ATTRIBUTEID_VALUE:
         CHECK_NODECLASS(UA_NODECLASS_VARIABLE | UA_NODECLASS_VARIABLETYPE);
         retval = UA_Variant_copy(&((const UA_VariableNode *)node)->value, &v->value);
-        if(retval == UA_STATUSCODE_GOOD)
+        if(retval == UA_STATUSCODE_GOOD){
             v->hasVariant = UA_TRUE;
+
+            v->hasSourceTimestamp = UA_TRUE;
+            v->sourceTimestamp = UA_DateTime_now();
+        }
         break;
 
     case UA_ATTRIBUTEID_DATATYPE:
@@ -195,6 +199,10 @@ static void readValue(UA_Server *server, const UA_ReadValueId *id, UA_DataValue
         printf("%i", id->attributeId);
         UA_assert(UA_FALSE);
     }
+    if(retval == UA_STATUSCODE_GOOD) {
+    	v->hasServerTimestamp = UA_TRUE;
+    	v->serverTimestamp = UA_DateTime_now();
+    }
     if(retval != UA_STATUSCODE_GOOD) {
         v->hasStatus = UA_TRUE;
         v->status = UA_STATUSCODE_BADNOTREADABLE;