Go to the documentation of this file.00001
00002
00003
00004
00005
00006 #include "standard_address_space_parts.h"
00007 #include <opc/ua/protocol/string_utils.h>
00008 #include <opc/common/addons_core/addon.h>
00009 #include <opc/ua/protocol/strings.h>
00010 #include <opc/ua/protocol/variable_access_level.h>
00011 #include <opc/ua/services/node_management.h>
00012
00013 #include <algorithm>
00014 #include <iostream>
00015 #include <map>
00016
00017 namespace OpcUa
00018 {
00019 void CreateAddressSpacePart3(OpcUa::NodeManagementServices& registry)
00020 {
00021
00022 {
00023 AddNodesItem node;
00024 node.RequestedNewNodeId = ToNodeId("i=3062");
00025 node.BrowseName = ToQualifiedName("Default Binary");
00026 node.Class = NodeClass::Object;
00027 node.TypeDefinition = ToNodeId("i=58");
00028 ObjectAttributes attrs;
00029 attrs.Description = LocalizedText("The default binary encoding for a data type.");
00030 attrs.DisplayName = LocalizedText("Default Binary");
00031 attrs.EventNotifier = 0;
00032 node.Attributes = attrs;
00033 registry.AddNodes(std::vector<AddNodesItem>{node});
00034 }
00035
00036 {
00037 AddNodesItem node;
00038 node.RequestedNewNodeId = ToNodeId("i=3063");
00039 node.BrowseName = ToQualifiedName("Default XML");
00040 node.Class = NodeClass::Object;
00041 node.TypeDefinition = ToNodeId("i=58");
00042 ObjectAttributes attrs;
00043 attrs.Description = LocalizedText("The default XML encoding for a data type.");
00044 attrs.DisplayName = LocalizedText("Default XML");
00045 attrs.EventNotifier = 0;
00046 node.Attributes = attrs;
00047 registry.AddNodes(std::vector<AddNodesItem>{node});
00048 }
00049
00050 {
00051 AddNodesItem node;
00052 node.RequestedNewNodeId = ToNodeId("i=24");
00053 node.BrowseName = ToQualifiedName("BaseDataType");
00054 node.Class = NodeClass::DataType;
00055 DataTypeAttributes attrs;
00056 attrs.Description = LocalizedText("Describes a value that can have any valid DataType.");
00057 attrs.DisplayName = LocalizedText("BaseDataType");
00058 attrs.IsAbstract = true;
00059 node.Attributes = attrs;
00060 registry.AddNodes(std::vector<AddNodesItem>{node});
00061 }
00062
00063 {
00064 AddNodesItem node;
00065 node.RequestedNewNodeId = ToNodeId("i=26");
00066 node.BrowseName = ToQualifiedName("Number");
00067 node.Class = NodeClass::DataType;
00068 node.ParentNodeId = ToNodeId("i=24");
00069 node.ReferenceTypeId = ReferenceId::HasSubtype;
00070 DataTypeAttributes attrs;
00071 attrs.Description = LocalizedText("Describes a value that can have any numeric DataType.");
00072 attrs.DisplayName = LocalizedText("Number");
00073 attrs.IsAbstract = true;
00074 node.Attributes = attrs;
00075 registry.AddNodes(std::vector<AddNodesItem>{node});
00076 }
00077
00078 {
00079 AddNodesItem node;
00080 node.RequestedNewNodeId = ToNodeId("i=27");
00081 node.BrowseName = ToQualifiedName("Integer");
00082 node.Class = NodeClass::DataType;
00083 node.ParentNodeId = ToNodeId("i=26");
00084 node.ReferenceTypeId = ReferenceId::HasSubtype;
00085 DataTypeAttributes attrs;
00086 attrs.Description = LocalizedText("Describes a value that can have any integer DataType.");
00087 attrs.DisplayName = LocalizedText("Integer");
00088 attrs.IsAbstract = true;
00089 node.Attributes = attrs;
00090 registry.AddNodes(std::vector<AddNodesItem>{node});
00091 }
00092
00093 {
00094 AddNodesItem node;
00095 node.RequestedNewNodeId = ToNodeId("i=28");
00096 node.BrowseName = ToQualifiedName("UInteger");
00097 node.Class = NodeClass::DataType;
00098 node.ParentNodeId = ToNodeId("i=27");
00099 node.ReferenceTypeId = ReferenceId::HasSubtype;
00100 DataTypeAttributes attrs;
00101 attrs.Description = LocalizedText("Describes a value that can have any unsigned integer DataType.");
00102 attrs.DisplayName = LocalizedText("UInteger");
00103 attrs.IsAbstract = true;
00104 node.Attributes = attrs;
00105 registry.AddNodes(std::vector<AddNodesItem>{node});
00106 }
00107
00108 {
00109 AddNodesItem node;
00110 node.RequestedNewNodeId = ToNodeId("i=29");
00111 node.BrowseName = ToQualifiedName("Enumeration");
00112 node.Class = NodeClass::DataType;
00113 node.ParentNodeId = ToNodeId("i=24");
00114 node.ReferenceTypeId = ReferenceId::HasSubtype;
00115 DataTypeAttributes attrs;
00116 attrs.Description = LocalizedText("Describes a value that is an enumerated DataType.");
00117 attrs.DisplayName = LocalizedText("Enumeration");
00118 attrs.IsAbstract = true;
00119 node.Attributes = attrs;
00120 registry.AddNodes(std::vector<AddNodesItem>{node});
00121 }
00122
00123 {
00124 AddNodesItem node;
00125 node.RequestedNewNodeId = ToNodeId("i=1");
00126 node.BrowseName = ToQualifiedName("Boolean");
00127 node.Class = NodeClass::DataType;
00128 node.ParentNodeId = ToNodeId("i=24");
00129 node.ReferenceTypeId = ReferenceId::HasSubtype;
00130 DataTypeAttributes attrs;
00131 attrs.Description = LocalizedText("Describes a value that is either TRUE or FALSE.");
00132 attrs.DisplayName = LocalizedText("Boolean");
00133 attrs.IsAbstract = false;
00134 node.Attributes = attrs;
00135 registry.AddNodes(std::vector<AddNodesItem>{node});
00136 }
00137
00138 {
00139 AddNodesItem node;
00140 node.RequestedNewNodeId = ToNodeId("i=2");
00141 node.BrowseName = ToQualifiedName("SByte");
00142 node.Class = NodeClass::DataType;
00143 node.ParentNodeId = ToNodeId("i=27");
00144 node.ReferenceTypeId = ReferenceId::HasSubtype;
00145 DataTypeAttributes attrs;
00146 attrs.Description = LocalizedText("Describes a value that is an integer between -128 and 127.");
00147 attrs.DisplayName = LocalizedText("SByte");
00148 attrs.IsAbstract = false;
00149 node.Attributes = attrs;
00150 registry.AddNodes(std::vector<AddNodesItem>{node});
00151 }
00152
00153 {
00154 AddNodesItem node;
00155 node.RequestedNewNodeId = ToNodeId("i=3");
00156 node.BrowseName = ToQualifiedName("Byte");
00157 node.Class = NodeClass::DataType;
00158 node.ParentNodeId = ToNodeId("i=28");
00159 node.ReferenceTypeId = ReferenceId::HasSubtype;
00160 DataTypeAttributes attrs;
00161 attrs.Description = LocalizedText("Describes a value that is an integer between 0 and 255.");
00162 attrs.DisplayName = LocalizedText("Byte");
00163 attrs.IsAbstract = false;
00164 node.Attributes = attrs;
00165 registry.AddNodes(std::vector<AddNodesItem>{node});
00166 }
00167
00168 {
00169 AddNodesItem node;
00170 node.RequestedNewNodeId = ToNodeId("i=4");
00171 node.BrowseName = ToQualifiedName("Int16");
00172 node.Class = NodeClass::DataType;
00173 node.ParentNodeId = ToNodeId("i=27");
00174 node.ReferenceTypeId = ReferenceId::HasSubtype;
00175 DataTypeAttributes attrs;
00176 attrs.Description = LocalizedText("Describes a value that is an integer between ?32,768 and 32,767.");
00177 attrs.DisplayName = LocalizedText("Int16");
00178 attrs.IsAbstract = false;
00179 node.Attributes = attrs;
00180 registry.AddNodes(std::vector<AddNodesItem>{node});
00181 }
00182
00183 {
00184 AddNodesItem node;
00185 node.RequestedNewNodeId = ToNodeId("i=5");
00186 node.BrowseName = ToQualifiedName("UInt16");
00187 node.Class = NodeClass::DataType;
00188 node.ParentNodeId = ToNodeId("i=28");
00189 node.ReferenceTypeId = ReferenceId::HasSubtype;
00190 DataTypeAttributes attrs;
00191 attrs.Description = LocalizedText("Describes a value that is an integer between 0 and 65535.");
00192 attrs.DisplayName = LocalizedText("UInt16");
00193 attrs.IsAbstract = false;
00194 node.Attributes = attrs;
00195 registry.AddNodes(std::vector<AddNodesItem>{node});
00196 }
00197
00198 {
00199 AddNodesItem node;
00200 node.RequestedNewNodeId = ToNodeId("i=6");
00201 node.BrowseName = ToQualifiedName("Int32");
00202 node.Class = NodeClass::DataType;
00203 node.ParentNodeId = ToNodeId("i=27");
00204 node.ReferenceTypeId = ReferenceId::HasSubtype;
00205 DataTypeAttributes attrs;
00206 attrs.Description = LocalizedText("Describes a value that is an integer between ?2,147,483,648 and 2,147,483,647.");
00207 attrs.DisplayName = LocalizedText("Int32");
00208 attrs.IsAbstract = false;
00209 node.Attributes = attrs;
00210 registry.AddNodes(std::vector<AddNodesItem>{node});
00211 }
00212
00213 {
00214 AddNodesItem node;
00215 node.RequestedNewNodeId = ToNodeId("i=7");
00216 node.BrowseName = ToQualifiedName("UInt32");
00217 node.Class = NodeClass::DataType;
00218 node.ParentNodeId = ToNodeId("i=28");
00219 node.ReferenceTypeId = ReferenceId::HasSubtype;
00220 DataTypeAttributes attrs;
00221 attrs.Description = LocalizedText("Describes a value that is an integer between 0 and 4,294,967,295.");
00222 attrs.DisplayName = LocalizedText("UInt32");
00223 attrs.IsAbstract = false;
00224 node.Attributes = attrs;
00225 registry.AddNodes(std::vector<AddNodesItem>{node});
00226 }
00227
00228 {
00229 AddNodesItem node;
00230 node.RequestedNewNodeId = ToNodeId("i=8");
00231 node.BrowseName = ToQualifiedName("Int64");
00232 node.Class = NodeClass::DataType;
00233 node.ParentNodeId = ToNodeId("i=27");
00234 node.ReferenceTypeId = ReferenceId::HasSubtype;
00235 DataTypeAttributes attrs;
00236 attrs.Description = LocalizedText("Describes a value that is an integer between ?9,223,372,036,854,775,808 and 9,223,372,036,854,775,807.");
00237 attrs.DisplayName = LocalizedText("Int64");
00238 attrs.IsAbstract = false;
00239 node.Attributes = attrs;
00240 registry.AddNodes(std::vector<AddNodesItem>{node});
00241 }
00242
00243 {
00244 AddNodesItem node;
00245 node.RequestedNewNodeId = ToNodeId("i=9");
00246 node.BrowseName = ToQualifiedName("UInt64");
00247 node.Class = NodeClass::DataType;
00248 node.ParentNodeId = ToNodeId("i=28");
00249 node.ReferenceTypeId = ReferenceId::HasSubtype;
00250 DataTypeAttributes attrs;
00251 attrs.Description = LocalizedText("Describes a value that is an integer between 0 and 18,446,744,073,709,551,615.");
00252 attrs.DisplayName = LocalizedText("UInt64");
00253 attrs.IsAbstract = false;
00254 node.Attributes = attrs;
00255 registry.AddNodes(std::vector<AddNodesItem>{node});
00256 }
00257
00258 {
00259 AddNodesItem node;
00260 node.RequestedNewNodeId = ToNodeId("i=10");
00261 node.BrowseName = ToQualifiedName("Float");
00262 node.Class = NodeClass::DataType;
00263 node.ParentNodeId = ToNodeId("i=26");
00264 node.ReferenceTypeId = ReferenceId::HasSubtype;
00265 DataTypeAttributes attrs;
00266 attrs.Description = LocalizedText("Describes a value that is an IEEE 754-1985 single precision floating point number.");
00267 attrs.DisplayName = LocalizedText("Float");
00268 attrs.IsAbstract = false;
00269 node.Attributes = attrs;
00270 registry.AddNodes(std::vector<AddNodesItem>{node});
00271 }
00272
00273 {
00274 AddNodesItem node;
00275 node.RequestedNewNodeId = ToNodeId("i=11");
00276 node.BrowseName = ToQualifiedName("Double");
00277 node.Class = NodeClass::DataType;
00278 node.ParentNodeId = ToNodeId("i=26");
00279 node.ReferenceTypeId = ReferenceId::HasSubtype;
00280 DataTypeAttributes attrs;
00281 attrs.Description = LocalizedText("Describes a value that is an IEEE 754-1985 double precision floating point number.");
00282 attrs.DisplayName = LocalizedText("Double");
00283 attrs.IsAbstract = false;
00284 node.Attributes = attrs;
00285 registry.AddNodes(std::vector<AddNodesItem>{node});
00286 }
00287
00288 {
00289 AddNodesItem node;
00290 node.RequestedNewNodeId = ToNodeId("i=12");
00291 node.BrowseName = ToQualifiedName("String");
00292 node.Class = NodeClass::DataType;
00293 node.ParentNodeId = ToNodeId("i=24");
00294 node.ReferenceTypeId = ReferenceId::HasSubtype;
00295 DataTypeAttributes attrs;
00296 attrs.Description = LocalizedText("Describes a value that is a sequence of printable Unicode characters.");
00297 attrs.DisplayName = LocalizedText("String");
00298 attrs.IsAbstract = false;
00299 node.Attributes = attrs;
00300 registry.AddNodes(std::vector<AddNodesItem>{node});
00301 }
00302
00303 {
00304 AddNodesItem node;
00305 node.RequestedNewNodeId = ToNodeId("i=13");
00306 node.BrowseName = ToQualifiedName("DateTime");
00307 node.Class = NodeClass::DataType;
00308 node.ParentNodeId = ToNodeId("i=24");
00309 node.ReferenceTypeId = ReferenceId::HasSubtype;
00310 DataTypeAttributes attrs;
00311 attrs.Description = LocalizedText("Describes a value that is a Gregorian calender date and time.");
00312 attrs.DisplayName = LocalizedText("DateTime");
00313 attrs.IsAbstract = false;
00314 node.Attributes = attrs;
00315 registry.AddNodes(std::vector<AddNodesItem>{node});
00316 }
00317
00318 {
00319 AddNodesItem node;
00320 node.RequestedNewNodeId = ToNodeId("i=14");
00321 node.BrowseName = ToQualifiedName("Guid");
00322 node.Class = NodeClass::DataType;
00323 node.ParentNodeId = ToNodeId("i=24");
00324 node.ReferenceTypeId = ReferenceId::HasSubtype;
00325 DataTypeAttributes attrs;
00326 attrs.Description = LocalizedText("Describes a value that is a 128-bit globally unique identifier.");
00327 attrs.DisplayName = LocalizedText("Guid");
00328 attrs.IsAbstract = false;
00329 node.Attributes = attrs;
00330 registry.AddNodes(std::vector<AddNodesItem>{node});
00331 }
00332
00333 {
00334 AddNodesItem node;
00335 node.RequestedNewNodeId = ToNodeId("i=15");
00336 node.BrowseName = ToQualifiedName("ByteString");
00337 node.Class = NodeClass::DataType;
00338 node.ParentNodeId = ToNodeId("i=24");
00339 node.ReferenceTypeId = ReferenceId::HasSubtype;
00340 DataTypeAttributes attrs;
00341 attrs.Description = LocalizedText("Describes a value that is a sequence of bytes.");
00342 attrs.DisplayName = LocalizedText("ByteString");
00343 attrs.IsAbstract = false;
00344 node.Attributes = attrs;
00345 registry.AddNodes(std::vector<AddNodesItem>{node});
00346 }
00347
00348 {
00349 AddNodesItem node;
00350 node.RequestedNewNodeId = ToNodeId("i=16");
00351 node.BrowseName = ToQualifiedName("XmlElement");
00352 node.Class = NodeClass::DataType;
00353 node.ParentNodeId = ToNodeId("i=24");
00354 node.ReferenceTypeId = ReferenceId::HasSubtype;
00355 DataTypeAttributes attrs;
00356 attrs.Description = LocalizedText("Describes a value that is an XML element.");
00357 attrs.DisplayName = LocalizedText("XmlElement");
00358 attrs.IsAbstract = false;
00359 node.Attributes = attrs;
00360 registry.AddNodes(std::vector<AddNodesItem>{node});
00361 }
00362
00363 {
00364 AddNodesItem node;
00365 node.RequestedNewNodeId = ToNodeId("i=17");
00366 node.BrowseName = ToQualifiedName("NodeId");
00367 node.Class = NodeClass::DataType;
00368 node.ParentNodeId = ToNodeId("i=24");
00369 node.ReferenceTypeId = ReferenceId::HasSubtype;
00370 DataTypeAttributes attrs;
00371 attrs.Description = LocalizedText("Describes a value that is an identifier for a node within a Server address space.");
00372 attrs.DisplayName = LocalizedText("NodeId");
00373 attrs.IsAbstract = false;
00374 node.Attributes = attrs;
00375 registry.AddNodes(std::vector<AddNodesItem>{node});
00376 }
00377
00378 {
00379 AddNodesItem node;
00380 node.RequestedNewNodeId = ToNodeId("i=20");
00381 node.BrowseName = ToQualifiedName("QualifiedName");
00382 node.Class = NodeClass::DataType;
00383 node.ParentNodeId = ToNodeId("i=24");
00384 node.ReferenceTypeId = ReferenceId::HasSubtype;
00385 DataTypeAttributes attrs;
00386 attrs.Description = LocalizedText("Describes a value that is a name qualified by a namespace.");
00387 attrs.DisplayName = LocalizedText("QualifiedName");
00388 attrs.IsAbstract = false;
00389 node.Attributes = attrs;
00390 registry.AddNodes(std::vector<AddNodesItem>{node});
00391 }
00392
00393 {
00394 AddNodesItem node;
00395 node.RequestedNewNodeId = ToNodeId("i=21");
00396 node.BrowseName = ToQualifiedName("LocalizedText");
00397 node.Class = NodeClass::DataType;
00398 node.ParentNodeId = ToNodeId("i=24");
00399 node.ReferenceTypeId = ReferenceId::HasSubtype;
00400 DataTypeAttributes attrs;
00401 attrs.Description = LocalizedText("Describes a value that is human readable Unicode text with a locale identifier.");
00402 attrs.DisplayName = LocalizedText("LocalizedText");
00403 attrs.IsAbstract = false;
00404 node.Attributes = attrs;
00405 registry.AddNodes(std::vector<AddNodesItem>{node});
00406 }
00407
00408 {
00409 AddNodesItem node;
00410 node.RequestedNewNodeId = ToNodeId("i=22");
00411 node.BrowseName = ToQualifiedName("Structure");
00412 node.Class = NodeClass::DataType;
00413 node.ParentNodeId = ToNodeId("i=24");
00414 node.ReferenceTypeId = ReferenceId::HasSubtype;
00415 DataTypeAttributes attrs;
00416 attrs.Description = LocalizedText("Describes a value that is any type of structure that can be described with a data encoding.");
00417 attrs.DisplayName = LocalizedText("Structure");
00418 attrs.IsAbstract = true;
00419 node.Attributes = attrs;
00420 registry.AddNodes(std::vector<AddNodesItem>{node});
00421 }
00422
00423 {
00424 AddNodesItem node;
00425 node.RequestedNewNodeId = ToNodeId("i=30");
00426 node.BrowseName = ToQualifiedName("Image");
00427 node.Class = NodeClass::DataType;
00428 node.ParentNodeId = ToNodeId("i=15");
00429 node.ReferenceTypeId = ReferenceId::HasSubtype;
00430 DataTypeAttributes attrs;
00431 attrs.Description = LocalizedText("Describes a value that is an image encoded as a string of bytes.");
00432 attrs.DisplayName = LocalizedText("Image");
00433 attrs.IsAbstract = false;
00434 node.Attributes = attrs;
00435 registry.AddNodes(std::vector<AddNodesItem>{node});
00436 }
00437
00438 {
00439 AddNodesItem node;
00440 node.RequestedNewNodeId = ToNodeId("i=31");
00441 node.BrowseName = ToQualifiedName("References");
00442 node.Class = NodeClass::ReferenceType;
00443 ReferenceTypeAttributes attrs;
00444 attrs.Description = LocalizedText("The abstract base type for all references.");
00445 attrs.DisplayName = LocalizedText("References");
00446 attrs.InverseName = LocalizedText("References");
00447 attrs.IsAbstract = true;
00448 attrs.Symmetric = true;
00449 node.Attributes = attrs;
00450 registry.AddNodes(std::vector<AddNodesItem>{node});
00451 }
00452
00453 {
00454 AddNodesItem node;
00455 node.RequestedNewNodeId = ToNodeId("i=32");
00456 node.BrowseName = ToQualifiedName("NonHierarchicalReferences");
00457 node.Class = NodeClass::ReferenceType;
00458 node.ParentNodeId = ToNodeId("i=31");
00459 node.ReferenceTypeId = ReferenceId::HasSubtype;
00460 ReferenceTypeAttributes attrs;
00461 attrs.Description = LocalizedText("The abstract base type for all non-hierarchical references.");
00462 attrs.DisplayName = LocalizedText("NonHierarchicalReferences");
00463 attrs.InverseName = LocalizedText("NonHierarchicalReferences");
00464 attrs.IsAbstract = true;
00465 attrs.Symmetric = false;
00466 node.Attributes = attrs;
00467 registry.AddNodes(std::vector<AddNodesItem>{node});
00468 }
00469
00470 {
00471 AddNodesItem node;
00472 node.RequestedNewNodeId = ToNodeId("i=33");
00473 node.BrowseName = ToQualifiedName("HierarchicalReferences");
00474 node.Class = NodeClass::ReferenceType;
00475 node.ParentNodeId = ToNodeId("i=31");
00476 node.ReferenceTypeId = ReferenceId::HasSubtype;
00477 ReferenceTypeAttributes attrs;
00478 attrs.Description = LocalizedText("The abstract base type for all hierarchical references.");
00479 attrs.DisplayName = LocalizedText("HierarchicalReferences");
00480 attrs.InverseName = LocalizedText("HierarchicalReferences");
00481 attrs.IsAbstract = true;
00482 attrs.Symmetric = false;
00483 node.Attributes = attrs;
00484 registry.AddNodes(std::vector<AddNodesItem>{node});
00485 }
00486
00487 {
00488 AddNodesItem node;
00489 node.RequestedNewNodeId = ToNodeId("i=34");
00490 node.BrowseName = ToQualifiedName("HasChild");
00491 node.Class = NodeClass::ReferenceType;
00492 node.ParentNodeId = ToNodeId("i=33");
00493 node.ReferenceTypeId = ReferenceId::HasSubtype;
00494 ReferenceTypeAttributes attrs;
00495 attrs.Description = LocalizedText("The abstract base type for all non-looping hierarchical references.");
00496 attrs.DisplayName = LocalizedText("HasChild");
00497 attrs.InverseName = LocalizedText("ChildOf");
00498 attrs.IsAbstract = false;
00499 attrs.Symmetric = false;
00500 node.Attributes = attrs;
00501 registry.AddNodes(std::vector<AddNodesItem>{node});
00502 }
00503
00504 {
00505 AddNodesItem node;
00506 node.RequestedNewNodeId = ToNodeId("i=35");
00507 node.BrowseName = ToQualifiedName("Organizes");
00508 node.Class = NodeClass::ReferenceType;
00509 node.ParentNodeId = ToNodeId("i=33");
00510 node.ReferenceTypeId = ReferenceId::HasSubtype;
00511 ReferenceTypeAttributes attrs;
00512 attrs.Description = LocalizedText("The type for hierarchical references that are used to organize nodes.");
00513 attrs.DisplayName = LocalizedText("Organizes");
00514 attrs.InverseName = LocalizedText("OrganizedBy");
00515 attrs.IsAbstract = false;
00516 attrs.Symmetric = false;
00517 node.Attributes = attrs;
00518 registry.AddNodes(std::vector<AddNodesItem>{node});
00519 }
00520
00521 {
00522 AddNodesItem node;
00523 node.RequestedNewNodeId = ToNodeId("i=36");
00524 node.BrowseName = ToQualifiedName("HasEventSource");
00525 node.Class = NodeClass::ReferenceType;
00526 node.ParentNodeId = ToNodeId("i=33");
00527 node.ReferenceTypeId = ReferenceId::HasSubtype;
00528 ReferenceTypeAttributes attrs;
00529 attrs.Description = LocalizedText("The type for non-looping hierarchical references that are used to organize event sources.");
00530 attrs.DisplayName = LocalizedText("HasEventSource");
00531 attrs.InverseName = LocalizedText("EventSourceOf");
00532 attrs.IsAbstract = false;
00533 attrs.Symmetric = false;
00534 node.Attributes = attrs;
00535 registry.AddNodes(std::vector<AddNodesItem>{node});
00536 }
00537
00538 {
00539 AddNodesItem node;
00540 node.RequestedNewNodeId = ToNodeId("i=37");
00541 node.BrowseName = ToQualifiedName("HasModellingRule");
00542 node.Class = NodeClass::ReferenceType;
00543 node.ParentNodeId = ToNodeId("i=32");
00544 node.ReferenceTypeId = ReferenceId::HasSubtype;
00545 ReferenceTypeAttributes attrs;
00546 attrs.Description = LocalizedText("The type for references from instance declarations to modelling rule nodes.");
00547 attrs.DisplayName = LocalizedText("HasModellingRule");
00548 attrs.InverseName = LocalizedText("ModellingRuleOf");
00549 attrs.IsAbstract = false;
00550 attrs.Symmetric = false;
00551 node.Attributes = attrs;
00552 registry.AddNodes(std::vector<AddNodesItem>{node});
00553 }
00554
00555 {
00556 AddNodesItem node;
00557 node.RequestedNewNodeId = ToNodeId("i=38");
00558 node.BrowseName = ToQualifiedName("HasEncoding");
00559 node.Class = NodeClass::ReferenceType;
00560 node.ParentNodeId = ToNodeId("i=32");
00561 node.ReferenceTypeId = ReferenceId::HasSubtype;
00562 ReferenceTypeAttributes attrs;
00563 attrs.Description = LocalizedText("The type for references from data type nodes to to data type encoding nodes.");
00564 attrs.DisplayName = LocalizedText("HasEncoding");
00565 attrs.InverseName = LocalizedText("EncodingOf");
00566 attrs.IsAbstract = false;
00567 attrs.Symmetric = false;
00568 node.Attributes = attrs;
00569 registry.AddNodes(std::vector<AddNodesItem>{node});
00570 }
00571
00572 {
00573 AddNodesItem node;
00574 node.RequestedNewNodeId = ToNodeId("i=39");
00575 node.BrowseName = ToQualifiedName("HasDescription");
00576 node.Class = NodeClass::ReferenceType;
00577 node.ParentNodeId = ToNodeId("i=32");
00578 node.ReferenceTypeId = ReferenceId::HasSubtype;
00579 ReferenceTypeAttributes attrs;
00580 attrs.Description = LocalizedText("The type for references from data type encoding nodes to data type description nodes.");
00581 attrs.DisplayName = LocalizedText("HasDescription");
00582 attrs.InverseName = LocalizedText("DescriptionOf");
00583 attrs.IsAbstract = false;
00584 attrs.Symmetric = false;
00585 node.Attributes = attrs;
00586 registry.AddNodes(std::vector<AddNodesItem>{node});
00587 }
00588
00589 {
00590 AddNodesItem node;
00591 node.RequestedNewNodeId = ToNodeId("i=40");
00592 node.BrowseName = ToQualifiedName("HasTypeDefinition");
00593 node.Class = NodeClass::ReferenceType;
00594 node.ParentNodeId = ToNodeId("i=32");
00595 node.ReferenceTypeId = ReferenceId::HasSubtype;
00596 ReferenceTypeAttributes attrs;
00597 attrs.Description = LocalizedText("The type for references from a instance node its type defintion node.");
00598 attrs.DisplayName = LocalizedText("HasTypeDefinition");
00599 attrs.InverseName = LocalizedText("TypeDefinitionOf");
00600 attrs.IsAbstract = false;
00601 attrs.Symmetric = false;
00602 node.Attributes = attrs;
00603 registry.AddNodes(std::vector<AddNodesItem>{node});
00604 }
00605
00606 {
00607 AddNodesItem node;
00608 node.RequestedNewNodeId = ToNodeId("i=41");
00609 node.BrowseName = ToQualifiedName("GeneratesEvent");
00610 node.Class = NodeClass::ReferenceType;
00611 node.ParentNodeId = ToNodeId("i=32");
00612 node.ReferenceTypeId = ReferenceId::HasSubtype;
00613 ReferenceTypeAttributes attrs;
00614 attrs.Description = LocalizedText("The type for references from a node to an event type that is raised by node.");
00615 attrs.DisplayName = LocalizedText("GeneratesEvent");
00616 attrs.InverseName = LocalizedText("GeneratesEvent");
00617 attrs.IsAbstract = false;
00618 attrs.Symmetric = false;
00619 node.Attributes = attrs;
00620 registry.AddNodes(std::vector<AddNodesItem>{node});
00621 }
00622
00623 {
00624 AddNodesItem node;
00625 node.RequestedNewNodeId = ToNodeId("i=3065");
00626 node.BrowseName = ToQualifiedName("AlwaysGeneratesEvent");
00627 node.Class = NodeClass::ReferenceType;
00628 node.ParentNodeId = ToNodeId("i=32");
00629 node.ReferenceTypeId = ReferenceId::HasSubtype;
00630 ReferenceTypeAttributes attrs;
00631 attrs.Description = LocalizedText("The type for references from a node to an event type that is always raised by node.");
00632 attrs.DisplayName = LocalizedText("AlwaysGeneratesEvent");
00633 attrs.InverseName = LocalizedText("AlwaysGeneratesEvent");
00634 attrs.IsAbstract = false;
00635 attrs.Symmetric = false;
00636 node.Attributes = attrs;
00637 registry.AddNodes(std::vector<AddNodesItem>{node});
00638 }
00639
00640 {
00641 AddNodesItem node;
00642 node.RequestedNewNodeId = ToNodeId("i=44");
00643 node.BrowseName = ToQualifiedName("Aggregates");
00644 node.Class = NodeClass::ReferenceType;
00645 node.ParentNodeId = ToNodeId("i=34");
00646 node.ReferenceTypeId = ReferenceId::HasSubtype;
00647 ReferenceTypeAttributes attrs;
00648 attrs.Description = LocalizedText("The type for non-looping hierarchical references that are used to aggregate nodes into complex types.");
00649 attrs.DisplayName = LocalizedText("Aggregates");
00650 attrs.InverseName = LocalizedText("AggregatedBy");
00651 attrs.IsAbstract = false;
00652 attrs.Symmetric = false;
00653 node.Attributes = attrs;
00654 registry.AddNodes(std::vector<AddNodesItem>{node});
00655 }
00656
00657 {
00658 AddNodesItem node;
00659 node.RequestedNewNodeId = ToNodeId("i=45");
00660 node.BrowseName = ToQualifiedName("HasSubtype");
00661 node.Class = NodeClass::ReferenceType;
00662 node.ParentNodeId = ToNodeId("i=34");
00663 node.ReferenceTypeId = ReferenceId::HasSubtype;
00664 ReferenceTypeAttributes attrs;
00665 attrs.Description = LocalizedText("The type for non-looping hierarchical references that are used to define sub types.");
00666 attrs.DisplayName = LocalizedText("HasSubtype");
00667 attrs.InverseName = LocalizedText("HasSupertype");
00668 attrs.IsAbstract = false;
00669 attrs.Symmetric = false;
00670 node.Attributes = attrs;
00671 registry.AddNodes(std::vector<AddNodesItem>{node});
00672 }
00673
00674 {
00675 AddNodesItem node;
00676 node.RequestedNewNodeId = ToNodeId("i=46");
00677 node.BrowseName = ToQualifiedName("HasProperty");
00678 node.Class = NodeClass::ReferenceType;
00679 node.ParentNodeId = ToNodeId("i=44");
00680 node.ReferenceTypeId = ReferenceId::HasSubtype;
00681 ReferenceTypeAttributes attrs;
00682 attrs.Description = LocalizedText("The type for non-looping hierarchical reference from a node to its property.");
00683 attrs.DisplayName = LocalizedText("HasProperty");
00684 attrs.InverseName = LocalizedText("PropertyOf");
00685 attrs.IsAbstract = false;
00686 attrs.Symmetric = false;
00687 node.Attributes = attrs;
00688 registry.AddNodes(std::vector<AddNodesItem>{node});
00689 }
00690
00691 {
00692 AddNodesItem node;
00693 node.RequestedNewNodeId = ToNodeId("i=47");
00694 node.BrowseName = ToQualifiedName("HasComponent");
00695 node.Class = NodeClass::ReferenceType;
00696 node.ParentNodeId = ToNodeId("i=44");
00697 node.ReferenceTypeId = ReferenceId::HasSubtype;
00698 ReferenceTypeAttributes attrs;
00699 attrs.Description = LocalizedText("The type for non-looping hierarchical reference from a node to its component.");
00700 attrs.DisplayName = LocalizedText("HasComponent");
00701 attrs.InverseName = LocalizedText("ComponentOf");
00702 attrs.IsAbstract = false;
00703 attrs.Symmetric = false;
00704 node.Attributes = attrs;
00705 registry.AddNodes(std::vector<AddNodesItem>{node});
00706 }
00707
00708 {
00709 AddNodesItem node;
00710 node.RequestedNewNodeId = ToNodeId("i=48");
00711 node.BrowseName = ToQualifiedName("HasNotifier");
00712 node.Class = NodeClass::ReferenceType;
00713 node.ParentNodeId = ToNodeId("i=36");
00714 node.ReferenceTypeId = ReferenceId::HasSubtype;
00715 ReferenceTypeAttributes attrs;
00716 attrs.Description = LocalizedText("The type for non-looping hierarchical references that are used to indicate how events propagate from node to node.");
00717 attrs.DisplayName = LocalizedText("HasNotifier");
00718 attrs.InverseName = LocalizedText("NotifierOf");
00719 attrs.IsAbstract = false;
00720 attrs.Symmetric = false;
00721 node.Attributes = attrs;
00722 registry.AddNodes(std::vector<AddNodesItem>{node});
00723 }
00724
00725 {
00726 AddNodesItem node;
00727 node.RequestedNewNodeId = ToNodeId("i=49");
00728 node.BrowseName = ToQualifiedName("HasOrderedComponent");
00729 node.Class = NodeClass::ReferenceType;
00730 node.ParentNodeId = ToNodeId("i=47");
00731 node.ReferenceTypeId = ReferenceId::HasSubtype;
00732 ReferenceTypeAttributes attrs;
00733 attrs.Description = LocalizedText("The type for non-looping hierarchical reference from a node to its component when the order of references matters.");
00734 attrs.DisplayName = LocalizedText("HasOrderedComponent");
00735 attrs.InverseName = LocalizedText("OrderedComponentOf");
00736 attrs.IsAbstract = false;
00737 attrs.Symmetric = false;
00738 node.Attributes = attrs;
00739 registry.AddNodes(std::vector<AddNodesItem>{node});
00740 }
00741
00742 {
00743 AddNodesItem node;
00744 node.RequestedNewNodeId = ToNodeId("i=120");
00745 node.BrowseName = ToQualifiedName("NamingRuleType");
00746 node.Class = NodeClass::DataType;
00747 node.ParentNodeId = ToNodeId("i=29");
00748 node.ReferenceTypeId = ReferenceId::HasSubtype;
00749 DataTypeAttributes attrs;
00750 attrs.Description = LocalizedText("Describes a value that specifies the significance of the BrowseName for an instance declaration.");
00751 attrs.DisplayName = LocalizedText("NamingRuleType");
00752 attrs.IsAbstract = false;
00753 node.Attributes = attrs;
00754 registry.AddNodes(std::vector<AddNodesItem>{node});
00755 std::vector<AddReferencesItem> refs;
00756 {
00757 AddReferencesItem ref;
00758 ref.IsForward = true;
00759 ref.ReferenceTypeId = ReferenceId::HasProperty;
00760 ref.SourceNodeId = ToNodeId("i=120");
00761 ref.TargetNodeClass = NodeClass::DataType;
00762 ref.TargetNodeId = ToNodeId("i=12169");
00763 refs.push_back(ref);
00764 }
00765 registry.AddReferences(refs);
00766 }
00767
00768 {
00769 AddNodesItem node;
00770 node.RequestedNewNodeId = ToNodeId("i=12169");
00771 node.BrowseName = ToQualifiedName("EnumValues");
00772 node.Class = NodeClass::Variable;
00773 node.ParentNodeId = ToNodeId("i=120");
00774 node.ReferenceTypeId = ReferenceId::HasProperty;
00775 node.TypeDefinition = ToNodeId("i=68");
00776 VariableAttributes attrs;
00777 attrs.DisplayName = LocalizedText("EnumValues");
00778 attrs.Type = ToNodeId("i=7594");
00779 attrs.Rank = 1;
00780 node.Attributes = attrs;
00781 registry.AddNodes(std::vector<AddNodesItem>{node});
00782 std::vector<AddReferencesItem> refs;
00783 {
00784 AddReferencesItem ref;
00785 ref.IsForward = true;
00786 ref.ReferenceTypeId = ReferenceId::HasModellingRule;
00787 ref.SourceNodeId = ToNodeId("i=12169");
00788 ref.TargetNodeClass = NodeClass::DataType;
00789 ref.TargetNodeId = ToNodeId("i=78");
00790 refs.push_back(ref);
00791 }
00792 registry.AddReferences(refs);
00793 }
00794
00795 {
00796 AddNodesItem node;
00797 node.RequestedNewNodeId = ToNodeId("i=3068");
00798 node.BrowseName = ToQualifiedName("NodeVersion");
00799 node.Class = NodeClass::Variable;
00800 node.TypeDefinition = ToNodeId("i=68");
00801 VariableAttributes attrs;
00802 attrs.Description = LocalizedText("The version number of the node (used to indicate changes to references of the owning node).");
00803 attrs.DisplayName = LocalizedText("NodeVersion");
00804 attrs.Type = ObjectId::String;
00805 attrs.Rank = -2;
00806 node.Attributes = attrs;
00807 registry.AddNodes(std::vector<AddNodesItem>{node});
00808 }
00809
00810 {
00811 AddNodesItem node;
00812 node.RequestedNewNodeId = ToNodeId("i=12170");
00813 node.BrowseName = ToQualifiedName("ViewVersion");
00814 node.Class = NodeClass::Variable;
00815 node.TypeDefinition = ToNodeId("i=68");
00816 VariableAttributes attrs;
00817 attrs.Description = LocalizedText("The version number of the view.");
00818 attrs.DisplayName = LocalizedText("ViewVersion");
00819 attrs.Type = ObjectId::UInt32;
00820 attrs.Rank = -2;
00821 node.Attributes = attrs;
00822 registry.AddNodes(std::vector<AddNodesItem>{node});
00823 }
00824
00825 {
00826 AddNodesItem node;
00827 node.RequestedNewNodeId = ToNodeId("i=3067");
00828 node.BrowseName = ToQualifiedName("Icon");
00829 node.Class = NodeClass::Variable;
00830 node.TypeDefinition = ToNodeId("i=68");
00831 VariableAttributes attrs;
00832 attrs.Description = LocalizedText("A small image representing the object.");
00833 attrs.DisplayName = LocalizedText("Icon");
00834 attrs.Type = ToNodeId("i=30");
00835 attrs.Rank = -2;
00836 node.Attributes = attrs;
00837 registry.AddNodes(std::vector<AddNodesItem>{node});
00838 }
00839
00840 {
00841 AddNodesItem node;
00842 node.RequestedNewNodeId = ToNodeId("i=3069");
00843 node.BrowseName = ToQualifiedName("LocalTime");
00844 node.Class = NodeClass::Variable;
00845 node.TypeDefinition = ToNodeId("i=68");
00846 VariableAttributes attrs;
00847 attrs.Description = LocalizedText("The local time where the owning variable value was collected.");
00848 attrs.DisplayName = LocalizedText("LocalTime");
00849 attrs.Type = ToNodeId("i=8912");
00850 attrs.Rank = -2;
00851 node.Attributes = attrs;
00852 registry.AddNodes(std::vector<AddNodesItem>{node});
00853 }
00854
00855 {
00856 AddNodesItem node;
00857 node.RequestedNewNodeId = ToNodeId("i=3070");
00858 node.BrowseName = ToQualifiedName("AllowNulls");
00859 node.Class = NodeClass::Variable;
00860 node.TypeDefinition = ToNodeId("i=68");
00861 VariableAttributes attrs;
00862 attrs.Description = LocalizedText("Whether the value of the owning variable is allowed to be null.");
00863 attrs.DisplayName = LocalizedText("AllowNulls");
00864 attrs.Type = ObjectId::Boolean;
00865 attrs.Rank = -2;
00866 node.Attributes = attrs;
00867 registry.AddNodes(std::vector<AddNodesItem>{node});
00868 }
00869
00870 {
00871 AddNodesItem node;
00872 node.RequestedNewNodeId = ToNodeId("i=11433");
00873 node.BrowseName = ToQualifiedName("ValueAsText");
00874 node.Class = NodeClass::Variable;
00875 node.TypeDefinition = ToNodeId("i=68");
00876 VariableAttributes attrs;
00877 attrs.Description = LocalizedText("The string representation of the current value for a variable with an enumerated data type.");
00878 attrs.DisplayName = LocalizedText("ValueAsText");
00879 attrs.Type = ObjectId::LocalizedText;
00880 attrs.Rank = -2;
00881 node.Attributes = attrs;
00882 registry.AddNodes(std::vector<AddNodesItem>{node});
00883 }
00884
00885 {
00886 AddNodesItem node;
00887 node.RequestedNewNodeId = ToNodeId("i=11498");
00888 node.BrowseName = ToQualifiedName("MaxStringLength");
00889 node.Class = NodeClass::Variable;
00890 node.TypeDefinition = ToNodeId("i=68");
00891 VariableAttributes attrs;
00892 attrs.Description = LocalizedText("The maximum length for a string that can be stored in the owning variable.");
00893 attrs.DisplayName = LocalizedText("MaxStringLength");
00894 attrs.Type = ObjectId::UInt32;
00895 attrs.Rank = -2;
00896 node.Attributes = attrs;
00897 registry.AddNodes(std::vector<AddNodesItem>{node});
00898 }
00899
00900 {
00901 AddNodesItem node;
00902 node.RequestedNewNodeId = ToNodeId("i=11512");
00903 node.BrowseName = ToQualifiedName("MaxArrayLength");
00904 node.Class = NodeClass::Variable;
00905 node.TypeDefinition = ToNodeId("i=68");
00906 VariableAttributes attrs;
00907 attrs.Description = LocalizedText("The maximum length for an array that can be stored in the owning variable.");
00908 attrs.DisplayName = LocalizedText("MaxArrayLength");
00909 attrs.Type = ObjectId::UInt32;
00910 attrs.Rank = -2;
00911 node.Attributes = attrs;
00912 registry.AddNodes(std::vector<AddNodesItem>{node});
00913 }
00914
00915 {
00916 AddNodesItem node;
00917 node.RequestedNewNodeId = ToNodeId("i=11513");
00918 node.BrowseName = ToQualifiedName("EngineeringUnits");
00919 node.Class = NodeClass::Variable;
00920 node.TypeDefinition = ToNodeId("i=68");
00921 VariableAttributes attrs;
00922 attrs.Description = LocalizedText("The engineering units for the value of the owning variable.");
00923 attrs.DisplayName = LocalizedText("EngineeringUnits");
00924 attrs.Type = ToNodeId("i=887");
00925 attrs.Rank = -2;
00926 node.Attributes = attrs;
00927 registry.AddNodes(std::vector<AddNodesItem>{node});
00928 }
00929
00930 {
00931 AddNodesItem node;
00932 node.RequestedNewNodeId = ToNodeId("i=11432");
00933 node.BrowseName = ToQualifiedName("EnumStrings");
00934 node.Class = NodeClass::Variable;
00935 node.TypeDefinition = ToNodeId("i=68");
00936 VariableAttributes attrs;
00937 attrs.Description = LocalizedText("The human readable strings associated with the values of an enumerated value (when values are sequential).");
00938 attrs.DisplayName = LocalizedText("EnumStrings");
00939 attrs.Type = ObjectId::LocalizedText;
00940 attrs.Rank = 1;
00941 node.Attributes = attrs;
00942 registry.AddNodes(std::vector<AddNodesItem>{node});
00943 }
00944
00945 {
00946 AddNodesItem node;
00947 node.RequestedNewNodeId = ToNodeId("i=3071");
00948 node.BrowseName = ToQualifiedName("EnumValues");
00949 node.Class = NodeClass::Variable;
00950 node.TypeDefinition = ToNodeId("i=68");
00951 VariableAttributes attrs;
00952 attrs.Description = LocalizedText("The human readable strings associated with the values of an enumerated value (when values have no sequence).");
00953 attrs.DisplayName = LocalizedText("EnumValues");
00954 attrs.Type = ToNodeId("i=7594");
00955 attrs.Rank = 1;
00956 node.Attributes = attrs;
00957 registry.AddNodes(std::vector<AddNodesItem>{node});
00958 }
00959
00960 {
00961 AddNodesItem node;
00962 node.RequestedNewNodeId = ToNodeId("i=3072");
00963 node.BrowseName = ToQualifiedName("InputArguments");
00964 node.Class = NodeClass::Variable;
00965 node.TypeDefinition = ToNodeId("i=68");
00966 VariableAttributes attrs;
00967 attrs.Description = LocalizedText("The input arguments for a method.");
00968 attrs.DisplayName = LocalizedText("InputArguments");
00969 attrs.Type = ToNodeId("i=296");
00970 attrs.Rank = 1;
00971 node.Attributes = attrs;
00972 registry.AddNodes(std::vector<AddNodesItem>{node});
00973 }
00974
00975 {
00976 AddNodesItem node;
00977 node.RequestedNewNodeId = ToNodeId("i=3073");
00978 node.BrowseName = ToQualifiedName("OutputArguments");
00979 node.Class = NodeClass::Variable;
00980 node.TypeDefinition = ToNodeId("i=68");
00981 VariableAttributes attrs;
00982 attrs.Description = LocalizedText("The output arguments for a method.");
00983 attrs.DisplayName = LocalizedText("OutputArguments");
00984 attrs.Type = ToNodeId("i=296");
00985 attrs.Rank = 1;
00986 node.Attributes = attrs;
00987 registry.AddNodes(std::vector<AddNodesItem>{node});
00988 }
00989
00990 {
00991 AddNodesItem node;
00992 node.RequestedNewNodeId = ToNodeId("i=2000");
00993 node.BrowseName = ToQualifiedName("ImageBMP");
00994 node.Class = NodeClass::DataType;
00995 node.ParentNodeId = ToNodeId("i=30");
00996 node.ReferenceTypeId = ReferenceId::HasSubtype;
00997 DataTypeAttributes attrs;
00998 attrs.Description = LocalizedText("An image encoded in BMP format.");
00999 attrs.DisplayName = LocalizedText("ImageBMP");
01000 attrs.IsAbstract = false;
01001 node.Attributes = attrs;
01002 registry.AddNodes(std::vector<AddNodesItem>{node});
01003 }
01004
01005 {
01006 AddNodesItem node;
01007 node.RequestedNewNodeId = ToNodeId("i=2001");
01008 node.BrowseName = ToQualifiedName("ImageGIF");
01009 node.Class = NodeClass::DataType;
01010 node.ParentNodeId = ToNodeId("i=30");
01011 node.ReferenceTypeId = ReferenceId::HasSubtype;
01012 DataTypeAttributes attrs;
01013 attrs.Description = LocalizedText("An image encoded in GIF format.");
01014 attrs.DisplayName = LocalizedText("ImageGIF");
01015 attrs.IsAbstract = false;
01016 node.Attributes = attrs;
01017 registry.AddNodes(std::vector<AddNodesItem>{node});
01018 }
01019
01020 {
01021 AddNodesItem node;
01022 node.RequestedNewNodeId = ToNodeId("i=2002");
01023 node.BrowseName = ToQualifiedName("ImageJPG");
01024 node.Class = NodeClass::DataType;
01025 node.ParentNodeId = ToNodeId("i=30");
01026 node.ReferenceTypeId = ReferenceId::HasSubtype;
01027 DataTypeAttributes attrs;
01028 attrs.Description = LocalizedText("An image encoded in JPEG format.");
01029 attrs.DisplayName = LocalizedText("ImageJPG");
01030 attrs.IsAbstract = false;
01031 node.Attributes = attrs;
01032 registry.AddNodes(std::vector<AddNodesItem>{node});
01033 }
01034
01035 {
01036 AddNodesItem node;
01037 node.RequestedNewNodeId = ToNodeId("i=2003");
01038 node.BrowseName = ToQualifiedName("ImagePNG");
01039 node.Class = NodeClass::DataType;
01040 node.ParentNodeId = ToNodeId("i=30");
01041 node.ReferenceTypeId = ReferenceId::HasSubtype;
01042 DataTypeAttributes attrs;
01043 attrs.Description = LocalizedText("An image encoded in PNG format.");
01044 attrs.DisplayName = LocalizedText("ImagePNG");
01045 attrs.IsAbstract = false;
01046 node.Attributes = attrs;
01047 registry.AddNodes(std::vector<AddNodesItem>{node});
01048 }
01049
01050 {
01051 AddNodesItem node;
01052 node.RequestedNewNodeId = ToNodeId("i=256");
01053 node.BrowseName = ToQualifiedName("IdType");
01054 node.Class = NodeClass::DataType;
01055 node.ParentNodeId = ToNodeId("i=29");
01056 node.ReferenceTypeId = ReferenceId::HasSubtype;
01057 DataTypeAttributes attrs;
01058 attrs.Description = LocalizedText("The type of identifier used in a node id.");
01059 attrs.DisplayName = LocalizedText("IdType");
01060 attrs.IsAbstract = false;
01061 node.Attributes = attrs;
01062 registry.AddNodes(std::vector<AddNodesItem>{node});
01063 std::vector<AddReferencesItem> refs;
01064 {
01065 AddReferencesItem ref;
01066 ref.IsForward = true;
01067 ref.ReferenceTypeId = ReferenceId::HasProperty;
01068 ref.SourceNodeId = ToNodeId("i=256");
01069 ref.TargetNodeClass = NodeClass::DataType;
01070 ref.TargetNodeId = ToNodeId("i=7591");
01071 refs.push_back(ref);
01072 }
01073 registry.AddReferences(refs);
01074 }
01075
01076 {
01077 AddNodesItem node;
01078 node.RequestedNewNodeId = ToNodeId("i=7591");
01079 node.BrowseName = ToQualifiedName("EnumStrings");
01080 node.Class = NodeClass::Variable;
01081 node.ParentNodeId = ToNodeId("i=256");
01082 node.ReferenceTypeId = ReferenceId::HasProperty;
01083 node.TypeDefinition = ToNodeId("i=68");
01084 VariableAttributes attrs;
01085 attrs.DisplayName = LocalizedText("EnumStrings");
01086 attrs.Type = ObjectId::LocalizedText;
01087 attrs.Rank = 1;
01088 node.Attributes = attrs;
01089 registry.AddNodes(std::vector<AddNodesItem>{node});
01090 std::vector<AddReferencesItem> refs;
01091 {
01092 AddReferencesItem ref;
01093 ref.IsForward = true;
01094 ref.ReferenceTypeId = ReferenceId::HasModellingRule;
01095 ref.SourceNodeId = ToNodeId("i=7591");
01096 ref.TargetNodeClass = NodeClass::DataType;
01097 ref.TargetNodeId = ToNodeId("i=78");
01098 refs.push_back(ref);
01099 }
01100 registry.AddReferences(refs);
01101 }
01102
01103 {
01104 AddNodesItem node;
01105 node.RequestedNewNodeId = ToNodeId("i=257");
01106 node.BrowseName = ToQualifiedName("NodeClass");
01107 node.Class = NodeClass::DataType;
01108 node.ParentNodeId = ToNodeId("i=29");
01109 node.ReferenceTypeId = ReferenceId::HasSubtype;
01110 DataTypeAttributes attrs;
01111 attrs.Description = LocalizedText("A mask specifying the class of the node.");
01112 attrs.DisplayName = LocalizedText("NodeClass");
01113 attrs.IsAbstract = false;
01114 node.Attributes = attrs;
01115 registry.AddNodes(std::vector<AddNodesItem>{node});
01116 std::vector<AddReferencesItem> refs;
01117 {
01118 AddReferencesItem ref;
01119 ref.IsForward = true;
01120 ref.ReferenceTypeId = ReferenceId::HasProperty;
01121 ref.SourceNodeId = ToNodeId("i=257");
01122 ref.TargetNodeClass = NodeClass::DataType;
01123 ref.TargetNodeId = ToNodeId("i=11878");
01124 refs.push_back(ref);
01125 }
01126 registry.AddReferences(refs);
01127 }
01128
01129 {
01130 AddNodesItem node;
01131 node.RequestedNewNodeId = ToNodeId("i=11878");
01132 node.BrowseName = ToQualifiedName("EnumValues");
01133 node.Class = NodeClass::Variable;
01134 node.ParentNodeId = ToNodeId("i=257");
01135 node.ReferenceTypeId = ReferenceId::HasProperty;
01136 node.TypeDefinition = ToNodeId("i=68");
01137 VariableAttributes attrs;
01138 attrs.DisplayName = LocalizedText("EnumValues");
01139 attrs.Type = ToNodeId("i=7594");
01140 attrs.Rank = 1;
01141 node.Attributes = attrs;
01142 registry.AddNodes(std::vector<AddNodesItem>{node});
01143 std::vector<AddReferencesItem> refs;
01144 {
01145 AddReferencesItem ref;
01146 ref.IsForward = true;
01147 ref.ReferenceTypeId = ReferenceId::HasModellingRule;
01148 ref.SourceNodeId = ToNodeId("i=11878");
01149 ref.TargetNodeClass = NodeClass::DataType;
01150 ref.TargetNodeId = ToNodeId("i=78");
01151 refs.push_back(ref);
01152 }
01153 registry.AddReferences(refs);
01154 }
01155
01156 {
01157 AddNodesItem node;
01158 node.RequestedNewNodeId = ToNodeId("i=296");
01159 node.BrowseName = ToQualifiedName("Argument");
01160 node.Class = NodeClass::DataType;
01161 node.ParentNodeId = ToNodeId("i=22");
01162 node.ReferenceTypeId = ReferenceId::HasSubtype;
01163 DataTypeAttributes attrs;
01164 attrs.Description = LocalizedText("An argument for a method.");
01165 attrs.DisplayName = LocalizedText("Argument");
01166 attrs.IsAbstract = false;
01167 node.Attributes = attrs;
01168 registry.AddNodes(std::vector<AddNodesItem>{node});
01169 }
01170
01171 {
01172 AddNodesItem node;
01173 node.RequestedNewNodeId = ToNodeId("i=7594");
01174 node.BrowseName = ToQualifiedName("EnumValueType");
01175 node.Class = NodeClass::DataType;
01176 node.ParentNodeId = ToNodeId("i=22");
01177 node.ReferenceTypeId = ReferenceId::HasSubtype;
01178 DataTypeAttributes attrs;
01179 attrs.Description = LocalizedText("A mapping between a value of an enumerated type and a name and description.");
01180 attrs.DisplayName = LocalizedText("EnumValueType");
01181 attrs.IsAbstract = false;
01182 node.Attributes = attrs;
01183 registry.AddNodes(std::vector<AddNodesItem>{node});
01184 }
01185
01186 {
01187 AddNodesItem node;
01188 node.RequestedNewNodeId = ToNodeId("i=290");
01189 node.BrowseName = ToQualifiedName("Duration");
01190 node.Class = NodeClass::DataType;
01191 node.ParentNodeId = ToNodeId("i=11");
01192 node.ReferenceTypeId = ReferenceId::HasSubtype;
01193 DataTypeAttributes attrs;
01194 attrs.Description = LocalizedText("A period of time measured in seconds.");
01195 attrs.DisplayName = LocalizedText("Duration");
01196 attrs.IsAbstract = false;
01197 node.Attributes = attrs;
01198 registry.AddNodes(std::vector<AddNodesItem>{node});
01199 }
01200
01201 {
01202 AddNodesItem node;
01203 node.RequestedNewNodeId = ToNodeId("i=294");
01204 node.BrowseName = ToQualifiedName("UtcTime");
01205 node.Class = NodeClass::DataType;
01206 node.ParentNodeId = ToNodeId("i=13");
01207 node.ReferenceTypeId = ReferenceId::HasSubtype;
01208 DataTypeAttributes attrs;
01209 attrs.Description = LocalizedText("A date/time value specified in Universal Coordinated Time (UTC).");
01210 attrs.DisplayName = LocalizedText("UtcTime");
01211 attrs.IsAbstract = false;
01212 node.Attributes = attrs;
01213 registry.AddNodes(std::vector<AddNodesItem>{node});
01214 }
01215
01216 {
01217 AddNodesItem node;
01218 node.RequestedNewNodeId = ToNodeId("i=295");
01219 node.BrowseName = ToQualifiedName("LocaleId");
01220 node.Class = NodeClass::DataType;
01221 node.ParentNodeId = ToNodeId("i=12");
01222 node.ReferenceTypeId = ReferenceId::HasSubtype;
01223 DataTypeAttributes attrs;
01224 attrs.Description = LocalizedText("An identifier for a user locale.");
01225 attrs.DisplayName = LocalizedText("LocaleId");
01226 attrs.IsAbstract = false;
01227 node.Attributes = attrs;
01228 registry.AddNodes(std::vector<AddNodesItem>{node});
01229 }
01230
01231 {
01232 AddNodesItem node;
01233 node.RequestedNewNodeId = ToNodeId("i=8912");
01234 node.BrowseName = ToQualifiedName("TimeZoneDataType");
01235 node.Class = NodeClass::DataType;
01236 node.ParentNodeId = ToNodeId("i=22");
01237 node.ReferenceTypeId = ReferenceId::HasSubtype;
01238 DataTypeAttributes attrs;
01239 attrs.DisplayName = LocalizedText("TimeZoneDataType");
01240 attrs.IsAbstract = false;
01241 node.Attributes = attrs;
01242 registry.AddNodes(std::vector<AddNodesItem>{node});
01243 }
01244
01245 {
01246 AddNodesItem node;
01247 node.RequestedNewNodeId = ToNodeId("i=297");
01248 node.BrowseName = ToQualifiedName("Default XML");
01249 node.Class = NodeClass::Object;
01250 node.ParentNodeId = ToNodeId("i=296");
01251 node.ReferenceTypeId = ReferenceId::HasEncoding;
01252 node.TypeDefinition = ToNodeId("i=76");
01253 ObjectAttributes attrs;
01254 attrs.DisplayName = LocalizedText("Default XML");
01255 attrs.EventNotifier = 0;
01256 node.Attributes = attrs;
01257 registry.AddNodes(std::vector<AddNodesItem>{node});
01258 std::vector<AddReferencesItem> refs;
01259 {
01260 AddReferencesItem ref;
01261 ref.IsForward = true;
01262 ref.ReferenceTypeId = ReferenceId::HasDescription;
01263 ref.SourceNodeId = ToNodeId("i=297");
01264 ref.TargetNodeClass = NodeClass::DataType;
01265 ref.TargetNodeId = ToNodeId("i=8285");
01266 refs.push_back(ref);
01267 }
01268 registry.AddReferences(refs);
01269 }
01270
01271 {
01272 AddNodesItem node;
01273 node.RequestedNewNodeId = ToNodeId("i=7616");
01274 node.BrowseName = ToQualifiedName("Default XML");
01275 node.Class = NodeClass::Object;
01276 node.ParentNodeId = ToNodeId("i=7594");
01277 node.ReferenceTypeId = ReferenceId::HasEncoding;
01278 node.TypeDefinition = ToNodeId("i=76");
01279 ObjectAttributes attrs;
01280 attrs.DisplayName = LocalizedText("Default XML");
01281 attrs.EventNotifier = 0;
01282 node.Attributes = attrs;
01283 registry.AddNodes(std::vector<AddNodesItem>{node});
01284 std::vector<AddReferencesItem> refs;
01285 {
01286 AddReferencesItem ref;
01287 ref.IsForward = true;
01288 ref.ReferenceTypeId = ReferenceId::HasDescription;
01289 ref.SourceNodeId = ToNodeId("i=7616");
01290 ref.TargetNodeClass = NodeClass::DataType;
01291 ref.TargetNodeId = ToNodeId("i=8291");
01292 refs.push_back(ref);
01293 }
01294 registry.AddReferences(refs);
01295 }
01296
01297 {
01298 AddNodesItem node;
01299 node.RequestedNewNodeId = ToNodeId("i=8913");
01300 node.BrowseName = ToQualifiedName("Default XML");
01301 node.Class = NodeClass::Object;
01302 node.ParentNodeId = ToNodeId("i=8912");
01303 node.ReferenceTypeId = ReferenceId::HasEncoding;
01304 node.TypeDefinition = ToNodeId("i=76");
01305 ObjectAttributes attrs;
01306 attrs.DisplayName = LocalizedText("Default XML");
01307 attrs.EventNotifier = 0;
01308 node.Attributes = attrs;
01309 registry.AddNodes(std::vector<AddNodesItem>{node});
01310 std::vector<AddReferencesItem> refs;
01311 {
01312 AddReferencesItem ref;
01313 ref.IsForward = true;
01314 ref.ReferenceTypeId = ReferenceId::HasDescription;
01315 ref.SourceNodeId = ToNodeId("i=8913");
01316 ref.TargetNodeClass = NodeClass::DataType;
01317 ref.TargetNodeId = ToNodeId("i=8918");
01318 refs.push_back(ref);
01319 }
01320 registry.AddReferences(refs);
01321 }
01322
01323 {
01324 AddNodesItem node;
01325 node.RequestedNewNodeId = ToNodeId("i=298");
01326 node.BrowseName = ToQualifiedName("Default Binary");
01327 node.Class = NodeClass::Object;
01328 node.ParentNodeId = ToNodeId("i=296");
01329 node.ReferenceTypeId = ReferenceId::HasEncoding;
01330 node.TypeDefinition = ToNodeId("i=76");
01331 ObjectAttributes attrs;
01332 attrs.DisplayName = LocalizedText("Default Binary");
01333 attrs.EventNotifier = 0;
01334 node.Attributes = attrs;
01335 registry.AddNodes(std::vector<AddNodesItem>{node});
01336 std::vector<AddReferencesItem> refs;
01337 {
01338 AddReferencesItem ref;
01339 ref.IsForward = true;
01340 ref.ReferenceTypeId = ReferenceId::HasDescription;
01341 ref.SourceNodeId = ToNodeId("i=298");
01342 ref.TargetNodeClass = NodeClass::DataType;
01343 ref.TargetNodeId = ToNodeId("i=7650");
01344 refs.push_back(ref);
01345 }
01346 registry.AddReferences(refs);
01347 }
01348
01349 {
01350 AddNodesItem node;
01351 node.RequestedNewNodeId = ToNodeId("i=8251");
01352 node.BrowseName = ToQualifiedName("Default Binary");
01353 node.Class = NodeClass::Object;
01354 node.ParentNodeId = ToNodeId("i=7594");
01355 node.ReferenceTypeId = ReferenceId::HasEncoding;
01356 node.TypeDefinition = ToNodeId("i=76");
01357 ObjectAttributes attrs;
01358 attrs.DisplayName = LocalizedText("Default Binary");
01359 attrs.EventNotifier = 0;
01360 node.Attributes = attrs;
01361 registry.AddNodes(std::vector<AddNodesItem>{node});
01362 std::vector<AddReferencesItem> refs;
01363 {
01364 AddReferencesItem ref;
01365 ref.IsForward = true;
01366 ref.ReferenceTypeId = ReferenceId::HasDescription;
01367 ref.SourceNodeId = ToNodeId("i=8251");
01368 ref.TargetNodeClass = NodeClass::DataType;
01369 ref.TargetNodeId = ToNodeId("i=7656");
01370 refs.push_back(ref);
01371 }
01372 registry.AddReferences(refs);
01373 }
01374
01375 {
01376 AddNodesItem node;
01377 node.RequestedNewNodeId = ToNodeId("i=8917");
01378 node.BrowseName = ToQualifiedName("Default Binary");
01379 node.Class = NodeClass::Object;
01380 node.ParentNodeId = ToNodeId("i=8912");
01381 node.ReferenceTypeId = ReferenceId::HasEncoding;
01382 node.TypeDefinition = ToNodeId("i=76");
01383 ObjectAttributes attrs;
01384 attrs.DisplayName = LocalizedText("Default Binary");
01385 attrs.EventNotifier = 0;
01386 node.Attributes = attrs;
01387 registry.AddNodes(std::vector<AddNodesItem>{node});
01388 std::vector<AddReferencesItem> refs;
01389 {
01390 AddReferencesItem ref;
01391 ref.IsForward = true;
01392 ref.ReferenceTypeId = ReferenceId::HasDescription;
01393 ref.SourceNodeId = ToNodeId("i=8917");
01394 ref.TargetNodeClass = NodeClass::DataType;
01395 ref.TargetNodeId = ToNodeId("i=8914");
01396 refs.push_back(ref);
01397 }
01398 registry.AddReferences(refs);
01399 }
01400
01401 }
01402
01403 }
01404