Browse Source

don't treat localizedtext as a structured type

Julius Pfrommer 10 years ago
parent
commit
93a41bc13e
2 changed files with 9 additions and 11 deletions
  1. 9 0
      src/ua_types.c
  2. 0 11
      tools/generate_datatypes.py

+ 9 - 0
src/ua_types.c

@@ -771,6 +771,9 @@ void UA_init(void *p, const UA_DataType *dataType) {
         case UA_TYPES_EXPANDEDNODEID:
             UA_ExpandedNodeId_init((UA_ExpandedNodeId*)ptr);
             break;
+        case UA_TYPES_LOCALIZEDTEXT:
+            UA_LocalizedText_init((UA_LocalizedText*)ptr);
+            break;
         case UA_TYPES_EXTENSIONOBJECT:
             UA_ExtensionObject_init((UA_ExtensionObject*)ptr);
             break;
@@ -880,6 +883,9 @@ UA_StatusCode UA_copy(const void *src, void *dst, const UA_DataType *dataType) {
         case UA_TYPES_EXPANDEDNODEID:
             retval |= UA_ExpandedNodeId_copy((const UA_ExpandedNodeId*)ptrs, (UA_ExpandedNodeId*)ptrd);
             break;
+        case UA_TYPES_LOCALIZEDTEXT:
+            retval |= UA_LocalizedText_copy((const UA_LocalizedText*)ptrs, (UA_LocalizedText*)ptrd);
+            break;
         case UA_TYPES_EXTENSIONOBJECT:
             retval |= UA_ExtensionObject_copy((const UA_ExtensionObject*)ptrs, (UA_ExtensionObject*)ptrd);
             break;
@@ -957,6 +963,9 @@ void UA_deleteMembers(void *p, const UA_DataType *dataType) {
         case UA_TYPES_EXPANDEDNODEID:
             UA_ExpandedNodeId_deleteMembers((UA_ExpandedNodeId*)ptr);
             break;
+        case UA_TYPES_LOCALIZEDTEXT:
+            UA_LocalizedText_deleteMembers((UA_LocalizedText*)ptr);
+            break;
         case UA_TYPES_EXTENSIONOBJECT:
             UA_ExtensionObject_deleteMembers((UA_ExtensionObject*)ptr);
             break;

+ 0 - 11
tools/generate_datatypes.py

@@ -125,17 +125,6 @@ class BuiltinType(object):
                 "\n\t{.memberTypeIndex = UA_TYPES_STRING, .namespaceZero = UA_TRUE, " + \
                 ".padding = offsetof(UA_QualifiedName, name) - sizeof(UA_UInt16), .isArray = UA_FALSE }},\n" + \
                 ".typeIndex = UA_TYPES_QUALIFIEDNAME }"
-
-        if self.name == "UA_LocalizedText":
-            return "{.typeId = " + typeid + \
-                ".memSize = sizeof(UA_LocalizedText), " + \
-                ".namespaceZero = UA_TRUE, .fixedSize = UA_FALSE, .zeroCopyable = UA_FALSE, " + \
-                ".membersSize = 2, .members = {" + \
-                "\n\t{.memberTypeIndex = UA_TYPES_STRING, .namespaceZero = UA_TRUE, " + \
-                ".padding = 0, .isArray = UA_FALSE }," + \
-                "\n\t{.memberTypeIndex = UA_TYPES_STRING, .namespaceZero = UA_TRUE, " + \
-                ".padding = offsetof(UA_LocalizedText, text) - sizeof(UA_String), .isArray = UA_FALSE }},\n" + \
-                ".typeIndex = UA_TYPES_LOCALIZEDTEXT }"
                 
         return "{.typeId = " + typeid + \
             ".memSize = sizeof(" + self.name + "), " + \