standard_address_space_part5.cpp
Go to the documentation of this file.
00001 
00002 // DO NOT EDIT THIS FILE!
00003 // It is automatically generated from opcfoundation.org schemas.
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 CreateAddressSpacePart5(OpcUa::NodeManagementServices& registry)
00020   {
00021        
00022         {
00023         AddNodesItem node;
00024         node.RequestedNewNodeId = ToNodeId("i=51");
00025         node.BrowseName = ToQualifiedName("FromState");
00026         node.Class = NodeClass::ReferenceType;
00027         node.ParentNodeId = ToNodeId("i=32");
00028         node.ReferenceTypeId = ReferenceId::HasSubtype;
00029         ReferenceTypeAttributes attrs;
00030         attrs.Description = LocalizedText("The type for a reference to the state before a transition.");
00031         attrs.DisplayName = LocalizedText("FromState");
00032         attrs.InverseName = LocalizedText("ToTransition");
00033         attrs.IsAbstract = false;
00034         attrs.Symmetric = false;
00035         node.Attributes = attrs;
00036         registry.AddNodes(std::vector<AddNodesItem>{node});
00037         }
00038        
00039         {
00040         AddNodesItem node;
00041         node.RequestedNewNodeId = ToNodeId("i=52");
00042         node.BrowseName = ToQualifiedName("ToState");
00043         node.Class = NodeClass::ReferenceType;
00044         node.ParentNodeId = ToNodeId("i=32");
00045         node.ReferenceTypeId = ReferenceId::HasSubtype;
00046         ReferenceTypeAttributes attrs;
00047         attrs.Description = LocalizedText("The type for a reference to the state after a transition.");
00048         attrs.DisplayName = LocalizedText("ToState");
00049         attrs.InverseName = LocalizedText("FromTransition");
00050         attrs.IsAbstract = false;
00051         attrs.Symmetric = false;
00052         node.Attributes = attrs;
00053         registry.AddNodes(std::vector<AddNodesItem>{node});
00054         }
00055        
00056         {
00057         AddNodesItem node;
00058         node.RequestedNewNodeId = ToNodeId("i=53");
00059         node.BrowseName = ToQualifiedName("HasCause");
00060         node.Class = NodeClass::ReferenceType;
00061         node.ParentNodeId = ToNodeId("i=32");
00062         node.ReferenceTypeId = ReferenceId::HasSubtype;
00063         ReferenceTypeAttributes attrs;
00064         attrs.Description = LocalizedText("The type for a reference to a method that can cause a transition to occur.");
00065         attrs.DisplayName = LocalizedText("HasCause");
00066         attrs.InverseName = LocalizedText("MayBeCausedBy");
00067         attrs.IsAbstract = false;
00068         attrs.Symmetric = false;
00069         node.Attributes = attrs;
00070         registry.AddNodes(std::vector<AddNodesItem>{node});
00071         }
00072        
00073         {
00074         AddNodesItem node;
00075         node.RequestedNewNodeId = ToNodeId("i=54");
00076         node.BrowseName = ToQualifiedName("HasEffect");
00077         node.Class = NodeClass::ReferenceType;
00078         node.ParentNodeId = ToNodeId("i=32");
00079         node.ReferenceTypeId = ReferenceId::HasSubtype;
00080         ReferenceTypeAttributes attrs;
00081         attrs.Description = LocalizedText("The type for a reference to an event that may be raised when a transition occurs.");
00082         attrs.DisplayName = LocalizedText("HasEffect");
00083         attrs.InverseName = LocalizedText("MayBeEffectedBy");
00084         attrs.IsAbstract = false;
00085         attrs.Symmetric = false;
00086         node.Attributes = attrs;
00087         registry.AddNodes(std::vector<AddNodesItem>{node});
00088         }
00089        
00090         {
00091         AddNodesItem node;
00092         node.RequestedNewNodeId = ToNodeId("i=117");
00093         node.BrowseName = ToQualifiedName("HasSubStateMachine");
00094         node.Class = NodeClass::ReferenceType;
00095         node.ParentNodeId = ToNodeId("i=32");
00096         node.ReferenceTypeId = ReferenceId::HasSubtype;
00097         ReferenceTypeAttributes attrs;
00098         attrs.Description = LocalizedText("The type for a reference to a substate for a state.");
00099         attrs.DisplayName = LocalizedText("HasSubStateMachine");
00100         attrs.InverseName = LocalizedText("SubStateMachineOf");
00101         attrs.IsAbstract = false;
00102         attrs.Symmetric = false;
00103         node.Attributes = attrs;
00104         registry.AddNodes(std::vector<AddNodesItem>{node});
00105         }
00106        
00107         {
00108         AddNodesItem node;
00109         node.RequestedNewNodeId = ToNodeId("i=58");
00110         node.BrowseName = ToQualifiedName("BaseObjectType");
00111         node.Class = NodeClass::ObjectType;
00112         ObjectTypeAttributes attrs;
00113         attrs.Description = LocalizedText("The base type for all object nodes.");
00114         attrs.DisplayName = LocalizedText("BaseObjectType");
00115         attrs.IsAbstract = false;
00116         node.Attributes = attrs;
00117         registry.AddNodes(std::vector<AddNodesItem>{node});
00118         }
00119        
00120         {
00121         AddNodesItem node;
00122         node.RequestedNewNodeId = ToNodeId("i=61");
00123         node.BrowseName = ToQualifiedName("FolderType");
00124         node.Class = NodeClass::ObjectType;
00125         node.ParentNodeId = ToNodeId("i=58");
00126         node.ReferenceTypeId = ReferenceId::HasSubtype;
00127         ObjectTypeAttributes attrs;
00128         attrs.Description = LocalizedText("The type for objects that organize other nodes.");
00129         attrs.DisplayName = LocalizedText("FolderType");
00130         attrs.IsAbstract = false;
00131         node.Attributes = attrs;
00132         registry.AddNodes(std::vector<AddNodesItem>{node});
00133         }
00134        
00135         {
00136         AddNodesItem node;
00137         node.RequestedNewNodeId = ToNodeId("i=62");
00138         node.BrowseName = ToQualifiedName("BaseVariableType");
00139         node.Class = NodeClass::VariableType;
00140         VariableTypeAttributes attrs;
00141         attrs.Description = LocalizedText("The abstract base type for all variable nodes.");
00142         attrs.DisplayName = LocalizedText("BaseVariableType");
00143         attrs.Type = ObjectId::String;
00144         attrs.Rank = -2;
00145         attrs.IsAbstract = true;
00146         node.Attributes = attrs;
00147         registry.AddNodes(std::vector<AddNodesItem>{node});
00148         }
00149        
00150         {
00151         AddNodesItem node;
00152         node.RequestedNewNodeId = ToNodeId("i=63");
00153         node.BrowseName = ToQualifiedName("BaseDataVariableType");
00154         node.Class = NodeClass::VariableType;
00155         node.ParentNodeId = ToNodeId("i=62");
00156         node.ReferenceTypeId = ReferenceId::HasSubtype;
00157         VariableTypeAttributes attrs;
00158         attrs.Description = LocalizedText("The type for variable that represents a process value.");
00159         attrs.DisplayName = LocalizedText("BaseDataVariableType");
00160         attrs.Type = ObjectId::String;
00161         attrs.Rank = -2;
00162         attrs.IsAbstract = false;
00163         node.Attributes = attrs;
00164         registry.AddNodes(std::vector<AddNodesItem>{node});
00165         }
00166        
00167         {
00168         AddNodesItem node;
00169         node.RequestedNewNodeId = ToNodeId("i=68");
00170         node.BrowseName = ToQualifiedName("PropertyType");
00171         node.Class = NodeClass::VariableType;
00172         node.ParentNodeId = ToNodeId("i=62");
00173         node.ReferenceTypeId = ReferenceId::HasSubtype;
00174         VariableTypeAttributes attrs;
00175         attrs.Description = LocalizedText("The type for variable that represents a property of another node.");
00176         attrs.DisplayName = LocalizedText("PropertyType");
00177         attrs.Type = ObjectId::String;
00178         attrs.Rank = -2;
00179         attrs.IsAbstract = false;
00180         node.Attributes = attrs;
00181         registry.AddNodes(std::vector<AddNodesItem>{node});
00182         }
00183        
00184         {
00185         AddNodesItem node;
00186         node.RequestedNewNodeId = ToNodeId("i=69");
00187         node.BrowseName = ToQualifiedName("DataTypeDescriptionType");
00188         node.Class = NodeClass::VariableType;
00189         node.ParentNodeId = ToNodeId("i=63");
00190         node.ReferenceTypeId = ReferenceId::HasSubtype;
00191         VariableTypeAttributes attrs;
00192         attrs.Description = LocalizedText("The type for variable that represents the description of a data type encoding.");
00193         attrs.DisplayName = LocalizedText("DataTypeDescriptionType");
00194         attrs.Type = ObjectId::String;
00195         attrs.Rank = -2;
00196         attrs.IsAbstract = false;
00197         node.Attributes = attrs;
00198         registry.AddNodes(std::vector<AddNodesItem>{node});
00199         std::vector<AddReferencesItem> refs;
00200         {
00201         AddReferencesItem ref;
00202         ref.IsForward = true;
00203         ref.ReferenceTypeId = ReferenceId::HasProperty;
00204         ref.SourceNodeId = ToNodeId("i=69");
00205         ref.TargetNodeClass = NodeClass::DataType;
00206         ref.TargetNodeId = ToNodeId("i=104");
00207         refs.push_back(ref);
00208         }
00209         {
00210         AddReferencesItem ref;
00211         ref.IsForward = true;
00212         ref.ReferenceTypeId = ReferenceId::HasProperty;
00213         ref.SourceNodeId = ToNodeId("i=69");
00214         ref.TargetNodeClass = NodeClass::DataType;
00215         ref.TargetNodeId = ToNodeId("i=105");
00216         refs.push_back(ref);
00217         }
00218         registry.AddReferences(refs);
00219         }
00220        
00221         {
00222         AddNodesItem node;
00223         node.RequestedNewNodeId = ToNodeId("i=104");
00224         node.BrowseName = ToQualifiedName("DataTypeVersion");
00225         node.Class = NodeClass::Variable;
00226         node.ParentNodeId = ToNodeId("i=69");
00227         node.ReferenceTypeId = ReferenceId::HasProperty;
00228         node.TypeDefinition = ToNodeId("i=68");
00229         VariableAttributes attrs;
00230         attrs.Description = LocalizedText("The version number for the data type description.");
00231         attrs.DisplayName = LocalizedText("DataTypeVersion");
00232         attrs.Type = ObjectId::String;
00233         attrs.Rank = -1;
00234         node.Attributes = attrs;
00235         registry.AddNodes(std::vector<AddNodesItem>{node});
00236         std::vector<AddReferencesItem> refs;
00237         {
00238         AddReferencesItem ref;
00239         ref.IsForward = true;
00240         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
00241         ref.SourceNodeId = ToNodeId("i=104");
00242         ref.TargetNodeClass = NodeClass::DataType;
00243         ref.TargetNodeId = ToNodeId("i=80");
00244         refs.push_back(ref);
00245         }
00246         registry.AddReferences(refs);
00247         }
00248        
00249         {
00250         AddNodesItem node;
00251         node.RequestedNewNodeId = ToNodeId("i=105");
00252         node.BrowseName = ToQualifiedName("DictionaryFragment");
00253         node.Class = NodeClass::Variable;
00254         node.ParentNodeId = ToNodeId("i=69");
00255         node.ReferenceTypeId = ReferenceId::HasProperty;
00256         node.TypeDefinition = ToNodeId("i=68");
00257         VariableAttributes attrs;
00258         attrs.Description = LocalizedText("A fragment of a data type dictionary that defines the data type.");
00259         attrs.DisplayName = LocalizedText("DictionaryFragment");
00260         attrs.Type = ObjectId::ByteString;
00261         attrs.Rank = -1;
00262         node.Attributes = attrs;
00263         registry.AddNodes(std::vector<AddNodesItem>{node});
00264         std::vector<AddReferencesItem> refs;
00265         {
00266         AddReferencesItem ref;
00267         ref.IsForward = true;
00268         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
00269         ref.SourceNodeId = ToNodeId("i=105");
00270         ref.TargetNodeClass = NodeClass::DataType;
00271         ref.TargetNodeId = ToNodeId("i=80");
00272         refs.push_back(ref);
00273         }
00274         registry.AddReferences(refs);
00275         }
00276        
00277         {
00278         AddNodesItem node;
00279         node.RequestedNewNodeId = ToNodeId("i=72");
00280         node.BrowseName = ToQualifiedName("DataTypeDictionaryType");
00281         node.Class = NodeClass::VariableType;
00282         node.ParentNodeId = ToNodeId("i=63");
00283         node.ReferenceTypeId = ReferenceId::HasSubtype;
00284         VariableTypeAttributes attrs;
00285         attrs.Description = LocalizedText("The type for variable that represents the collection of data type decriptions.");
00286         attrs.DisplayName = LocalizedText("DataTypeDictionaryType");
00287         attrs.Type = ObjectId::ByteString;
00288         attrs.Rank = -2;
00289         attrs.IsAbstract = false;
00290         node.Attributes = attrs;
00291         registry.AddNodes(std::vector<AddNodesItem>{node});
00292         std::vector<AddReferencesItem> refs;
00293         {
00294         AddReferencesItem ref;
00295         ref.IsForward = true;
00296         ref.ReferenceTypeId = ReferenceId::HasProperty;
00297         ref.SourceNodeId = ToNodeId("i=72");
00298         ref.TargetNodeClass = NodeClass::DataType;
00299         ref.TargetNodeId = ToNodeId("i=106");
00300         refs.push_back(ref);
00301         }
00302         {
00303         AddReferencesItem ref;
00304         ref.IsForward = true;
00305         ref.ReferenceTypeId = ReferenceId::HasProperty;
00306         ref.SourceNodeId = ToNodeId("i=72");
00307         ref.TargetNodeClass = NodeClass::DataType;
00308         ref.TargetNodeId = ToNodeId("i=107");
00309         refs.push_back(ref);
00310         }
00311         registry.AddReferences(refs);
00312         }
00313        
00314         {
00315         AddNodesItem node;
00316         node.RequestedNewNodeId = ToNodeId("i=106");
00317         node.BrowseName = ToQualifiedName("DataTypeVersion");
00318         node.Class = NodeClass::Variable;
00319         node.ParentNodeId = ToNodeId("i=72");
00320         node.ReferenceTypeId = ReferenceId::HasProperty;
00321         node.TypeDefinition = ToNodeId("i=68");
00322         VariableAttributes attrs;
00323         attrs.Description = LocalizedText("The version number for the data type dictionary.");
00324         attrs.DisplayName = LocalizedText("DataTypeVersion");
00325         attrs.Type = ObjectId::String;
00326         attrs.Rank = -1;
00327         node.Attributes = attrs;
00328         registry.AddNodes(std::vector<AddNodesItem>{node});
00329         std::vector<AddReferencesItem> refs;
00330         {
00331         AddReferencesItem ref;
00332         ref.IsForward = true;
00333         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
00334         ref.SourceNodeId = ToNodeId("i=106");
00335         ref.TargetNodeClass = NodeClass::DataType;
00336         ref.TargetNodeId = ToNodeId("i=80");
00337         refs.push_back(ref);
00338         }
00339         registry.AddReferences(refs);
00340         }
00341        
00342         {
00343         AddNodesItem node;
00344         node.RequestedNewNodeId = ToNodeId("i=107");
00345         node.BrowseName = ToQualifiedName("NamespaceUri");
00346         node.Class = NodeClass::Variable;
00347         node.ParentNodeId = ToNodeId("i=72");
00348         node.ReferenceTypeId = ReferenceId::HasProperty;
00349         node.TypeDefinition = ToNodeId("i=68");
00350         VariableAttributes attrs;
00351         attrs.Description = LocalizedText("A URI that uniquely identifies the dictionary.");
00352         attrs.DisplayName = LocalizedText("NamespaceUri");
00353         attrs.Type = ObjectId::String;
00354         attrs.Rank = -1;
00355         node.Attributes = attrs;
00356         registry.AddNodes(std::vector<AddNodesItem>{node});
00357         std::vector<AddReferencesItem> refs;
00358         {
00359         AddReferencesItem ref;
00360         ref.IsForward = true;
00361         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
00362         ref.SourceNodeId = ToNodeId("i=107");
00363         ref.TargetNodeClass = NodeClass::DataType;
00364         ref.TargetNodeId = ToNodeId("i=80");
00365         refs.push_back(ref);
00366         }
00367         registry.AddReferences(refs);
00368         }
00369        
00370         {
00371         AddNodesItem node;
00372         node.RequestedNewNodeId = ToNodeId("i=75");
00373         node.BrowseName = ToQualifiedName("DataTypeSystemType");
00374         node.Class = NodeClass::ObjectType;
00375         node.ParentNodeId = ToNodeId("i=58");
00376         node.ReferenceTypeId = ReferenceId::HasSubtype;
00377         ObjectTypeAttributes attrs;
00378         attrs.DisplayName = LocalizedText("DataTypeSystemType");
00379         attrs.IsAbstract = false;
00380         node.Attributes = attrs;
00381         registry.AddNodes(std::vector<AddNodesItem>{node});
00382         }
00383        
00384         {
00385         AddNodesItem node;
00386         node.RequestedNewNodeId = ToNodeId("i=76");
00387         node.BrowseName = ToQualifiedName("DataTypeEncodingType");
00388         node.Class = NodeClass::ObjectType;
00389         node.ParentNodeId = ToNodeId("i=58");
00390         node.ReferenceTypeId = ReferenceId::HasSubtype;
00391         ObjectTypeAttributes attrs;
00392         attrs.DisplayName = LocalizedText("DataTypeEncodingType");
00393         attrs.IsAbstract = false;
00394         node.Attributes = attrs;
00395         registry.AddNodes(std::vector<AddNodesItem>{node});
00396         }
00397        
00398         {
00399         AddNodesItem node;
00400         node.RequestedNewNodeId = ToNodeId("i=77");
00401         node.BrowseName = ToQualifiedName("ModellingRuleType");
00402         node.Class = NodeClass::ObjectType;
00403         node.ParentNodeId = ToNodeId("i=58");
00404         node.ReferenceTypeId = ReferenceId::HasSubtype;
00405         ObjectTypeAttributes attrs;
00406         attrs.Description = LocalizedText("The type for an object that describes how an instance declaration is used when a type is instantiated.");
00407         attrs.DisplayName = LocalizedText("ModellingRuleType");
00408         attrs.IsAbstract = false;
00409         node.Attributes = attrs;
00410         registry.AddNodes(std::vector<AddNodesItem>{node});
00411         std::vector<AddReferencesItem> refs;
00412         {
00413         AddReferencesItem ref;
00414         ref.IsForward = true;
00415         ref.ReferenceTypeId = ReferenceId::HasProperty;
00416         ref.SourceNodeId = ToNodeId("i=77");
00417         ref.TargetNodeClass = NodeClass::DataType;
00418         ref.TargetNodeId = ToNodeId("i=111");
00419         refs.push_back(ref);
00420         }
00421         registry.AddReferences(refs);
00422         }
00423        
00424         {
00425         AddNodesItem node;
00426         node.RequestedNewNodeId = ToNodeId("i=111");
00427         node.BrowseName = ToQualifiedName("NamingRule");
00428         node.Class = NodeClass::Variable;
00429         node.ParentNodeId = ToNodeId("i=77");
00430         node.ReferenceTypeId = ReferenceId::HasProperty;
00431         node.TypeDefinition = ToNodeId("i=68");
00432         VariableAttributes attrs;
00433         attrs.Description = LocalizedText("Specified the significances of the BrowseName when a type is instantiated.");
00434         attrs.DisplayName = LocalizedText("NamingRule");
00435         attrs.Type = ToNodeId("i=120");
00436         attrs.Value = (int32_t) 1;
00437         attrs.Rank = -1;
00438         node.Attributes = attrs;
00439         registry.AddNodes(std::vector<AddNodesItem>{node});
00440         std::vector<AddReferencesItem> refs;
00441         {
00442         AddReferencesItem ref;
00443         ref.IsForward = true;
00444         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
00445         ref.SourceNodeId = ToNodeId("i=111");
00446         ref.TargetNodeClass = NodeClass::DataType;
00447         ref.TargetNodeId = ToNodeId("i=78");
00448         refs.push_back(ref);
00449         }
00450         registry.AddReferences(refs);
00451         }
00452        
00453         {
00454         AddNodesItem node;
00455         node.RequestedNewNodeId = ToNodeId("i=78");
00456         node.BrowseName = ToQualifiedName("Mandatory");
00457         node.Class = NodeClass::Object;
00458         node.TypeDefinition = ToNodeId("i=77");
00459         ObjectAttributes attrs;
00460         attrs.Description = LocalizedText("Specifies that an instance with the attributes and references of the instance declaration must appear when a type is instantiated.");
00461         attrs.DisplayName = LocalizedText("Mandatory");
00462         attrs.EventNotifier = 0;
00463         node.Attributes = attrs;
00464         registry.AddNodes(std::vector<AddNodesItem>{node});
00465         std::vector<AddReferencesItem> refs;
00466         {
00467         AddReferencesItem ref;
00468         ref.IsForward = true;
00469         ref.ReferenceTypeId = ReferenceId::HasProperty;
00470         ref.SourceNodeId = ToNodeId("i=78");
00471         ref.TargetNodeClass = NodeClass::DataType;
00472         ref.TargetNodeId = ToNodeId("i=112");
00473         refs.push_back(ref);
00474         }
00475         registry.AddReferences(refs);
00476         }
00477        
00478         {
00479         AddNodesItem node;
00480         node.RequestedNewNodeId = ToNodeId("i=112");
00481         node.BrowseName = ToQualifiedName("NamingRule");
00482         node.Class = NodeClass::Variable;
00483         node.ParentNodeId = ToNodeId("i=78");
00484         node.ReferenceTypeId = ReferenceId::HasProperty;
00485         node.TypeDefinition = ToNodeId("i=68");
00486         VariableAttributes attrs;
00487         attrs.Description = LocalizedText("Specified the significances of the BrowseName when a type is instantiated.");
00488         attrs.DisplayName = LocalizedText("NamingRule");
00489         attrs.Type = ToNodeId("i=120");
00490         attrs.Value = (int32_t) 1;
00491         attrs.Rank = -1;
00492         node.Attributes = attrs;
00493         registry.AddNodes(std::vector<AddNodesItem>{node});
00494         }
00495        
00496         {
00497         AddNodesItem node;
00498         node.RequestedNewNodeId = ToNodeId("i=80");
00499         node.BrowseName = ToQualifiedName("Optional");
00500         node.Class = NodeClass::Object;
00501         node.TypeDefinition = ToNodeId("i=77");
00502         ObjectAttributes attrs;
00503         attrs.Description = LocalizedText("Specifies that an instance with the attributes and references of the instance declaration may appear when a type is instantiated.");
00504         attrs.DisplayName = LocalizedText("Optional");
00505         attrs.EventNotifier = 0;
00506         node.Attributes = attrs;
00507         registry.AddNodes(std::vector<AddNodesItem>{node});
00508         std::vector<AddReferencesItem> refs;
00509         {
00510         AddReferencesItem ref;
00511         ref.IsForward = true;
00512         ref.ReferenceTypeId = ReferenceId::HasProperty;
00513         ref.SourceNodeId = ToNodeId("i=80");
00514         ref.TargetNodeClass = NodeClass::DataType;
00515         ref.TargetNodeId = ToNodeId("i=113");
00516         refs.push_back(ref);
00517         }
00518         registry.AddReferences(refs);
00519         }
00520        
00521         {
00522         AddNodesItem node;
00523         node.RequestedNewNodeId = ToNodeId("i=113");
00524         node.BrowseName = ToQualifiedName("NamingRule");
00525         node.Class = NodeClass::Variable;
00526         node.ParentNodeId = ToNodeId("i=80");
00527         node.ReferenceTypeId = ReferenceId::HasProperty;
00528         node.TypeDefinition = ToNodeId("i=68");
00529         VariableAttributes attrs;
00530         attrs.Description = LocalizedText("Specified the significances of the BrowseName when a type is instantiated.");
00531         attrs.DisplayName = LocalizedText("NamingRule");
00532         attrs.Type = ToNodeId("i=120");
00533         attrs.Value = (int32_t) 2;
00534         attrs.Rank = -1;
00535         node.Attributes = attrs;
00536         registry.AddNodes(std::vector<AddNodesItem>{node});
00537         }
00538        
00539         {
00540         AddNodesItem node;
00541         node.RequestedNewNodeId = ToNodeId("i=83");
00542         node.BrowseName = ToQualifiedName("ExposesItsArray");
00543         node.Class = NodeClass::Object;
00544         node.TypeDefinition = ToNodeId("i=77");
00545         ObjectAttributes attrs;
00546         attrs.Description = LocalizedText("Specifies that an instance appears for each element of the containing array variable.");
00547         attrs.DisplayName = LocalizedText("ExposesItsArray");
00548         attrs.EventNotifier = 0;
00549         node.Attributes = attrs;
00550         registry.AddNodes(std::vector<AddNodesItem>{node});
00551         std::vector<AddReferencesItem> refs;
00552         {
00553         AddReferencesItem ref;
00554         ref.IsForward = true;
00555         ref.ReferenceTypeId = ReferenceId::HasProperty;
00556         ref.SourceNodeId = ToNodeId("i=83");
00557         ref.TargetNodeClass = NodeClass::DataType;
00558         ref.TargetNodeId = ToNodeId("i=114");
00559         refs.push_back(ref);
00560         }
00561         registry.AddReferences(refs);
00562         }
00563        
00564         {
00565         AddNodesItem node;
00566         node.RequestedNewNodeId = ToNodeId("i=114");
00567         node.BrowseName = ToQualifiedName("NamingRule");
00568         node.Class = NodeClass::Variable;
00569         node.ParentNodeId = ToNodeId("i=83");
00570         node.ReferenceTypeId = ReferenceId::HasProperty;
00571         node.TypeDefinition = ToNodeId("i=68");
00572         VariableAttributes attrs;
00573         attrs.Description = LocalizedText("Specified the significances of the BrowseName when a type is instantiated.");
00574         attrs.DisplayName = LocalizedText("NamingRule");
00575         attrs.Type = ToNodeId("i=120");
00576         attrs.Value = (int32_t) 3;
00577         attrs.Rank = -1;
00578         node.Attributes = attrs;
00579         registry.AddNodes(std::vector<AddNodesItem>{node});
00580         }
00581        
00582         {
00583         AddNodesItem node;
00584         node.RequestedNewNodeId = ToNodeId("i=79");
00585         node.BrowseName = ToQualifiedName("MandatoryShared");
00586         node.Class = NodeClass::Object;
00587         node.TypeDefinition = ToNodeId("i=77");
00588         ObjectAttributes attrs;
00589         attrs.Description = LocalizedText("Specifies that a reference to a shared instance must appear in when a type is instantiated.");
00590         attrs.DisplayName = LocalizedText("MandatoryShared");
00591         attrs.EventNotifier = 0;
00592         node.Attributes = attrs;
00593         registry.AddNodes(std::vector<AddNodesItem>{node});
00594         std::vector<AddReferencesItem> refs;
00595         {
00596         AddReferencesItem ref;
00597         ref.IsForward = true;
00598         ref.ReferenceTypeId = ReferenceId::HasProperty;
00599         ref.SourceNodeId = ToNodeId("i=79");
00600         ref.TargetNodeClass = NodeClass::DataType;
00601         ref.TargetNodeId = ToNodeId("i=116");
00602         refs.push_back(ref);
00603         }
00604         registry.AddReferences(refs);
00605         }
00606        
00607         {
00608         AddNodesItem node;
00609         node.RequestedNewNodeId = ToNodeId("i=116");
00610         node.BrowseName = ToQualifiedName("NamingRule");
00611         node.Class = NodeClass::Variable;
00612         node.ParentNodeId = ToNodeId("i=79");
00613         node.ReferenceTypeId = ReferenceId::HasProperty;
00614         node.TypeDefinition = ToNodeId("i=68");
00615         VariableAttributes attrs;
00616         attrs.Description = LocalizedText("Specified the significances of the BrowseName when a type is instantiated.");
00617         attrs.DisplayName = LocalizedText("NamingRule");
00618         attrs.Type = ToNodeId("i=120");
00619         attrs.Value = (int32_t) 1;
00620         attrs.Rank = -1;
00621         node.Attributes = attrs;
00622         registry.AddNodes(std::vector<AddNodesItem>{node});
00623         }
00624        
00625         {
00626         AddNodesItem node;
00627         node.RequestedNewNodeId = ToNodeId("i=11508");
00628         node.BrowseName = ToQualifiedName("OptionalPlaceholder");
00629         node.Class = NodeClass::Object;
00630         node.TypeDefinition = ToNodeId("i=77");
00631         ObjectAttributes attrs;
00632         attrs.Description = LocalizedText("Specifies that zero or more instances with the attributes and references of the instance declaration may appear when a type is instantiated.");
00633         attrs.DisplayName = LocalizedText("OptionalPlaceholder");
00634         attrs.EventNotifier = 0;
00635         node.Attributes = attrs;
00636         registry.AddNodes(std::vector<AddNodesItem>{node});
00637         std::vector<AddReferencesItem> refs;
00638         {
00639         AddReferencesItem ref;
00640         ref.IsForward = true;
00641         ref.ReferenceTypeId = ReferenceId::HasProperty;
00642         ref.SourceNodeId = ToNodeId("i=11508");
00643         ref.TargetNodeClass = NodeClass::DataType;
00644         ref.TargetNodeId = ToNodeId("i=11509");
00645         refs.push_back(ref);
00646         }
00647         registry.AddReferences(refs);
00648         }
00649        
00650         {
00651         AddNodesItem node;
00652         node.RequestedNewNodeId = ToNodeId("i=11509");
00653         node.BrowseName = ToQualifiedName("NamingRule");
00654         node.Class = NodeClass::Variable;
00655         node.ParentNodeId = ToNodeId("i=11508");
00656         node.ReferenceTypeId = ReferenceId::HasProperty;
00657         node.TypeDefinition = ToNodeId("i=68");
00658         VariableAttributes attrs;
00659         attrs.Description = LocalizedText("Specified the significances of the BrowseName when a type is instantiated.");
00660         attrs.DisplayName = LocalizedText("NamingRule");
00661         attrs.Type = ToNodeId("i=120");
00662         attrs.Value = (int32_t) 2;
00663         attrs.Rank = -1;
00664         node.Attributes = attrs;
00665         registry.AddNodes(std::vector<AddNodesItem>{node});
00666         }
00667        
00668         {
00669         AddNodesItem node;
00670         node.RequestedNewNodeId = ToNodeId("i=11510");
00671         node.BrowseName = ToQualifiedName("MandatoryPlaceholder");
00672         node.Class = NodeClass::Object;
00673         node.TypeDefinition = ToNodeId("i=77");
00674         ObjectAttributes attrs;
00675         attrs.Description = LocalizedText("Specifies that one or more instances with the attributes and references of the instance declaration must appear when a type is instantiated.");
00676         attrs.DisplayName = LocalizedText("MandatoryPlaceholder");
00677         attrs.EventNotifier = 0;
00678         node.Attributes = attrs;
00679         registry.AddNodes(std::vector<AddNodesItem>{node});
00680         std::vector<AddReferencesItem> refs;
00681         {
00682         AddReferencesItem ref;
00683         ref.IsForward = true;
00684         ref.ReferenceTypeId = ReferenceId::HasProperty;
00685         ref.SourceNodeId = ToNodeId("i=11510");
00686         ref.TargetNodeClass = NodeClass::DataType;
00687         ref.TargetNodeId = ToNodeId("i=11511");
00688         refs.push_back(ref);
00689         }
00690         registry.AddReferences(refs);
00691         }
00692        
00693         {
00694         AddNodesItem node;
00695         node.RequestedNewNodeId = ToNodeId("i=11511");
00696         node.BrowseName = ToQualifiedName("NamingRule");
00697         node.Class = NodeClass::Variable;
00698         node.ParentNodeId = ToNodeId("i=11510");
00699         node.ReferenceTypeId = ReferenceId::HasProperty;
00700         node.TypeDefinition = ToNodeId("i=68");
00701         VariableAttributes attrs;
00702         attrs.Description = LocalizedText("Specified the significances of the BrowseName when a type is instantiated.");
00703         attrs.DisplayName = LocalizedText("NamingRule");
00704         attrs.Type = ToNodeId("i=120");
00705         attrs.Value = (int32_t) 1;
00706         attrs.Rank = -1;
00707         node.Attributes = attrs;
00708         registry.AddNodes(std::vector<AddNodesItem>{node});
00709         }
00710        
00711         {
00712         AddNodesItem node;
00713         node.RequestedNewNodeId = ToNodeId("i=84");
00714         node.BrowseName = ToQualifiedName("Root");
00715         node.Class = NodeClass::Object;
00716         node.TypeDefinition = ToNodeId("i=61");
00717         ObjectAttributes attrs;
00718         attrs.Description = LocalizedText("The root of the server address space.");
00719         attrs.DisplayName = LocalizedText("Root");
00720         attrs.EventNotifier = 0;
00721         node.Attributes = attrs;
00722         registry.AddNodes(std::vector<AddNodesItem>{node});
00723         }
00724        
00725         {
00726         AddNodesItem node;
00727         node.RequestedNewNodeId = ToNodeId("i=85");
00728         node.BrowseName = ToQualifiedName("Objects");
00729         node.Class = NodeClass::Object;
00730         node.ParentNodeId = ToNodeId("i=84");
00731         node.ReferenceTypeId = ReferenceId::Organizes;
00732         node.TypeDefinition = ToNodeId("i=61");
00733         ObjectAttributes attrs;
00734         attrs.Description = LocalizedText("The browse entry point when looking for objects in the server address space.");
00735         attrs.DisplayName = LocalizedText("Objects");
00736         attrs.EventNotifier = 0;
00737         node.Attributes = attrs;
00738         registry.AddNodes(std::vector<AddNodesItem>{node});
00739         }
00740        
00741         {
00742         AddNodesItem node;
00743         node.RequestedNewNodeId = ToNodeId("i=86");
00744         node.BrowseName = ToQualifiedName("Types");
00745         node.Class = NodeClass::Object;
00746         node.ParentNodeId = ToNodeId("i=84");
00747         node.ReferenceTypeId = ReferenceId::Organizes;
00748         node.TypeDefinition = ToNodeId("i=61");
00749         ObjectAttributes attrs;
00750         attrs.Description = LocalizedText("The browse entry point when looking for types in the server address space.");
00751         attrs.DisplayName = LocalizedText("Types");
00752         attrs.EventNotifier = 0;
00753         node.Attributes = attrs;
00754         registry.AddNodes(std::vector<AddNodesItem>{node});
00755         }
00756        
00757         {
00758         AddNodesItem node;
00759         node.RequestedNewNodeId = ToNodeId("i=87");
00760         node.BrowseName = ToQualifiedName("Views");
00761         node.Class = NodeClass::Object;
00762         node.ParentNodeId = ToNodeId("i=84");
00763         node.ReferenceTypeId = ReferenceId::Organizes;
00764         node.TypeDefinition = ToNodeId("i=61");
00765         ObjectAttributes attrs;
00766         attrs.Description = LocalizedText("The browse entry point when looking for views in the server address space.");
00767         attrs.DisplayName = LocalizedText("Views");
00768         attrs.EventNotifier = 0;
00769         node.Attributes = attrs;
00770         registry.AddNodes(std::vector<AddNodesItem>{node});
00771         }
00772        
00773         {
00774         AddNodesItem node;
00775         node.RequestedNewNodeId = ToNodeId("i=88");
00776         node.BrowseName = ToQualifiedName("ObjectTypes");
00777         node.Class = NodeClass::Object;
00778         node.ParentNodeId = ToNodeId("i=86");
00779         node.ReferenceTypeId = ReferenceId::Organizes;
00780         node.TypeDefinition = ToNodeId("i=61");
00781         ObjectAttributes attrs;
00782         attrs.Description = LocalizedText("The browse entry point when looking for object types in the server address space.");
00783         attrs.DisplayName = LocalizedText("ObjectTypes");
00784         attrs.EventNotifier = 0;
00785         node.Attributes = attrs;
00786         registry.AddNodes(std::vector<AddNodesItem>{node});
00787         std::vector<AddReferencesItem> refs;
00788         {
00789         AddReferencesItem ref;
00790         ref.IsForward = true;
00791         ref.ReferenceTypeId = ReferenceId::Organizes;
00792         ref.SourceNodeId = ToNodeId("i=88");
00793         ref.TargetNodeClass = NodeClass::DataType;
00794         ref.TargetNodeId = ToNodeId("i=58");
00795         refs.push_back(ref);
00796         }
00797         registry.AddReferences(refs);
00798         }
00799        
00800         {
00801         AddNodesItem node;
00802         node.RequestedNewNodeId = ToNodeId("i=89");
00803         node.BrowseName = ToQualifiedName("VariableTypes");
00804         node.Class = NodeClass::Object;
00805         node.ParentNodeId = ToNodeId("i=86");
00806         node.ReferenceTypeId = ReferenceId::Organizes;
00807         node.TypeDefinition = ToNodeId("i=61");
00808         ObjectAttributes attrs;
00809         attrs.Description = LocalizedText("The browse entry point when looking for variable types in the server address space.");
00810         attrs.DisplayName = LocalizedText("VariableTypes");
00811         attrs.EventNotifier = 0;
00812         node.Attributes = attrs;
00813         registry.AddNodes(std::vector<AddNodesItem>{node});
00814         std::vector<AddReferencesItem> refs;
00815         {
00816         AddReferencesItem ref;
00817         ref.IsForward = true;
00818         ref.ReferenceTypeId = ReferenceId::Organizes;
00819         ref.SourceNodeId = ToNodeId("i=89");
00820         ref.TargetNodeClass = NodeClass::DataType;
00821         ref.TargetNodeId = ToNodeId("i=62");
00822         refs.push_back(ref);
00823         }
00824         registry.AddReferences(refs);
00825         }
00826        
00827         {
00828         AddNodesItem node;
00829         node.RequestedNewNodeId = ToNodeId("i=90");
00830         node.BrowseName = ToQualifiedName("DataTypes");
00831         node.Class = NodeClass::Object;
00832         node.ParentNodeId = ToNodeId("i=86");
00833         node.ReferenceTypeId = ReferenceId::Organizes;
00834         node.TypeDefinition = ToNodeId("i=61");
00835         ObjectAttributes attrs;
00836         attrs.Description = LocalizedText("The browse entry point when looking for data types in the server address space.");
00837         attrs.DisplayName = LocalizedText("DataTypes");
00838         attrs.EventNotifier = 0;
00839         node.Attributes = attrs;
00840         registry.AddNodes(std::vector<AddNodesItem>{node});
00841         std::vector<AddReferencesItem> refs;
00842         {
00843         AddReferencesItem ref;
00844         ref.IsForward = true;
00845         ref.ReferenceTypeId = ReferenceId::Organizes;
00846         ref.SourceNodeId = ToNodeId("i=90");
00847         ref.TargetNodeClass = NodeClass::DataType;
00848         ref.TargetNodeId = ToNodeId("i=24");
00849         refs.push_back(ref);
00850         }
00851         registry.AddReferences(refs);
00852         }
00853        
00854         {
00855         AddNodesItem node;
00856         node.RequestedNewNodeId = ToNodeId("i=91");
00857         node.BrowseName = ToQualifiedName("ReferenceTypes");
00858         node.Class = NodeClass::Object;
00859         node.ParentNodeId = ToNodeId("i=86");
00860         node.ReferenceTypeId = ReferenceId::Organizes;
00861         node.TypeDefinition = ToNodeId("i=61");
00862         ObjectAttributes attrs;
00863         attrs.Description = LocalizedText("The browse entry point when looking for reference types in the server address space.");
00864         attrs.DisplayName = LocalizedText("ReferenceTypes");
00865         attrs.EventNotifier = 0;
00866         node.Attributes = attrs;
00867         registry.AddNodes(std::vector<AddNodesItem>{node});
00868         std::vector<AddReferencesItem> refs;
00869         {
00870         AddReferencesItem ref;
00871         ref.IsForward = true;
00872         ref.ReferenceTypeId = ReferenceId::Organizes;
00873         ref.SourceNodeId = ToNodeId("i=91");
00874         ref.TargetNodeClass = NodeClass::DataType;
00875         ref.TargetNodeId = ToNodeId("i=31");
00876         refs.push_back(ref);
00877         }
00878         registry.AddReferences(refs);
00879         }
00880        
00881         {
00882         AddNodesItem node;
00883         node.RequestedNewNodeId = ToNodeId("i=92");
00884         node.BrowseName = ToQualifiedName("XML Schema");
00885         node.Class = NodeClass::Object;
00886         node.ParentNodeId = ToNodeId("i=90");
00887         node.ReferenceTypeId = ReferenceId::Organizes;
00888         node.TypeDefinition = ToNodeId("i=75");
00889         ObjectAttributes attrs;
00890         attrs.Description = LocalizedText("A type system which uses XML schema to describe the encoding of data types.");
00891         attrs.DisplayName = LocalizedText("XML Schema");
00892         attrs.EventNotifier = 0;
00893         node.Attributes = attrs;
00894         registry.AddNodes(std::vector<AddNodesItem>{node});
00895         }
00896        
00897         {
00898         AddNodesItem node;
00899         node.RequestedNewNodeId = ToNodeId("i=93");
00900         node.BrowseName = ToQualifiedName("OPC Binary");
00901         node.Class = NodeClass::Object;
00902         node.ParentNodeId = ToNodeId("i=90");
00903         node.ReferenceTypeId = ReferenceId::Organizes;
00904         node.TypeDefinition = ToNodeId("i=75");
00905         ObjectAttributes attrs;
00906         attrs.Description = LocalizedText("A type system which uses OPC binary schema to describe the encoding of data types.");
00907         attrs.DisplayName = LocalizedText("OPC Binary");
00908         attrs.EventNotifier = 0;
00909         node.Attributes = attrs;
00910         registry.AddNodes(std::vector<AddNodesItem>{node});
00911         }
00912        
00913         {
00914         AddNodesItem node;
00915         node.RequestedNewNodeId = ToNodeId("i=2004");
00916         node.BrowseName = ToQualifiedName("ServerType");
00917         node.Class = NodeClass::ObjectType;
00918         node.ParentNodeId = ToNodeId("i=58");
00919         node.ReferenceTypeId = ReferenceId::HasSubtype;
00920         ObjectTypeAttributes attrs;
00921         attrs.Description = LocalizedText("Specifies the current status and capabilities of the server.");
00922         attrs.DisplayName = LocalizedText("ServerType");
00923         attrs.IsAbstract = false;
00924         node.Attributes = attrs;
00925         registry.AddNodes(std::vector<AddNodesItem>{node});
00926         std::vector<AddReferencesItem> refs;
00927         {
00928         AddReferencesItem ref;
00929         ref.IsForward = true;
00930         ref.ReferenceTypeId = ReferenceId::HasProperty;
00931         ref.SourceNodeId = ToNodeId("i=2004");
00932         ref.TargetNodeClass = NodeClass::DataType;
00933         ref.TargetNodeId = ToNodeId("i=2005");
00934         refs.push_back(ref);
00935         }
00936         {
00937         AddReferencesItem ref;
00938         ref.IsForward = true;
00939         ref.ReferenceTypeId = ReferenceId::HasProperty;
00940         ref.SourceNodeId = ToNodeId("i=2004");
00941         ref.TargetNodeClass = NodeClass::DataType;
00942         ref.TargetNodeId = ToNodeId("i=2006");
00943         refs.push_back(ref);
00944         }
00945         {
00946         AddReferencesItem ref;
00947         ref.IsForward = true;
00948         ref.ReferenceTypeId = ReferenceId::HasComponent;
00949         ref.SourceNodeId = ToNodeId("i=2004");
00950         ref.TargetNodeClass = NodeClass::DataType;
00951         ref.TargetNodeId = ToNodeId("i=2007");
00952         refs.push_back(ref);
00953         }
00954         {
00955         AddReferencesItem ref;
00956         ref.IsForward = true;
00957         ref.ReferenceTypeId = ReferenceId::HasProperty;
00958         ref.SourceNodeId = ToNodeId("i=2004");
00959         ref.TargetNodeClass = NodeClass::DataType;
00960         ref.TargetNodeId = ToNodeId("i=2008");
00961         refs.push_back(ref);
00962         }
00963         {
00964         AddReferencesItem ref;
00965         ref.IsForward = true;
00966         ref.ReferenceTypeId = ReferenceId::HasProperty;
00967         ref.SourceNodeId = ToNodeId("i=2004");
00968         ref.TargetNodeClass = NodeClass::DataType;
00969         ref.TargetNodeId = ToNodeId("i=2742");
00970         refs.push_back(ref);
00971         }
00972         {
00973         AddReferencesItem ref;
00974         ref.IsForward = true;
00975         ref.ReferenceTypeId = ReferenceId::HasComponent;
00976         ref.SourceNodeId = ToNodeId("i=2004");
00977         ref.TargetNodeClass = NodeClass::DataType;
00978         ref.TargetNodeId = ToNodeId("i=2009");
00979         refs.push_back(ref);
00980         }
00981         {
00982         AddReferencesItem ref;
00983         ref.IsForward = true;
00984         ref.ReferenceTypeId = ReferenceId::HasComponent;
00985         ref.SourceNodeId = ToNodeId("i=2004");
00986         ref.TargetNodeClass = NodeClass::DataType;
00987         ref.TargetNodeId = ToNodeId("i=2010");
00988         refs.push_back(ref);
00989         }
00990         {
00991         AddReferencesItem ref;
00992         ref.IsForward = true;
00993         ref.ReferenceTypeId = ReferenceId::HasComponent;
00994         ref.SourceNodeId = ToNodeId("i=2004");
00995         ref.TargetNodeClass = NodeClass::DataType;
00996         ref.TargetNodeId = ToNodeId("i=2011");
00997         refs.push_back(ref);
00998         }
00999         {
01000         AddReferencesItem ref;
01001         ref.IsForward = true;
01002         ref.ReferenceTypeId = ReferenceId::HasComponent;
01003         ref.SourceNodeId = ToNodeId("i=2004");
01004         ref.TargetNodeClass = NodeClass::DataType;
01005         ref.TargetNodeId = ToNodeId("i=2012");
01006         refs.push_back(ref);
01007         }
01008         {
01009         AddReferencesItem ref;
01010         ref.IsForward = true;
01011         ref.ReferenceTypeId = ReferenceId::HasComponent;
01012         ref.SourceNodeId = ToNodeId("i=2004");
01013         ref.TargetNodeClass = NodeClass::DataType;
01014         ref.TargetNodeId = ToNodeId("i=11527");
01015         refs.push_back(ref);
01016         }
01017         {
01018         AddReferencesItem ref;
01019         ref.IsForward = true;
01020         ref.ReferenceTypeId = ReferenceId::HasComponent;
01021         ref.SourceNodeId = ToNodeId("i=2004");
01022         ref.TargetNodeClass = NodeClass::DataType;
01023         ref.TargetNodeId = ToNodeId("i=11489");
01024         refs.push_back(ref);
01025         }
01026         registry.AddReferences(refs);
01027         }
01028        
01029         {
01030         AddNodesItem node;
01031         node.RequestedNewNodeId = ToNodeId("i=2005");
01032         node.BrowseName = ToQualifiedName("ServerArray");
01033         node.Class = NodeClass::Variable;
01034         node.ParentNodeId = ToNodeId("i=2004");
01035         node.ReferenceTypeId = ReferenceId::HasProperty;
01036         node.TypeDefinition = ToNodeId("i=68");
01037         VariableAttributes attrs;
01038         attrs.Description = LocalizedText("The list of server URIs used by the server.");
01039         attrs.DisplayName = LocalizedText("ServerArray");
01040         attrs.Type = ObjectId::String;
01041         attrs.Rank = 1;
01042         attrs.MinimumSamplingInterval = 1000;
01043         node.Attributes = attrs;
01044         registry.AddNodes(std::vector<AddNodesItem>{node});
01045         std::vector<AddReferencesItem> refs;
01046         {
01047         AddReferencesItem ref;
01048         ref.IsForward = true;
01049         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
01050         ref.SourceNodeId = ToNodeId("i=2005");
01051         ref.TargetNodeClass = NodeClass::DataType;
01052         ref.TargetNodeId = ToNodeId("i=78");
01053         refs.push_back(ref);
01054         }
01055         registry.AddReferences(refs);
01056         }
01057        
01058         {
01059         AddNodesItem node;
01060         node.RequestedNewNodeId = ToNodeId("i=2006");
01061         node.BrowseName = ToQualifiedName("NamespaceArray");
01062         node.Class = NodeClass::Variable;
01063         node.ParentNodeId = ToNodeId("i=2004");
01064         node.ReferenceTypeId = ReferenceId::HasProperty;
01065         node.TypeDefinition = ToNodeId("i=68");
01066         VariableAttributes attrs;
01067         attrs.Description = LocalizedText("The list of namespace URIs used by the server.");
01068         attrs.DisplayName = LocalizedText("NamespaceArray");
01069         attrs.Type = ObjectId::String;
01070         attrs.Rank = 1;
01071         attrs.MinimumSamplingInterval = 1000;
01072         node.Attributes = attrs;
01073         registry.AddNodes(std::vector<AddNodesItem>{node});
01074         std::vector<AddReferencesItem> refs;
01075         {
01076         AddReferencesItem ref;
01077         ref.IsForward = true;
01078         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
01079         ref.SourceNodeId = ToNodeId("i=2006");
01080         ref.TargetNodeClass = NodeClass::DataType;
01081         ref.TargetNodeId = ToNodeId("i=78");
01082         refs.push_back(ref);
01083         }
01084         registry.AddReferences(refs);
01085         }
01086        
01087         {
01088         AddNodesItem node;
01089         node.RequestedNewNodeId = ToNodeId("i=2007");
01090         node.BrowseName = ToQualifiedName("ServerStatus");
01091         node.Class = NodeClass::Variable;
01092         node.ParentNodeId = ToNodeId("i=2004");
01093         node.ReferenceTypeId = ReferenceId::HasComponent;
01094         node.TypeDefinition = ToNodeId("i=2138");
01095         VariableAttributes attrs;
01096         attrs.Description = LocalizedText("The current status of the server.");
01097         attrs.DisplayName = LocalizedText("ServerStatus");
01098         attrs.Type = ToNodeId("i=862");
01099         attrs.Rank = -1;
01100         attrs.MinimumSamplingInterval = 1000;
01101         node.Attributes = attrs;
01102         registry.AddNodes(std::vector<AddNodesItem>{node});
01103         std::vector<AddReferencesItem> refs;
01104         {
01105         AddReferencesItem ref;
01106         ref.IsForward = true;
01107         ref.ReferenceTypeId = ReferenceId::HasComponent;
01108         ref.SourceNodeId = ToNodeId("i=2007");
01109         ref.TargetNodeClass = NodeClass::DataType;
01110         ref.TargetNodeId = ToNodeId("i=3074");
01111         refs.push_back(ref);
01112         }
01113         {
01114         AddReferencesItem ref;
01115         ref.IsForward = true;
01116         ref.ReferenceTypeId = ReferenceId::HasComponent;
01117         ref.SourceNodeId = ToNodeId("i=2007");
01118         ref.TargetNodeClass = NodeClass::DataType;
01119         ref.TargetNodeId = ToNodeId("i=3075");
01120         refs.push_back(ref);
01121         }
01122         {
01123         AddReferencesItem ref;
01124         ref.IsForward = true;
01125         ref.ReferenceTypeId = ReferenceId::HasComponent;
01126         ref.SourceNodeId = ToNodeId("i=2007");
01127         ref.TargetNodeClass = NodeClass::DataType;
01128         ref.TargetNodeId = ToNodeId("i=3076");
01129         refs.push_back(ref);
01130         }
01131         {
01132         AddReferencesItem ref;
01133         ref.IsForward = true;
01134         ref.ReferenceTypeId = ReferenceId::HasComponent;
01135         ref.SourceNodeId = ToNodeId("i=2007");
01136         ref.TargetNodeClass = NodeClass::DataType;
01137         ref.TargetNodeId = ToNodeId("i=3077");
01138         refs.push_back(ref);
01139         }
01140         {
01141         AddReferencesItem ref;
01142         ref.IsForward = true;
01143         ref.ReferenceTypeId = ReferenceId::HasComponent;
01144         ref.SourceNodeId = ToNodeId("i=2007");
01145         ref.TargetNodeClass = NodeClass::DataType;
01146         ref.TargetNodeId = ToNodeId("i=3084");
01147         refs.push_back(ref);
01148         }
01149         {
01150         AddReferencesItem ref;
01151         ref.IsForward = true;
01152         ref.ReferenceTypeId = ReferenceId::HasComponent;
01153         ref.SourceNodeId = ToNodeId("i=2007");
01154         ref.TargetNodeClass = NodeClass::DataType;
01155         ref.TargetNodeId = ToNodeId("i=3085");
01156         refs.push_back(ref);
01157         }
01158         {
01159         AddReferencesItem ref;
01160         ref.IsForward = true;
01161         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
01162         ref.SourceNodeId = ToNodeId("i=2007");
01163         ref.TargetNodeClass = NodeClass::DataType;
01164         ref.TargetNodeId = ToNodeId("i=78");
01165         refs.push_back(ref);
01166         }
01167         registry.AddReferences(refs);
01168         }
01169        
01170         {
01171         AddNodesItem node;
01172         node.RequestedNewNodeId = ToNodeId("i=3074");
01173         node.BrowseName = ToQualifiedName("StartTime");
01174         node.Class = NodeClass::Variable;
01175         node.ParentNodeId = ToNodeId("i=2007");
01176         node.ReferenceTypeId = ReferenceId::HasComponent;
01177         node.TypeDefinition = ToNodeId("i=63");
01178         VariableAttributes attrs;
01179         attrs.DisplayName = LocalizedText("StartTime");
01180         attrs.Type = ToNodeId("i=294");
01181         attrs.Rank = -1;
01182         node.Attributes = attrs;
01183         registry.AddNodes(std::vector<AddNodesItem>{node});
01184         std::vector<AddReferencesItem> refs;
01185         {
01186         AddReferencesItem ref;
01187         ref.IsForward = true;
01188         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
01189         ref.SourceNodeId = ToNodeId("i=3074");
01190         ref.TargetNodeClass = NodeClass::DataType;
01191         ref.TargetNodeId = ToNodeId("i=78");
01192         refs.push_back(ref);
01193         }
01194         registry.AddReferences(refs);
01195         }
01196        
01197         {
01198         AddNodesItem node;
01199         node.RequestedNewNodeId = ToNodeId("i=3075");
01200         node.BrowseName = ToQualifiedName("CurrentTime");
01201         node.Class = NodeClass::Variable;
01202         node.ParentNodeId = ToNodeId("i=2007");
01203         node.ReferenceTypeId = ReferenceId::HasComponent;
01204         node.TypeDefinition = ToNodeId("i=63");
01205         VariableAttributes attrs;
01206         attrs.DisplayName = LocalizedText("CurrentTime");
01207         attrs.Type = ToNodeId("i=294");
01208         attrs.Rank = -1;
01209         node.Attributes = attrs;
01210         registry.AddNodes(std::vector<AddNodesItem>{node});
01211         std::vector<AddReferencesItem> refs;
01212         {
01213         AddReferencesItem ref;
01214         ref.IsForward = true;
01215         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
01216         ref.SourceNodeId = ToNodeId("i=3075");
01217         ref.TargetNodeClass = NodeClass::DataType;
01218         ref.TargetNodeId = ToNodeId("i=78");
01219         refs.push_back(ref);
01220         }
01221         registry.AddReferences(refs);
01222         }
01223        
01224         {
01225         AddNodesItem node;
01226         node.RequestedNewNodeId = ToNodeId("i=3076");
01227         node.BrowseName = ToQualifiedName("State");
01228         node.Class = NodeClass::Variable;
01229         node.ParentNodeId = ToNodeId("i=2007");
01230         node.ReferenceTypeId = ReferenceId::HasComponent;
01231         node.TypeDefinition = ToNodeId("i=63");
01232         VariableAttributes attrs;
01233         attrs.DisplayName = LocalizedText("State");
01234         attrs.Type = ToNodeId("i=852");
01235         attrs.Rank = -1;
01236         node.Attributes = attrs;
01237         registry.AddNodes(std::vector<AddNodesItem>{node});
01238         std::vector<AddReferencesItem> refs;
01239         {
01240         AddReferencesItem ref;
01241         ref.IsForward = true;
01242         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
01243         ref.SourceNodeId = ToNodeId("i=3076");
01244         ref.TargetNodeClass = NodeClass::DataType;
01245         ref.TargetNodeId = ToNodeId("i=78");
01246         refs.push_back(ref);
01247         }
01248         registry.AddReferences(refs);
01249         }
01250        
01251         {
01252         AddNodesItem node;
01253         node.RequestedNewNodeId = ToNodeId("i=3077");
01254         node.BrowseName = ToQualifiedName("BuildInfo");
01255         node.Class = NodeClass::Variable;
01256         node.ParentNodeId = ToNodeId("i=2007");
01257         node.ReferenceTypeId = ReferenceId::HasComponent;
01258         node.TypeDefinition = ToNodeId("i=3051");
01259         VariableAttributes attrs;
01260         attrs.DisplayName = LocalizedText("BuildInfo");
01261         attrs.Type = ToNodeId("i=338");
01262         attrs.Rank = -1;
01263         node.Attributes = attrs;
01264         registry.AddNodes(std::vector<AddNodesItem>{node});
01265         std::vector<AddReferencesItem> refs;
01266         {
01267         AddReferencesItem ref;
01268         ref.IsForward = true;
01269         ref.ReferenceTypeId = ReferenceId::HasComponent;
01270         ref.SourceNodeId = ToNodeId("i=3077");
01271         ref.TargetNodeClass = NodeClass::DataType;
01272         ref.TargetNodeId = ToNodeId("i=3078");
01273         refs.push_back(ref);
01274         }
01275         {
01276         AddReferencesItem ref;
01277         ref.IsForward = true;
01278         ref.ReferenceTypeId = ReferenceId::HasComponent;
01279         ref.SourceNodeId = ToNodeId("i=3077");
01280         ref.TargetNodeClass = NodeClass::DataType;
01281         ref.TargetNodeId = ToNodeId("i=3079");
01282         refs.push_back(ref);
01283         }
01284         {
01285         AddReferencesItem ref;
01286         ref.IsForward = true;
01287         ref.ReferenceTypeId = ReferenceId::HasComponent;
01288         ref.SourceNodeId = ToNodeId("i=3077");
01289         ref.TargetNodeClass = NodeClass::DataType;
01290         ref.TargetNodeId = ToNodeId("i=3080");
01291         refs.push_back(ref);
01292         }
01293         {
01294         AddReferencesItem ref;
01295         ref.IsForward = true;
01296         ref.ReferenceTypeId = ReferenceId::HasComponent;
01297         ref.SourceNodeId = ToNodeId("i=3077");
01298         ref.TargetNodeClass = NodeClass::DataType;
01299         ref.TargetNodeId = ToNodeId("i=3081");
01300         refs.push_back(ref);
01301         }
01302         {
01303         AddReferencesItem ref;
01304         ref.IsForward = true;
01305         ref.ReferenceTypeId = ReferenceId::HasComponent;
01306         ref.SourceNodeId = ToNodeId("i=3077");
01307         ref.TargetNodeClass = NodeClass::DataType;
01308         ref.TargetNodeId = ToNodeId("i=3082");
01309         refs.push_back(ref);
01310         }
01311         {
01312         AddReferencesItem ref;
01313         ref.IsForward = true;
01314         ref.ReferenceTypeId = ReferenceId::HasComponent;
01315         ref.SourceNodeId = ToNodeId("i=3077");
01316         ref.TargetNodeClass = NodeClass::DataType;
01317         ref.TargetNodeId = ToNodeId("i=3083");
01318         refs.push_back(ref);
01319         }
01320         {
01321         AddReferencesItem ref;
01322         ref.IsForward = true;
01323         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
01324         ref.SourceNodeId = ToNodeId("i=3077");
01325         ref.TargetNodeClass = NodeClass::DataType;
01326         ref.TargetNodeId = ToNodeId("i=78");
01327         refs.push_back(ref);
01328         }
01329         registry.AddReferences(refs);
01330         }
01331        
01332         {
01333         AddNodesItem node;
01334         node.RequestedNewNodeId = ToNodeId("i=3078");
01335         node.BrowseName = ToQualifiedName("ProductUri");
01336         node.Class = NodeClass::Variable;
01337         node.ParentNodeId = ToNodeId("i=3077");
01338         node.ReferenceTypeId = ReferenceId::HasComponent;
01339         node.TypeDefinition = ToNodeId("i=63");
01340         VariableAttributes attrs;
01341         attrs.DisplayName = LocalizedText("ProductUri");
01342         attrs.Type = ObjectId::String;
01343         attrs.Rank = -1;
01344         attrs.MinimumSamplingInterval = 1000;
01345         node.Attributes = attrs;
01346         registry.AddNodes(std::vector<AddNodesItem>{node});
01347         std::vector<AddReferencesItem> refs;
01348         {
01349         AddReferencesItem ref;
01350         ref.IsForward = true;
01351         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
01352         ref.SourceNodeId = ToNodeId("i=3078");
01353         ref.TargetNodeClass = NodeClass::DataType;
01354         ref.TargetNodeId = ToNodeId("i=78");
01355         refs.push_back(ref);
01356         }
01357         registry.AddReferences(refs);
01358         }
01359        
01360         {
01361         AddNodesItem node;
01362         node.RequestedNewNodeId = ToNodeId("i=3079");
01363         node.BrowseName = ToQualifiedName("ManufacturerName");
01364         node.Class = NodeClass::Variable;
01365         node.ParentNodeId = ToNodeId("i=3077");
01366         node.ReferenceTypeId = ReferenceId::HasComponent;
01367         node.TypeDefinition = ToNodeId("i=63");
01368         VariableAttributes attrs;
01369         attrs.DisplayName = LocalizedText("ManufacturerName");
01370         attrs.Type = ObjectId::String;
01371         attrs.Rank = -1;
01372         attrs.MinimumSamplingInterval = 1000;
01373         node.Attributes = attrs;
01374         registry.AddNodes(std::vector<AddNodesItem>{node});
01375         std::vector<AddReferencesItem> refs;
01376         {
01377         AddReferencesItem ref;
01378         ref.IsForward = true;
01379         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
01380         ref.SourceNodeId = ToNodeId("i=3079");
01381         ref.TargetNodeClass = NodeClass::DataType;
01382         ref.TargetNodeId = ToNodeId("i=78");
01383         refs.push_back(ref);
01384         }
01385         registry.AddReferences(refs);
01386         }
01387        
01388         {
01389         AddNodesItem node;
01390         node.RequestedNewNodeId = ToNodeId("i=3080");
01391         node.BrowseName = ToQualifiedName("ProductName");
01392         node.Class = NodeClass::Variable;
01393         node.ParentNodeId = ToNodeId("i=3077");
01394         node.ReferenceTypeId = ReferenceId::HasComponent;
01395         node.TypeDefinition = ToNodeId("i=63");
01396         VariableAttributes attrs;
01397         attrs.DisplayName = LocalizedText("ProductName");
01398         attrs.Type = ObjectId::String;
01399         attrs.Rank = -1;
01400         attrs.MinimumSamplingInterval = 1000;
01401         node.Attributes = attrs;
01402         registry.AddNodes(std::vector<AddNodesItem>{node});
01403         std::vector<AddReferencesItem> refs;
01404         {
01405         AddReferencesItem ref;
01406         ref.IsForward = true;
01407         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
01408         ref.SourceNodeId = ToNodeId("i=3080");
01409         ref.TargetNodeClass = NodeClass::DataType;
01410         ref.TargetNodeId = ToNodeId("i=78");
01411         refs.push_back(ref);
01412         }
01413         registry.AddReferences(refs);
01414         }
01415        
01416         {
01417         AddNodesItem node;
01418         node.RequestedNewNodeId = ToNodeId("i=3081");
01419         node.BrowseName = ToQualifiedName("SoftwareVersion");
01420         node.Class = NodeClass::Variable;
01421         node.ParentNodeId = ToNodeId("i=3077");
01422         node.ReferenceTypeId = ReferenceId::HasComponent;
01423         node.TypeDefinition = ToNodeId("i=63");
01424         VariableAttributes attrs;
01425         attrs.DisplayName = LocalizedText("SoftwareVersion");
01426         attrs.Type = ObjectId::String;
01427         attrs.Rank = -1;
01428         attrs.MinimumSamplingInterval = 1000;
01429         node.Attributes = attrs;
01430         registry.AddNodes(std::vector<AddNodesItem>{node});
01431         std::vector<AddReferencesItem> refs;
01432         {
01433         AddReferencesItem ref;
01434         ref.IsForward = true;
01435         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
01436         ref.SourceNodeId = ToNodeId("i=3081");
01437         ref.TargetNodeClass = NodeClass::DataType;
01438         ref.TargetNodeId = ToNodeId("i=78");
01439         refs.push_back(ref);
01440         }
01441         registry.AddReferences(refs);
01442         }
01443        
01444         {
01445         AddNodesItem node;
01446         node.RequestedNewNodeId = ToNodeId("i=3082");
01447         node.BrowseName = ToQualifiedName("BuildNumber");
01448         node.Class = NodeClass::Variable;
01449         node.ParentNodeId = ToNodeId("i=3077");
01450         node.ReferenceTypeId = ReferenceId::HasComponent;
01451         node.TypeDefinition = ToNodeId("i=63");
01452         VariableAttributes attrs;
01453         attrs.DisplayName = LocalizedText("BuildNumber");
01454         attrs.Type = ObjectId::String;
01455         attrs.Rank = -1;
01456         attrs.MinimumSamplingInterval = 1000;
01457         node.Attributes = attrs;
01458         registry.AddNodes(std::vector<AddNodesItem>{node});
01459         std::vector<AddReferencesItem> refs;
01460         {
01461         AddReferencesItem ref;
01462         ref.IsForward = true;
01463         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
01464         ref.SourceNodeId = ToNodeId("i=3082");
01465         ref.TargetNodeClass = NodeClass::DataType;
01466         ref.TargetNodeId = ToNodeId("i=78");
01467         refs.push_back(ref);
01468         }
01469         registry.AddReferences(refs);
01470         }
01471        
01472         {
01473         AddNodesItem node;
01474         node.RequestedNewNodeId = ToNodeId("i=3083");
01475         node.BrowseName = ToQualifiedName("BuildDate");
01476         node.Class = NodeClass::Variable;
01477         node.ParentNodeId = ToNodeId("i=3077");
01478         node.ReferenceTypeId = ReferenceId::HasComponent;
01479         node.TypeDefinition = ToNodeId("i=63");
01480         VariableAttributes attrs;
01481         attrs.DisplayName = LocalizedText("BuildDate");
01482         attrs.Type = ToNodeId("i=294");
01483         attrs.Rank = -1;
01484         attrs.MinimumSamplingInterval = 1000;
01485         node.Attributes = attrs;
01486         registry.AddNodes(std::vector<AddNodesItem>{node});
01487         std::vector<AddReferencesItem> refs;
01488         {
01489         AddReferencesItem ref;
01490         ref.IsForward = true;
01491         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
01492         ref.SourceNodeId = ToNodeId("i=3083");
01493         ref.TargetNodeClass = NodeClass::DataType;
01494         ref.TargetNodeId = ToNodeId("i=78");
01495         refs.push_back(ref);
01496         }
01497         registry.AddReferences(refs);
01498         }
01499        
01500         {
01501         AddNodesItem node;
01502         node.RequestedNewNodeId = ToNodeId("i=3084");
01503         node.BrowseName = ToQualifiedName("SecondsTillShutdown");
01504         node.Class = NodeClass::Variable;
01505         node.ParentNodeId = ToNodeId("i=2007");
01506         node.ReferenceTypeId = ReferenceId::HasComponent;
01507         node.TypeDefinition = ToNodeId("i=63");
01508         VariableAttributes attrs;
01509         attrs.DisplayName = LocalizedText("SecondsTillShutdown");
01510         attrs.Type = ObjectId::UInt32;
01511         attrs.Rank = -1;
01512         node.Attributes = attrs;
01513         registry.AddNodes(std::vector<AddNodesItem>{node});
01514         std::vector<AddReferencesItem> refs;
01515         {
01516         AddReferencesItem ref;
01517         ref.IsForward = true;
01518         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
01519         ref.SourceNodeId = ToNodeId("i=3084");
01520         ref.TargetNodeClass = NodeClass::DataType;
01521         ref.TargetNodeId = ToNodeId("i=78");
01522         refs.push_back(ref);
01523         }
01524         registry.AddReferences(refs);
01525         }
01526        
01527         {
01528         AddNodesItem node;
01529         node.RequestedNewNodeId = ToNodeId("i=3085");
01530         node.BrowseName = ToQualifiedName("ShutdownReason");
01531         node.Class = NodeClass::Variable;
01532         node.ParentNodeId = ToNodeId("i=2007");
01533         node.ReferenceTypeId = ReferenceId::HasComponent;
01534         node.TypeDefinition = ToNodeId("i=63");
01535         VariableAttributes attrs;
01536         attrs.DisplayName = LocalizedText("ShutdownReason");
01537         attrs.Type = ObjectId::LocalizedText;
01538         attrs.Rank = -1;
01539         node.Attributes = attrs;
01540         registry.AddNodes(std::vector<AddNodesItem>{node});
01541         std::vector<AddReferencesItem> refs;
01542         {
01543         AddReferencesItem ref;
01544         ref.IsForward = true;
01545         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
01546         ref.SourceNodeId = ToNodeId("i=3085");
01547         ref.TargetNodeClass = NodeClass::DataType;
01548         ref.TargetNodeId = ToNodeId("i=78");
01549         refs.push_back(ref);
01550         }
01551         registry.AddReferences(refs);
01552         }
01553        
01554         {
01555         AddNodesItem node;
01556         node.RequestedNewNodeId = ToNodeId("i=2008");
01557         node.BrowseName = ToQualifiedName("ServiceLevel");
01558         node.Class = NodeClass::Variable;
01559         node.ParentNodeId = ToNodeId("i=2004");
01560         node.ReferenceTypeId = ReferenceId::HasProperty;
01561         node.TypeDefinition = ToNodeId("i=68");
01562         VariableAttributes attrs;
01563         attrs.Description = LocalizedText("A value indicating the level of service the server can provide. 255 indicates the best.");
01564         attrs.DisplayName = LocalizedText("ServiceLevel");
01565         attrs.Type = ObjectId::Byte;
01566         attrs.Rank = -1;
01567         attrs.MinimumSamplingInterval = 1000;
01568         node.Attributes = attrs;
01569         registry.AddNodes(std::vector<AddNodesItem>{node});
01570         std::vector<AddReferencesItem> refs;
01571         {
01572         AddReferencesItem ref;
01573         ref.IsForward = true;
01574         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
01575         ref.SourceNodeId = ToNodeId("i=2008");
01576         ref.TargetNodeClass = NodeClass::DataType;
01577         ref.TargetNodeId = ToNodeId("i=78");
01578         refs.push_back(ref);
01579         }
01580         registry.AddReferences(refs);
01581         }
01582        
01583         {
01584         AddNodesItem node;
01585         node.RequestedNewNodeId = ToNodeId("i=2742");
01586         node.BrowseName = ToQualifiedName("Auditing");
01587         node.Class = NodeClass::Variable;
01588         node.ParentNodeId = ToNodeId("i=2004");
01589         node.ReferenceTypeId = ReferenceId::HasProperty;
01590         node.TypeDefinition = ToNodeId("i=68");
01591         VariableAttributes attrs;
01592         attrs.Description = LocalizedText("A flag indicating whether the server is currently generating audit events.");
01593         attrs.DisplayName = LocalizedText("Auditing");
01594         attrs.Type = ObjectId::Boolean;
01595         attrs.Rank = -1;
01596         attrs.MinimumSamplingInterval = 1000;
01597         node.Attributes = attrs;
01598         registry.AddNodes(std::vector<AddNodesItem>{node});
01599         std::vector<AddReferencesItem> refs;
01600         {
01601         AddReferencesItem ref;
01602         ref.IsForward = true;
01603         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
01604         ref.SourceNodeId = ToNodeId("i=2742");
01605         ref.TargetNodeClass = NodeClass::DataType;
01606         ref.TargetNodeId = ToNodeId("i=78");
01607         refs.push_back(ref);
01608         }
01609         registry.AddReferences(refs);
01610         }
01611        
01612         {
01613         AddNodesItem node;
01614         node.RequestedNewNodeId = ToNodeId("i=2009");
01615         node.BrowseName = ToQualifiedName("ServerCapabilities");
01616         node.Class = NodeClass::Object;
01617         node.ParentNodeId = ToNodeId("i=2004");
01618         node.ReferenceTypeId = ReferenceId::HasComponent;
01619         node.TypeDefinition = ToNodeId("i=2013");
01620         ObjectAttributes attrs;
01621         attrs.Description = LocalizedText("Describes capabilities supported by the server.");
01622         attrs.DisplayName = LocalizedText("ServerCapabilities");
01623         attrs.EventNotifier = 0;
01624         node.Attributes = attrs;
01625         registry.AddNodes(std::vector<AddNodesItem>{node});
01626         std::vector<AddReferencesItem> refs;
01627         {
01628         AddReferencesItem ref;
01629         ref.IsForward = true;
01630         ref.ReferenceTypeId = ReferenceId::HasProperty;
01631         ref.SourceNodeId = ToNodeId("i=2009");
01632         ref.TargetNodeClass = NodeClass::DataType;
01633         ref.TargetNodeId = ToNodeId("i=3086");
01634         refs.push_back(ref);
01635         }
01636         {
01637         AddReferencesItem ref;
01638         ref.IsForward = true;
01639         ref.ReferenceTypeId = ReferenceId::HasProperty;
01640         ref.SourceNodeId = ToNodeId("i=2009");
01641         ref.TargetNodeClass = NodeClass::DataType;
01642         ref.TargetNodeId = ToNodeId("i=3087");
01643         refs.push_back(ref);
01644         }
01645         {
01646         AddReferencesItem ref;
01647         ref.IsForward = true;
01648         ref.ReferenceTypeId = ReferenceId::HasProperty;
01649         ref.SourceNodeId = ToNodeId("i=2009");
01650         ref.TargetNodeClass = NodeClass::DataType;
01651         ref.TargetNodeId = ToNodeId("i=3088");
01652         refs.push_back(ref);
01653         }
01654         {
01655         AddReferencesItem ref;
01656         ref.IsForward = true;
01657         ref.ReferenceTypeId = ReferenceId::HasProperty;
01658         ref.SourceNodeId = ToNodeId("i=2009");
01659         ref.TargetNodeClass = NodeClass::DataType;
01660         ref.TargetNodeId = ToNodeId("i=3089");
01661         refs.push_back(ref);
01662         }
01663         {
01664         AddReferencesItem ref;
01665         ref.IsForward = true;
01666         ref.ReferenceTypeId = ReferenceId::HasProperty;
01667         ref.SourceNodeId = ToNodeId("i=2009");
01668         ref.TargetNodeClass = NodeClass::DataType;
01669         ref.TargetNodeId = ToNodeId("i=3090");
01670         refs.push_back(ref);
01671         }
01672         {
01673         AddReferencesItem ref;
01674         ref.IsForward = true;
01675         ref.ReferenceTypeId = ReferenceId::HasProperty;
01676         ref.SourceNodeId = ToNodeId("i=2009");
01677         ref.TargetNodeClass = NodeClass::DataType;
01678         ref.TargetNodeId = ToNodeId("i=3091");
01679         refs.push_back(ref);
01680         }
01681         {
01682         AddReferencesItem ref;
01683         ref.IsForward = true;
01684         ref.ReferenceTypeId = ReferenceId::HasProperty;
01685         ref.SourceNodeId = ToNodeId("i=2009");
01686         ref.TargetNodeClass = NodeClass::DataType;
01687         ref.TargetNodeId = ToNodeId("i=3092");
01688         refs.push_back(ref);
01689         }
01690         {
01691         AddReferencesItem ref;
01692         ref.IsForward = true;
01693         ref.ReferenceTypeId = ReferenceId::HasComponent;
01694         ref.SourceNodeId = ToNodeId("i=2009");
01695         ref.TargetNodeClass = NodeClass::DataType;
01696         ref.TargetNodeId = ToNodeId("i=3093");
01697         refs.push_back(ref);
01698         }
01699         {
01700         AddReferencesItem ref;
01701         ref.IsForward = true;
01702         ref.ReferenceTypeId = ReferenceId::HasComponent;
01703         ref.SourceNodeId = ToNodeId("i=2009");
01704         ref.TargetNodeClass = NodeClass::DataType;
01705         ref.TargetNodeId = ToNodeId("i=3094");
01706         refs.push_back(ref);
01707         }
01708         {
01709         AddReferencesItem ref;
01710         ref.IsForward = true;
01711         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
01712         ref.SourceNodeId = ToNodeId("i=2009");
01713         ref.TargetNodeClass = NodeClass::DataType;
01714         ref.TargetNodeId = ToNodeId("i=78");
01715         refs.push_back(ref);
01716         }
01717         registry.AddReferences(refs);
01718         }
01719        
01720         {
01721         AddNodesItem node;
01722         node.RequestedNewNodeId = ToNodeId("i=3086");
01723         node.BrowseName = ToQualifiedName("ServerProfileArray");
01724         node.Class = NodeClass::Variable;
01725         node.ParentNodeId = ToNodeId("i=2009");
01726         node.ReferenceTypeId = ReferenceId::HasProperty;
01727         node.TypeDefinition = ToNodeId("i=68");
01728         VariableAttributes attrs;
01729         attrs.Description = LocalizedText("A list of profiles supported by the server.");
01730         attrs.DisplayName = LocalizedText("ServerProfileArray");
01731         attrs.Type = ObjectId::String;
01732         attrs.Rank = 1;
01733         node.Attributes = attrs;
01734         registry.AddNodes(std::vector<AddNodesItem>{node});
01735         std::vector<AddReferencesItem> refs;
01736         {
01737         AddReferencesItem ref;
01738         ref.IsForward = true;
01739         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
01740         ref.SourceNodeId = ToNodeId("i=3086");
01741         ref.TargetNodeClass = NodeClass::DataType;
01742         ref.TargetNodeId = ToNodeId("i=78");
01743         refs.push_back(ref);
01744         }
01745         registry.AddReferences(refs);
01746         }
01747        
01748         {
01749         AddNodesItem node;
01750         node.RequestedNewNodeId = ToNodeId("i=3087");
01751         node.BrowseName = ToQualifiedName("LocaleIdArray");
01752         node.Class = NodeClass::Variable;
01753         node.ParentNodeId = ToNodeId("i=2009");
01754         node.ReferenceTypeId = ReferenceId::HasProperty;
01755         node.TypeDefinition = ToNodeId("i=68");
01756         VariableAttributes attrs;
01757         attrs.Description = LocalizedText("A list of locales supported by the server.");
01758         attrs.DisplayName = LocalizedText("LocaleIdArray");
01759         attrs.Type = ToNodeId("i=295");
01760         attrs.Rank = 1;
01761         node.Attributes = attrs;
01762         registry.AddNodes(std::vector<AddNodesItem>{node});
01763         std::vector<AddReferencesItem> refs;
01764         {
01765         AddReferencesItem ref;
01766         ref.IsForward = true;
01767         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
01768         ref.SourceNodeId = ToNodeId("i=3087");
01769         ref.TargetNodeClass = NodeClass::DataType;
01770         ref.TargetNodeId = ToNodeId("i=78");
01771         refs.push_back(ref);
01772         }
01773         registry.AddReferences(refs);
01774         }
01775        
01776         {
01777         AddNodesItem node;
01778         node.RequestedNewNodeId = ToNodeId("i=3088");
01779         node.BrowseName = ToQualifiedName("MinSupportedSampleRate");
01780         node.Class = NodeClass::Variable;
01781         node.ParentNodeId = ToNodeId("i=2009");
01782         node.ReferenceTypeId = ReferenceId::HasProperty;
01783         node.TypeDefinition = ToNodeId("i=68");
01784         VariableAttributes attrs;
01785         attrs.Description = LocalizedText("The minimum sampling interval supported by the server.");
01786         attrs.DisplayName = LocalizedText("MinSupportedSampleRate");
01787         attrs.Type = ToNodeId("i=290");
01788         attrs.Rank = -1;
01789         node.Attributes = attrs;
01790         registry.AddNodes(std::vector<AddNodesItem>{node});
01791         std::vector<AddReferencesItem> refs;
01792         {
01793         AddReferencesItem ref;
01794         ref.IsForward = true;
01795         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
01796         ref.SourceNodeId = ToNodeId("i=3088");
01797         ref.TargetNodeClass = NodeClass::DataType;
01798         ref.TargetNodeId = ToNodeId("i=78");
01799         refs.push_back(ref);
01800         }
01801         registry.AddReferences(refs);
01802         }
01803        
01804         {
01805         AddNodesItem node;
01806         node.RequestedNewNodeId = ToNodeId("i=3089");
01807         node.BrowseName = ToQualifiedName("MaxBrowseContinuationPoints");
01808         node.Class = NodeClass::Variable;
01809         node.ParentNodeId = ToNodeId("i=2009");
01810         node.ReferenceTypeId = ReferenceId::HasProperty;
01811         node.TypeDefinition = ToNodeId("i=68");
01812         VariableAttributes attrs;
01813         attrs.Description = LocalizedText("The maximum number of continuation points for Browse operations per session.");
01814         attrs.DisplayName = LocalizedText("MaxBrowseContinuationPoints");
01815         attrs.Type = ObjectId::UInt16;
01816         attrs.Rank = -1;
01817         node.Attributes = attrs;
01818         registry.AddNodes(std::vector<AddNodesItem>{node});
01819         std::vector<AddReferencesItem> refs;
01820         {
01821         AddReferencesItem ref;
01822         ref.IsForward = true;
01823         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
01824         ref.SourceNodeId = ToNodeId("i=3089");
01825         ref.TargetNodeClass = NodeClass::DataType;
01826         ref.TargetNodeId = ToNodeId("i=78");
01827         refs.push_back(ref);
01828         }
01829         registry.AddReferences(refs);
01830         }
01831        
01832         {
01833         AddNodesItem node;
01834         node.RequestedNewNodeId = ToNodeId("i=3090");
01835         node.BrowseName = ToQualifiedName("MaxQueryContinuationPoints");
01836         node.Class = NodeClass::Variable;
01837         node.ParentNodeId = ToNodeId("i=2009");
01838         node.ReferenceTypeId = ReferenceId::HasProperty;
01839         node.TypeDefinition = ToNodeId("i=68");
01840         VariableAttributes attrs;
01841         attrs.Description = LocalizedText("The maximum number of continuation points for Query operations per session.");
01842         attrs.DisplayName = LocalizedText("MaxQueryContinuationPoints");
01843         attrs.Type = ObjectId::UInt16;
01844         attrs.Rank = -1;
01845         node.Attributes = attrs;
01846         registry.AddNodes(std::vector<AddNodesItem>{node});
01847         std::vector<AddReferencesItem> refs;
01848         {
01849         AddReferencesItem ref;
01850         ref.IsForward = true;
01851         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
01852         ref.SourceNodeId = ToNodeId("i=3090");
01853         ref.TargetNodeClass = NodeClass::DataType;
01854         ref.TargetNodeId = ToNodeId("i=78");
01855         refs.push_back(ref);
01856         }
01857         registry.AddReferences(refs);
01858         }
01859        
01860         {
01861         AddNodesItem node;
01862         node.RequestedNewNodeId = ToNodeId("i=3091");
01863         node.BrowseName = ToQualifiedName("MaxHistoryContinuationPoints");
01864         node.Class = NodeClass::Variable;
01865         node.ParentNodeId = ToNodeId("i=2009");
01866         node.ReferenceTypeId = ReferenceId::HasProperty;
01867         node.TypeDefinition = ToNodeId("i=68");
01868         VariableAttributes attrs;
01869         attrs.Description = LocalizedText("The maximum number of continuation points for ReadHistory operations per session.");
01870         attrs.DisplayName = LocalizedText("MaxHistoryContinuationPoints");
01871         attrs.Type = ObjectId::UInt16;
01872         attrs.Rank = -1;
01873         node.Attributes = attrs;
01874         registry.AddNodes(std::vector<AddNodesItem>{node});
01875         std::vector<AddReferencesItem> refs;
01876         {
01877         AddReferencesItem ref;
01878         ref.IsForward = true;
01879         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
01880         ref.SourceNodeId = ToNodeId("i=3091");
01881         ref.TargetNodeClass = NodeClass::DataType;
01882         ref.TargetNodeId = ToNodeId("i=78");
01883         refs.push_back(ref);
01884         }
01885         registry.AddReferences(refs);
01886         }
01887        
01888         {
01889         AddNodesItem node;
01890         node.RequestedNewNodeId = ToNodeId("i=3092");
01891         node.BrowseName = ToQualifiedName("SoftwareCertificates");
01892         node.Class = NodeClass::Variable;
01893         node.ParentNodeId = ToNodeId("i=2009");
01894         node.ReferenceTypeId = ReferenceId::HasProperty;
01895         node.TypeDefinition = ToNodeId("i=68");
01896         VariableAttributes attrs;
01897         attrs.Description = LocalizedText("The software certificates owned by the server.");
01898         attrs.DisplayName = LocalizedText("SoftwareCertificates");
01899         attrs.Type = ToNodeId("i=344");
01900         attrs.Rank = 1;
01901         node.Attributes = attrs;
01902         registry.AddNodes(std::vector<AddNodesItem>{node});
01903         std::vector<AddReferencesItem> refs;
01904         {
01905         AddReferencesItem ref;
01906         ref.IsForward = true;
01907         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
01908         ref.SourceNodeId = ToNodeId("i=3092");
01909         ref.TargetNodeClass = NodeClass::DataType;
01910         ref.TargetNodeId = ToNodeId("i=78");
01911         refs.push_back(ref);
01912         }
01913         registry.AddReferences(refs);
01914         }
01915        
01916         {
01917         AddNodesItem node;
01918         node.RequestedNewNodeId = ToNodeId("i=3093");
01919         node.BrowseName = ToQualifiedName("ModellingRules");
01920         node.Class = NodeClass::Object;
01921         node.ParentNodeId = ToNodeId("i=2009");
01922         node.ReferenceTypeId = ReferenceId::HasComponent;
01923         node.TypeDefinition = ToNodeId("i=61");
01924         ObjectAttributes attrs;
01925         attrs.Description = LocalizedText("A folder for the modelling rules supported by the server.");
01926         attrs.DisplayName = LocalizedText("ModellingRules");
01927         attrs.EventNotifier = 0;
01928         node.Attributes = attrs;
01929         registry.AddNodes(std::vector<AddNodesItem>{node});
01930         std::vector<AddReferencesItem> refs;
01931         {
01932         AddReferencesItem ref;
01933         ref.IsForward = true;
01934         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
01935         ref.SourceNodeId = ToNodeId("i=3093");
01936         ref.TargetNodeClass = NodeClass::DataType;
01937         ref.TargetNodeId = ToNodeId("i=78");
01938         refs.push_back(ref);
01939         }
01940         registry.AddReferences(refs);
01941         }
01942        
01943         {
01944         AddNodesItem node;
01945         node.RequestedNewNodeId = ToNodeId("i=3094");
01946         node.BrowseName = ToQualifiedName("AggregateFunctions");
01947         node.Class = NodeClass::Object;
01948         node.ParentNodeId = ToNodeId("i=2009");
01949         node.ReferenceTypeId = ReferenceId::HasComponent;
01950         node.TypeDefinition = ToNodeId("i=61");
01951         ObjectAttributes attrs;
01952         attrs.Description = LocalizedText("A folder for the real time aggregates supported by the server.");
01953         attrs.DisplayName = LocalizedText("AggregateFunctions");
01954         attrs.EventNotifier = 0;
01955         node.Attributes = attrs;
01956         registry.AddNodes(std::vector<AddNodesItem>{node});
01957         std::vector<AddReferencesItem> refs;
01958         {
01959         AddReferencesItem ref;
01960         ref.IsForward = true;
01961         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
01962         ref.SourceNodeId = ToNodeId("i=3094");
01963         ref.TargetNodeClass = NodeClass::DataType;
01964         ref.TargetNodeId = ToNodeId("i=78");
01965         refs.push_back(ref);
01966         }
01967         registry.AddReferences(refs);
01968         }
01969        
01970         {
01971         AddNodesItem node;
01972         node.RequestedNewNodeId = ToNodeId("i=2010");
01973         node.BrowseName = ToQualifiedName("ServerDiagnostics");
01974         node.Class = NodeClass::Object;
01975         node.ParentNodeId = ToNodeId("i=2004");
01976         node.ReferenceTypeId = ReferenceId::HasComponent;
01977         node.TypeDefinition = ToNodeId("i=2020");
01978         ObjectAttributes attrs;
01979         attrs.Description = LocalizedText("Reports diagnostics about the server.");
01980         attrs.DisplayName = LocalizedText("ServerDiagnostics");
01981         attrs.EventNotifier = 0;
01982         node.Attributes = attrs;
01983         registry.AddNodes(std::vector<AddNodesItem>{node});
01984         std::vector<AddReferencesItem> refs;
01985         {
01986         AddReferencesItem ref;
01987         ref.IsForward = true;
01988         ref.ReferenceTypeId = ReferenceId::HasComponent;
01989         ref.SourceNodeId = ToNodeId("i=2010");
01990         ref.TargetNodeClass = NodeClass::DataType;
01991         ref.TargetNodeId = ToNodeId("i=3095");
01992         refs.push_back(ref);
01993         }
01994         {
01995         AddReferencesItem ref;
01996         ref.IsForward = true;
01997         ref.ReferenceTypeId = ReferenceId::HasComponent;
01998         ref.SourceNodeId = ToNodeId("i=2010");
01999         ref.TargetNodeClass = NodeClass::DataType;
02000         ref.TargetNodeId = ToNodeId("i=3110");
02001         refs.push_back(ref);
02002         }
02003         {
02004         AddReferencesItem ref;
02005         ref.IsForward = true;
02006         ref.ReferenceTypeId = ReferenceId::HasComponent;
02007         ref.SourceNodeId = ToNodeId("i=2010");
02008         ref.TargetNodeClass = NodeClass::DataType;
02009         ref.TargetNodeId = ToNodeId("i=3111");
02010         refs.push_back(ref);
02011         }
02012         {
02013         AddReferencesItem ref;
02014         ref.IsForward = true;
02015         ref.ReferenceTypeId = ReferenceId::HasProperty;
02016         ref.SourceNodeId = ToNodeId("i=2010");
02017         ref.TargetNodeClass = NodeClass::DataType;
02018         ref.TargetNodeId = ToNodeId("i=3114");
02019         refs.push_back(ref);
02020         }
02021         {
02022         AddReferencesItem ref;
02023         ref.IsForward = true;
02024         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
02025         ref.SourceNodeId = ToNodeId("i=2010");
02026         ref.TargetNodeClass = NodeClass::DataType;
02027         ref.TargetNodeId = ToNodeId("i=78");
02028         refs.push_back(ref);
02029         }
02030         registry.AddReferences(refs);
02031         }
02032        
02033         {
02034         AddNodesItem node;
02035         node.RequestedNewNodeId = ToNodeId("i=3095");
02036         node.BrowseName = ToQualifiedName("ServerDiagnosticsSummary");
02037         node.Class = NodeClass::Variable;
02038         node.ParentNodeId = ToNodeId("i=2010");
02039         node.ReferenceTypeId = ReferenceId::HasComponent;
02040         node.TypeDefinition = ToNodeId("i=2150");
02041         VariableAttributes attrs;
02042         attrs.Description = LocalizedText("A summary of server level diagnostics.");
02043         attrs.DisplayName = LocalizedText("ServerDiagnosticsSummary");
02044         attrs.Type = ToNodeId("i=859");
02045         attrs.Rank = -1;
02046         node.Attributes = attrs;
02047         registry.AddNodes(std::vector<AddNodesItem>{node});
02048         std::vector<AddReferencesItem> refs;
02049         {
02050         AddReferencesItem ref;
02051         ref.IsForward = true;
02052         ref.ReferenceTypeId = ReferenceId::HasComponent;
02053         ref.SourceNodeId = ToNodeId("i=3095");
02054         ref.TargetNodeClass = NodeClass::DataType;
02055         ref.TargetNodeId = ToNodeId("i=3096");
02056         refs.push_back(ref);
02057         }
02058         {
02059         AddReferencesItem ref;
02060         ref.IsForward = true;
02061         ref.ReferenceTypeId = ReferenceId::HasComponent;
02062         ref.SourceNodeId = ToNodeId("i=3095");
02063         ref.TargetNodeClass = NodeClass::DataType;
02064         ref.TargetNodeId = ToNodeId("i=3097");
02065         refs.push_back(ref);
02066         }
02067         {
02068         AddReferencesItem ref;
02069         ref.IsForward = true;
02070         ref.ReferenceTypeId = ReferenceId::HasComponent;
02071         ref.SourceNodeId = ToNodeId("i=3095");
02072         ref.TargetNodeClass = NodeClass::DataType;
02073         ref.TargetNodeId = ToNodeId("i=3098");
02074         refs.push_back(ref);
02075         }
02076         {
02077         AddReferencesItem ref;
02078         ref.IsForward = true;
02079         ref.ReferenceTypeId = ReferenceId::HasComponent;
02080         ref.SourceNodeId = ToNodeId("i=3095");
02081         ref.TargetNodeClass = NodeClass::DataType;
02082         ref.TargetNodeId = ToNodeId("i=3099");
02083         refs.push_back(ref);
02084         }
02085         {
02086         AddReferencesItem ref;
02087         ref.IsForward = true;
02088         ref.ReferenceTypeId = ReferenceId::HasComponent;
02089         ref.SourceNodeId = ToNodeId("i=3095");
02090         ref.TargetNodeClass = NodeClass::DataType;
02091         ref.TargetNodeId = ToNodeId("i=3100");
02092         refs.push_back(ref);
02093         }
02094         {
02095         AddReferencesItem ref;
02096         ref.IsForward = true;
02097         ref.ReferenceTypeId = ReferenceId::HasComponent;
02098         ref.SourceNodeId = ToNodeId("i=3095");
02099         ref.TargetNodeClass = NodeClass::DataType;
02100         ref.TargetNodeId = ToNodeId("i=3101");
02101         refs.push_back(ref);
02102         }
02103         {
02104         AddReferencesItem ref;
02105         ref.IsForward = true;
02106         ref.ReferenceTypeId = ReferenceId::HasComponent;
02107         ref.SourceNodeId = ToNodeId("i=3095");
02108         ref.TargetNodeClass = NodeClass::DataType;
02109         ref.TargetNodeId = ToNodeId("i=3102");
02110         refs.push_back(ref);
02111         }
02112         {
02113         AddReferencesItem ref;
02114         ref.IsForward = true;
02115         ref.ReferenceTypeId = ReferenceId::HasComponent;
02116         ref.SourceNodeId = ToNodeId("i=3095");
02117         ref.TargetNodeClass = NodeClass::DataType;
02118         ref.TargetNodeId = ToNodeId("i=3104");
02119         refs.push_back(ref);
02120         }
02121         {
02122         AddReferencesItem ref;
02123         ref.IsForward = true;
02124         ref.ReferenceTypeId = ReferenceId::HasComponent;
02125         ref.SourceNodeId = ToNodeId("i=3095");
02126         ref.TargetNodeClass = NodeClass::DataType;
02127         ref.TargetNodeId = ToNodeId("i=3105");
02128         refs.push_back(ref);
02129         }
02130         {
02131         AddReferencesItem ref;
02132         ref.IsForward = true;
02133         ref.ReferenceTypeId = ReferenceId::HasComponent;
02134         ref.SourceNodeId = ToNodeId("i=3095");
02135         ref.TargetNodeClass = NodeClass::DataType;
02136         ref.TargetNodeId = ToNodeId("i=3106");
02137         refs.push_back(ref);
02138         }
02139         {
02140         AddReferencesItem ref;
02141         ref.IsForward = true;
02142         ref.ReferenceTypeId = ReferenceId::HasComponent;
02143         ref.SourceNodeId = ToNodeId("i=3095");
02144         ref.TargetNodeClass = NodeClass::DataType;
02145         ref.TargetNodeId = ToNodeId("i=3107");
02146         refs.push_back(ref);
02147         }
02148         {
02149         AddReferencesItem ref;
02150         ref.IsForward = true;
02151         ref.ReferenceTypeId = ReferenceId::HasComponent;
02152         ref.SourceNodeId = ToNodeId("i=3095");
02153         ref.TargetNodeClass = NodeClass::DataType;
02154         ref.TargetNodeId = ToNodeId("i=3108");
02155         refs.push_back(ref);
02156         }
02157         {
02158         AddReferencesItem ref;
02159         ref.IsForward = true;
02160         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
02161         ref.SourceNodeId = ToNodeId("i=3095");
02162         ref.TargetNodeClass = NodeClass::DataType;
02163         ref.TargetNodeId = ToNodeId("i=78");
02164         refs.push_back(ref);
02165         }
02166         registry.AddReferences(refs);
02167         }
02168        
02169         {
02170         AddNodesItem node;
02171         node.RequestedNewNodeId = ToNodeId("i=3096");
02172         node.BrowseName = ToQualifiedName("ServerViewCount");
02173         node.Class = NodeClass::Variable;
02174         node.ParentNodeId = ToNodeId("i=3095");
02175         node.ReferenceTypeId = ReferenceId::HasComponent;
02176         node.TypeDefinition = ToNodeId("i=63");
02177         VariableAttributes attrs;
02178         attrs.DisplayName = LocalizedText("ServerViewCount");
02179         attrs.Type = ObjectId::UInt32;
02180         attrs.Rank = -1;
02181         node.Attributes = attrs;
02182         registry.AddNodes(std::vector<AddNodesItem>{node});
02183         std::vector<AddReferencesItem> refs;
02184         {
02185         AddReferencesItem ref;
02186         ref.IsForward = true;
02187         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
02188         ref.SourceNodeId = ToNodeId("i=3096");
02189         ref.TargetNodeClass = NodeClass::DataType;
02190         ref.TargetNodeId = ToNodeId("i=78");
02191         refs.push_back(ref);
02192         }
02193         registry.AddReferences(refs);
02194         }
02195        
02196         {
02197         AddNodesItem node;
02198         node.RequestedNewNodeId = ToNodeId("i=3097");
02199         node.BrowseName = ToQualifiedName("CurrentSessionCount");
02200         node.Class = NodeClass::Variable;
02201         node.ParentNodeId = ToNodeId("i=3095");
02202         node.ReferenceTypeId = ReferenceId::HasComponent;
02203         node.TypeDefinition = ToNodeId("i=63");
02204         VariableAttributes attrs;
02205         attrs.DisplayName = LocalizedText("CurrentSessionCount");
02206         attrs.Type = ObjectId::UInt32;
02207         attrs.Rank = -1;
02208         node.Attributes = attrs;
02209         registry.AddNodes(std::vector<AddNodesItem>{node});
02210         std::vector<AddReferencesItem> refs;
02211         {
02212         AddReferencesItem ref;
02213         ref.IsForward = true;
02214         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
02215         ref.SourceNodeId = ToNodeId("i=3097");
02216         ref.TargetNodeClass = NodeClass::DataType;
02217         ref.TargetNodeId = ToNodeId("i=78");
02218         refs.push_back(ref);
02219         }
02220         registry.AddReferences(refs);
02221         }
02222        
02223         {
02224         AddNodesItem node;
02225         node.RequestedNewNodeId = ToNodeId("i=3098");
02226         node.BrowseName = ToQualifiedName("CumulatedSessionCount");
02227         node.Class = NodeClass::Variable;
02228         node.ParentNodeId = ToNodeId("i=3095");
02229         node.ReferenceTypeId = ReferenceId::HasComponent;
02230         node.TypeDefinition = ToNodeId("i=63");
02231         VariableAttributes attrs;
02232         attrs.DisplayName = LocalizedText("CumulatedSessionCount");
02233         attrs.Type = ObjectId::UInt32;
02234         attrs.Rank = -1;
02235         node.Attributes = attrs;
02236         registry.AddNodes(std::vector<AddNodesItem>{node});
02237         std::vector<AddReferencesItem> refs;
02238         {
02239         AddReferencesItem ref;
02240         ref.IsForward = true;
02241         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
02242         ref.SourceNodeId = ToNodeId("i=3098");
02243         ref.TargetNodeClass = NodeClass::DataType;
02244         ref.TargetNodeId = ToNodeId("i=78");
02245         refs.push_back(ref);
02246         }
02247         registry.AddReferences(refs);
02248         }
02249        
02250         {
02251         AddNodesItem node;
02252         node.RequestedNewNodeId = ToNodeId("i=3099");
02253         node.BrowseName = ToQualifiedName("SecurityRejectedSessionCount");
02254         node.Class = NodeClass::Variable;
02255         node.ParentNodeId = ToNodeId("i=3095");
02256         node.ReferenceTypeId = ReferenceId::HasComponent;
02257         node.TypeDefinition = ToNodeId("i=63");
02258         VariableAttributes attrs;
02259         attrs.DisplayName = LocalizedText("SecurityRejectedSessionCount");
02260         attrs.Type = ObjectId::UInt32;
02261         attrs.Rank = -1;
02262         node.Attributes = attrs;
02263         registry.AddNodes(std::vector<AddNodesItem>{node});
02264         std::vector<AddReferencesItem> refs;
02265         {
02266         AddReferencesItem ref;
02267         ref.IsForward = true;
02268         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
02269         ref.SourceNodeId = ToNodeId("i=3099");
02270         ref.TargetNodeClass = NodeClass::DataType;
02271         ref.TargetNodeId = ToNodeId("i=78");
02272         refs.push_back(ref);
02273         }
02274         registry.AddReferences(refs);
02275         }
02276        
02277         {
02278         AddNodesItem node;
02279         node.RequestedNewNodeId = ToNodeId("i=3100");
02280         node.BrowseName = ToQualifiedName("RejectedSessionCount");
02281         node.Class = NodeClass::Variable;
02282         node.ParentNodeId = ToNodeId("i=3095");
02283         node.ReferenceTypeId = ReferenceId::HasComponent;
02284         node.TypeDefinition = ToNodeId("i=63");
02285         VariableAttributes attrs;
02286         attrs.DisplayName = LocalizedText("RejectedSessionCount");
02287         attrs.Type = ObjectId::UInt32;
02288         attrs.Rank = -1;
02289         node.Attributes = attrs;
02290         registry.AddNodes(std::vector<AddNodesItem>{node});
02291         std::vector<AddReferencesItem> refs;
02292         {
02293         AddReferencesItem ref;
02294         ref.IsForward = true;
02295         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
02296         ref.SourceNodeId = ToNodeId("i=3100");
02297         ref.TargetNodeClass = NodeClass::DataType;
02298         ref.TargetNodeId = ToNodeId("i=78");
02299         refs.push_back(ref);
02300         }
02301         registry.AddReferences(refs);
02302         }
02303        
02304         {
02305         AddNodesItem node;
02306         node.RequestedNewNodeId = ToNodeId("i=3101");
02307         node.BrowseName = ToQualifiedName("SessionTimeoutCount");
02308         node.Class = NodeClass::Variable;
02309         node.ParentNodeId = ToNodeId("i=3095");
02310         node.ReferenceTypeId = ReferenceId::HasComponent;
02311         node.TypeDefinition = ToNodeId("i=63");
02312         VariableAttributes attrs;
02313         attrs.DisplayName = LocalizedText("SessionTimeoutCount");
02314         attrs.Type = ObjectId::UInt32;
02315         attrs.Rank = -1;
02316         node.Attributes = attrs;
02317         registry.AddNodes(std::vector<AddNodesItem>{node});
02318         std::vector<AddReferencesItem> refs;
02319         {
02320         AddReferencesItem ref;
02321         ref.IsForward = true;
02322         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
02323         ref.SourceNodeId = ToNodeId("i=3101");
02324         ref.TargetNodeClass = NodeClass::DataType;
02325         ref.TargetNodeId = ToNodeId("i=78");
02326         refs.push_back(ref);
02327         }
02328         registry.AddReferences(refs);
02329         }
02330        
02331         {
02332         AddNodesItem node;
02333         node.RequestedNewNodeId = ToNodeId("i=3102");
02334         node.BrowseName = ToQualifiedName("SessionAbortCount");
02335         node.Class = NodeClass::Variable;
02336         node.ParentNodeId = ToNodeId("i=3095");
02337         node.ReferenceTypeId = ReferenceId::HasComponent;
02338         node.TypeDefinition = ToNodeId("i=63");
02339         VariableAttributes attrs;
02340         attrs.DisplayName = LocalizedText("SessionAbortCount");
02341         attrs.Type = ObjectId::UInt32;
02342         attrs.Rank = -1;
02343         node.Attributes = attrs;
02344         registry.AddNodes(std::vector<AddNodesItem>{node});
02345         std::vector<AddReferencesItem> refs;
02346         {
02347         AddReferencesItem ref;
02348         ref.IsForward = true;
02349         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
02350         ref.SourceNodeId = ToNodeId("i=3102");
02351         ref.TargetNodeClass = NodeClass::DataType;
02352         ref.TargetNodeId = ToNodeId("i=78");
02353         refs.push_back(ref);
02354         }
02355         registry.AddReferences(refs);
02356         }
02357        
02358         {
02359         AddNodesItem node;
02360         node.RequestedNewNodeId = ToNodeId("i=3104");
02361         node.BrowseName = ToQualifiedName("PublishingIntervalCount");
02362         node.Class = NodeClass::Variable;
02363         node.ParentNodeId = ToNodeId("i=3095");
02364         node.ReferenceTypeId = ReferenceId::HasComponent;
02365         node.TypeDefinition = ToNodeId("i=63");
02366         VariableAttributes attrs;
02367         attrs.DisplayName = LocalizedText("PublishingIntervalCount");
02368         attrs.Type = ObjectId::UInt32;
02369         attrs.Rank = -1;
02370         node.Attributes = attrs;
02371         registry.AddNodes(std::vector<AddNodesItem>{node});
02372         std::vector<AddReferencesItem> refs;
02373         {
02374         AddReferencesItem ref;
02375         ref.IsForward = true;
02376         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
02377         ref.SourceNodeId = ToNodeId("i=3104");
02378         ref.TargetNodeClass = NodeClass::DataType;
02379         ref.TargetNodeId = ToNodeId("i=78");
02380         refs.push_back(ref);
02381         }
02382         registry.AddReferences(refs);
02383         }
02384        
02385         {
02386         AddNodesItem node;
02387         node.RequestedNewNodeId = ToNodeId("i=3105");
02388         node.BrowseName = ToQualifiedName("CurrentSubscriptionCount");
02389         node.Class = NodeClass::Variable;
02390         node.ParentNodeId = ToNodeId("i=3095");
02391         node.ReferenceTypeId = ReferenceId::HasComponent;
02392         node.TypeDefinition = ToNodeId("i=63");
02393         VariableAttributes attrs;
02394         attrs.DisplayName = LocalizedText("CurrentSubscriptionCount");
02395         attrs.Type = ObjectId::UInt32;
02396         attrs.Rank = -1;
02397         node.Attributes = attrs;
02398         registry.AddNodes(std::vector<AddNodesItem>{node});
02399         std::vector<AddReferencesItem> refs;
02400         {
02401         AddReferencesItem ref;
02402         ref.IsForward = true;
02403         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
02404         ref.SourceNodeId = ToNodeId("i=3105");
02405         ref.TargetNodeClass = NodeClass::DataType;
02406         ref.TargetNodeId = ToNodeId("i=78");
02407         refs.push_back(ref);
02408         }
02409         registry.AddReferences(refs);
02410         }
02411        
02412         {
02413         AddNodesItem node;
02414         node.RequestedNewNodeId = ToNodeId("i=3106");
02415         node.BrowseName = ToQualifiedName("CumulatedSubscriptionCount");
02416         node.Class = NodeClass::Variable;
02417         node.ParentNodeId = ToNodeId("i=3095");
02418         node.ReferenceTypeId = ReferenceId::HasComponent;
02419         node.TypeDefinition = ToNodeId("i=63");
02420         VariableAttributes attrs;
02421         attrs.DisplayName = LocalizedText("CumulatedSubscriptionCount");
02422         attrs.Type = ObjectId::UInt32;
02423         attrs.Rank = -1;
02424         node.Attributes = attrs;
02425         registry.AddNodes(std::vector<AddNodesItem>{node});
02426         std::vector<AddReferencesItem> refs;
02427         {
02428         AddReferencesItem ref;
02429         ref.IsForward = true;
02430         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
02431         ref.SourceNodeId = ToNodeId("i=3106");
02432         ref.TargetNodeClass = NodeClass::DataType;
02433         ref.TargetNodeId = ToNodeId("i=78");
02434         refs.push_back(ref);
02435         }
02436         registry.AddReferences(refs);
02437         }
02438        
02439         {
02440         AddNodesItem node;
02441         node.RequestedNewNodeId = ToNodeId("i=3107");
02442         node.BrowseName = ToQualifiedName("SecurityRejectedRequestsCount");
02443         node.Class = NodeClass::Variable;
02444         node.ParentNodeId = ToNodeId("i=3095");
02445         node.ReferenceTypeId = ReferenceId::HasComponent;
02446         node.TypeDefinition = ToNodeId("i=63");
02447         VariableAttributes attrs;
02448         attrs.DisplayName = LocalizedText("SecurityRejectedRequestsCount");
02449         attrs.Type = ObjectId::UInt32;
02450         attrs.Rank = -1;
02451         node.Attributes = attrs;
02452         registry.AddNodes(std::vector<AddNodesItem>{node});
02453         std::vector<AddReferencesItem> refs;
02454         {
02455         AddReferencesItem ref;
02456         ref.IsForward = true;
02457         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
02458         ref.SourceNodeId = ToNodeId("i=3107");
02459         ref.TargetNodeClass = NodeClass::DataType;
02460         ref.TargetNodeId = ToNodeId("i=78");
02461         refs.push_back(ref);
02462         }
02463         registry.AddReferences(refs);
02464         }
02465        
02466         {
02467         AddNodesItem node;
02468         node.RequestedNewNodeId = ToNodeId("i=3108");
02469         node.BrowseName = ToQualifiedName("RejectedRequestsCount");
02470         node.Class = NodeClass::Variable;
02471         node.ParentNodeId = ToNodeId("i=3095");
02472         node.ReferenceTypeId = ReferenceId::HasComponent;
02473         node.TypeDefinition = ToNodeId("i=63");
02474         VariableAttributes attrs;
02475         attrs.DisplayName = LocalizedText("RejectedRequestsCount");
02476         attrs.Type = ObjectId::UInt32;
02477         attrs.Rank = -1;
02478         node.Attributes = attrs;
02479         registry.AddNodes(std::vector<AddNodesItem>{node});
02480         std::vector<AddReferencesItem> refs;
02481         {
02482         AddReferencesItem ref;
02483         ref.IsForward = true;
02484         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
02485         ref.SourceNodeId = ToNodeId("i=3108");
02486         ref.TargetNodeClass = NodeClass::DataType;
02487         ref.TargetNodeId = ToNodeId("i=78");
02488         refs.push_back(ref);
02489         }
02490         registry.AddReferences(refs);
02491         }
02492        
02493         {
02494         AddNodesItem node;
02495         node.RequestedNewNodeId = ToNodeId("i=3110");
02496         node.BrowseName = ToQualifiedName("SubscriptionDiagnosticsArray");
02497         node.Class = NodeClass::Variable;
02498         node.ParentNodeId = ToNodeId("i=2010");
02499         node.ReferenceTypeId = ReferenceId::HasComponent;
02500         node.TypeDefinition = ToNodeId("i=2171");
02501         VariableAttributes attrs;
02502         attrs.Description = LocalizedText("A list of diagnostics for each active subscription.");
02503         attrs.DisplayName = LocalizedText("SubscriptionDiagnosticsArray");
02504         attrs.Type = ToNodeId("i=874");
02505         attrs.Rank = 1;
02506         node.Attributes = attrs;
02507         registry.AddNodes(std::vector<AddNodesItem>{node});
02508         std::vector<AddReferencesItem> refs;
02509         {
02510         AddReferencesItem ref;
02511         ref.IsForward = true;
02512         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
02513         ref.SourceNodeId = ToNodeId("i=3110");
02514         ref.TargetNodeClass = NodeClass::DataType;
02515         ref.TargetNodeId = ToNodeId("i=78");
02516         refs.push_back(ref);
02517         }
02518         registry.AddReferences(refs);
02519         }
02520        
02521         {
02522         AddNodesItem node;
02523         node.RequestedNewNodeId = ToNodeId("i=3111");
02524         node.BrowseName = ToQualifiedName("SessionsDiagnosticsSummary");
02525         node.Class = NodeClass::Object;
02526         node.ParentNodeId = ToNodeId("i=2010");
02527         node.ReferenceTypeId = ReferenceId::HasComponent;
02528         node.TypeDefinition = ToNodeId("i=2026");
02529         ObjectAttributes attrs;
02530         attrs.Description = LocalizedText("A summary of session level diagnostics.");
02531         attrs.DisplayName = LocalizedText("SessionsDiagnosticsSummary");
02532         attrs.EventNotifier = 0;
02533         node.Attributes = attrs;
02534         registry.AddNodes(std::vector<AddNodesItem>{node});
02535         std::vector<AddReferencesItem> refs;
02536         {
02537         AddReferencesItem ref;
02538         ref.IsForward = true;
02539         ref.ReferenceTypeId = ReferenceId::HasComponent;
02540         ref.SourceNodeId = ToNodeId("i=3111");
02541         ref.TargetNodeClass = NodeClass::DataType;
02542         ref.TargetNodeId = ToNodeId("i=3112");
02543         refs.push_back(ref);
02544         }
02545         {
02546         AddReferencesItem ref;
02547         ref.IsForward = true;
02548         ref.ReferenceTypeId = ReferenceId::HasComponent;
02549         ref.SourceNodeId = ToNodeId("i=3111");
02550         ref.TargetNodeClass = NodeClass::DataType;
02551         ref.TargetNodeId = ToNodeId("i=3113");
02552         refs.push_back(ref);
02553         }
02554         {
02555         AddReferencesItem ref;
02556         ref.IsForward = true;
02557         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
02558         ref.SourceNodeId = ToNodeId("i=3111");
02559         ref.TargetNodeClass = NodeClass::DataType;
02560         ref.TargetNodeId = ToNodeId("i=78");
02561         refs.push_back(ref);
02562         }
02563         registry.AddReferences(refs);
02564         }
02565        
02566         {
02567         AddNodesItem node;
02568         node.RequestedNewNodeId = ToNodeId("i=3112");
02569         node.BrowseName = ToQualifiedName("SessionDiagnosticsArray");
02570         node.Class = NodeClass::Variable;
02571         node.ParentNodeId = ToNodeId("i=3111");
02572         node.ReferenceTypeId = ReferenceId::HasComponent;
02573         node.TypeDefinition = ToNodeId("i=2196");
02574         VariableAttributes attrs;
02575         attrs.Description = LocalizedText("A list of diagnostics for each active session.");
02576         attrs.DisplayName = LocalizedText("SessionDiagnosticsArray");
02577         attrs.Type = ToNodeId("i=865");
02578         attrs.Rank = 1;
02579         node.Attributes = attrs;
02580         registry.AddNodes(std::vector<AddNodesItem>{node});
02581         std::vector<AddReferencesItem> refs;
02582         {
02583         AddReferencesItem ref;
02584         ref.IsForward = true;
02585         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
02586         ref.SourceNodeId = ToNodeId("i=3112");
02587         ref.TargetNodeClass = NodeClass::DataType;
02588         ref.TargetNodeId = ToNodeId("i=78");
02589         refs.push_back(ref);
02590         }
02591         registry.AddReferences(refs);
02592         }
02593        
02594         {
02595         AddNodesItem node;
02596         node.RequestedNewNodeId = ToNodeId("i=3113");
02597         node.BrowseName = ToQualifiedName("SessionSecurityDiagnosticsArray");
02598         node.Class = NodeClass::Variable;
02599         node.ParentNodeId = ToNodeId("i=3111");
02600         node.ReferenceTypeId = ReferenceId::HasComponent;
02601         node.TypeDefinition = ToNodeId("i=2243");
02602         VariableAttributes attrs;
02603         attrs.Description = LocalizedText("A list of security related diagnostics for each active session.");
02604         attrs.DisplayName = LocalizedText("SessionSecurityDiagnosticsArray");
02605         attrs.Type = ToNodeId("i=868");
02606         attrs.Rank = 1;
02607         node.Attributes = attrs;
02608         registry.AddNodes(std::vector<AddNodesItem>{node});
02609         std::vector<AddReferencesItem> refs;
02610         {
02611         AddReferencesItem ref;
02612         ref.IsForward = true;
02613         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
02614         ref.SourceNodeId = ToNodeId("i=3113");
02615         ref.TargetNodeClass = NodeClass::DataType;
02616         ref.TargetNodeId = ToNodeId("i=78");
02617         refs.push_back(ref);
02618         }
02619         registry.AddReferences(refs);
02620         }
02621        
02622         {
02623         AddNodesItem node;
02624         node.RequestedNewNodeId = ToNodeId("i=3114");
02625         node.BrowseName = ToQualifiedName("EnabledFlag");
02626         node.Class = NodeClass::Variable;
02627         node.ParentNodeId = ToNodeId("i=2010");
02628         node.ReferenceTypeId = ReferenceId::HasProperty;
02629         node.TypeDefinition = ToNodeId("i=68");
02630         VariableAttributes attrs;
02631         attrs.Description = LocalizedText("If TRUE the diagnostics collection is enabled.");
02632         attrs.DisplayName = LocalizedText("EnabledFlag");
02633         attrs.Type = ObjectId::Boolean;
02634         attrs.Rank = -1;
02635         attrs.AccessLevel = (VariableAccessLevel) 3;
02636         attrs.UserAccessLevel = (VariableAccessLevel) 3;
02637         node.Attributes = attrs;
02638         registry.AddNodes(std::vector<AddNodesItem>{node});
02639         std::vector<AddReferencesItem> refs;
02640         {
02641         AddReferencesItem ref;
02642         ref.IsForward = true;
02643         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
02644         ref.SourceNodeId = ToNodeId("i=3114");
02645         ref.TargetNodeClass = NodeClass::DataType;
02646         ref.TargetNodeId = ToNodeId("i=78");
02647         refs.push_back(ref);
02648         }
02649         registry.AddReferences(refs);
02650         }
02651        
02652         {
02653         AddNodesItem node;
02654         node.RequestedNewNodeId = ToNodeId("i=2011");
02655         node.BrowseName = ToQualifiedName("VendorServerInfo");
02656         node.Class = NodeClass::Object;
02657         node.ParentNodeId = ToNodeId("i=2004");
02658         node.ReferenceTypeId = ReferenceId::HasComponent;
02659         node.TypeDefinition = ToNodeId("i=2033");
02660         ObjectAttributes attrs;
02661         attrs.Description = LocalizedText("Server information provided by the vendor.");
02662         attrs.DisplayName = LocalizedText("VendorServerInfo");
02663         attrs.EventNotifier = 0;
02664         node.Attributes = attrs;
02665         registry.AddNodes(std::vector<AddNodesItem>{node});
02666         std::vector<AddReferencesItem> refs;
02667         {
02668         AddReferencesItem ref;
02669         ref.IsForward = true;
02670         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
02671         ref.SourceNodeId = ToNodeId("i=2011");
02672         ref.TargetNodeClass = NodeClass::DataType;
02673         ref.TargetNodeId = ToNodeId("i=78");
02674         refs.push_back(ref);
02675         }
02676         registry.AddReferences(refs);
02677         }
02678        
02679         {
02680         AddNodesItem node;
02681         node.RequestedNewNodeId = ToNodeId("i=2012");
02682         node.BrowseName = ToQualifiedName("ServerRedundancy");
02683         node.Class = NodeClass::Object;
02684         node.ParentNodeId = ToNodeId("i=2004");
02685         node.ReferenceTypeId = ReferenceId::HasComponent;
02686         node.TypeDefinition = ToNodeId("i=2034");
02687         ObjectAttributes attrs;
02688         attrs.Description = LocalizedText("Describes the redundancy capabilities of the server.");
02689         attrs.DisplayName = LocalizedText("ServerRedundancy");
02690         attrs.EventNotifier = 0;
02691         node.Attributes = attrs;
02692         registry.AddNodes(std::vector<AddNodesItem>{node});
02693         std::vector<AddReferencesItem> refs;
02694         {
02695         AddReferencesItem ref;
02696         ref.IsForward = true;
02697         ref.ReferenceTypeId = ReferenceId::HasProperty;
02698         ref.SourceNodeId = ToNodeId("i=2012");
02699         ref.TargetNodeClass = NodeClass::DataType;
02700         ref.TargetNodeId = ToNodeId("i=3115");
02701         refs.push_back(ref);
02702         }
02703         {
02704         AddReferencesItem ref;
02705         ref.IsForward = true;
02706         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
02707         ref.SourceNodeId = ToNodeId("i=2012");
02708         ref.TargetNodeClass = NodeClass::DataType;
02709         ref.TargetNodeId = ToNodeId("i=78");
02710         refs.push_back(ref);
02711         }
02712         registry.AddReferences(refs);
02713         }
02714        
02715         {
02716         AddNodesItem node;
02717         node.RequestedNewNodeId = ToNodeId("i=3115");
02718         node.BrowseName = ToQualifiedName("RedundancySupport");
02719         node.Class = NodeClass::Variable;
02720         node.ParentNodeId = ToNodeId("i=2012");
02721         node.ReferenceTypeId = ReferenceId::HasProperty;
02722         node.TypeDefinition = ToNodeId("i=68");
02723         VariableAttributes attrs;
02724         attrs.Description = LocalizedText("Indicates what style of redundancy is supported by the server.");
02725         attrs.DisplayName = LocalizedText("RedundancySupport");
02726         attrs.Type = ToNodeId("i=851");
02727         attrs.Rank = -1;
02728         node.Attributes = attrs;
02729         registry.AddNodes(std::vector<AddNodesItem>{node});
02730         std::vector<AddReferencesItem> refs;
02731         {
02732         AddReferencesItem ref;
02733         ref.IsForward = true;
02734         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
02735         ref.SourceNodeId = ToNodeId("i=3115");
02736         ref.TargetNodeClass = NodeClass::DataType;
02737         ref.TargetNodeId = ToNodeId("i=78");
02738         refs.push_back(ref);
02739         }
02740         registry.AddReferences(refs);
02741         }
02742        
02743         {
02744         AddNodesItem node;
02745         node.RequestedNewNodeId = ToNodeId("i=11527");
02746         node.BrowseName = ToQualifiedName("Namespaces");
02747         node.Class = NodeClass::Object;
02748         node.ParentNodeId = ToNodeId("i=2004");
02749         node.ReferenceTypeId = ReferenceId::HasComponent;
02750         node.TypeDefinition = ToNodeId("i=11645");
02751         ObjectAttributes attrs;
02752         attrs.Description = LocalizedText("Describes the namespaces supported by the server.");
02753         attrs.DisplayName = LocalizedText("Namespaces");
02754         attrs.EventNotifier = 0;
02755         node.Attributes = attrs;
02756         registry.AddNodes(std::vector<AddNodesItem>{node});
02757         std::vector<AddReferencesItem> refs;
02758         {
02759         AddReferencesItem ref;
02760         ref.IsForward = true;
02761         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
02762         ref.SourceNodeId = ToNodeId("i=11527");
02763         ref.TargetNodeClass = NodeClass::DataType;
02764         ref.TargetNodeId = ToNodeId("i=80");
02765         refs.push_back(ref);
02766         }
02767         registry.AddReferences(refs);
02768         }
02769        
02770         {
02771         AddNodesItem node;
02772         node.RequestedNewNodeId = ToNodeId("i=11490");
02773         node.BrowseName = ToQualifiedName("InputArguments");
02774         node.Class = NodeClass::Variable;
02775         node.ParentNodeId = ToNodeId("i=11489");
02776         node.ReferenceTypeId = ReferenceId::HasProperty;
02777         node.TypeDefinition = ToNodeId("i=68");
02778         VariableAttributes attrs;
02779         attrs.DisplayName = LocalizedText("InputArguments");
02780         attrs.Type = ToNodeId("i=296");
02781         attrs.Rank = 1;
02782         node.Attributes = attrs;
02783         registry.AddNodes(std::vector<AddNodesItem>{node});
02784         std::vector<AddReferencesItem> refs;
02785         {
02786         AddReferencesItem ref;
02787         ref.IsForward = true;
02788         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
02789         ref.SourceNodeId = ToNodeId("i=11490");
02790         ref.TargetNodeClass = NodeClass::DataType;
02791         ref.TargetNodeId = ToNodeId("i=78");
02792         refs.push_back(ref);
02793         }
02794         registry.AddReferences(refs);
02795         }
02796        
02797         {
02798         AddNodesItem node;
02799         node.RequestedNewNodeId = ToNodeId("i=11491");
02800         node.BrowseName = ToQualifiedName("OutputArguments");
02801         node.Class = NodeClass::Variable;
02802         node.ParentNodeId = ToNodeId("i=11489");
02803         node.ReferenceTypeId = ReferenceId::HasProperty;
02804         node.TypeDefinition = ToNodeId("i=68");
02805         VariableAttributes attrs;
02806         attrs.DisplayName = LocalizedText("OutputArguments");
02807         attrs.Type = ToNodeId("i=296");
02808         attrs.Rank = 1;
02809         node.Attributes = attrs;
02810         registry.AddNodes(std::vector<AddNodesItem>{node});
02811         std::vector<AddReferencesItem> refs;
02812         {
02813         AddReferencesItem ref;
02814         ref.IsForward = true;
02815         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
02816         ref.SourceNodeId = ToNodeId("i=11491");
02817         ref.TargetNodeClass = NodeClass::DataType;
02818         ref.TargetNodeId = ToNodeId("i=78");
02819         refs.push_back(ref);
02820         }
02821         registry.AddReferences(refs);
02822         }
02823        
02824         {
02825         AddNodesItem node;
02826         node.RequestedNewNodeId = ToNodeId("i=2013");
02827         node.BrowseName = ToQualifiedName("ServerCapabilitiesType");
02828         node.Class = NodeClass::ObjectType;
02829         node.ParentNodeId = ToNodeId("i=58");
02830         node.ReferenceTypeId = ReferenceId::HasSubtype;
02831         ObjectTypeAttributes attrs;
02832         attrs.Description = LocalizedText("Describes the capabilities supported by the server.");
02833         attrs.DisplayName = LocalizedText("ServerCapabilitiesType");
02834         attrs.IsAbstract = false;
02835         node.Attributes = attrs;
02836         registry.AddNodes(std::vector<AddNodesItem>{node});
02837         std::vector<AddReferencesItem> refs;
02838         {
02839         AddReferencesItem ref;
02840         ref.IsForward = true;
02841         ref.ReferenceTypeId = ReferenceId::HasProperty;
02842         ref.SourceNodeId = ToNodeId("i=2013");
02843         ref.TargetNodeClass = NodeClass::DataType;
02844         ref.TargetNodeId = ToNodeId("i=2014");
02845         refs.push_back(ref);
02846         }
02847         {
02848         AddReferencesItem ref;
02849         ref.IsForward = true;
02850         ref.ReferenceTypeId = ReferenceId::HasProperty;
02851         ref.SourceNodeId = ToNodeId("i=2013");
02852         ref.TargetNodeClass = NodeClass::DataType;
02853         ref.TargetNodeId = ToNodeId("i=2016");
02854         refs.push_back(ref);
02855         }
02856         {
02857         AddReferencesItem ref;
02858         ref.IsForward = true;
02859         ref.ReferenceTypeId = ReferenceId::HasProperty;
02860         ref.SourceNodeId = ToNodeId("i=2013");
02861         ref.TargetNodeClass = NodeClass::DataType;
02862         ref.TargetNodeId = ToNodeId("i=2017");
02863         refs.push_back(ref);
02864         }
02865         {
02866         AddReferencesItem ref;
02867         ref.IsForward = true;
02868         ref.ReferenceTypeId = ReferenceId::HasProperty;
02869         ref.SourceNodeId = ToNodeId("i=2013");
02870         ref.TargetNodeClass = NodeClass::DataType;
02871         ref.TargetNodeId = ToNodeId("i=2732");
02872         refs.push_back(ref);
02873         }
02874         {
02875         AddReferencesItem ref;
02876         ref.IsForward = true;
02877         ref.ReferenceTypeId = ReferenceId::HasProperty;
02878         ref.SourceNodeId = ToNodeId("i=2013");
02879         ref.TargetNodeClass = NodeClass::DataType;
02880         ref.TargetNodeId = ToNodeId("i=2733");
02881         refs.push_back(ref);
02882         }
02883         {
02884         AddReferencesItem ref;
02885         ref.IsForward = true;
02886         ref.ReferenceTypeId = ReferenceId::HasProperty;
02887         ref.SourceNodeId = ToNodeId("i=2013");
02888         ref.TargetNodeClass = NodeClass::DataType;
02889         ref.TargetNodeId = ToNodeId("i=2734");
02890         refs.push_back(ref);
02891         }
02892         {
02893         AddReferencesItem ref;
02894         ref.IsForward = true;
02895         ref.ReferenceTypeId = ReferenceId::HasProperty;
02896         ref.SourceNodeId = ToNodeId("i=2013");
02897         ref.TargetNodeClass = NodeClass::DataType;
02898         ref.TargetNodeId = ToNodeId("i=3049");
02899         refs.push_back(ref);
02900         }
02901         {
02902         AddReferencesItem ref;
02903         ref.IsForward = true;
02904         ref.ReferenceTypeId = ReferenceId::HasProperty;
02905         ref.SourceNodeId = ToNodeId("i=2013");
02906         ref.TargetNodeClass = NodeClass::DataType;
02907         ref.TargetNodeId = ToNodeId("i=11549");
02908         refs.push_back(ref);
02909         }
02910         {
02911         AddReferencesItem ref;
02912         ref.IsForward = true;
02913         ref.ReferenceTypeId = ReferenceId::HasProperty;
02914         ref.SourceNodeId = ToNodeId("i=2013");
02915         ref.TargetNodeClass = NodeClass::DataType;
02916         ref.TargetNodeId = ToNodeId("i=11550");
02917         refs.push_back(ref);
02918         }
02919         {
02920         AddReferencesItem ref;
02921         ref.IsForward = true;
02922         ref.ReferenceTypeId = ReferenceId::HasComponent;
02923         ref.SourceNodeId = ToNodeId("i=2013");
02924         ref.TargetNodeClass = NodeClass::DataType;
02925         ref.TargetNodeId = ToNodeId("i=11551");
02926         refs.push_back(ref);
02927         }
02928         {
02929         AddReferencesItem ref;
02930         ref.IsForward = true;
02931         ref.ReferenceTypeId = ReferenceId::HasComponent;
02932         ref.SourceNodeId = ToNodeId("i=2013");
02933         ref.TargetNodeClass = NodeClass::DataType;
02934         ref.TargetNodeId = ToNodeId("i=2019");
02935         refs.push_back(ref);
02936         }
02937         {
02938         AddReferencesItem ref;
02939         ref.IsForward = true;
02940         ref.ReferenceTypeId = ReferenceId::HasComponent;
02941         ref.SourceNodeId = ToNodeId("i=2013");
02942         ref.TargetNodeClass = NodeClass::DataType;
02943         ref.TargetNodeId = ToNodeId("i=2754");
02944         refs.push_back(ref);
02945         }
02946         {
02947         AddReferencesItem ref;
02948         ref.IsForward = true;
02949         ref.ReferenceTypeId = ReferenceId::HasComponent;
02950         ref.SourceNodeId = ToNodeId("i=2013");
02951         ref.TargetNodeClass = NodeClass::DataType;
02952         ref.TargetNodeId = ToNodeId("i=11562");
02953         refs.push_back(ref);
02954         }
02955         registry.AddReferences(refs);
02956         }
02957        
02958         {
02959         AddNodesItem node;
02960         node.RequestedNewNodeId = ToNodeId("i=2014");
02961         node.BrowseName = ToQualifiedName("ServerProfileArray");
02962         node.Class = NodeClass::Variable;
02963         node.ParentNodeId = ToNodeId("i=2013");
02964         node.ReferenceTypeId = ReferenceId::HasProperty;
02965         node.TypeDefinition = ToNodeId("i=68");
02966         VariableAttributes attrs;
02967         attrs.Description = LocalizedText("A list of profiles supported by the server.");
02968         attrs.DisplayName = LocalizedText("ServerProfileArray");
02969         attrs.Type = ObjectId::String;
02970         attrs.Rank = 1;
02971         node.Attributes = attrs;
02972         registry.AddNodes(std::vector<AddNodesItem>{node});
02973         std::vector<AddReferencesItem> refs;
02974         {
02975         AddReferencesItem ref;
02976         ref.IsForward = true;
02977         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
02978         ref.SourceNodeId = ToNodeId("i=2014");
02979         ref.TargetNodeClass = NodeClass::DataType;
02980         ref.TargetNodeId = ToNodeId("i=78");
02981         refs.push_back(ref);
02982         }
02983         registry.AddReferences(refs);
02984         }
02985        
02986         {
02987         AddNodesItem node;
02988         node.RequestedNewNodeId = ToNodeId("i=2016");
02989         node.BrowseName = ToQualifiedName("LocaleIdArray");
02990         node.Class = NodeClass::Variable;
02991         node.ParentNodeId = ToNodeId("i=2013");
02992         node.ReferenceTypeId = ReferenceId::HasProperty;
02993         node.TypeDefinition = ToNodeId("i=68");
02994         VariableAttributes attrs;
02995         attrs.Description = LocalizedText("A list of locales supported by the server.");
02996         attrs.DisplayName = LocalizedText("LocaleIdArray");
02997         attrs.Type = ToNodeId("i=295");
02998         attrs.Rank = 1;
02999         node.Attributes = attrs;
03000         registry.AddNodes(std::vector<AddNodesItem>{node});
03001         std::vector<AddReferencesItem> refs;
03002         {
03003         AddReferencesItem ref;
03004         ref.IsForward = true;
03005         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
03006         ref.SourceNodeId = ToNodeId("i=2016");
03007         ref.TargetNodeClass = NodeClass::DataType;
03008         ref.TargetNodeId = ToNodeId("i=78");
03009         refs.push_back(ref);
03010         }
03011         registry.AddReferences(refs);
03012         }
03013        
03014         {
03015         AddNodesItem node;
03016         node.RequestedNewNodeId = ToNodeId("i=2017");
03017         node.BrowseName = ToQualifiedName("MinSupportedSampleRate");
03018         node.Class = NodeClass::Variable;
03019         node.ParentNodeId = ToNodeId("i=2013");
03020         node.ReferenceTypeId = ReferenceId::HasProperty;
03021         node.TypeDefinition = ToNodeId("i=68");
03022         VariableAttributes attrs;
03023         attrs.Description = LocalizedText("The minimum sampling interval supported by the server.");
03024         attrs.DisplayName = LocalizedText("MinSupportedSampleRate");
03025         attrs.Type = ToNodeId("i=290");
03026         attrs.Rank = -1;
03027         node.Attributes = attrs;
03028         registry.AddNodes(std::vector<AddNodesItem>{node});
03029         std::vector<AddReferencesItem> refs;
03030         {
03031         AddReferencesItem ref;
03032         ref.IsForward = true;
03033         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
03034         ref.SourceNodeId = ToNodeId("i=2017");
03035         ref.TargetNodeClass = NodeClass::DataType;
03036         ref.TargetNodeId = ToNodeId("i=78");
03037         refs.push_back(ref);
03038         }
03039         registry.AddReferences(refs);
03040         }
03041        
03042         {
03043         AddNodesItem node;
03044         node.RequestedNewNodeId = ToNodeId("i=2732");
03045         node.BrowseName = ToQualifiedName("MaxBrowseContinuationPoints");
03046         node.Class = NodeClass::Variable;
03047         node.ParentNodeId = ToNodeId("i=2013");
03048         node.ReferenceTypeId = ReferenceId::HasProperty;
03049         node.TypeDefinition = ToNodeId("i=68");
03050         VariableAttributes attrs;
03051         attrs.Description = LocalizedText("The maximum number of continuation points for Browse operations per session.");
03052         attrs.DisplayName = LocalizedText("MaxBrowseContinuationPoints");
03053         attrs.Type = ObjectId::UInt16;
03054         attrs.Rank = -1;
03055         node.Attributes = attrs;
03056         registry.AddNodes(std::vector<AddNodesItem>{node});
03057         std::vector<AddReferencesItem> refs;
03058         {
03059         AddReferencesItem ref;
03060         ref.IsForward = true;
03061         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
03062         ref.SourceNodeId = ToNodeId("i=2732");
03063         ref.TargetNodeClass = NodeClass::DataType;
03064         ref.TargetNodeId = ToNodeId("i=78");
03065         refs.push_back(ref);
03066         }
03067         registry.AddReferences(refs);
03068         }
03069        
03070         {
03071         AddNodesItem node;
03072         node.RequestedNewNodeId = ToNodeId("i=2733");
03073         node.BrowseName = ToQualifiedName("MaxQueryContinuationPoints");
03074         node.Class = NodeClass::Variable;
03075         node.ParentNodeId = ToNodeId("i=2013");
03076         node.ReferenceTypeId = ReferenceId::HasProperty;
03077         node.TypeDefinition = ToNodeId("i=68");
03078         VariableAttributes attrs;
03079         attrs.Description = LocalizedText("The maximum number of continuation points for Query operations per session.");
03080         attrs.DisplayName = LocalizedText("MaxQueryContinuationPoints");
03081         attrs.Type = ObjectId::UInt16;
03082         attrs.Rank = -1;
03083         node.Attributes = attrs;
03084         registry.AddNodes(std::vector<AddNodesItem>{node});
03085         std::vector<AddReferencesItem> refs;
03086         {
03087         AddReferencesItem ref;
03088         ref.IsForward = true;
03089         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
03090         ref.SourceNodeId = ToNodeId("i=2733");
03091         ref.TargetNodeClass = NodeClass::DataType;
03092         ref.TargetNodeId = ToNodeId("i=78");
03093         refs.push_back(ref);
03094         }
03095         registry.AddReferences(refs);
03096         }
03097        
03098         {
03099         AddNodesItem node;
03100         node.RequestedNewNodeId = ToNodeId("i=2734");
03101         node.BrowseName = ToQualifiedName("MaxHistoryContinuationPoints");
03102         node.Class = NodeClass::Variable;
03103         node.ParentNodeId = ToNodeId("i=2013");
03104         node.ReferenceTypeId = ReferenceId::HasProperty;
03105         node.TypeDefinition = ToNodeId("i=68");
03106         VariableAttributes attrs;
03107         attrs.Description = LocalizedText("The maximum number of continuation points for ReadHistory operations per session.");
03108         attrs.DisplayName = LocalizedText("MaxHistoryContinuationPoints");
03109         attrs.Type = ObjectId::UInt16;
03110         attrs.Rank = -1;
03111         node.Attributes = attrs;
03112         registry.AddNodes(std::vector<AddNodesItem>{node});
03113         std::vector<AddReferencesItem> refs;
03114         {
03115         AddReferencesItem ref;
03116         ref.IsForward = true;
03117         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
03118         ref.SourceNodeId = ToNodeId("i=2734");
03119         ref.TargetNodeClass = NodeClass::DataType;
03120         ref.TargetNodeId = ToNodeId("i=78");
03121         refs.push_back(ref);
03122         }
03123         registry.AddReferences(refs);
03124         }
03125        
03126         {
03127         AddNodesItem node;
03128         node.RequestedNewNodeId = ToNodeId("i=3049");
03129         node.BrowseName = ToQualifiedName("SoftwareCertificates");
03130         node.Class = NodeClass::Variable;
03131         node.ParentNodeId = ToNodeId("i=2013");
03132         node.ReferenceTypeId = ReferenceId::HasProperty;
03133         node.TypeDefinition = ToNodeId("i=68");
03134         VariableAttributes attrs;
03135         attrs.Description = LocalizedText("The software certificates owned by the server.");
03136         attrs.DisplayName = LocalizedText("SoftwareCertificates");
03137         attrs.Type = ToNodeId("i=344");
03138         attrs.Rank = 1;
03139         node.Attributes = attrs;
03140         registry.AddNodes(std::vector<AddNodesItem>{node});
03141         std::vector<AddReferencesItem> refs;
03142         {
03143         AddReferencesItem ref;
03144         ref.IsForward = true;
03145         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
03146         ref.SourceNodeId = ToNodeId("i=3049");
03147         ref.TargetNodeClass = NodeClass::DataType;
03148         ref.TargetNodeId = ToNodeId("i=78");
03149         refs.push_back(ref);
03150         }
03151         registry.AddReferences(refs);
03152         }
03153        
03154         {
03155         AddNodesItem node;
03156         node.RequestedNewNodeId = ToNodeId("i=11549");
03157         node.BrowseName = ToQualifiedName("MaxArrayLength");
03158         node.Class = NodeClass::Variable;
03159         node.ParentNodeId = ToNodeId("i=2013");
03160         node.ReferenceTypeId = ReferenceId::HasProperty;
03161         node.TypeDefinition = ToNodeId("i=68");
03162         VariableAttributes attrs;
03163         attrs.Description = LocalizedText("The maximum length for an array value supported by the server.");
03164         attrs.DisplayName = LocalizedText("MaxArrayLength");
03165         attrs.Type = ObjectId::UInt32;
03166         attrs.Rank = -1;
03167         node.Attributes = attrs;
03168         registry.AddNodes(std::vector<AddNodesItem>{node});
03169         std::vector<AddReferencesItem> refs;
03170         {
03171         AddReferencesItem ref;
03172         ref.IsForward = true;
03173         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
03174         ref.SourceNodeId = ToNodeId("i=11549");
03175         ref.TargetNodeClass = NodeClass::DataType;
03176         ref.TargetNodeId = ToNodeId("i=80");
03177         refs.push_back(ref);
03178         }
03179         registry.AddReferences(refs);
03180         }
03181        
03182         {
03183         AddNodesItem node;
03184         node.RequestedNewNodeId = ToNodeId("i=11550");
03185         node.BrowseName = ToQualifiedName("MaxStringLength");
03186         node.Class = NodeClass::Variable;
03187         node.ParentNodeId = ToNodeId("i=2013");
03188         node.ReferenceTypeId = ReferenceId::HasProperty;
03189         node.TypeDefinition = ToNodeId("i=68");
03190         VariableAttributes attrs;
03191         attrs.Description = LocalizedText("The maximum length for a string value supported by the server.");
03192         attrs.DisplayName = LocalizedText("MaxStringLength");
03193         attrs.Type = ObjectId::UInt32;
03194         attrs.Rank = -1;
03195         node.Attributes = attrs;
03196         registry.AddNodes(std::vector<AddNodesItem>{node});
03197         std::vector<AddReferencesItem> refs;
03198         {
03199         AddReferencesItem ref;
03200         ref.IsForward = true;
03201         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
03202         ref.SourceNodeId = ToNodeId("i=11550");
03203         ref.TargetNodeClass = NodeClass::DataType;
03204         ref.TargetNodeId = ToNodeId("i=80");
03205         refs.push_back(ref);
03206         }
03207         registry.AddReferences(refs);
03208         }
03209        
03210         {
03211         AddNodesItem node;
03212         node.RequestedNewNodeId = ToNodeId("i=11551");
03213         node.BrowseName = ToQualifiedName("OperationLimits");
03214         node.Class = NodeClass::Object;
03215         node.ParentNodeId = ToNodeId("i=2013");
03216         node.ReferenceTypeId = ReferenceId::HasComponent;
03217         node.TypeDefinition = ToNodeId("i=11564");
03218         ObjectAttributes attrs;
03219         attrs.Description = LocalizedText("Defines the limits supported by the server for different operations.");
03220         attrs.DisplayName = LocalizedText("OperationLimits");
03221         attrs.EventNotifier = 0;
03222         node.Attributes = attrs;
03223         registry.AddNodes(std::vector<AddNodesItem>{node});
03224         std::vector<AddReferencesItem> refs;
03225         {
03226         AddReferencesItem ref;
03227         ref.IsForward = true;
03228         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
03229         ref.SourceNodeId = ToNodeId("i=11551");
03230         ref.TargetNodeClass = NodeClass::DataType;
03231         ref.TargetNodeId = ToNodeId("i=80");
03232         refs.push_back(ref);
03233         }
03234         registry.AddReferences(refs);
03235         }
03236        
03237         {
03238         AddNodesItem node;
03239         node.RequestedNewNodeId = ToNodeId("i=2019");
03240         node.BrowseName = ToQualifiedName("ModellingRules");
03241         node.Class = NodeClass::Object;
03242         node.ParentNodeId = ToNodeId("i=2013");
03243         node.ReferenceTypeId = ReferenceId::HasComponent;
03244         node.TypeDefinition = ToNodeId("i=61");
03245         ObjectAttributes attrs;
03246         attrs.Description = LocalizedText("A folder for the modelling rules supported by the server.");
03247         attrs.DisplayName = LocalizedText("ModellingRules");
03248         attrs.EventNotifier = 0;
03249         node.Attributes = attrs;
03250         registry.AddNodes(std::vector<AddNodesItem>{node});
03251         std::vector<AddReferencesItem> refs;
03252         {
03253         AddReferencesItem ref;
03254         ref.IsForward = true;
03255         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
03256         ref.SourceNodeId = ToNodeId("i=2019");
03257         ref.TargetNodeClass = NodeClass::DataType;
03258         ref.TargetNodeId = ToNodeId("i=78");
03259         refs.push_back(ref);
03260         }
03261         registry.AddReferences(refs);
03262         }
03263        
03264         {
03265         AddNodesItem node;
03266         node.RequestedNewNodeId = ToNodeId("i=2754");
03267         node.BrowseName = ToQualifiedName("AggregateFunctions");
03268         node.Class = NodeClass::Object;
03269         node.ParentNodeId = ToNodeId("i=2013");
03270         node.ReferenceTypeId = ReferenceId::HasComponent;
03271         node.TypeDefinition = ToNodeId("i=61");
03272         ObjectAttributes attrs;
03273         attrs.Description = LocalizedText("A folder for the real time aggregates supported by the server.");
03274         attrs.DisplayName = LocalizedText("AggregateFunctions");
03275         attrs.EventNotifier = 0;
03276         node.Attributes = attrs;
03277         registry.AddNodes(std::vector<AddNodesItem>{node});
03278         std::vector<AddReferencesItem> refs;
03279         {
03280         AddReferencesItem ref;
03281         ref.IsForward = true;
03282         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
03283         ref.SourceNodeId = ToNodeId("i=2754");
03284         ref.TargetNodeClass = NodeClass::DataType;
03285         ref.TargetNodeId = ToNodeId("i=78");
03286         refs.push_back(ref);
03287         }
03288         registry.AddReferences(refs);
03289         }
03290        
03291         {
03292         AddNodesItem node;
03293         node.RequestedNewNodeId = ToNodeId("i=11562");
03294         node.BrowseName = ToQualifiedName("<VendorCapability>");
03295         node.Class = NodeClass::Variable;
03296         node.ParentNodeId = ToNodeId("i=2013");
03297         node.ReferenceTypeId = ReferenceId::HasComponent;
03298         node.TypeDefinition = ToNodeId("i=2137");
03299         VariableAttributes attrs;
03300         attrs.DisplayName = LocalizedText("<VendorCapability>");
03301         attrs.Type = ObjectId::String;
03302         attrs.Rank = -1;
03303         node.Attributes = attrs;
03304         registry.AddNodes(std::vector<AddNodesItem>{node});
03305         std::vector<AddReferencesItem> refs;
03306         {
03307         AddReferencesItem ref;
03308         ref.IsForward = true;
03309         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
03310         ref.SourceNodeId = ToNodeId("i=11562");
03311         ref.TargetNodeClass = NodeClass::DataType;
03312         ref.TargetNodeId = ToNodeId("i=11508");
03313         refs.push_back(ref);
03314         }
03315         registry.AddReferences(refs);
03316         }
03317        
03318         {
03319         AddNodesItem node;
03320         node.RequestedNewNodeId = ToNodeId("i=2020");
03321         node.BrowseName = ToQualifiedName("ServerDiagnosticsType");
03322         node.Class = NodeClass::ObjectType;
03323         node.ParentNodeId = ToNodeId("i=58");
03324         node.ReferenceTypeId = ReferenceId::HasSubtype;
03325         ObjectTypeAttributes attrs;
03326         attrs.Description = LocalizedText("The diagnostics information for a server.");
03327         attrs.DisplayName = LocalizedText("ServerDiagnosticsType");
03328         attrs.IsAbstract = false;
03329         node.Attributes = attrs;
03330         registry.AddNodes(std::vector<AddNodesItem>{node});
03331         std::vector<AddReferencesItem> refs;
03332         {
03333         AddReferencesItem ref;
03334         ref.IsForward = true;
03335         ref.ReferenceTypeId = ReferenceId::HasComponent;
03336         ref.SourceNodeId = ToNodeId("i=2020");
03337         ref.TargetNodeClass = NodeClass::DataType;
03338         ref.TargetNodeId = ToNodeId("i=2021");
03339         refs.push_back(ref);
03340         }
03341         {
03342         AddReferencesItem ref;
03343         ref.IsForward = true;
03344         ref.ReferenceTypeId = ReferenceId::HasComponent;
03345         ref.SourceNodeId = ToNodeId("i=2020");
03346         ref.TargetNodeClass = NodeClass::DataType;
03347         ref.TargetNodeId = ToNodeId("i=2022");
03348         refs.push_back(ref);
03349         }
03350         {
03351         AddReferencesItem ref;
03352         ref.IsForward = true;
03353         ref.ReferenceTypeId = ReferenceId::HasComponent;
03354         ref.SourceNodeId = ToNodeId("i=2020");
03355         ref.TargetNodeClass = NodeClass::DataType;
03356         ref.TargetNodeId = ToNodeId("i=2023");
03357         refs.push_back(ref);
03358         }
03359         {
03360         AddReferencesItem ref;
03361         ref.IsForward = true;
03362         ref.ReferenceTypeId = ReferenceId::HasComponent;
03363         ref.SourceNodeId = ToNodeId("i=2020");
03364         ref.TargetNodeClass = NodeClass::DataType;
03365         ref.TargetNodeId = ToNodeId("i=2744");
03366         refs.push_back(ref);
03367         }
03368         {
03369         AddReferencesItem ref;
03370         ref.IsForward = true;
03371         ref.ReferenceTypeId = ReferenceId::HasProperty;
03372         ref.SourceNodeId = ToNodeId("i=2020");
03373         ref.TargetNodeClass = NodeClass::DataType;
03374         ref.TargetNodeId = ToNodeId("i=2025");
03375         refs.push_back(ref);
03376         }
03377         registry.AddReferences(refs);
03378         }
03379        
03380         {
03381         AddNodesItem node;
03382         node.RequestedNewNodeId = ToNodeId("i=2021");
03383         node.BrowseName = ToQualifiedName("ServerDiagnosticsSummary");
03384         node.Class = NodeClass::Variable;
03385         node.ParentNodeId = ToNodeId("i=2020");
03386         node.ReferenceTypeId = ReferenceId::HasComponent;
03387         node.TypeDefinition = ToNodeId("i=2150");
03388         VariableAttributes attrs;
03389         attrs.Description = LocalizedText("A summary of server level diagnostics.");
03390         attrs.DisplayName = LocalizedText("ServerDiagnosticsSummary");
03391         attrs.Type = ToNodeId("i=859");
03392         attrs.Rank = -1;
03393         node.Attributes = attrs;
03394         registry.AddNodes(std::vector<AddNodesItem>{node});
03395         std::vector<AddReferencesItem> refs;
03396         {
03397         AddReferencesItem ref;
03398         ref.IsForward = true;
03399         ref.ReferenceTypeId = ReferenceId::HasComponent;
03400         ref.SourceNodeId = ToNodeId("i=2021");
03401         ref.TargetNodeClass = NodeClass::DataType;
03402         ref.TargetNodeId = ToNodeId("i=3116");
03403         refs.push_back(ref);
03404         }
03405         {
03406         AddReferencesItem ref;
03407         ref.IsForward = true;
03408         ref.ReferenceTypeId = ReferenceId::HasComponent;
03409         ref.SourceNodeId = ToNodeId("i=2021");
03410         ref.TargetNodeClass = NodeClass::DataType;
03411         ref.TargetNodeId = ToNodeId("i=3117");
03412         refs.push_back(ref);
03413         }
03414         {
03415         AddReferencesItem ref;
03416         ref.IsForward = true;
03417         ref.ReferenceTypeId = ReferenceId::HasComponent;
03418         ref.SourceNodeId = ToNodeId("i=2021");
03419         ref.TargetNodeClass = NodeClass::DataType;
03420         ref.TargetNodeId = ToNodeId("i=3118");
03421         refs.push_back(ref);
03422         }
03423         {
03424         AddReferencesItem ref;
03425         ref.IsForward = true;
03426         ref.ReferenceTypeId = ReferenceId::HasComponent;
03427         ref.SourceNodeId = ToNodeId("i=2021");
03428         ref.TargetNodeClass = NodeClass::DataType;
03429         ref.TargetNodeId = ToNodeId("i=3119");
03430         refs.push_back(ref);
03431         }
03432         {
03433         AddReferencesItem ref;
03434         ref.IsForward = true;
03435         ref.ReferenceTypeId = ReferenceId::HasComponent;
03436         ref.SourceNodeId = ToNodeId("i=2021");
03437         ref.TargetNodeClass = NodeClass::DataType;
03438         ref.TargetNodeId = ToNodeId("i=3120");
03439         refs.push_back(ref);
03440         }
03441         {
03442         AddReferencesItem ref;
03443         ref.IsForward = true;
03444         ref.ReferenceTypeId = ReferenceId::HasComponent;
03445         ref.SourceNodeId = ToNodeId("i=2021");
03446         ref.TargetNodeClass = NodeClass::DataType;
03447         ref.TargetNodeId = ToNodeId("i=3121");
03448         refs.push_back(ref);
03449         }
03450         {
03451         AddReferencesItem ref;
03452         ref.IsForward = true;
03453         ref.ReferenceTypeId = ReferenceId::HasComponent;
03454         ref.SourceNodeId = ToNodeId("i=2021");
03455         ref.TargetNodeClass = NodeClass::DataType;
03456         ref.TargetNodeId = ToNodeId("i=3122");
03457         refs.push_back(ref);
03458         }
03459         {
03460         AddReferencesItem ref;
03461         ref.IsForward = true;
03462         ref.ReferenceTypeId = ReferenceId::HasComponent;
03463         ref.SourceNodeId = ToNodeId("i=2021");
03464         ref.TargetNodeClass = NodeClass::DataType;
03465         ref.TargetNodeId = ToNodeId("i=3124");
03466         refs.push_back(ref);
03467         }
03468         {
03469         AddReferencesItem ref;
03470         ref.IsForward = true;
03471         ref.ReferenceTypeId = ReferenceId::HasComponent;
03472         ref.SourceNodeId = ToNodeId("i=2021");
03473         ref.TargetNodeClass = NodeClass::DataType;
03474         ref.TargetNodeId = ToNodeId("i=3125");
03475         refs.push_back(ref);
03476         }
03477         {
03478         AddReferencesItem ref;
03479         ref.IsForward = true;
03480         ref.ReferenceTypeId = ReferenceId::HasComponent;
03481         ref.SourceNodeId = ToNodeId("i=2021");
03482         ref.TargetNodeClass = NodeClass::DataType;
03483         ref.TargetNodeId = ToNodeId("i=3126");
03484         refs.push_back(ref);
03485         }
03486         {
03487         AddReferencesItem ref;
03488         ref.IsForward = true;
03489         ref.ReferenceTypeId = ReferenceId::HasComponent;
03490         ref.SourceNodeId = ToNodeId("i=2021");
03491         ref.TargetNodeClass = NodeClass::DataType;
03492         ref.TargetNodeId = ToNodeId("i=3127");
03493         refs.push_back(ref);
03494         }
03495         {
03496         AddReferencesItem ref;
03497         ref.IsForward = true;
03498         ref.ReferenceTypeId = ReferenceId::HasComponent;
03499         ref.SourceNodeId = ToNodeId("i=2021");
03500         ref.TargetNodeClass = NodeClass::DataType;
03501         ref.TargetNodeId = ToNodeId("i=3128");
03502         refs.push_back(ref);
03503         }
03504         {
03505         AddReferencesItem ref;
03506         ref.IsForward = true;
03507         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
03508         ref.SourceNodeId = ToNodeId("i=2021");
03509         ref.TargetNodeClass = NodeClass::DataType;
03510         ref.TargetNodeId = ToNodeId("i=78");
03511         refs.push_back(ref);
03512         }
03513         registry.AddReferences(refs);
03514         }
03515        
03516         {
03517         AddNodesItem node;
03518         node.RequestedNewNodeId = ToNodeId("i=3116");
03519         node.BrowseName = ToQualifiedName("ServerViewCount");
03520         node.Class = NodeClass::Variable;
03521         node.ParentNodeId = ToNodeId("i=2021");
03522         node.ReferenceTypeId = ReferenceId::HasComponent;
03523         node.TypeDefinition = ToNodeId("i=63");
03524         VariableAttributes attrs;
03525         attrs.DisplayName = LocalizedText("ServerViewCount");
03526         attrs.Type = ObjectId::UInt32;
03527         attrs.Rank = -1;
03528         node.Attributes = attrs;
03529         registry.AddNodes(std::vector<AddNodesItem>{node});
03530         std::vector<AddReferencesItem> refs;
03531         {
03532         AddReferencesItem ref;
03533         ref.IsForward = true;
03534         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
03535         ref.SourceNodeId = ToNodeId("i=3116");
03536         ref.TargetNodeClass = NodeClass::DataType;
03537         ref.TargetNodeId = ToNodeId("i=78");
03538         refs.push_back(ref);
03539         }
03540         registry.AddReferences(refs);
03541         }
03542        
03543         {
03544         AddNodesItem node;
03545         node.RequestedNewNodeId = ToNodeId("i=3117");
03546         node.BrowseName = ToQualifiedName("CurrentSessionCount");
03547         node.Class = NodeClass::Variable;
03548         node.ParentNodeId = ToNodeId("i=2021");
03549         node.ReferenceTypeId = ReferenceId::HasComponent;
03550         node.TypeDefinition = ToNodeId("i=63");
03551         VariableAttributes attrs;
03552         attrs.DisplayName = LocalizedText("CurrentSessionCount");
03553         attrs.Type = ObjectId::UInt32;
03554         attrs.Rank = -1;
03555         node.Attributes = attrs;
03556         registry.AddNodes(std::vector<AddNodesItem>{node});
03557         std::vector<AddReferencesItem> refs;
03558         {
03559         AddReferencesItem ref;
03560         ref.IsForward = true;
03561         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
03562         ref.SourceNodeId = ToNodeId("i=3117");
03563         ref.TargetNodeClass = NodeClass::DataType;
03564         ref.TargetNodeId = ToNodeId("i=78");
03565         refs.push_back(ref);
03566         }
03567         registry.AddReferences(refs);
03568         }
03569        
03570         {
03571         AddNodesItem node;
03572         node.RequestedNewNodeId = ToNodeId("i=3118");
03573         node.BrowseName = ToQualifiedName("CumulatedSessionCount");
03574         node.Class = NodeClass::Variable;
03575         node.ParentNodeId = ToNodeId("i=2021");
03576         node.ReferenceTypeId = ReferenceId::HasComponent;
03577         node.TypeDefinition = ToNodeId("i=63");
03578         VariableAttributes attrs;
03579         attrs.DisplayName = LocalizedText("CumulatedSessionCount");
03580         attrs.Type = ObjectId::UInt32;
03581         attrs.Rank = -1;
03582         node.Attributes = attrs;
03583         registry.AddNodes(std::vector<AddNodesItem>{node});
03584         std::vector<AddReferencesItem> refs;
03585         {
03586         AddReferencesItem ref;
03587         ref.IsForward = true;
03588         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
03589         ref.SourceNodeId = ToNodeId("i=3118");
03590         ref.TargetNodeClass = NodeClass::DataType;
03591         ref.TargetNodeId = ToNodeId("i=78");
03592         refs.push_back(ref);
03593         }
03594         registry.AddReferences(refs);
03595         }
03596        
03597         {
03598         AddNodesItem node;
03599         node.RequestedNewNodeId = ToNodeId("i=3119");
03600         node.BrowseName = ToQualifiedName("SecurityRejectedSessionCount");
03601         node.Class = NodeClass::Variable;
03602         node.ParentNodeId = ToNodeId("i=2021");
03603         node.ReferenceTypeId = ReferenceId::HasComponent;
03604         node.TypeDefinition = ToNodeId("i=63");
03605         VariableAttributes attrs;
03606         attrs.DisplayName = LocalizedText("SecurityRejectedSessionCount");
03607         attrs.Type = ObjectId::UInt32;
03608         attrs.Rank = -1;
03609         node.Attributes = attrs;
03610         registry.AddNodes(std::vector<AddNodesItem>{node});
03611         std::vector<AddReferencesItem> refs;
03612         {
03613         AddReferencesItem ref;
03614         ref.IsForward = true;
03615         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
03616         ref.SourceNodeId = ToNodeId("i=3119");
03617         ref.TargetNodeClass = NodeClass::DataType;
03618         ref.TargetNodeId = ToNodeId("i=78");
03619         refs.push_back(ref);
03620         }
03621         registry.AddReferences(refs);
03622         }
03623        
03624         {
03625         AddNodesItem node;
03626         node.RequestedNewNodeId = ToNodeId("i=3120");
03627         node.BrowseName = ToQualifiedName("RejectedSessionCount");
03628         node.Class = NodeClass::Variable;
03629         node.ParentNodeId = ToNodeId("i=2021");
03630         node.ReferenceTypeId = ReferenceId::HasComponent;
03631         node.TypeDefinition = ToNodeId("i=63");
03632         VariableAttributes attrs;
03633         attrs.DisplayName = LocalizedText("RejectedSessionCount");
03634         attrs.Type = ObjectId::UInt32;
03635         attrs.Rank = -1;
03636         node.Attributes = attrs;
03637         registry.AddNodes(std::vector<AddNodesItem>{node});
03638         std::vector<AddReferencesItem> refs;
03639         {
03640         AddReferencesItem ref;
03641         ref.IsForward = true;
03642         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
03643         ref.SourceNodeId = ToNodeId("i=3120");
03644         ref.TargetNodeClass = NodeClass::DataType;
03645         ref.TargetNodeId = ToNodeId("i=78");
03646         refs.push_back(ref);
03647         }
03648         registry.AddReferences(refs);
03649         }
03650        
03651         {
03652         AddNodesItem node;
03653         node.RequestedNewNodeId = ToNodeId("i=3121");
03654         node.BrowseName = ToQualifiedName("SessionTimeoutCount");
03655         node.Class = NodeClass::Variable;
03656         node.ParentNodeId = ToNodeId("i=2021");
03657         node.ReferenceTypeId = ReferenceId::HasComponent;
03658         node.TypeDefinition = ToNodeId("i=63");
03659         VariableAttributes attrs;
03660         attrs.DisplayName = LocalizedText("SessionTimeoutCount");
03661         attrs.Type = ObjectId::UInt32;
03662         attrs.Rank = -1;
03663         node.Attributes = attrs;
03664         registry.AddNodes(std::vector<AddNodesItem>{node});
03665         std::vector<AddReferencesItem> refs;
03666         {
03667         AddReferencesItem ref;
03668         ref.IsForward = true;
03669         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
03670         ref.SourceNodeId = ToNodeId("i=3121");
03671         ref.TargetNodeClass = NodeClass::DataType;
03672         ref.TargetNodeId = ToNodeId("i=78");
03673         refs.push_back(ref);
03674         }
03675         registry.AddReferences(refs);
03676         }
03677        
03678         {
03679         AddNodesItem node;
03680         node.RequestedNewNodeId = ToNodeId("i=3122");
03681         node.BrowseName = ToQualifiedName("SessionAbortCount");
03682         node.Class = NodeClass::Variable;
03683         node.ParentNodeId = ToNodeId("i=2021");
03684         node.ReferenceTypeId = ReferenceId::HasComponent;
03685         node.TypeDefinition = ToNodeId("i=63");
03686         VariableAttributes attrs;
03687         attrs.DisplayName = LocalizedText("SessionAbortCount");
03688         attrs.Type = ObjectId::UInt32;
03689         attrs.Rank = -1;
03690         node.Attributes = attrs;
03691         registry.AddNodes(std::vector<AddNodesItem>{node});
03692         std::vector<AddReferencesItem> refs;
03693         {
03694         AddReferencesItem ref;
03695         ref.IsForward = true;
03696         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
03697         ref.SourceNodeId = ToNodeId("i=3122");
03698         ref.TargetNodeClass = NodeClass::DataType;
03699         ref.TargetNodeId = ToNodeId("i=78");
03700         refs.push_back(ref);
03701         }
03702         registry.AddReferences(refs);
03703         }
03704        
03705         {
03706         AddNodesItem node;
03707         node.RequestedNewNodeId = ToNodeId("i=3124");
03708         node.BrowseName = ToQualifiedName("PublishingIntervalCount");
03709         node.Class = NodeClass::Variable;
03710         node.ParentNodeId = ToNodeId("i=2021");
03711         node.ReferenceTypeId = ReferenceId::HasComponent;
03712         node.TypeDefinition = ToNodeId("i=63");
03713         VariableAttributes attrs;
03714         attrs.DisplayName = LocalizedText("PublishingIntervalCount");
03715         attrs.Type = ObjectId::UInt32;
03716         attrs.Rank = -1;
03717         node.Attributes = attrs;
03718         registry.AddNodes(std::vector<AddNodesItem>{node});
03719         std::vector<AddReferencesItem> refs;
03720         {
03721         AddReferencesItem ref;
03722         ref.IsForward = true;
03723         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
03724         ref.SourceNodeId = ToNodeId("i=3124");
03725         ref.TargetNodeClass = NodeClass::DataType;
03726         ref.TargetNodeId = ToNodeId("i=78");
03727         refs.push_back(ref);
03728         }
03729         registry.AddReferences(refs);
03730         }
03731        
03732         {
03733         AddNodesItem node;
03734         node.RequestedNewNodeId = ToNodeId("i=3125");
03735         node.BrowseName = ToQualifiedName("CurrentSubscriptionCount");
03736         node.Class = NodeClass::Variable;
03737         node.ParentNodeId = ToNodeId("i=2021");
03738         node.ReferenceTypeId = ReferenceId::HasComponent;
03739         node.TypeDefinition = ToNodeId("i=63");
03740         VariableAttributes attrs;
03741         attrs.DisplayName = LocalizedText("CurrentSubscriptionCount");
03742         attrs.Type = ObjectId::UInt32;
03743         attrs.Rank = -1;
03744         node.Attributes = attrs;
03745         registry.AddNodes(std::vector<AddNodesItem>{node});
03746         std::vector<AddReferencesItem> refs;
03747         {
03748         AddReferencesItem ref;
03749         ref.IsForward = true;
03750         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
03751         ref.SourceNodeId = ToNodeId("i=3125");
03752         ref.TargetNodeClass = NodeClass::DataType;
03753         ref.TargetNodeId = ToNodeId("i=78");
03754         refs.push_back(ref);
03755         }
03756         registry.AddReferences(refs);
03757         }
03758        
03759         {
03760         AddNodesItem node;
03761         node.RequestedNewNodeId = ToNodeId("i=3126");
03762         node.BrowseName = ToQualifiedName("CumulatedSubscriptionCount");
03763         node.Class = NodeClass::Variable;
03764         node.ParentNodeId = ToNodeId("i=2021");
03765         node.ReferenceTypeId = ReferenceId::HasComponent;
03766         node.TypeDefinition = ToNodeId("i=63");
03767         VariableAttributes attrs;
03768         attrs.DisplayName = LocalizedText("CumulatedSubscriptionCount");
03769         attrs.Type = ObjectId::UInt32;
03770         attrs.Rank = -1;
03771         node.Attributes = attrs;
03772         registry.AddNodes(std::vector<AddNodesItem>{node});
03773         std::vector<AddReferencesItem> refs;
03774         {
03775         AddReferencesItem ref;
03776         ref.IsForward = true;
03777         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
03778         ref.SourceNodeId = ToNodeId("i=3126");
03779         ref.TargetNodeClass = NodeClass::DataType;
03780         ref.TargetNodeId = ToNodeId("i=78");
03781         refs.push_back(ref);
03782         }
03783         registry.AddReferences(refs);
03784         }
03785        
03786         {
03787         AddNodesItem node;
03788         node.RequestedNewNodeId = ToNodeId("i=3127");
03789         node.BrowseName = ToQualifiedName("SecurityRejectedRequestsCount");
03790         node.Class = NodeClass::Variable;
03791         node.ParentNodeId = ToNodeId("i=2021");
03792         node.ReferenceTypeId = ReferenceId::HasComponent;
03793         node.TypeDefinition = ToNodeId("i=63");
03794         VariableAttributes attrs;
03795         attrs.DisplayName = LocalizedText("SecurityRejectedRequestsCount");
03796         attrs.Type = ObjectId::UInt32;
03797         attrs.Rank = -1;
03798         node.Attributes = attrs;
03799         registry.AddNodes(std::vector<AddNodesItem>{node});
03800         std::vector<AddReferencesItem> refs;
03801         {
03802         AddReferencesItem ref;
03803         ref.IsForward = true;
03804         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
03805         ref.SourceNodeId = ToNodeId("i=3127");
03806         ref.TargetNodeClass = NodeClass::DataType;
03807         ref.TargetNodeId = ToNodeId("i=78");
03808         refs.push_back(ref);
03809         }
03810         registry.AddReferences(refs);
03811         }
03812        
03813         {
03814         AddNodesItem node;
03815         node.RequestedNewNodeId = ToNodeId("i=3128");
03816         node.BrowseName = ToQualifiedName("RejectedRequestsCount");
03817         node.Class = NodeClass::Variable;
03818         node.ParentNodeId = ToNodeId("i=2021");
03819         node.ReferenceTypeId = ReferenceId::HasComponent;
03820         node.TypeDefinition = ToNodeId("i=63");
03821         VariableAttributes attrs;
03822         attrs.DisplayName = LocalizedText("RejectedRequestsCount");
03823         attrs.Type = ObjectId::UInt32;
03824         attrs.Rank = -1;
03825         node.Attributes = attrs;
03826         registry.AddNodes(std::vector<AddNodesItem>{node});
03827         std::vector<AddReferencesItem> refs;
03828         {
03829         AddReferencesItem ref;
03830         ref.IsForward = true;
03831         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
03832         ref.SourceNodeId = ToNodeId("i=3128");
03833         ref.TargetNodeClass = NodeClass::DataType;
03834         ref.TargetNodeId = ToNodeId("i=78");
03835         refs.push_back(ref);
03836         }
03837         registry.AddReferences(refs);
03838         }
03839        
03840         {
03841         AddNodesItem node;
03842         node.RequestedNewNodeId = ToNodeId("i=2022");
03843         node.BrowseName = ToQualifiedName("SamplingIntervalDiagnosticsArray");
03844         node.Class = NodeClass::Variable;
03845         node.ParentNodeId = ToNodeId("i=2020");
03846         node.ReferenceTypeId = ReferenceId::HasComponent;
03847         node.TypeDefinition = ToNodeId("i=2164");
03848         VariableAttributes attrs;
03849         attrs.Description = LocalizedText("A list of diagnostics for each sampling interval supported by the server.");
03850         attrs.DisplayName = LocalizedText("SamplingIntervalDiagnosticsArray");
03851         attrs.Type = ToNodeId("i=856");
03852         attrs.Rank = 1;
03853         node.Attributes = attrs;
03854         registry.AddNodes(std::vector<AddNodesItem>{node});
03855         std::vector<AddReferencesItem> refs;
03856         {
03857         AddReferencesItem ref;
03858         ref.IsForward = true;
03859         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
03860         ref.SourceNodeId = ToNodeId("i=2022");
03861         ref.TargetNodeClass = NodeClass::DataType;
03862         ref.TargetNodeId = ToNodeId("i=80");
03863         refs.push_back(ref);
03864         }
03865         registry.AddReferences(refs);
03866         }
03867        
03868         {
03869         AddNodesItem node;
03870         node.RequestedNewNodeId = ToNodeId("i=2023");
03871         node.BrowseName = ToQualifiedName("SubscriptionDiagnosticsArray");
03872         node.Class = NodeClass::Variable;
03873         node.ParentNodeId = ToNodeId("i=2020");
03874         node.ReferenceTypeId = ReferenceId::HasComponent;
03875         node.TypeDefinition = ToNodeId("i=2171");
03876         VariableAttributes attrs;
03877         attrs.Description = LocalizedText("A list of diagnostics for each active subscription.");
03878         attrs.DisplayName = LocalizedText("SubscriptionDiagnosticsArray");
03879         attrs.Type = ToNodeId("i=874");
03880         attrs.Rank = 1;
03881         node.Attributes = attrs;
03882         registry.AddNodes(std::vector<AddNodesItem>{node});
03883         std::vector<AddReferencesItem> refs;
03884         {
03885         AddReferencesItem ref;
03886         ref.IsForward = true;
03887         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
03888         ref.SourceNodeId = ToNodeId("i=2023");
03889         ref.TargetNodeClass = NodeClass::DataType;
03890         ref.TargetNodeId = ToNodeId("i=78");
03891         refs.push_back(ref);
03892         }
03893         registry.AddReferences(refs);
03894         }
03895        
03896         {
03897         AddNodesItem node;
03898         node.RequestedNewNodeId = ToNodeId("i=2744");
03899         node.BrowseName = ToQualifiedName("SessionsDiagnosticsSummary");
03900         node.Class = NodeClass::Object;
03901         node.ParentNodeId = ToNodeId("i=2020");
03902         node.ReferenceTypeId = ReferenceId::HasComponent;
03903         node.TypeDefinition = ToNodeId("i=2026");
03904         ObjectAttributes attrs;
03905         attrs.Description = LocalizedText("A summary of session level diagnostics.");
03906         attrs.DisplayName = LocalizedText("SessionsDiagnosticsSummary");
03907         attrs.EventNotifier = 0;
03908         node.Attributes = attrs;
03909         registry.AddNodes(std::vector<AddNodesItem>{node});
03910         std::vector<AddReferencesItem> refs;
03911         {
03912         AddReferencesItem ref;
03913         ref.IsForward = true;
03914         ref.ReferenceTypeId = ReferenceId::HasComponent;
03915         ref.SourceNodeId = ToNodeId("i=2744");
03916         ref.TargetNodeClass = NodeClass::DataType;
03917         ref.TargetNodeId = ToNodeId("i=3129");
03918         refs.push_back(ref);
03919         }
03920         {
03921         AddReferencesItem ref;
03922         ref.IsForward = true;
03923         ref.ReferenceTypeId = ReferenceId::HasComponent;
03924         ref.SourceNodeId = ToNodeId("i=2744");
03925         ref.TargetNodeClass = NodeClass::DataType;
03926         ref.TargetNodeId = ToNodeId("i=3130");
03927         refs.push_back(ref);
03928         }
03929         {
03930         AddReferencesItem ref;
03931         ref.IsForward = true;
03932         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
03933         ref.SourceNodeId = ToNodeId("i=2744");
03934         ref.TargetNodeClass = NodeClass::DataType;
03935         ref.TargetNodeId = ToNodeId("i=78");
03936         refs.push_back(ref);
03937         }
03938         registry.AddReferences(refs);
03939         }
03940        
03941         {
03942         AddNodesItem node;
03943         node.RequestedNewNodeId = ToNodeId("i=3129");
03944         node.BrowseName = ToQualifiedName("SessionDiagnosticsArray");
03945         node.Class = NodeClass::Variable;
03946         node.ParentNodeId = ToNodeId("i=2744");
03947         node.ReferenceTypeId = ReferenceId::HasComponent;
03948         node.TypeDefinition = ToNodeId("i=2196");
03949         VariableAttributes attrs;
03950         attrs.Description = LocalizedText("A list of diagnostics for each active session.");
03951         attrs.DisplayName = LocalizedText("SessionDiagnosticsArray");
03952         attrs.Type = ToNodeId("i=865");
03953         attrs.Rank = 1;
03954         node.Attributes = attrs;
03955         registry.AddNodes(std::vector<AddNodesItem>{node});
03956         std::vector<AddReferencesItem> refs;
03957         {
03958         AddReferencesItem ref;
03959         ref.IsForward = true;
03960         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
03961         ref.SourceNodeId = ToNodeId("i=3129");
03962         ref.TargetNodeClass = NodeClass::DataType;
03963         ref.TargetNodeId = ToNodeId("i=78");
03964         refs.push_back(ref);
03965         }
03966         registry.AddReferences(refs);
03967         }
03968        
03969         {
03970         AddNodesItem node;
03971         node.RequestedNewNodeId = ToNodeId("i=3130");
03972         node.BrowseName = ToQualifiedName("SessionSecurityDiagnosticsArray");
03973         node.Class = NodeClass::Variable;
03974         node.ParentNodeId = ToNodeId("i=2744");
03975         node.ReferenceTypeId = ReferenceId::HasComponent;
03976         node.TypeDefinition = ToNodeId("i=2243");
03977         VariableAttributes attrs;
03978         attrs.Description = LocalizedText("A list of security related diagnostics for each active session.");
03979         attrs.DisplayName = LocalizedText("SessionSecurityDiagnosticsArray");
03980         attrs.Type = ToNodeId("i=868");
03981         attrs.Rank = 1;
03982         node.Attributes = attrs;
03983         registry.AddNodes(std::vector<AddNodesItem>{node});
03984         std::vector<AddReferencesItem> refs;
03985         {
03986         AddReferencesItem ref;
03987         ref.IsForward = true;
03988         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
03989         ref.SourceNodeId = ToNodeId("i=3130");
03990         ref.TargetNodeClass = NodeClass::DataType;
03991         ref.TargetNodeId = ToNodeId("i=78");
03992         refs.push_back(ref);
03993         }
03994         registry.AddReferences(refs);
03995         }
03996        
03997         {
03998         AddNodesItem node;
03999         node.RequestedNewNodeId = ToNodeId("i=2025");
04000         node.BrowseName = ToQualifiedName("EnabledFlag");
04001         node.Class = NodeClass::Variable;
04002         node.ParentNodeId = ToNodeId("i=2020");
04003         node.ReferenceTypeId = ReferenceId::HasProperty;
04004         node.TypeDefinition = ToNodeId("i=68");
04005         VariableAttributes attrs;
04006         attrs.Description = LocalizedText("If TRUE the diagnostics collection is enabled.");
04007         attrs.DisplayName = LocalizedText("EnabledFlag");
04008         attrs.Type = ObjectId::Boolean;
04009         attrs.Rank = -1;
04010         attrs.AccessLevel = (VariableAccessLevel) 3;
04011         attrs.UserAccessLevel = (VariableAccessLevel) 3;
04012         node.Attributes = attrs;
04013         registry.AddNodes(std::vector<AddNodesItem>{node});
04014         std::vector<AddReferencesItem> refs;
04015         {
04016         AddReferencesItem ref;
04017         ref.IsForward = true;
04018         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
04019         ref.SourceNodeId = ToNodeId("i=2025");
04020         ref.TargetNodeClass = NodeClass::DataType;
04021         ref.TargetNodeId = ToNodeId("i=78");
04022         refs.push_back(ref);
04023         }
04024         registry.AddReferences(refs);
04025         }
04026        
04027         {
04028         AddNodesItem node;
04029         node.RequestedNewNodeId = ToNodeId("i=2026");
04030         node.BrowseName = ToQualifiedName("SessionsDiagnosticsSummaryType");
04031         node.Class = NodeClass::ObjectType;
04032         node.ParentNodeId = ToNodeId("i=58");
04033         node.ReferenceTypeId = ReferenceId::HasSubtype;
04034         ObjectTypeAttributes attrs;
04035         attrs.Description = LocalizedText("Provides a summary of session level diagnostics.");
04036         attrs.DisplayName = LocalizedText("SessionsDiagnosticsSummaryType");
04037         attrs.IsAbstract = false;
04038         node.Attributes = attrs;
04039         registry.AddNodes(std::vector<AddNodesItem>{node});
04040         std::vector<AddReferencesItem> refs;
04041         {
04042         AddReferencesItem ref;
04043         ref.IsForward = true;
04044         ref.ReferenceTypeId = ReferenceId::HasComponent;
04045         ref.SourceNodeId = ToNodeId("i=2026");
04046         ref.TargetNodeClass = NodeClass::DataType;
04047         ref.TargetNodeId = ToNodeId("i=2027");
04048         refs.push_back(ref);
04049         }
04050         {
04051         AddReferencesItem ref;
04052         ref.IsForward = true;
04053         ref.ReferenceTypeId = ReferenceId::HasComponent;
04054         ref.SourceNodeId = ToNodeId("i=2026");
04055         ref.TargetNodeClass = NodeClass::DataType;
04056         ref.TargetNodeId = ToNodeId("i=2028");
04057         refs.push_back(ref);
04058         }
04059         {
04060         AddReferencesItem ref;
04061         ref.IsForward = true;
04062         ref.ReferenceTypeId = ReferenceId::HasComponent;
04063         ref.SourceNodeId = ToNodeId("i=2026");
04064         ref.TargetNodeClass = NodeClass::DataType;
04065         ref.TargetNodeId = ToNodeId("i=12097");
04066         refs.push_back(ref);
04067         }
04068         registry.AddReferences(refs);
04069         }
04070        
04071         {
04072         AddNodesItem node;
04073         node.RequestedNewNodeId = ToNodeId("i=2027");
04074         node.BrowseName = ToQualifiedName("SessionDiagnosticsArray");
04075         node.Class = NodeClass::Variable;
04076         node.ParentNodeId = ToNodeId("i=2026");
04077         node.ReferenceTypeId = ReferenceId::HasComponent;
04078         node.TypeDefinition = ToNodeId("i=2196");
04079         VariableAttributes attrs;
04080         attrs.Description = LocalizedText("A list of diagnostics for each active session.");
04081         attrs.DisplayName = LocalizedText("SessionDiagnosticsArray");
04082         attrs.Type = ToNodeId("i=865");
04083         attrs.Rank = 1;
04084         node.Attributes = attrs;
04085         registry.AddNodes(std::vector<AddNodesItem>{node});
04086         std::vector<AddReferencesItem> refs;
04087         {
04088         AddReferencesItem ref;
04089         ref.IsForward = true;
04090         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
04091         ref.SourceNodeId = ToNodeId("i=2027");
04092         ref.TargetNodeClass = NodeClass::DataType;
04093         ref.TargetNodeId = ToNodeId("i=78");
04094         refs.push_back(ref);
04095         }
04096         registry.AddReferences(refs);
04097         }
04098        
04099         {
04100         AddNodesItem node;
04101         node.RequestedNewNodeId = ToNodeId("i=2028");
04102         node.BrowseName = ToQualifiedName("SessionSecurityDiagnosticsArray");
04103         node.Class = NodeClass::Variable;
04104         node.ParentNodeId = ToNodeId("i=2026");
04105         node.ReferenceTypeId = ReferenceId::HasComponent;
04106         node.TypeDefinition = ToNodeId("i=2243");
04107         VariableAttributes attrs;
04108         attrs.Description = LocalizedText("A list of security related diagnostics for each active session.");
04109         attrs.DisplayName = LocalizedText("SessionSecurityDiagnosticsArray");
04110         attrs.Type = ToNodeId("i=868");
04111         attrs.Rank = 1;
04112         node.Attributes = attrs;
04113         registry.AddNodes(std::vector<AddNodesItem>{node});
04114         std::vector<AddReferencesItem> refs;
04115         {
04116         AddReferencesItem ref;
04117         ref.IsForward = true;
04118         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
04119         ref.SourceNodeId = ToNodeId("i=2028");
04120         ref.TargetNodeClass = NodeClass::DataType;
04121         ref.TargetNodeId = ToNodeId("i=78");
04122         refs.push_back(ref);
04123         }
04124         registry.AddReferences(refs);
04125         }
04126        
04127         {
04128         AddNodesItem node;
04129         node.RequestedNewNodeId = ToNodeId("i=12097");
04130         node.BrowseName = ToQualifiedName("<SessionPlaceholder>");
04131         node.Class = NodeClass::Object;
04132         node.ParentNodeId = ToNodeId("i=2026");
04133         node.ReferenceTypeId = ReferenceId::HasComponent;
04134         node.TypeDefinition = ToNodeId("i=2029");
04135         ObjectAttributes attrs;
04136         attrs.DisplayName = LocalizedText("<SessionPlaceholder>");
04137         attrs.EventNotifier = 0;
04138         node.Attributes = attrs;
04139         registry.AddNodes(std::vector<AddNodesItem>{node});
04140         std::vector<AddReferencesItem> refs;
04141         {
04142         AddReferencesItem ref;
04143         ref.IsForward = true;
04144         ref.ReferenceTypeId = ReferenceId::HasComponent;
04145         ref.SourceNodeId = ToNodeId("i=12097");
04146         ref.TargetNodeClass = NodeClass::DataType;
04147         ref.TargetNodeId = ToNodeId("i=12098");
04148         refs.push_back(ref);
04149         }
04150         {
04151         AddReferencesItem ref;
04152         ref.IsForward = true;
04153         ref.ReferenceTypeId = ReferenceId::HasComponent;
04154         ref.SourceNodeId = ToNodeId("i=12097");
04155         ref.TargetNodeClass = NodeClass::DataType;
04156         ref.TargetNodeId = ToNodeId("i=12142");
04157         refs.push_back(ref);
04158         }
04159         {
04160         AddReferencesItem ref;
04161         ref.IsForward = true;
04162         ref.ReferenceTypeId = ReferenceId::HasComponent;
04163         ref.SourceNodeId = ToNodeId("i=12097");
04164         ref.TargetNodeClass = NodeClass::DataType;
04165         ref.TargetNodeId = ToNodeId("i=12152");
04166         refs.push_back(ref);
04167         }
04168         {
04169         AddReferencesItem ref;
04170         ref.IsForward = true;
04171         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
04172         ref.SourceNodeId = ToNodeId("i=12097");
04173         ref.TargetNodeClass = NodeClass::DataType;
04174         ref.TargetNodeId = ToNodeId("i=11508");
04175         refs.push_back(ref);
04176         }
04177         registry.AddReferences(refs);
04178         }
04179        
04180         {
04181         AddNodesItem node;
04182         node.RequestedNewNodeId = ToNodeId("i=12098");
04183         node.BrowseName = ToQualifiedName("SessionDiagnostics");
04184         node.Class = NodeClass::Variable;
04185         node.ParentNodeId = ToNodeId("i=12097");
04186         node.ReferenceTypeId = ReferenceId::HasComponent;
04187         node.TypeDefinition = ToNodeId("i=2197");
04188         VariableAttributes attrs;
04189         attrs.Description = LocalizedText("Diagnostics information for an active session.");
04190         attrs.DisplayName = LocalizedText("SessionDiagnostics");
04191         attrs.Type = ToNodeId("i=865");
04192         attrs.Rank = -1;
04193         node.Attributes = attrs;
04194         registry.AddNodes(std::vector<AddNodesItem>{node});
04195         std::vector<AddReferencesItem> refs;
04196         {
04197         AddReferencesItem ref;
04198         ref.IsForward = true;
04199         ref.ReferenceTypeId = ReferenceId::HasComponent;
04200         ref.SourceNodeId = ToNodeId("i=12098");
04201         ref.TargetNodeClass = NodeClass::DataType;
04202         ref.TargetNodeId = ToNodeId("i=12099");
04203         refs.push_back(ref);
04204         }
04205         {
04206         AddReferencesItem ref;
04207         ref.IsForward = true;
04208         ref.ReferenceTypeId = ReferenceId::HasComponent;
04209         ref.SourceNodeId = ToNodeId("i=12098");
04210         ref.TargetNodeClass = NodeClass::DataType;
04211         ref.TargetNodeId = ToNodeId("i=12100");
04212         refs.push_back(ref);
04213         }
04214         {
04215         AddReferencesItem ref;
04216         ref.IsForward = true;
04217         ref.ReferenceTypeId = ReferenceId::HasComponent;
04218         ref.SourceNodeId = ToNodeId("i=12098");
04219         ref.TargetNodeClass = NodeClass::DataType;
04220         ref.TargetNodeId = ToNodeId("i=12101");
04221         refs.push_back(ref);
04222         }
04223         {
04224         AddReferencesItem ref;
04225         ref.IsForward = true;
04226         ref.ReferenceTypeId = ReferenceId::HasComponent;
04227         ref.SourceNodeId = ToNodeId("i=12098");
04228         ref.TargetNodeClass = NodeClass::DataType;
04229         ref.TargetNodeId = ToNodeId("i=12102");
04230         refs.push_back(ref);
04231         }
04232         {
04233         AddReferencesItem ref;
04234         ref.IsForward = true;
04235         ref.ReferenceTypeId = ReferenceId::HasComponent;
04236         ref.SourceNodeId = ToNodeId("i=12098");
04237         ref.TargetNodeClass = NodeClass::DataType;
04238         ref.TargetNodeId = ToNodeId("i=12103");
04239         refs.push_back(ref);
04240         }
04241         {
04242         AddReferencesItem ref;
04243         ref.IsForward = true;
04244         ref.ReferenceTypeId = ReferenceId::HasComponent;
04245         ref.SourceNodeId = ToNodeId("i=12098");
04246         ref.TargetNodeClass = NodeClass::DataType;
04247         ref.TargetNodeId = ToNodeId("i=12104");
04248         refs.push_back(ref);
04249         }
04250         {
04251         AddReferencesItem ref;
04252         ref.IsForward = true;
04253         ref.ReferenceTypeId = ReferenceId::HasComponent;
04254         ref.SourceNodeId = ToNodeId("i=12098");
04255         ref.TargetNodeClass = NodeClass::DataType;
04256         ref.TargetNodeId = ToNodeId("i=12105");
04257         refs.push_back(ref);
04258         }
04259         {
04260         AddReferencesItem ref;
04261         ref.IsForward = true;
04262         ref.ReferenceTypeId = ReferenceId::HasComponent;
04263         ref.SourceNodeId = ToNodeId("i=12098");
04264         ref.TargetNodeClass = NodeClass::DataType;
04265         ref.TargetNodeId = ToNodeId("i=12106");
04266         refs.push_back(ref);
04267         }
04268         {
04269         AddReferencesItem ref;
04270         ref.IsForward = true;
04271         ref.ReferenceTypeId = ReferenceId::HasComponent;
04272         ref.SourceNodeId = ToNodeId("i=12098");
04273         ref.TargetNodeClass = NodeClass::DataType;
04274         ref.TargetNodeId = ToNodeId("i=12107");
04275         refs.push_back(ref);
04276         }
04277         {
04278         AddReferencesItem ref;
04279         ref.IsForward = true;
04280         ref.ReferenceTypeId = ReferenceId::HasComponent;
04281         ref.SourceNodeId = ToNodeId("i=12098");
04282         ref.TargetNodeClass = NodeClass::DataType;
04283         ref.TargetNodeId = ToNodeId("i=12108");
04284         refs.push_back(ref);
04285         }
04286         {
04287         AddReferencesItem ref;
04288         ref.IsForward = true;
04289         ref.ReferenceTypeId = ReferenceId::HasComponent;
04290         ref.SourceNodeId = ToNodeId("i=12098");
04291         ref.TargetNodeClass = NodeClass::DataType;
04292         ref.TargetNodeId = ToNodeId("i=12109");
04293         refs.push_back(ref);
04294         }
04295         {
04296         AddReferencesItem ref;
04297         ref.IsForward = true;
04298         ref.ReferenceTypeId = ReferenceId::HasComponent;
04299         ref.SourceNodeId = ToNodeId("i=12098");
04300         ref.TargetNodeClass = NodeClass::DataType;
04301         ref.TargetNodeId = ToNodeId("i=12110");
04302         refs.push_back(ref);
04303         }
04304         {
04305         AddReferencesItem ref;
04306         ref.IsForward = true;
04307         ref.ReferenceTypeId = ReferenceId::HasComponent;
04308         ref.SourceNodeId = ToNodeId("i=12098");
04309         ref.TargetNodeClass = NodeClass::DataType;
04310         ref.TargetNodeId = ToNodeId("i=12111");
04311         refs.push_back(ref);
04312         }
04313         {
04314         AddReferencesItem ref;
04315         ref.IsForward = true;
04316         ref.ReferenceTypeId = ReferenceId::HasComponent;
04317         ref.SourceNodeId = ToNodeId("i=12098");
04318         ref.TargetNodeClass = NodeClass::DataType;
04319         ref.TargetNodeId = ToNodeId("i=12112");
04320         refs.push_back(ref);
04321         }
04322         {
04323         AddReferencesItem ref;
04324         ref.IsForward = true;
04325         ref.ReferenceTypeId = ReferenceId::HasComponent;
04326         ref.SourceNodeId = ToNodeId("i=12098");
04327         ref.TargetNodeClass = NodeClass::DataType;
04328         ref.TargetNodeId = ToNodeId("i=12113");
04329         refs.push_back(ref);
04330         }
04331         {
04332         AddReferencesItem ref;
04333         ref.IsForward = true;
04334         ref.ReferenceTypeId = ReferenceId::HasComponent;
04335         ref.SourceNodeId = ToNodeId("i=12098");
04336         ref.TargetNodeClass = NodeClass::DataType;
04337         ref.TargetNodeId = ToNodeId("i=12114");
04338         refs.push_back(ref);
04339         }
04340         {
04341         AddReferencesItem ref;
04342         ref.IsForward = true;
04343         ref.ReferenceTypeId = ReferenceId::HasComponent;
04344         ref.SourceNodeId = ToNodeId("i=12098");
04345         ref.TargetNodeClass = NodeClass::DataType;
04346         ref.TargetNodeId = ToNodeId("i=12115");
04347         refs.push_back(ref);
04348         }
04349         {
04350         AddReferencesItem ref;
04351         ref.IsForward = true;
04352         ref.ReferenceTypeId = ReferenceId::HasComponent;
04353         ref.SourceNodeId = ToNodeId("i=12098");
04354         ref.TargetNodeClass = NodeClass::DataType;
04355         ref.TargetNodeId = ToNodeId("i=12116");
04356         refs.push_back(ref);
04357         }
04358         {
04359         AddReferencesItem ref;
04360         ref.IsForward = true;
04361         ref.ReferenceTypeId = ReferenceId::HasComponent;
04362         ref.SourceNodeId = ToNodeId("i=12098");
04363         ref.TargetNodeClass = NodeClass::DataType;
04364         ref.TargetNodeId = ToNodeId("i=12117");
04365         refs.push_back(ref);
04366         }
04367         {
04368         AddReferencesItem ref;
04369         ref.IsForward = true;
04370         ref.ReferenceTypeId = ReferenceId::HasComponent;
04371         ref.SourceNodeId = ToNodeId("i=12098");
04372         ref.TargetNodeClass = NodeClass::DataType;
04373         ref.TargetNodeId = ToNodeId("i=12118");
04374         refs.push_back(ref);
04375         }
04376         {
04377         AddReferencesItem ref;
04378         ref.IsForward = true;
04379         ref.ReferenceTypeId = ReferenceId::HasComponent;
04380         ref.SourceNodeId = ToNodeId("i=12098");
04381         ref.TargetNodeClass = NodeClass::DataType;
04382         ref.TargetNodeId = ToNodeId("i=12119");
04383         refs.push_back(ref);
04384         }
04385         {
04386         AddReferencesItem ref;
04387         ref.IsForward = true;
04388         ref.ReferenceTypeId = ReferenceId::HasComponent;
04389         ref.SourceNodeId = ToNodeId("i=12098");
04390         ref.TargetNodeClass = NodeClass::DataType;
04391         ref.TargetNodeId = ToNodeId("i=12120");
04392         refs.push_back(ref);
04393         }
04394         {
04395         AddReferencesItem ref;
04396         ref.IsForward = true;
04397         ref.ReferenceTypeId = ReferenceId::HasComponent;
04398         ref.SourceNodeId = ToNodeId("i=12098");
04399         ref.TargetNodeClass = NodeClass::DataType;
04400         ref.TargetNodeId = ToNodeId("i=12121");
04401         refs.push_back(ref);
04402         }
04403         {
04404         AddReferencesItem ref;
04405         ref.IsForward = true;
04406         ref.ReferenceTypeId = ReferenceId::HasComponent;
04407         ref.SourceNodeId = ToNodeId("i=12098");
04408         ref.TargetNodeClass = NodeClass::DataType;
04409         ref.TargetNodeId = ToNodeId("i=12122");
04410         refs.push_back(ref);
04411         }
04412         {
04413         AddReferencesItem ref;
04414         ref.IsForward = true;
04415         ref.ReferenceTypeId = ReferenceId::HasComponent;
04416         ref.SourceNodeId = ToNodeId("i=12098");
04417         ref.TargetNodeClass = NodeClass::DataType;
04418         ref.TargetNodeId = ToNodeId("i=12123");
04419         refs.push_back(ref);
04420         }
04421         {
04422         AddReferencesItem ref;
04423         ref.IsForward = true;
04424         ref.ReferenceTypeId = ReferenceId::HasComponent;
04425         ref.SourceNodeId = ToNodeId("i=12098");
04426         ref.TargetNodeClass = NodeClass::DataType;
04427         ref.TargetNodeId = ToNodeId("i=12124");
04428         refs.push_back(ref);
04429         }
04430         {
04431         AddReferencesItem ref;
04432         ref.IsForward = true;
04433         ref.ReferenceTypeId = ReferenceId::HasComponent;
04434         ref.SourceNodeId = ToNodeId("i=12098");
04435         ref.TargetNodeClass = NodeClass::DataType;
04436         ref.TargetNodeId = ToNodeId("i=12125");
04437         refs.push_back(ref);
04438         }
04439         {
04440         AddReferencesItem ref;
04441         ref.IsForward = true;
04442         ref.ReferenceTypeId = ReferenceId::HasComponent;
04443         ref.SourceNodeId = ToNodeId("i=12098");
04444         ref.TargetNodeClass = NodeClass::DataType;
04445         ref.TargetNodeId = ToNodeId("i=12126");
04446         refs.push_back(ref);
04447         }
04448         {
04449         AddReferencesItem ref;
04450         ref.IsForward = true;
04451         ref.ReferenceTypeId = ReferenceId::HasComponent;
04452         ref.SourceNodeId = ToNodeId("i=12098");
04453         ref.TargetNodeClass = NodeClass::DataType;
04454         ref.TargetNodeId = ToNodeId("i=12127");
04455         refs.push_back(ref);
04456         }
04457         {
04458         AddReferencesItem ref;
04459         ref.IsForward = true;
04460         ref.ReferenceTypeId = ReferenceId::HasComponent;
04461         ref.SourceNodeId = ToNodeId("i=12098");
04462         ref.TargetNodeClass = NodeClass::DataType;
04463         ref.TargetNodeId = ToNodeId("i=12128");
04464         refs.push_back(ref);
04465         }
04466         {
04467         AddReferencesItem ref;
04468         ref.IsForward = true;
04469         ref.ReferenceTypeId = ReferenceId::HasComponent;
04470         ref.SourceNodeId = ToNodeId("i=12098");
04471         ref.TargetNodeClass = NodeClass::DataType;
04472         ref.TargetNodeId = ToNodeId("i=12129");
04473         refs.push_back(ref);
04474         }
04475         {
04476         AddReferencesItem ref;
04477         ref.IsForward = true;
04478         ref.ReferenceTypeId = ReferenceId::HasComponent;
04479         ref.SourceNodeId = ToNodeId("i=12098");
04480         ref.TargetNodeClass = NodeClass::DataType;
04481         ref.TargetNodeId = ToNodeId("i=12130");
04482         refs.push_back(ref);
04483         }
04484         {
04485         AddReferencesItem ref;
04486         ref.IsForward = true;
04487         ref.ReferenceTypeId = ReferenceId::HasComponent;
04488         ref.SourceNodeId = ToNodeId("i=12098");
04489         ref.TargetNodeClass = NodeClass::DataType;
04490         ref.TargetNodeId = ToNodeId("i=12131");
04491         refs.push_back(ref);
04492         }
04493         {
04494         AddReferencesItem ref;
04495         ref.IsForward = true;
04496         ref.ReferenceTypeId = ReferenceId::HasComponent;
04497         ref.SourceNodeId = ToNodeId("i=12098");
04498         ref.TargetNodeClass = NodeClass::DataType;
04499         ref.TargetNodeId = ToNodeId("i=12132");
04500         refs.push_back(ref);
04501         }
04502         {
04503         AddReferencesItem ref;
04504         ref.IsForward = true;
04505         ref.ReferenceTypeId = ReferenceId::HasComponent;
04506         ref.SourceNodeId = ToNodeId("i=12098");
04507         ref.TargetNodeClass = NodeClass::DataType;
04508         ref.TargetNodeId = ToNodeId("i=12133");
04509         refs.push_back(ref);
04510         }
04511         {
04512         AddReferencesItem ref;
04513         ref.IsForward = true;
04514         ref.ReferenceTypeId = ReferenceId::HasComponent;
04515         ref.SourceNodeId = ToNodeId("i=12098");
04516         ref.TargetNodeClass = NodeClass::DataType;
04517         ref.TargetNodeId = ToNodeId("i=12134");
04518         refs.push_back(ref);
04519         }
04520         {
04521         AddReferencesItem ref;
04522         ref.IsForward = true;
04523         ref.ReferenceTypeId = ReferenceId::HasComponent;
04524         ref.SourceNodeId = ToNodeId("i=12098");
04525         ref.TargetNodeClass = NodeClass::DataType;
04526         ref.TargetNodeId = ToNodeId("i=12135");
04527         refs.push_back(ref);
04528         }
04529         {
04530         AddReferencesItem ref;
04531         ref.IsForward = true;
04532         ref.ReferenceTypeId = ReferenceId::HasComponent;
04533         ref.SourceNodeId = ToNodeId("i=12098");
04534         ref.TargetNodeClass = NodeClass::DataType;
04535         ref.TargetNodeId = ToNodeId("i=12136");
04536         refs.push_back(ref);
04537         }
04538         {
04539         AddReferencesItem ref;
04540         ref.IsForward = true;
04541         ref.ReferenceTypeId = ReferenceId::HasComponent;
04542         ref.SourceNodeId = ToNodeId("i=12098");
04543         ref.TargetNodeClass = NodeClass::DataType;
04544         ref.TargetNodeId = ToNodeId("i=12137");
04545         refs.push_back(ref);
04546         }
04547         {
04548         AddReferencesItem ref;
04549         ref.IsForward = true;
04550         ref.ReferenceTypeId = ReferenceId::HasComponent;
04551         ref.SourceNodeId = ToNodeId("i=12098");
04552         ref.TargetNodeClass = NodeClass::DataType;
04553         ref.TargetNodeId = ToNodeId("i=12138");
04554         refs.push_back(ref);
04555         }
04556         {
04557         AddReferencesItem ref;
04558         ref.IsForward = true;
04559         ref.ReferenceTypeId = ReferenceId::HasComponent;
04560         ref.SourceNodeId = ToNodeId("i=12098");
04561         ref.TargetNodeClass = NodeClass::DataType;
04562         ref.TargetNodeId = ToNodeId("i=12139");
04563         refs.push_back(ref);
04564         }
04565         {
04566         AddReferencesItem ref;
04567         ref.IsForward = true;
04568         ref.ReferenceTypeId = ReferenceId::HasComponent;
04569         ref.SourceNodeId = ToNodeId("i=12098");
04570         ref.TargetNodeClass = NodeClass::DataType;
04571         ref.TargetNodeId = ToNodeId("i=12140");
04572         refs.push_back(ref);
04573         }
04574         {
04575         AddReferencesItem ref;
04576         ref.IsForward = true;
04577         ref.ReferenceTypeId = ReferenceId::HasComponent;
04578         ref.SourceNodeId = ToNodeId("i=12098");
04579         ref.TargetNodeClass = NodeClass::DataType;
04580         ref.TargetNodeId = ToNodeId("i=12141");
04581         refs.push_back(ref);
04582         }
04583         {
04584         AddReferencesItem ref;
04585         ref.IsForward = true;
04586         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
04587         ref.SourceNodeId = ToNodeId("i=12098");
04588         ref.TargetNodeClass = NodeClass::DataType;
04589         ref.TargetNodeId = ToNodeId("i=78");
04590         refs.push_back(ref);
04591         }
04592         registry.AddReferences(refs);
04593         }
04594        
04595         {
04596         AddNodesItem node;
04597         node.RequestedNewNodeId = ToNodeId("i=12099");
04598         node.BrowseName = ToQualifiedName("SessionId");
04599         node.Class = NodeClass::Variable;
04600         node.ParentNodeId = ToNodeId("i=12098");
04601         node.ReferenceTypeId = ReferenceId::HasComponent;
04602         node.TypeDefinition = ToNodeId("i=63");
04603         VariableAttributes attrs;
04604         attrs.DisplayName = LocalizedText("SessionId");
04605         attrs.Type = ObjectId::NodeId;
04606         attrs.Rank = -1;
04607         node.Attributes = attrs;
04608         registry.AddNodes(std::vector<AddNodesItem>{node});
04609         std::vector<AddReferencesItem> refs;
04610         {
04611         AddReferencesItem ref;
04612         ref.IsForward = true;
04613         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
04614         ref.SourceNodeId = ToNodeId("i=12099");
04615         ref.TargetNodeClass = NodeClass::DataType;
04616         ref.TargetNodeId = ToNodeId("i=78");
04617         refs.push_back(ref);
04618         }
04619         registry.AddReferences(refs);
04620         }
04621        
04622         {
04623         AddNodesItem node;
04624         node.RequestedNewNodeId = ToNodeId("i=12100");
04625         node.BrowseName = ToQualifiedName("SessionName");
04626         node.Class = NodeClass::Variable;
04627         node.ParentNodeId = ToNodeId("i=12098");
04628         node.ReferenceTypeId = ReferenceId::HasComponent;
04629         node.TypeDefinition = ToNodeId("i=63");
04630         VariableAttributes attrs;
04631         attrs.DisplayName = LocalizedText("SessionName");
04632         attrs.Type = ObjectId::String;
04633         attrs.Rank = -1;
04634         node.Attributes = attrs;
04635         registry.AddNodes(std::vector<AddNodesItem>{node});
04636         std::vector<AddReferencesItem> refs;
04637         {
04638         AddReferencesItem ref;
04639         ref.IsForward = true;
04640         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
04641         ref.SourceNodeId = ToNodeId("i=12100");
04642         ref.TargetNodeClass = NodeClass::DataType;
04643         ref.TargetNodeId = ToNodeId("i=78");
04644         refs.push_back(ref);
04645         }
04646         registry.AddReferences(refs);
04647         }
04648        
04649         {
04650         AddNodesItem node;
04651         node.RequestedNewNodeId = ToNodeId("i=12101");
04652         node.BrowseName = ToQualifiedName("ClientDescription");
04653         node.Class = NodeClass::Variable;
04654         node.ParentNodeId = ToNodeId("i=12098");
04655         node.ReferenceTypeId = ReferenceId::HasComponent;
04656         node.TypeDefinition = ToNodeId("i=63");
04657         VariableAttributes attrs;
04658         attrs.DisplayName = LocalizedText("ClientDescription");
04659         attrs.Type = ToNodeId("i=308");
04660         attrs.Rank = -1;
04661         node.Attributes = attrs;
04662         registry.AddNodes(std::vector<AddNodesItem>{node});
04663         std::vector<AddReferencesItem> refs;
04664         {
04665         AddReferencesItem ref;
04666         ref.IsForward = true;
04667         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
04668         ref.SourceNodeId = ToNodeId("i=12101");
04669         ref.TargetNodeClass = NodeClass::DataType;
04670         ref.TargetNodeId = ToNodeId("i=78");
04671         refs.push_back(ref);
04672         }
04673         registry.AddReferences(refs);
04674         }
04675        
04676         {
04677         AddNodesItem node;
04678         node.RequestedNewNodeId = ToNodeId("i=12102");
04679         node.BrowseName = ToQualifiedName("ServerUri");
04680         node.Class = NodeClass::Variable;
04681         node.ParentNodeId = ToNodeId("i=12098");
04682         node.ReferenceTypeId = ReferenceId::HasComponent;
04683         node.TypeDefinition = ToNodeId("i=63");
04684         VariableAttributes attrs;
04685         attrs.DisplayName = LocalizedText("ServerUri");
04686         attrs.Type = ObjectId::String;
04687         attrs.Rank = -1;
04688         node.Attributes = attrs;
04689         registry.AddNodes(std::vector<AddNodesItem>{node});
04690         std::vector<AddReferencesItem> refs;
04691         {
04692         AddReferencesItem ref;
04693         ref.IsForward = true;
04694         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
04695         ref.SourceNodeId = ToNodeId("i=12102");
04696         ref.TargetNodeClass = NodeClass::DataType;
04697         ref.TargetNodeId = ToNodeId("i=78");
04698         refs.push_back(ref);
04699         }
04700         registry.AddReferences(refs);
04701         }
04702        
04703         {
04704         AddNodesItem node;
04705         node.RequestedNewNodeId = ToNodeId("i=12103");
04706         node.BrowseName = ToQualifiedName("EndpointUrl");
04707         node.Class = NodeClass::Variable;
04708         node.ParentNodeId = ToNodeId("i=12098");
04709         node.ReferenceTypeId = ReferenceId::HasComponent;
04710         node.TypeDefinition = ToNodeId("i=63");
04711         VariableAttributes attrs;
04712         attrs.DisplayName = LocalizedText("EndpointUrl");
04713         attrs.Type = ObjectId::String;
04714         attrs.Rank = -1;
04715         node.Attributes = attrs;
04716         registry.AddNodes(std::vector<AddNodesItem>{node});
04717         std::vector<AddReferencesItem> refs;
04718         {
04719         AddReferencesItem ref;
04720         ref.IsForward = true;
04721         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
04722         ref.SourceNodeId = ToNodeId("i=12103");
04723         ref.TargetNodeClass = NodeClass::DataType;
04724         ref.TargetNodeId = ToNodeId("i=78");
04725         refs.push_back(ref);
04726         }
04727         registry.AddReferences(refs);
04728         }
04729        
04730         {
04731         AddNodesItem node;
04732         node.RequestedNewNodeId = ToNodeId("i=12104");
04733         node.BrowseName = ToQualifiedName("LocaleIds");
04734         node.Class = NodeClass::Variable;
04735         node.ParentNodeId = ToNodeId("i=12098");
04736         node.ReferenceTypeId = ReferenceId::HasComponent;
04737         node.TypeDefinition = ToNodeId("i=63");
04738         VariableAttributes attrs;
04739         attrs.DisplayName = LocalizedText("LocaleIds");
04740         attrs.Type = ToNodeId("i=295");
04741         attrs.Rank = 1;
04742         node.Attributes = attrs;
04743         registry.AddNodes(std::vector<AddNodesItem>{node});
04744         std::vector<AddReferencesItem> refs;
04745         {
04746         AddReferencesItem ref;
04747         ref.IsForward = true;
04748         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
04749         ref.SourceNodeId = ToNodeId("i=12104");
04750         ref.TargetNodeClass = NodeClass::DataType;
04751         ref.TargetNodeId = ToNodeId("i=78");
04752         refs.push_back(ref);
04753         }
04754         registry.AddReferences(refs);
04755         }
04756        
04757         {
04758         AddNodesItem node;
04759         node.RequestedNewNodeId = ToNodeId("i=12105");
04760         node.BrowseName = ToQualifiedName("ActualSessionTimeout");
04761         node.Class = NodeClass::Variable;
04762         node.ParentNodeId = ToNodeId("i=12098");
04763         node.ReferenceTypeId = ReferenceId::HasComponent;
04764         node.TypeDefinition = ToNodeId("i=63");
04765         VariableAttributes attrs;
04766         attrs.DisplayName = LocalizedText("ActualSessionTimeout");
04767         attrs.Type = ToNodeId("i=290");
04768         attrs.Rank = -1;
04769         node.Attributes = attrs;
04770         registry.AddNodes(std::vector<AddNodesItem>{node});
04771         std::vector<AddReferencesItem> refs;
04772         {
04773         AddReferencesItem ref;
04774         ref.IsForward = true;
04775         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
04776         ref.SourceNodeId = ToNodeId("i=12105");
04777         ref.TargetNodeClass = NodeClass::DataType;
04778         ref.TargetNodeId = ToNodeId("i=78");
04779         refs.push_back(ref);
04780         }
04781         registry.AddReferences(refs);
04782         }
04783        
04784         {
04785         AddNodesItem node;
04786         node.RequestedNewNodeId = ToNodeId("i=12106");
04787         node.BrowseName = ToQualifiedName("MaxResponseMessageSize");
04788         node.Class = NodeClass::Variable;
04789         node.ParentNodeId = ToNodeId("i=12098");
04790         node.ReferenceTypeId = ReferenceId::HasComponent;
04791         node.TypeDefinition = ToNodeId("i=63");
04792         VariableAttributes attrs;
04793         attrs.DisplayName = LocalizedText("MaxResponseMessageSize");
04794         attrs.Type = ObjectId::UInt32;
04795         attrs.Rank = -1;
04796         node.Attributes = attrs;
04797         registry.AddNodes(std::vector<AddNodesItem>{node});
04798         std::vector<AddReferencesItem> refs;
04799         {
04800         AddReferencesItem ref;
04801         ref.IsForward = true;
04802         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
04803         ref.SourceNodeId = ToNodeId("i=12106");
04804         ref.TargetNodeClass = NodeClass::DataType;
04805         ref.TargetNodeId = ToNodeId("i=78");
04806         refs.push_back(ref);
04807         }
04808         registry.AddReferences(refs);
04809         }
04810        
04811         {
04812         AddNodesItem node;
04813         node.RequestedNewNodeId = ToNodeId("i=12107");
04814         node.BrowseName = ToQualifiedName("ClientConnectionTime");
04815         node.Class = NodeClass::Variable;
04816         node.ParentNodeId = ToNodeId("i=12098");
04817         node.ReferenceTypeId = ReferenceId::HasComponent;
04818         node.TypeDefinition = ToNodeId("i=63");
04819         VariableAttributes attrs;
04820         attrs.DisplayName = LocalizedText("ClientConnectionTime");
04821         attrs.Type = ToNodeId("i=294");
04822         attrs.Rank = -1;
04823         node.Attributes = attrs;
04824         registry.AddNodes(std::vector<AddNodesItem>{node});
04825         std::vector<AddReferencesItem> refs;
04826         {
04827         AddReferencesItem ref;
04828         ref.IsForward = true;
04829         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
04830         ref.SourceNodeId = ToNodeId("i=12107");
04831         ref.TargetNodeClass = NodeClass::DataType;
04832         ref.TargetNodeId = ToNodeId("i=78");
04833         refs.push_back(ref);
04834         }
04835         registry.AddReferences(refs);
04836         }
04837        
04838         {
04839         AddNodesItem node;
04840         node.RequestedNewNodeId = ToNodeId("i=12108");
04841         node.BrowseName = ToQualifiedName("ClientLastContactTime");
04842         node.Class = NodeClass::Variable;
04843         node.ParentNodeId = ToNodeId("i=12098");
04844         node.ReferenceTypeId = ReferenceId::HasComponent;
04845         node.TypeDefinition = ToNodeId("i=63");
04846         VariableAttributes attrs;
04847         attrs.DisplayName = LocalizedText("ClientLastContactTime");
04848         attrs.Type = ToNodeId("i=294");
04849         attrs.Rank = -1;
04850         node.Attributes = attrs;
04851         registry.AddNodes(std::vector<AddNodesItem>{node});
04852         std::vector<AddReferencesItem> refs;
04853         {
04854         AddReferencesItem ref;
04855         ref.IsForward = true;
04856         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
04857         ref.SourceNodeId = ToNodeId("i=12108");
04858         ref.TargetNodeClass = NodeClass::DataType;
04859         ref.TargetNodeId = ToNodeId("i=78");
04860         refs.push_back(ref);
04861         }
04862         registry.AddReferences(refs);
04863         }
04864        
04865         {
04866         AddNodesItem node;
04867         node.RequestedNewNodeId = ToNodeId("i=12109");
04868         node.BrowseName = ToQualifiedName("CurrentSubscriptionsCount");
04869         node.Class = NodeClass::Variable;
04870         node.ParentNodeId = ToNodeId("i=12098");
04871         node.ReferenceTypeId = ReferenceId::HasComponent;
04872         node.TypeDefinition = ToNodeId("i=63");
04873         VariableAttributes attrs;
04874         attrs.DisplayName = LocalizedText("CurrentSubscriptionsCount");
04875         attrs.Type = ObjectId::UInt32;
04876         attrs.Rank = -1;
04877         node.Attributes = attrs;
04878         registry.AddNodes(std::vector<AddNodesItem>{node});
04879         std::vector<AddReferencesItem> refs;
04880         {
04881         AddReferencesItem ref;
04882         ref.IsForward = true;
04883         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
04884         ref.SourceNodeId = ToNodeId("i=12109");
04885         ref.TargetNodeClass = NodeClass::DataType;
04886         ref.TargetNodeId = ToNodeId("i=78");
04887         refs.push_back(ref);
04888         }
04889         registry.AddReferences(refs);
04890         }
04891        
04892         {
04893         AddNodesItem node;
04894         node.RequestedNewNodeId = ToNodeId("i=12110");
04895         node.BrowseName = ToQualifiedName("CurrentMonitoredItemsCount");
04896         node.Class = NodeClass::Variable;
04897         node.ParentNodeId = ToNodeId("i=12098");
04898         node.ReferenceTypeId = ReferenceId::HasComponent;
04899         node.TypeDefinition = ToNodeId("i=63");
04900         VariableAttributes attrs;
04901         attrs.DisplayName = LocalizedText("CurrentMonitoredItemsCount");
04902         attrs.Type = ObjectId::UInt32;
04903         attrs.Rank = -1;
04904         node.Attributes = attrs;
04905         registry.AddNodes(std::vector<AddNodesItem>{node});
04906         std::vector<AddReferencesItem> refs;
04907         {
04908         AddReferencesItem ref;
04909         ref.IsForward = true;
04910         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
04911         ref.SourceNodeId = ToNodeId("i=12110");
04912         ref.TargetNodeClass = NodeClass::DataType;
04913         ref.TargetNodeId = ToNodeId("i=78");
04914         refs.push_back(ref);
04915         }
04916         registry.AddReferences(refs);
04917         }
04918        
04919         {
04920         AddNodesItem node;
04921         node.RequestedNewNodeId = ToNodeId("i=12111");
04922         node.BrowseName = ToQualifiedName("CurrentPublishRequestsInQueue");
04923         node.Class = NodeClass::Variable;
04924         node.ParentNodeId = ToNodeId("i=12098");
04925         node.ReferenceTypeId = ReferenceId::HasComponent;
04926         node.TypeDefinition = ToNodeId("i=63");
04927         VariableAttributes attrs;
04928         attrs.DisplayName = LocalizedText("CurrentPublishRequestsInQueue");
04929         attrs.Type = ObjectId::UInt32;
04930         attrs.Rank = -1;
04931         node.Attributes = attrs;
04932         registry.AddNodes(std::vector<AddNodesItem>{node});
04933         std::vector<AddReferencesItem> refs;
04934         {
04935         AddReferencesItem ref;
04936         ref.IsForward = true;
04937         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
04938         ref.SourceNodeId = ToNodeId("i=12111");
04939         ref.TargetNodeClass = NodeClass::DataType;
04940         ref.TargetNodeId = ToNodeId("i=78");
04941         refs.push_back(ref);
04942         }
04943         registry.AddReferences(refs);
04944         }
04945        
04946         {
04947         AddNodesItem node;
04948         node.RequestedNewNodeId = ToNodeId("i=12112");
04949         node.BrowseName = ToQualifiedName("TotalRequestCount");
04950         node.Class = NodeClass::Variable;
04951         node.ParentNodeId = ToNodeId("i=12098");
04952         node.ReferenceTypeId = ReferenceId::HasComponent;
04953         node.TypeDefinition = ToNodeId("i=63");
04954         VariableAttributes attrs;
04955         attrs.DisplayName = LocalizedText("TotalRequestCount");
04956         attrs.Type = ToNodeId("i=871");
04957         attrs.Rank = -1;
04958         node.Attributes = attrs;
04959         registry.AddNodes(std::vector<AddNodesItem>{node});
04960         std::vector<AddReferencesItem> refs;
04961         {
04962         AddReferencesItem ref;
04963         ref.IsForward = true;
04964         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
04965         ref.SourceNodeId = ToNodeId("i=12112");
04966         ref.TargetNodeClass = NodeClass::DataType;
04967         ref.TargetNodeId = ToNodeId("i=78");
04968         refs.push_back(ref);
04969         }
04970         registry.AddReferences(refs);
04971         }
04972        
04973         {
04974         AddNodesItem node;
04975         node.RequestedNewNodeId = ToNodeId("i=12113");
04976         node.BrowseName = ToQualifiedName("UnauthorizedRequestCount");
04977         node.Class = NodeClass::Variable;
04978         node.ParentNodeId = ToNodeId("i=12098");
04979         node.ReferenceTypeId = ReferenceId::HasComponent;
04980         node.TypeDefinition = ToNodeId("i=63");
04981         VariableAttributes attrs;
04982         attrs.DisplayName = LocalizedText("UnauthorizedRequestCount");
04983         attrs.Type = ObjectId::UInt32;
04984         attrs.Rank = -1;
04985         node.Attributes = attrs;
04986         registry.AddNodes(std::vector<AddNodesItem>{node});
04987         std::vector<AddReferencesItem> refs;
04988         {
04989         AddReferencesItem ref;
04990         ref.IsForward = true;
04991         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
04992         ref.SourceNodeId = ToNodeId("i=12113");
04993         ref.TargetNodeClass = NodeClass::DataType;
04994         ref.TargetNodeId = ToNodeId("i=78");
04995         refs.push_back(ref);
04996         }
04997         registry.AddReferences(refs);
04998         }
04999        
05000         {
05001         AddNodesItem node;
05002         node.RequestedNewNodeId = ToNodeId("i=12114");
05003         node.BrowseName = ToQualifiedName("ReadCount");
05004         node.Class = NodeClass::Variable;
05005         node.ParentNodeId = ToNodeId("i=12098");
05006         node.ReferenceTypeId = ReferenceId::HasComponent;
05007         node.TypeDefinition = ToNodeId("i=63");
05008         VariableAttributes attrs;
05009         attrs.DisplayName = LocalizedText("ReadCount");
05010         attrs.Type = ToNodeId("i=871");
05011         attrs.Rank = -1;
05012         node.Attributes = attrs;
05013         registry.AddNodes(std::vector<AddNodesItem>{node});
05014         std::vector<AddReferencesItem> refs;
05015         {
05016         AddReferencesItem ref;
05017         ref.IsForward = true;
05018         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
05019         ref.SourceNodeId = ToNodeId("i=12114");
05020         ref.TargetNodeClass = NodeClass::DataType;
05021         ref.TargetNodeId = ToNodeId("i=78");
05022         refs.push_back(ref);
05023         }
05024         registry.AddReferences(refs);
05025         }
05026        
05027         {
05028         AddNodesItem node;
05029         node.RequestedNewNodeId = ToNodeId("i=12115");
05030         node.BrowseName = ToQualifiedName("HistoryReadCount");
05031         node.Class = NodeClass::Variable;
05032         node.ParentNodeId = ToNodeId("i=12098");
05033         node.ReferenceTypeId = ReferenceId::HasComponent;
05034         node.TypeDefinition = ToNodeId("i=63");
05035         VariableAttributes attrs;
05036         attrs.DisplayName = LocalizedText("HistoryReadCount");
05037         attrs.Type = ToNodeId("i=871");
05038         attrs.Rank = -1;
05039         node.Attributes = attrs;
05040         registry.AddNodes(std::vector<AddNodesItem>{node});
05041         std::vector<AddReferencesItem> refs;
05042         {
05043         AddReferencesItem ref;
05044         ref.IsForward = true;
05045         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
05046         ref.SourceNodeId = ToNodeId("i=12115");
05047         ref.TargetNodeClass = NodeClass::DataType;
05048         ref.TargetNodeId = ToNodeId("i=78");
05049         refs.push_back(ref);
05050         }
05051         registry.AddReferences(refs);
05052         }
05053        
05054         {
05055         AddNodesItem node;
05056         node.RequestedNewNodeId = ToNodeId("i=12116");
05057         node.BrowseName = ToQualifiedName("WriteCount");
05058         node.Class = NodeClass::Variable;
05059         node.ParentNodeId = ToNodeId("i=12098");
05060         node.ReferenceTypeId = ReferenceId::HasComponent;
05061         node.TypeDefinition = ToNodeId("i=63");
05062         VariableAttributes attrs;
05063         attrs.DisplayName = LocalizedText("WriteCount");
05064         attrs.Type = ToNodeId("i=871");
05065         attrs.Rank = -1;
05066         node.Attributes = attrs;
05067         registry.AddNodes(std::vector<AddNodesItem>{node});
05068         std::vector<AddReferencesItem> refs;
05069         {
05070         AddReferencesItem ref;
05071         ref.IsForward = true;
05072         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
05073         ref.SourceNodeId = ToNodeId("i=12116");
05074         ref.TargetNodeClass = NodeClass::DataType;
05075         ref.TargetNodeId = ToNodeId("i=78");
05076         refs.push_back(ref);
05077         }
05078         registry.AddReferences(refs);
05079         }
05080        
05081         {
05082         AddNodesItem node;
05083         node.RequestedNewNodeId = ToNodeId("i=12117");
05084         node.BrowseName = ToQualifiedName("HistoryUpdateCount");
05085         node.Class = NodeClass::Variable;
05086         node.ParentNodeId = ToNodeId("i=12098");
05087         node.ReferenceTypeId = ReferenceId::HasComponent;
05088         node.TypeDefinition = ToNodeId("i=63");
05089         VariableAttributes attrs;
05090         attrs.DisplayName = LocalizedText("HistoryUpdateCount");
05091         attrs.Type = ToNodeId("i=871");
05092         attrs.Rank = -1;
05093         node.Attributes = attrs;
05094         registry.AddNodes(std::vector<AddNodesItem>{node});
05095         std::vector<AddReferencesItem> refs;
05096         {
05097         AddReferencesItem ref;
05098         ref.IsForward = true;
05099         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
05100         ref.SourceNodeId = ToNodeId("i=12117");
05101         ref.TargetNodeClass = NodeClass::DataType;
05102         ref.TargetNodeId = ToNodeId("i=78");
05103         refs.push_back(ref);
05104         }
05105         registry.AddReferences(refs);
05106         }
05107        
05108         {
05109         AddNodesItem node;
05110         node.RequestedNewNodeId = ToNodeId("i=12118");
05111         node.BrowseName = ToQualifiedName("CallCount");
05112         node.Class = NodeClass::Variable;
05113         node.ParentNodeId = ToNodeId("i=12098");
05114         node.ReferenceTypeId = ReferenceId::HasComponent;
05115         node.TypeDefinition = ToNodeId("i=63");
05116         VariableAttributes attrs;
05117         attrs.DisplayName = LocalizedText("CallCount");
05118         attrs.Type = ToNodeId("i=871");
05119         attrs.Rank = -1;
05120         node.Attributes = attrs;
05121         registry.AddNodes(std::vector<AddNodesItem>{node});
05122         std::vector<AddReferencesItem> refs;
05123         {
05124         AddReferencesItem ref;
05125         ref.IsForward = true;
05126         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
05127         ref.SourceNodeId = ToNodeId("i=12118");
05128         ref.TargetNodeClass = NodeClass::DataType;
05129         ref.TargetNodeId = ToNodeId("i=78");
05130         refs.push_back(ref);
05131         }
05132         registry.AddReferences(refs);
05133         }
05134        
05135         {
05136         AddNodesItem node;
05137         node.RequestedNewNodeId = ToNodeId("i=12119");
05138         node.BrowseName = ToQualifiedName("CreateMonitoredItemsCount");
05139         node.Class = NodeClass::Variable;
05140         node.ParentNodeId = ToNodeId("i=12098");
05141         node.ReferenceTypeId = ReferenceId::HasComponent;
05142         node.TypeDefinition = ToNodeId("i=63");
05143         VariableAttributes attrs;
05144         attrs.DisplayName = LocalizedText("CreateMonitoredItemsCount");
05145         attrs.Type = ToNodeId("i=871");
05146         attrs.Rank = -1;
05147         node.Attributes = attrs;
05148         registry.AddNodes(std::vector<AddNodesItem>{node});
05149         std::vector<AddReferencesItem> refs;
05150         {
05151         AddReferencesItem ref;
05152         ref.IsForward = true;
05153         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
05154         ref.SourceNodeId = ToNodeId("i=12119");
05155         ref.TargetNodeClass = NodeClass::DataType;
05156         ref.TargetNodeId = ToNodeId("i=78");
05157         refs.push_back(ref);
05158         }
05159         registry.AddReferences(refs);
05160         }
05161        
05162         {
05163         AddNodesItem node;
05164         node.RequestedNewNodeId = ToNodeId("i=12120");
05165         node.BrowseName = ToQualifiedName("ModifyMonitoredItemsCount");
05166         node.Class = NodeClass::Variable;
05167         node.ParentNodeId = ToNodeId("i=12098");
05168         node.ReferenceTypeId = ReferenceId::HasComponent;
05169         node.TypeDefinition = ToNodeId("i=63");
05170         VariableAttributes attrs;
05171         attrs.DisplayName = LocalizedText("ModifyMonitoredItemsCount");
05172         attrs.Type = ToNodeId("i=871");
05173         attrs.Rank = -1;
05174         node.Attributes = attrs;
05175         registry.AddNodes(std::vector<AddNodesItem>{node});
05176         std::vector<AddReferencesItem> refs;
05177         {
05178         AddReferencesItem ref;
05179         ref.IsForward = true;
05180         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
05181         ref.SourceNodeId = ToNodeId("i=12120");
05182         ref.TargetNodeClass = NodeClass::DataType;
05183         ref.TargetNodeId = ToNodeId("i=78");
05184         refs.push_back(ref);
05185         }
05186         registry.AddReferences(refs);
05187         }
05188        
05189         {
05190         AddNodesItem node;
05191         node.RequestedNewNodeId = ToNodeId("i=12121");
05192         node.BrowseName = ToQualifiedName("SetMonitoringModeCount");
05193         node.Class = NodeClass::Variable;
05194         node.ParentNodeId = ToNodeId("i=12098");
05195         node.ReferenceTypeId = ReferenceId::HasComponent;
05196         node.TypeDefinition = ToNodeId("i=63");
05197         VariableAttributes attrs;
05198         attrs.DisplayName = LocalizedText("SetMonitoringModeCount");
05199         attrs.Type = ToNodeId("i=871");
05200         attrs.Rank = -1;
05201         node.Attributes = attrs;
05202         registry.AddNodes(std::vector<AddNodesItem>{node});
05203         std::vector<AddReferencesItem> refs;
05204         {
05205         AddReferencesItem ref;
05206         ref.IsForward = true;
05207         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
05208         ref.SourceNodeId = ToNodeId("i=12121");
05209         ref.TargetNodeClass = NodeClass::DataType;
05210         ref.TargetNodeId = ToNodeId("i=78");
05211         refs.push_back(ref);
05212         }
05213         registry.AddReferences(refs);
05214         }
05215        
05216         {
05217         AddNodesItem node;
05218         node.RequestedNewNodeId = ToNodeId("i=12122");
05219         node.BrowseName = ToQualifiedName("SetTriggeringCount");
05220         node.Class = NodeClass::Variable;
05221         node.ParentNodeId = ToNodeId("i=12098");
05222         node.ReferenceTypeId = ReferenceId::HasComponent;
05223         node.TypeDefinition = ToNodeId("i=63");
05224         VariableAttributes attrs;
05225         attrs.DisplayName = LocalizedText("SetTriggeringCount");
05226         attrs.Type = ToNodeId("i=871");
05227         attrs.Rank = -1;
05228         node.Attributes = attrs;
05229         registry.AddNodes(std::vector<AddNodesItem>{node});
05230         std::vector<AddReferencesItem> refs;
05231         {
05232         AddReferencesItem ref;
05233         ref.IsForward = true;
05234         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
05235         ref.SourceNodeId = ToNodeId("i=12122");
05236         ref.TargetNodeClass = NodeClass::DataType;
05237         ref.TargetNodeId = ToNodeId("i=78");
05238         refs.push_back(ref);
05239         }
05240         registry.AddReferences(refs);
05241         }
05242        
05243         {
05244         AddNodesItem node;
05245         node.RequestedNewNodeId = ToNodeId("i=12123");
05246         node.BrowseName = ToQualifiedName("DeleteMonitoredItemsCount");
05247         node.Class = NodeClass::Variable;
05248         node.ParentNodeId = ToNodeId("i=12098");
05249         node.ReferenceTypeId = ReferenceId::HasComponent;
05250         node.TypeDefinition = ToNodeId("i=63");
05251         VariableAttributes attrs;
05252         attrs.DisplayName = LocalizedText("DeleteMonitoredItemsCount");
05253         attrs.Type = ToNodeId("i=871");
05254         attrs.Rank = -1;
05255         node.Attributes = attrs;
05256         registry.AddNodes(std::vector<AddNodesItem>{node});
05257         std::vector<AddReferencesItem> refs;
05258         {
05259         AddReferencesItem ref;
05260         ref.IsForward = true;
05261         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
05262         ref.SourceNodeId = ToNodeId("i=12123");
05263         ref.TargetNodeClass = NodeClass::DataType;
05264         ref.TargetNodeId = ToNodeId("i=78");
05265         refs.push_back(ref);
05266         }
05267         registry.AddReferences(refs);
05268         }
05269        
05270         {
05271         AddNodesItem node;
05272         node.RequestedNewNodeId = ToNodeId("i=12124");
05273         node.BrowseName = ToQualifiedName("CreateSubscriptionCount");
05274         node.Class = NodeClass::Variable;
05275         node.ParentNodeId = ToNodeId("i=12098");
05276         node.ReferenceTypeId = ReferenceId::HasComponent;
05277         node.TypeDefinition = ToNodeId("i=63");
05278         VariableAttributes attrs;
05279         attrs.DisplayName = LocalizedText("CreateSubscriptionCount");
05280         attrs.Type = ToNodeId("i=871");
05281         attrs.Rank = -1;
05282         node.Attributes = attrs;
05283         registry.AddNodes(std::vector<AddNodesItem>{node});
05284         std::vector<AddReferencesItem> refs;
05285         {
05286         AddReferencesItem ref;
05287         ref.IsForward = true;
05288         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
05289         ref.SourceNodeId = ToNodeId("i=12124");
05290         ref.TargetNodeClass = NodeClass::DataType;
05291         ref.TargetNodeId = ToNodeId("i=78");
05292         refs.push_back(ref);
05293         }
05294         registry.AddReferences(refs);
05295         }
05296        
05297         {
05298         AddNodesItem node;
05299         node.RequestedNewNodeId = ToNodeId("i=12125");
05300         node.BrowseName = ToQualifiedName("ModifySubscriptionCount");
05301         node.Class = NodeClass::Variable;
05302         node.ParentNodeId = ToNodeId("i=12098");
05303         node.ReferenceTypeId = ReferenceId::HasComponent;
05304         node.TypeDefinition = ToNodeId("i=63");
05305         VariableAttributes attrs;
05306         attrs.DisplayName = LocalizedText("ModifySubscriptionCount");
05307         attrs.Type = ToNodeId("i=871");
05308         attrs.Rank = -1;
05309         node.Attributes = attrs;
05310         registry.AddNodes(std::vector<AddNodesItem>{node});
05311         std::vector<AddReferencesItem> refs;
05312         {
05313         AddReferencesItem ref;
05314         ref.IsForward = true;
05315         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
05316         ref.SourceNodeId = ToNodeId("i=12125");
05317         ref.TargetNodeClass = NodeClass::DataType;
05318         ref.TargetNodeId = ToNodeId("i=78");
05319         refs.push_back(ref);
05320         }
05321         registry.AddReferences(refs);
05322         }
05323        
05324         {
05325         AddNodesItem node;
05326         node.RequestedNewNodeId = ToNodeId("i=12126");
05327         node.BrowseName = ToQualifiedName("SetPublishingModeCount");
05328         node.Class = NodeClass::Variable;
05329         node.ParentNodeId = ToNodeId("i=12098");
05330         node.ReferenceTypeId = ReferenceId::HasComponent;
05331         node.TypeDefinition = ToNodeId("i=63");
05332         VariableAttributes attrs;
05333         attrs.DisplayName = LocalizedText("SetPublishingModeCount");
05334         attrs.Type = ToNodeId("i=871");
05335         attrs.Rank = -1;
05336         node.Attributes = attrs;
05337         registry.AddNodes(std::vector<AddNodesItem>{node});
05338         std::vector<AddReferencesItem> refs;
05339         {
05340         AddReferencesItem ref;
05341         ref.IsForward = true;
05342         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
05343         ref.SourceNodeId = ToNodeId("i=12126");
05344         ref.TargetNodeClass = NodeClass::DataType;
05345         ref.TargetNodeId = ToNodeId("i=78");
05346         refs.push_back(ref);
05347         }
05348         registry.AddReferences(refs);
05349         }
05350        
05351         {
05352         AddNodesItem node;
05353         node.RequestedNewNodeId = ToNodeId("i=12127");
05354         node.BrowseName = ToQualifiedName("PublishCount");
05355         node.Class = NodeClass::Variable;
05356         node.ParentNodeId = ToNodeId("i=12098");
05357         node.ReferenceTypeId = ReferenceId::HasComponent;
05358         node.TypeDefinition = ToNodeId("i=63");
05359         VariableAttributes attrs;
05360         attrs.DisplayName = LocalizedText("PublishCount");
05361         attrs.Type = ToNodeId("i=871");
05362         attrs.Rank = -1;
05363         node.Attributes = attrs;
05364         registry.AddNodes(std::vector<AddNodesItem>{node});
05365         std::vector<AddReferencesItem> refs;
05366         {
05367         AddReferencesItem ref;
05368         ref.IsForward = true;
05369         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
05370         ref.SourceNodeId = ToNodeId("i=12127");
05371         ref.TargetNodeClass = NodeClass::DataType;
05372         ref.TargetNodeId = ToNodeId("i=78");
05373         refs.push_back(ref);
05374         }
05375         registry.AddReferences(refs);
05376         }
05377        
05378         {
05379         AddNodesItem node;
05380         node.RequestedNewNodeId = ToNodeId("i=12128");
05381         node.BrowseName = ToQualifiedName("RepublishCount");
05382         node.Class = NodeClass::Variable;
05383         node.ParentNodeId = ToNodeId("i=12098");
05384         node.ReferenceTypeId = ReferenceId::HasComponent;
05385         node.TypeDefinition = ToNodeId("i=63");
05386         VariableAttributes attrs;
05387         attrs.DisplayName = LocalizedText("RepublishCount");
05388         attrs.Type = ToNodeId("i=871");
05389         attrs.Rank = -1;
05390         node.Attributes = attrs;
05391         registry.AddNodes(std::vector<AddNodesItem>{node});
05392         std::vector<AddReferencesItem> refs;
05393         {
05394         AddReferencesItem ref;
05395         ref.IsForward = true;
05396         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
05397         ref.SourceNodeId = ToNodeId("i=12128");
05398         ref.TargetNodeClass = NodeClass::DataType;
05399         ref.TargetNodeId = ToNodeId("i=78");
05400         refs.push_back(ref);
05401         }
05402         registry.AddReferences(refs);
05403         }
05404        
05405         {
05406         AddNodesItem node;
05407         node.RequestedNewNodeId = ToNodeId("i=12129");
05408         node.BrowseName = ToQualifiedName("TransferSubscriptionsCount");
05409         node.Class = NodeClass::Variable;
05410         node.ParentNodeId = ToNodeId("i=12098");
05411         node.ReferenceTypeId = ReferenceId::HasComponent;
05412         node.TypeDefinition = ToNodeId("i=63");
05413         VariableAttributes attrs;
05414         attrs.DisplayName = LocalizedText("TransferSubscriptionsCount");
05415         attrs.Type = ToNodeId("i=871");
05416         attrs.Rank = -1;
05417         node.Attributes = attrs;
05418         registry.AddNodes(std::vector<AddNodesItem>{node});
05419         std::vector<AddReferencesItem> refs;
05420         {
05421         AddReferencesItem ref;
05422         ref.IsForward = true;
05423         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
05424         ref.SourceNodeId = ToNodeId("i=12129");
05425         ref.TargetNodeClass = NodeClass::DataType;
05426         ref.TargetNodeId = ToNodeId("i=78");
05427         refs.push_back(ref);
05428         }
05429         registry.AddReferences(refs);
05430         }
05431        
05432         {
05433         AddNodesItem node;
05434         node.RequestedNewNodeId = ToNodeId("i=12130");
05435         node.BrowseName = ToQualifiedName("DeleteSubscriptionsCount");
05436         node.Class = NodeClass::Variable;
05437         node.ParentNodeId = ToNodeId("i=12098");
05438         node.ReferenceTypeId = ReferenceId::HasComponent;
05439         node.TypeDefinition = ToNodeId("i=63");
05440         VariableAttributes attrs;
05441         attrs.DisplayName = LocalizedText("DeleteSubscriptionsCount");
05442         attrs.Type = ToNodeId("i=871");
05443         attrs.Rank = -1;
05444         node.Attributes = attrs;
05445         registry.AddNodes(std::vector<AddNodesItem>{node});
05446         std::vector<AddReferencesItem> refs;
05447         {
05448         AddReferencesItem ref;
05449         ref.IsForward = true;
05450         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
05451         ref.SourceNodeId = ToNodeId("i=12130");
05452         ref.TargetNodeClass = NodeClass::DataType;
05453         ref.TargetNodeId = ToNodeId("i=78");
05454         refs.push_back(ref);
05455         }
05456         registry.AddReferences(refs);
05457         }
05458        
05459         {
05460         AddNodesItem node;
05461         node.RequestedNewNodeId = ToNodeId("i=12131");
05462         node.BrowseName = ToQualifiedName("AddNodesCount");
05463         node.Class = NodeClass::Variable;
05464         node.ParentNodeId = ToNodeId("i=12098");
05465         node.ReferenceTypeId = ReferenceId::HasComponent;
05466         node.TypeDefinition = ToNodeId("i=63");
05467         VariableAttributes attrs;
05468         attrs.DisplayName = LocalizedText("AddNodesCount");
05469         attrs.Type = ToNodeId("i=871");
05470         attrs.Rank = -1;
05471         node.Attributes = attrs;
05472         registry.AddNodes(std::vector<AddNodesItem>{node});
05473         std::vector<AddReferencesItem> refs;
05474         {
05475         AddReferencesItem ref;
05476         ref.IsForward = true;
05477         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
05478         ref.SourceNodeId = ToNodeId("i=12131");
05479         ref.TargetNodeClass = NodeClass::DataType;
05480         ref.TargetNodeId = ToNodeId("i=78");
05481         refs.push_back(ref);
05482         }
05483         registry.AddReferences(refs);
05484         }
05485        
05486         {
05487         AddNodesItem node;
05488         node.RequestedNewNodeId = ToNodeId("i=12132");
05489         node.BrowseName = ToQualifiedName("AddReferencesCount");
05490         node.Class = NodeClass::Variable;
05491         node.ParentNodeId = ToNodeId("i=12098");
05492         node.ReferenceTypeId = ReferenceId::HasComponent;
05493         node.TypeDefinition = ToNodeId("i=63");
05494         VariableAttributes attrs;
05495         attrs.DisplayName = LocalizedText("AddReferencesCount");
05496         attrs.Type = ToNodeId("i=871");
05497         attrs.Rank = -1;
05498         node.Attributes = attrs;
05499         registry.AddNodes(std::vector<AddNodesItem>{node});
05500         std::vector<AddReferencesItem> refs;
05501         {
05502         AddReferencesItem ref;
05503         ref.IsForward = true;
05504         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
05505         ref.SourceNodeId = ToNodeId("i=12132");
05506         ref.TargetNodeClass = NodeClass::DataType;
05507         ref.TargetNodeId = ToNodeId("i=78");
05508         refs.push_back(ref);
05509         }
05510         registry.AddReferences(refs);
05511         }
05512        
05513         {
05514         AddNodesItem node;
05515         node.RequestedNewNodeId = ToNodeId("i=12133");
05516         node.BrowseName = ToQualifiedName("DeleteNodesCount");
05517         node.Class = NodeClass::Variable;
05518         node.ParentNodeId = ToNodeId("i=12098");
05519         node.ReferenceTypeId = ReferenceId::HasComponent;
05520         node.TypeDefinition = ToNodeId("i=63");
05521         VariableAttributes attrs;
05522         attrs.DisplayName = LocalizedText("DeleteNodesCount");
05523         attrs.Type = ToNodeId("i=871");
05524         attrs.Rank = -1;
05525         node.Attributes = attrs;
05526         registry.AddNodes(std::vector<AddNodesItem>{node});
05527         std::vector<AddReferencesItem> refs;
05528         {
05529         AddReferencesItem ref;
05530         ref.IsForward = true;
05531         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
05532         ref.SourceNodeId = ToNodeId("i=12133");
05533         ref.TargetNodeClass = NodeClass::DataType;
05534         ref.TargetNodeId = ToNodeId("i=78");
05535         refs.push_back(ref);
05536         }
05537         registry.AddReferences(refs);
05538         }
05539        
05540         {
05541         AddNodesItem node;
05542         node.RequestedNewNodeId = ToNodeId("i=12134");
05543         node.BrowseName = ToQualifiedName("DeleteReferencesCount");
05544         node.Class = NodeClass::Variable;
05545         node.ParentNodeId = ToNodeId("i=12098");
05546         node.ReferenceTypeId = ReferenceId::HasComponent;
05547         node.TypeDefinition = ToNodeId("i=63");
05548         VariableAttributes attrs;
05549         attrs.DisplayName = LocalizedText("DeleteReferencesCount");
05550         attrs.Type = ToNodeId("i=871");
05551         attrs.Rank = -1;
05552         node.Attributes = attrs;
05553         registry.AddNodes(std::vector<AddNodesItem>{node});
05554         std::vector<AddReferencesItem> refs;
05555         {
05556         AddReferencesItem ref;
05557         ref.IsForward = true;
05558         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
05559         ref.SourceNodeId = ToNodeId("i=12134");
05560         ref.TargetNodeClass = NodeClass::DataType;
05561         ref.TargetNodeId = ToNodeId("i=78");
05562         refs.push_back(ref);
05563         }
05564         registry.AddReferences(refs);
05565         }
05566        
05567         {
05568         AddNodesItem node;
05569         node.RequestedNewNodeId = ToNodeId("i=12135");
05570         node.BrowseName = ToQualifiedName("BrowseCount");
05571         node.Class = NodeClass::Variable;
05572         node.ParentNodeId = ToNodeId("i=12098");
05573         node.ReferenceTypeId = ReferenceId::HasComponent;
05574         node.TypeDefinition = ToNodeId("i=63");
05575         VariableAttributes attrs;
05576         attrs.DisplayName = LocalizedText("BrowseCount");
05577         attrs.Type = ToNodeId("i=871");
05578         attrs.Rank = -1;
05579         node.Attributes = attrs;
05580         registry.AddNodes(std::vector<AddNodesItem>{node});
05581         std::vector<AddReferencesItem> refs;
05582         {
05583         AddReferencesItem ref;
05584         ref.IsForward = true;
05585         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
05586         ref.SourceNodeId = ToNodeId("i=12135");
05587         ref.TargetNodeClass = NodeClass::DataType;
05588         ref.TargetNodeId = ToNodeId("i=78");
05589         refs.push_back(ref);
05590         }
05591         registry.AddReferences(refs);
05592         }
05593        
05594         {
05595         AddNodesItem node;
05596         node.RequestedNewNodeId = ToNodeId("i=12136");
05597         node.BrowseName = ToQualifiedName("BrowseNextCount");
05598         node.Class = NodeClass::Variable;
05599         node.ParentNodeId = ToNodeId("i=12098");
05600         node.ReferenceTypeId = ReferenceId::HasComponent;
05601         node.TypeDefinition = ToNodeId("i=63");
05602         VariableAttributes attrs;
05603         attrs.DisplayName = LocalizedText("BrowseNextCount");
05604         attrs.Type = ToNodeId("i=871");
05605         attrs.Rank = -1;
05606         node.Attributes = attrs;
05607         registry.AddNodes(std::vector<AddNodesItem>{node});
05608         std::vector<AddReferencesItem> refs;
05609         {
05610         AddReferencesItem ref;
05611         ref.IsForward = true;
05612         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
05613         ref.SourceNodeId = ToNodeId("i=12136");
05614         ref.TargetNodeClass = NodeClass::DataType;
05615         ref.TargetNodeId = ToNodeId("i=78");
05616         refs.push_back(ref);
05617         }
05618         registry.AddReferences(refs);
05619         }
05620        
05621         {
05622         AddNodesItem node;
05623         node.RequestedNewNodeId = ToNodeId("i=12137");
05624         node.BrowseName = ToQualifiedName("TranslateBrowsePathsToNodeIdsCount");
05625         node.Class = NodeClass::Variable;
05626         node.ParentNodeId = ToNodeId("i=12098");
05627         node.ReferenceTypeId = ReferenceId::HasComponent;
05628         node.TypeDefinition = ToNodeId("i=63");
05629         VariableAttributes attrs;
05630         attrs.DisplayName = LocalizedText("TranslateBrowsePathsToNodeIdsCount");
05631         attrs.Type = ToNodeId("i=871");
05632         attrs.Rank = -1;
05633         node.Attributes = attrs;
05634         registry.AddNodes(std::vector<AddNodesItem>{node});
05635         std::vector<AddReferencesItem> refs;
05636         {
05637         AddReferencesItem ref;
05638         ref.IsForward = true;
05639         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
05640         ref.SourceNodeId = ToNodeId("i=12137");
05641         ref.TargetNodeClass = NodeClass::DataType;
05642         ref.TargetNodeId = ToNodeId("i=78");
05643         refs.push_back(ref);
05644         }
05645         registry.AddReferences(refs);
05646         }
05647        
05648         {
05649         AddNodesItem node;
05650         node.RequestedNewNodeId = ToNodeId("i=12138");
05651         node.BrowseName = ToQualifiedName("QueryFirstCount");
05652         node.Class = NodeClass::Variable;
05653         node.ParentNodeId = ToNodeId("i=12098");
05654         node.ReferenceTypeId = ReferenceId::HasComponent;
05655         node.TypeDefinition = ToNodeId("i=63");
05656         VariableAttributes attrs;
05657         attrs.DisplayName = LocalizedText("QueryFirstCount");
05658         attrs.Type = ToNodeId("i=871");
05659         attrs.Rank = -1;
05660         node.Attributes = attrs;
05661         registry.AddNodes(std::vector<AddNodesItem>{node});
05662         std::vector<AddReferencesItem> refs;
05663         {
05664         AddReferencesItem ref;
05665         ref.IsForward = true;
05666         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
05667         ref.SourceNodeId = ToNodeId("i=12138");
05668         ref.TargetNodeClass = NodeClass::DataType;
05669         ref.TargetNodeId = ToNodeId("i=78");
05670         refs.push_back(ref);
05671         }
05672         registry.AddReferences(refs);
05673         }
05674        
05675         {
05676         AddNodesItem node;
05677         node.RequestedNewNodeId = ToNodeId("i=12139");
05678         node.BrowseName = ToQualifiedName("QueryNextCount");
05679         node.Class = NodeClass::Variable;
05680         node.ParentNodeId = ToNodeId("i=12098");
05681         node.ReferenceTypeId = ReferenceId::HasComponent;
05682         node.TypeDefinition = ToNodeId("i=63");
05683         VariableAttributes attrs;
05684         attrs.DisplayName = LocalizedText("QueryNextCount");
05685         attrs.Type = ToNodeId("i=871");
05686         attrs.Rank = -1;
05687         node.Attributes = attrs;
05688         registry.AddNodes(std::vector<AddNodesItem>{node});
05689         std::vector<AddReferencesItem> refs;
05690         {
05691         AddReferencesItem ref;
05692         ref.IsForward = true;
05693         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
05694         ref.SourceNodeId = ToNodeId("i=12139");
05695         ref.TargetNodeClass = NodeClass::DataType;
05696         ref.TargetNodeId = ToNodeId("i=78");
05697         refs.push_back(ref);
05698         }
05699         registry.AddReferences(refs);
05700         }
05701        
05702         {
05703         AddNodesItem node;
05704         node.RequestedNewNodeId = ToNodeId("i=12140");
05705         node.BrowseName = ToQualifiedName("RegisterNodesCount");
05706         node.Class = NodeClass::Variable;
05707         node.ParentNodeId = ToNodeId("i=12098");
05708         node.ReferenceTypeId = ReferenceId::HasComponent;
05709         node.TypeDefinition = ToNodeId("i=63");
05710         VariableAttributes attrs;
05711         attrs.DisplayName = LocalizedText("RegisterNodesCount");
05712         attrs.Type = ToNodeId("i=871");
05713         attrs.Rank = -1;
05714         node.Attributes = attrs;
05715         registry.AddNodes(std::vector<AddNodesItem>{node});
05716         std::vector<AddReferencesItem> refs;
05717         {
05718         AddReferencesItem ref;
05719         ref.IsForward = true;
05720         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
05721         ref.SourceNodeId = ToNodeId("i=12140");
05722         ref.TargetNodeClass = NodeClass::DataType;
05723         ref.TargetNodeId = ToNodeId("i=78");
05724         refs.push_back(ref);
05725         }
05726         registry.AddReferences(refs);
05727         }
05728        
05729         {
05730         AddNodesItem node;
05731         node.RequestedNewNodeId = ToNodeId("i=12141");
05732         node.BrowseName = ToQualifiedName("UnregisterNodesCount");
05733         node.Class = NodeClass::Variable;
05734         node.ParentNodeId = ToNodeId("i=12098");
05735         node.ReferenceTypeId = ReferenceId::HasComponent;
05736         node.TypeDefinition = ToNodeId("i=63");
05737         VariableAttributes attrs;
05738         attrs.DisplayName = LocalizedText("UnregisterNodesCount");
05739         attrs.Type = ToNodeId("i=871");
05740         attrs.Rank = -1;
05741         node.Attributes = attrs;
05742         registry.AddNodes(std::vector<AddNodesItem>{node});
05743         std::vector<AddReferencesItem> refs;
05744         {
05745         AddReferencesItem ref;
05746         ref.IsForward = true;
05747         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
05748         ref.SourceNodeId = ToNodeId("i=12141");
05749         ref.TargetNodeClass = NodeClass::DataType;
05750         ref.TargetNodeId = ToNodeId("i=78");
05751         refs.push_back(ref);
05752         }
05753         registry.AddReferences(refs);
05754         }
05755        
05756         {
05757         AddNodesItem node;
05758         node.RequestedNewNodeId = ToNodeId("i=12142");
05759         node.BrowseName = ToQualifiedName("SessionSecurityDiagnostics");
05760         node.Class = NodeClass::Variable;
05761         node.ParentNodeId = ToNodeId("i=12097");
05762         node.ReferenceTypeId = ReferenceId::HasComponent;
05763         node.TypeDefinition = ToNodeId("i=2244");
05764         VariableAttributes attrs;
05765         attrs.Description = LocalizedText("Security related diagnostics information for an active session.");
05766         attrs.DisplayName = LocalizedText("SessionSecurityDiagnostics");
05767         attrs.Type = ToNodeId("i=868");
05768         attrs.Rank = -1;
05769         node.Attributes = attrs;
05770         registry.AddNodes(std::vector<AddNodesItem>{node});
05771         std::vector<AddReferencesItem> refs;
05772         {
05773         AddReferencesItem ref;
05774         ref.IsForward = true;
05775         ref.ReferenceTypeId = ReferenceId::HasComponent;
05776         ref.SourceNodeId = ToNodeId("i=12142");
05777         ref.TargetNodeClass = NodeClass::DataType;
05778         ref.TargetNodeId = ToNodeId("i=12143");
05779         refs.push_back(ref);
05780         }
05781         {
05782         AddReferencesItem ref;
05783         ref.IsForward = true;
05784         ref.ReferenceTypeId = ReferenceId::HasComponent;
05785         ref.SourceNodeId = ToNodeId("i=12142");
05786         ref.TargetNodeClass = NodeClass::DataType;
05787         ref.TargetNodeId = ToNodeId("i=12144");
05788         refs.push_back(ref);
05789         }
05790         {
05791         AddReferencesItem ref;
05792         ref.IsForward = true;
05793         ref.ReferenceTypeId = ReferenceId::HasComponent;
05794         ref.SourceNodeId = ToNodeId("i=12142");
05795         ref.TargetNodeClass = NodeClass::DataType;
05796         ref.TargetNodeId = ToNodeId("i=12145");
05797         refs.push_back(ref);
05798         }
05799         {
05800         AddReferencesItem ref;
05801         ref.IsForward = true;
05802         ref.ReferenceTypeId = ReferenceId::HasComponent;
05803         ref.SourceNodeId = ToNodeId("i=12142");
05804         ref.TargetNodeClass = NodeClass::DataType;
05805         ref.TargetNodeId = ToNodeId("i=12146");
05806         refs.push_back(ref);
05807         }
05808         {
05809         AddReferencesItem ref;
05810         ref.IsForward = true;
05811         ref.ReferenceTypeId = ReferenceId::HasComponent;
05812         ref.SourceNodeId = ToNodeId("i=12142");
05813         ref.TargetNodeClass = NodeClass::DataType;
05814         ref.TargetNodeId = ToNodeId("i=12147");
05815         refs.push_back(ref);
05816         }
05817         {
05818         AddReferencesItem ref;
05819         ref.IsForward = true;
05820         ref.ReferenceTypeId = ReferenceId::HasComponent;
05821         ref.SourceNodeId = ToNodeId("i=12142");
05822         ref.TargetNodeClass = NodeClass::DataType;
05823         ref.TargetNodeId = ToNodeId("i=12148");
05824         refs.push_back(ref);
05825         }
05826         {
05827         AddReferencesItem ref;
05828         ref.IsForward = true;
05829         ref.ReferenceTypeId = ReferenceId::HasComponent;
05830         ref.SourceNodeId = ToNodeId("i=12142");
05831         ref.TargetNodeClass = NodeClass::DataType;
05832         ref.TargetNodeId = ToNodeId("i=12149");
05833         refs.push_back(ref);
05834         }
05835         {
05836         AddReferencesItem ref;
05837         ref.IsForward = true;
05838         ref.ReferenceTypeId = ReferenceId::HasComponent;
05839         ref.SourceNodeId = ToNodeId("i=12142");
05840         ref.TargetNodeClass = NodeClass::DataType;
05841         ref.TargetNodeId = ToNodeId("i=12150");
05842         refs.push_back(ref);
05843         }
05844         {
05845         AddReferencesItem ref;
05846         ref.IsForward = true;
05847         ref.ReferenceTypeId = ReferenceId::HasComponent;
05848         ref.SourceNodeId = ToNodeId("i=12142");
05849         ref.TargetNodeClass = NodeClass::DataType;
05850         ref.TargetNodeId = ToNodeId("i=12151");
05851         refs.push_back(ref);
05852         }
05853         {
05854         AddReferencesItem ref;
05855         ref.IsForward = true;
05856         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
05857         ref.SourceNodeId = ToNodeId("i=12142");
05858         ref.TargetNodeClass = NodeClass::DataType;
05859         ref.TargetNodeId = ToNodeId("i=78");
05860         refs.push_back(ref);
05861         }
05862         registry.AddReferences(refs);
05863         }
05864        
05865         {
05866         AddNodesItem node;
05867         node.RequestedNewNodeId = ToNodeId("i=12143");
05868         node.BrowseName = ToQualifiedName("SessionId");
05869         node.Class = NodeClass::Variable;
05870         node.ParentNodeId = ToNodeId("i=12142");
05871         node.ReferenceTypeId = ReferenceId::HasComponent;
05872         node.TypeDefinition = ToNodeId("i=63");
05873         VariableAttributes attrs;
05874         attrs.DisplayName = LocalizedText("SessionId");
05875         attrs.Type = ObjectId::NodeId;
05876         attrs.Rank = -1;
05877         node.Attributes = attrs;
05878         registry.AddNodes(std::vector<AddNodesItem>{node});
05879         std::vector<AddReferencesItem> refs;
05880         {
05881         AddReferencesItem ref;
05882         ref.IsForward = true;
05883         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
05884         ref.SourceNodeId = ToNodeId("i=12143");
05885         ref.TargetNodeClass = NodeClass::DataType;
05886         ref.TargetNodeId = ToNodeId("i=78");
05887         refs.push_back(ref);
05888         }
05889         registry.AddReferences(refs);
05890         }
05891        
05892         {
05893         AddNodesItem node;
05894         node.RequestedNewNodeId = ToNodeId("i=12144");
05895         node.BrowseName = ToQualifiedName("ClientUserIdOfSession");
05896         node.Class = NodeClass::Variable;
05897         node.ParentNodeId = ToNodeId("i=12142");
05898         node.ReferenceTypeId = ReferenceId::HasComponent;
05899         node.TypeDefinition = ToNodeId("i=63");
05900         VariableAttributes attrs;
05901         attrs.DisplayName = LocalizedText("ClientUserIdOfSession");
05902         attrs.Type = ObjectId::String;
05903         attrs.Rank = -1;
05904         node.Attributes = attrs;
05905         registry.AddNodes(std::vector<AddNodesItem>{node});
05906         std::vector<AddReferencesItem> refs;
05907         {
05908         AddReferencesItem ref;
05909         ref.IsForward = true;
05910         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
05911         ref.SourceNodeId = ToNodeId("i=12144");
05912         ref.TargetNodeClass = NodeClass::DataType;
05913         ref.TargetNodeId = ToNodeId("i=78");
05914         refs.push_back(ref);
05915         }
05916         registry.AddReferences(refs);
05917         }
05918        
05919         {
05920         AddNodesItem node;
05921         node.RequestedNewNodeId = ToNodeId("i=12145");
05922         node.BrowseName = ToQualifiedName("ClientUserIdHistory");
05923         node.Class = NodeClass::Variable;
05924         node.ParentNodeId = ToNodeId("i=12142");
05925         node.ReferenceTypeId = ReferenceId::HasComponent;
05926         node.TypeDefinition = ToNodeId("i=63");
05927         VariableAttributes attrs;
05928         attrs.DisplayName = LocalizedText("ClientUserIdHistory");
05929         attrs.Type = ObjectId::String;
05930         attrs.Rank = 1;
05931         node.Attributes = attrs;
05932         registry.AddNodes(std::vector<AddNodesItem>{node});
05933         std::vector<AddReferencesItem> refs;
05934         {
05935         AddReferencesItem ref;
05936         ref.IsForward = true;
05937         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
05938         ref.SourceNodeId = ToNodeId("i=12145");
05939         ref.TargetNodeClass = NodeClass::DataType;
05940         ref.TargetNodeId = ToNodeId("i=78");
05941         refs.push_back(ref);
05942         }
05943         registry.AddReferences(refs);
05944         }
05945        
05946         {
05947         AddNodesItem node;
05948         node.RequestedNewNodeId = ToNodeId("i=12146");
05949         node.BrowseName = ToQualifiedName("AuthenticationMechanism");
05950         node.Class = NodeClass::Variable;
05951         node.ParentNodeId = ToNodeId("i=12142");
05952         node.ReferenceTypeId = ReferenceId::HasComponent;
05953         node.TypeDefinition = ToNodeId("i=63");
05954         VariableAttributes attrs;
05955         attrs.DisplayName = LocalizedText("AuthenticationMechanism");
05956         attrs.Type = ObjectId::String;
05957         attrs.Rank = -1;
05958         node.Attributes = attrs;
05959         registry.AddNodes(std::vector<AddNodesItem>{node});
05960         std::vector<AddReferencesItem> refs;
05961         {
05962         AddReferencesItem ref;
05963         ref.IsForward = true;
05964         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
05965         ref.SourceNodeId = ToNodeId("i=12146");
05966         ref.TargetNodeClass = NodeClass::DataType;
05967         ref.TargetNodeId = ToNodeId("i=78");
05968         refs.push_back(ref);
05969         }
05970         registry.AddReferences(refs);
05971         }
05972        
05973         {
05974         AddNodesItem node;
05975         node.RequestedNewNodeId = ToNodeId("i=12147");
05976         node.BrowseName = ToQualifiedName("Encoding");
05977         node.Class = NodeClass::Variable;
05978         node.ParentNodeId = ToNodeId("i=12142");
05979         node.ReferenceTypeId = ReferenceId::HasComponent;
05980         node.TypeDefinition = ToNodeId("i=63");
05981         VariableAttributes attrs;
05982         attrs.DisplayName = LocalizedText("Encoding");
05983         attrs.Type = ObjectId::String;
05984         attrs.Rank = -1;
05985         node.Attributes = attrs;
05986         registry.AddNodes(std::vector<AddNodesItem>{node});
05987         std::vector<AddReferencesItem> refs;
05988         {
05989         AddReferencesItem ref;
05990         ref.IsForward = true;
05991         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
05992         ref.SourceNodeId = ToNodeId("i=12147");
05993         ref.TargetNodeClass = NodeClass::DataType;
05994         ref.TargetNodeId = ToNodeId("i=78");
05995         refs.push_back(ref);
05996         }
05997         registry.AddReferences(refs);
05998         }
05999        
06000         {
06001         AddNodesItem node;
06002         node.RequestedNewNodeId = ToNodeId("i=12148");
06003         node.BrowseName = ToQualifiedName("TransportProtocol");
06004         node.Class = NodeClass::Variable;
06005         node.ParentNodeId = ToNodeId("i=12142");
06006         node.ReferenceTypeId = ReferenceId::HasComponent;
06007         node.TypeDefinition = ToNodeId("i=63");
06008         VariableAttributes attrs;
06009         attrs.DisplayName = LocalizedText("TransportProtocol");
06010         attrs.Type = ObjectId::String;
06011         attrs.Rank = -1;
06012         node.Attributes = attrs;
06013         registry.AddNodes(std::vector<AddNodesItem>{node});
06014         std::vector<AddReferencesItem> refs;
06015         {
06016         AddReferencesItem ref;
06017         ref.IsForward = true;
06018         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
06019         ref.SourceNodeId = ToNodeId("i=12148");
06020         ref.TargetNodeClass = NodeClass::DataType;
06021         ref.TargetNodeId = ToNodeId("i=78");
06022         refs.push_back(ref);
06023         }
06024         registry.AddReferences(refs);
06025         }
06026        
06027         {
06028         AddNodesItem node;
06029         node.RequestedNewNodeId = ToNodeId("i=12149");
06030         node.BrowseName = ToQualifiedName("SecurityMode");
06031         node.Class = NodeClass::Variable;
06032         node.ParentNodeId = ToNodeId("i=12142");
06033         node.ReferenceTypeId = ReferenceId::HasComponent;
06034         node.TypeDefinition = ToNodeId("i=63");
06035         VariableAttributes attrs;
06036         attrs.DisplayName = LocalizedText("SecurityMode");
06037         attrs.Type = ToNodeId("i=302");
06038         attrs.Rank = -1;
06039         node.Attributes = attrs;
06040         registry.AddNodes(std::vector<AddNodesItem>{node});
06041         std::vector<AddReferencesItem> refs;
06042         {
06043         AddReferencesItem ref;
06044         ref.IsForward = true;
06045         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
06046         ref.SourceNodeId = ToNodeId("i=12149");
06047         ref.TargetNodeClass = NodeClass::DataType;
06048         ref.TargetNodeId = ToNodeId("i=78");
06049         refs.push_back(ref);
06050         }
06051         registry.AddReferences(refs);
06052         }
06053        
06054         {
06055         AddNodesItem node;
06056         node.RequestedNewNodeId = ToNodeId("i=12150");
06057         node.BrowseName = ToQualifiedName("SecurityPolicyUri");
06058         node.Class = NodeClass::Variable;
06059         node.ParentNodeId = ToNodeId("i=12142");
06060         node.ReferenceTypeId = ReferenceId::HasComponent;
06061         node.TypeDefinition = ToNodeId("i=63");
06062         VariableAttributes attrs;
06063         attrs.DisplayName = LocalizedText("SecurityPolicyUri");
06064         attrs.Type = ObjectId::String;
06065         attrs.Rank = -1;
06066         node.Attributes = attrs;
06067         registry.AddNodes(std::vector<AddNodesItem>{node});
06068         std::vector<AddReferencesItem> refs;
06069         {
06070         AddReferencesItem ref;
06071         ref.IsForward = true;
06072         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
06073         ref.SourceNodeId = ToNodeId("i=12150");
06074         ref.TargetNodeClass = NodeClass::DataType;
06075         ref.TargetNodeId = ToNodeId("i=78");
06076         refs.push_back(ref);
06077         }
06078         registry.AddReferences(refs);
06079         }
06080        
06081         {
06082         AddNodesItem node;
06083         node.RequestedNewNodeId = ToNodeId("i=12151");
06084         node.BrowseName = ToQualifiedName("ClientCertificate");
06085         node.Class = NodeClass::Variable;
06086         node.ParentNodeId = ToNodeId("i=12142");
06087         node.ReferenceTypeId = ReferenceId::HasComponent;
06088         node.TypeDefinition = ToNodeId("i=63");
06089         VariableAttributes attrs;
06090         attrs.DisplayName = LocalizedText("ClientCertificate");
06091         attrs.Type = ObjectId::ByteString;
06092         attrs.Rank = -1;
06093         node.Attributes = attrs;
06094         registry.AddNodes(std::vector<AddNodesItem>{node});
06095         std::vector<AddReferencesItem> refs;
06096         {
06097         AddReferencesItem ref;
06098         ref.IsForward = true;
06099         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
06100         ref.SourceNodeId = ToNodeId("i=12151");
06101         ref.TargetNodeClass = NodeClass::DataType;
06102         ref.TargetNodeId = ToNodeId("i=78");
06103         refs.push_back(ref);
06104         }
06105         registry.AddReferences(refs);
06106         }
06107        
06108         {
06109         AddNodesItem node;
06110         node.RequestedNewNodeId = ToNodeId("i=12152");
06111         node.BrowseName = ToQualifiedName("SubscriptionDiagnosticsArray");
06112         node.Class = NodeClass::Variable;
06113         node.ParentNodeId = ToNodeId("i=12097");
06114         node.ReferenceTypeId = ReferenceId::HasComponent;
06115         node.TypeDefinition = ToNodeId("i=2171");
06116         VariableAttributes attrs;
06117         attrs.Description = LocalizedText("A list of diagnostics for each subscription owned by the session.");
06118         attrs.DisplayName = LocalizedText("SubscriptionDiagnosticsArray");
06119         attrs.Type = ToNodeId("i=874");
06120         attrs.Rank = 1;
06121         node.Attributes = attrs;
06122         registry.AddNodes(std::vector<AddNodesItem>{node});
06123         std::vector<AddReferencesItem> refs;
06124         {
06125         AddReferencesItem ref;
06126         ref.IsForward = true;
06127         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
06128         ref.SourceNodeId = ToNodeId("i=12152");
06129         ref.TargetNodeClass = NodeClass::DataType;
06130         ref.TargetNodeId = ToNodeId("i=78");
06131         refs.push_back(ref);
06132         }
06133         registry.AddReferences(refs);
06134         }
06135        
06136         {
06137         AddNodesItem node;
06138         node.RequestedNewNodeId = ToNodeId("i=2029");
06139         node.BrowseName = ToQualifiedName("SessionDiagnosticsObjectType");
06140         node.Class = NodeClass::ObjectType;
06141         node.ParentNodeId = ToNodeId("i=58");
06142         node.ReferenceTypeId = ReferenceId::HasSubtype;
06143         ObjectTypeAttributes attrs;
06144         attrs.Description = LocalizedText("A container for session level diagnostics information.");
06145         attrs.DisplayName = LocalizedText("SessionDiagnosticsObjectType");
06146         attrs.IsAbstract = false;
06147         node.Attributes = attrs;
06148         registry.AddNodes(std::vector<AddNodesItem>{node});
06149         std::vector<AddReferencesItem> refs;
06150         {
06151         AddReferencesItem ref;
06152         ref.IsForward = true;
06153         ref.ReferenceTypeId = ReferenceId::HasComponent;
06154         ref.SourceNodeId = ToNodeId("i=2029");
06155         ref.TargetNodeClass = NodeClass::DataType;
06156         ref.TargetNodeId = ToNodeId("i=2030");
06157         refs.push_back(ref);
06158         }
06159         {
06160         AddReferencesItem ref;
06161         ref.IsForward = true;
06162         ref.ReferenceTypeId = ReferenceId::HasComponent;
06163         ref.SourceNodeId = ToNodeId("i=2029");
06164         ref.TargetNodeClass = NodeClass::DataType;
06165         ref.TargetNodeId = ToNodeId("i=2031");
06166         refs.push_back(ref);
06167         }
06168         {
06169         AddReferencesItem ref;
06170         ref.IsForward = true;
06171         ref.ReferenceTypeId = ReferenceId::HasComponent;
06172         ref.SourceNodeId = ToNodeId("i=2029");
06173         ref.TargetNodeClass = NodeClass::DataType;
06174         ref.TargetNodeId = ToNodeId("i=2032");
06175         refs.push_back(ref);
06176         }
06177         registry.AddReferences(refs);
06178         }
06179        
06180         {
06181         AddNodesItem node;
06182         node.RequestedNewNodeId = ToNodeId("i=2030");
06183         node.BrowseName = ToQualifiedName("SessionDiagnostics");
06184         node.Class = NodeClass::Variable;
06185         node.ParentNodeId = ToNodeId("i=2029");
06186         node.ReferenceTypeId = ReferenceId::HasComponent;
06187         node.TypeDefinition = ToNodeId("i=2197");
06188         VariableAttributes attrs;
06189         attrs.Description = LocalizedText("Diagnostics information for an active session.");
06190         attrs.DisplayName = LocalizedText("SessionDiagnostics");
06191         attrs.Type = ToNodeId("i=865");
06192         attrs.Rank = -1;
06193         node.Attributes = attrs;
06194         registry.AddNodes(std::vector<AddNodesItem>{node});
06195         std::vector<AddReferencesItem> refs;
06196         {
06197         AddReferencesItem ref;
06198         ref.IsForward = true;
06199         ref.ReferenceTypeId = ReferenceId::HasComponent;
06200         ref.SourceNodeId = ToNodeId("i=2030");
06201         ref.TargetNodeClass = NodeClass::DataType;
06202         ref.TargetNodeId = ToNodeId("i=3131");
06203         refs.push_back(ref);
06204         }
06205         {
06206         AddReferencesItem ref;
06207         ref.IsForward = true;
06208         ref.ReferenceTypeId = ReferenceId::HasComponent;
06209         ref.SourceNodeId = ToNodeId("i=2030");
06210         ref.TargetNodeClass = NodeClass::DataType;
06211         ref.TargetNodeId = ToNodeId("i=3132");
06212         refs.push_back(ref);
06213         }
06214         {
06215         AddReferencesItem ref;
06216         ref.IsForward = true;
06217         ref.ReferenceTypeId = ReferenceId::HasComponent;
06218         ref.SourceNodeId = ToNodeId("i=2030");
06219         ref.TargetNodeClass = NodeClass::DataType;
06220         ref.TargetNodeId = ToNodeId("i=3133");
06221         refs.push_back(ref);
06222         }
06223         {
06224         AddReferencesItem ref;
06225         ref.IsForward = true;
06226         ref.ReferenceTypeId = ReferenceId::HasComponent;
06227         ref.SourceNodeId = ToNodeId("i=2030");
06228         ref.TargetNodeClass = NodeClass::DataType;
06229         ref.TargetNodeId = ToNodeId("i=3134");
06230         refs.push_back(ref);
06231         }
06232         {
06233         AddReferencesItem ref;
06234         ref.IsForward = true;
06235         ref.ReferenceTypeId = ReferenceId::HasComponent;
06236         ref.SourceNodeId = ToNodeId("i=2030");
06237         ref.TargetNodeClass = NodeClass::DataType;
06238         ref.TargetNodeId = ToNodeId("i=3135");
06239         refs.push_back(ref);
06240         }
06241         {
06242         AddReferencesItem ref;
06243         ref.IsForward = true;
06244         ref.ReferenceTypeId = ReferenceId::HasComponent;
06245         ref.SourceNodeId = ToNodeId("i=2030");
06246         ref.TargetNodeClass = NodeClass::DataType;
06247         ref.TargetNodeId = ToNodeId("i=3136");
06248         refs.push_back(ref);
06249         }
06250         {
06251         AddReferencesItem ref;
06252         ref.IsForward = true;
06253         ref.ReferenceTypeId = ReferenceId::HasComponent;
06254         ref.SourceNodeId = ToNodeId("i=2030");
06255         ref.TargetNodeClass = NodeClass::DataType;
06256         ref.TargetNodeId = ToNodeId("i=3137");
06257         refs.push_back(ref);
06258         }
06259         {
06260         AddReferencesItem ref;
06261         ref.IsForward = true;
06262         ref.ReferenceTypeId = ReferenceId::HasComponent;
06263         ref.SourceNodeId = ToNodeId("i=2030");
06264         ref.TargetNodeClass = NodeClass::DataType;
06265         ref.TargetNodeId = ToNodeId("i=3138");
06266         refs.push_back(ref);
06267         }
06268         {
06269         AddReferencesItem ref;
06270         ref.IsForward = true;
06271         ref.ReferenceTypeId = ReferenceId::HasComponent;
06272         ref.SourceNodeId = ToNodeId("i=2030");
06273         ref.TargetNodeClass = NodeClass::DataType;
06274         ref.TargetNodeId = ToNodeId("i=3139");
06275         refs.push_back(ref);
06276         }
06277         {
06278         AddReferencesItem ref;
06279         ref.IsForward = true;
06280         ref.ReferenceTypeId = ReferenceId::HasComponent;
06281         ref.SourceNodeId = ToNodeId("i=2030");
06282         ref.TargetNodeClass = NodeClass::DataType;
06283         ref.TargetNodeId = ToNodeId("i=3140");
06284         refs.push_back(ref);
06285         }
06286         {
06287         AddReferencesItem ref;
06288         ref.IsForward = true;
06289         ref.ReferenceTypeId = ReferenceId::HasComponent;
06290         ref.SourceNodeId = ToNodeId("i=2030");
06291         ref.TargetNodeClass = NodeClass::DataType;
06292         ref.TargetNodeId = ToNodeId("i=3141");
06293         refs.push_back(ref);
06294         }
06295         {
06296         AddReferencesItem ref;
06297         ref.IsForward = true;
06298         ref.ReferenceTypeId = ReferenceId::HasComponent;
06299         ref.SourceNodeId = ToNodeId("i=2030");
06300         ref.TargetNodeClass = NodeClass::DataType;
06301         ref.TargetNodeId = ToNodeId("i=3142");
06302         refs.push_back(ref);
06303         }
06304         {
06305         AddReferencesItem ref;
06306         ref.IsForward = true;
06307         ref.ReferenceTypeId = ReferenceId::HasComponent;
06308         ref.SourceNodeId = ToNodeId("i=2030");
06309         ref.TargetNodeClass = NodeClass::DataType;
06310         ref.TargetNodeId = ToNodeId("i=3143");
06311         refs.push_back(ref);
06312         }
06313         {
06314         AddReferencesItem ref;
06315         ref.IsForward = true;
06316         ref.ReferenceTypeId = ReferenceId::HasComponent;
06317         ref.SourceNodeId = ToNodeId("i=2030");
06318         ref.TargetNodeClass = NodeClass::DataType;
06319         ref.TargetNodeId = ToNodeId("i=8898");
06320         refs.push_back(ref);
06321         }
06322         {
06323         AddReferencesItem ref;
06324         ref.IsForward = true;
06325         ref.ReferenceTypeId = ReferenceId::HasComponent;
06326         ref.SourceNodeId = ToNodeId("i=2030");
06327         ref.TargetNodeClass = NodeClass::DataType;
06328         ref.TargetNodeId = ToNodeId("i=11891");
06329         refs.push_back(ref);
06330         }
06331         {
06332         AddReferencesItem ref;
06333         ref.IsForward = true;
06334         ref.ReferenceTypeId = ReferenceId::HasComponent;
06335         ref.SourceNodeId = ToNodeId("i=2030");
06336         ref.TargetNodeClass = NodeClass::DataType;
06337         ref.TargetNodeId = ToNodeId("i=3151");
06338         refs.push_back(ref);
06339         }
06340         {
06341         AddReferencesItem ref;
06342         ref.IsForward = true;
06343         ref.ReferenceTypeId = ReferenceId::HasComponent;
06344         ref.SourceNodeId = ToNodeId("i=2030");
06345         ref.TargetNodeClass = NodeClass::DataType;
06346         ref.TargetNodeId = ToNodeId("i=3152");
06347         refs.push_back(ref);
06348         }
06349         {
06350         AddReferencesItem ref;
06351         ref.IsForward = true;
06352         ref.ReferenceTypeId = ReferenceId::HasComponent;
06353         ref.SourceNodeId = ToNodeId("i=2030");
06354         ref.TargetNodeClass = NodeClass::DataType;
06355         ref.TargetNodeId = ToNodeId("i=3153");
06356         refs.push_back(ref);
06357         }
06358         {
06359         AddReferencesItem ref;
06360         ref.IsForward = true;
06361         ref.ReferenceTypeId = ReferenceId::HasComponent;
06362         ref.SourceNodeId = ToNodeId("i=2030");
06363         ref.TargetNodeClass = NodeClass::DataType;
06364         ref.TargetNodeId = ToNodeId("i=3154");
06365         refs.push_back(ref);
06366         }
06367         {
06368         AddReferencesItem ref;
06369         ref.IsForward = true;
06370         ref.ReferenceTypeId = ReferenceId::HasComponent;
06371         ref.SourceNodeId = ToNodeId("i=2030");
06372         ref.TargetNodeClass = NodeClass::DataType;
06373         ref.TargetNodeId = ToNodeId("i=3155");
06374         refs.push_back(ref);
06375         }
06376         {
06377         AddReferencesItem ref;
06378         ref.IsForward = true;
06379         ref.ReferenceTypeId = ReferenceId::HasComponent;
06380         ref.SourceNodeId = ToNodeId("i=2030");
06381         ref.TargetNodeClass = NodeClass::DataType;
06382         ref.TargetNodeId = ToNodeId("i=3156");
06383         refs.push_back(ref);
06384         }
06385         {
06386         AddReferencesItem ref;
06387         ref.IsForward = true;
06388         ref.ReferenceTypeId = ReferenceId::HasComponent;
06389         ref.SourceNodeId = ToNodeId("i=2030");
06390         ref.TargetNodeClass = NodeClass::DataType;
06391         ref.TargetNodeId = ToNodeId("i=3157");
06392         refs.push_back(ref);
06393         }
06394         {
06395         AddReferencesItem ref;
06396         ref.IsForward = true;
06397         ref.ReferenceTypeId = ReferenceId::HasComponent;
06398         ref.SourceNodeId = ToNodeId("i=2030");
06399         ref.TargetNodeClass = NodeClass::DataType;
06400         ref.TargetNodeId = ToNodeId("i=3158");
06401         refs.push_back(ref);
06402         }
06403         {
06404         AddReferencesItem ref;
06405         ref.IsForward = true;
06406         ref.ReferenceTypeId = ReferenceId::HasComponent;
06407         ref.SourceNodeId = ToNodeId("i=2030");
06408         ref.TargetNodeClass = NodeClass::DataType;
06409         ref.TargetNodeId = ToNodeId("i=3159");
06410         refs.push_back(ref);
06411         }
06412         {
06413         AddReferencesItem ref;
06414         ref.IsForward = true;
06415         ref.ReferenceTypeId = ReferenceId::HasComponent;
06416         ref.SourceNodeId = ToNodeId("i=2030");
06417         ref.TargetNodeClass = NodeClass::DataType;
06418         ref.TargetNodeId = ToNodeId("i=3160");
06419         refs.push_back(ref);
06420         }
06421         {
06422         AddReferencesItem ref;
06423         ref.IsForward = true;
06424         ref.ReferenceTypeId = ReferenceId::HasComponent;
06425         ref.SourceNodeId = ToNodeId("i=2030");
06426         ref.TargetNodeClass = NodeClass::DataType;
06427         ref.TargetNodeId = ToNodeId("i=3161");
06428         refs.push_back(ref);
06429         }
06430         {
06431         AddReferencesItem ref;
06432         ref.IsForward = true;
06433         ref.ReferenceTypeId = ReferenceId::HasComponent;
06434         ref.SourceNodeId = ToNodeId("i=2030");
06435         ref.TargetNodeClass = NodeClass::DataType;
06436         ref.TargetNodeId = ToNodeId("i=3162");
06437         refs.push_back(ref);
06438         }
06439         {
06440         AddReferencesItem ref;
06441         ref.IsForward = true;
06442         ref.ReferenceTypeId = ReferenceId::HasComponent;
06443         ref.SourceNodeId = ToNodeId("i=2030");
06444         ref.TargetNodeClass = NodeClass::DataType;
06445         ref.TargetNodeId = ToNodeId("i=3163");
06446         refs.push_back(ref);
06447         }
06448         {
06449         AddReferencesItem ref;
06450         ref.IsForward = true;
06451         ref.ReferenceTypeId = ReferenceId::HasComponent;
06452         ref.SourceNodeId = ToNodeId("i=2030");
06453         ref.TargetNodeClass = NodeClass::DataType;
06454         ref.TargetNodeId = ToNodeId("i=3164");
06455         refs.push_back(ref);
06456         }
06457         {
06458         AddReferencesItem ref;
06459         ref.IsForward = true;
06460         ref.ReferenceTypeId = ReferenceId::HasComponent;
06461         ref.SourceNodeId = ToNodeId("i=2030");
06462         ref.TargetNodeClass = NodeClass::DataType;
06463         ref.TargetNodeId = ToNodeId("i=3165");
06464         refs.push_back(ref);
06465         }
06466         {
06467         AddReferencesItem ref;
06468         ref.IsForward = true;
06469         ref.ReferenceTypeId = ReferenceId::HasComponent;
06470         ref.SourceNodeId = ToNodeId("i=2030");
06471         ref.TargetNodeClass = NodeClass::DataType;
06472         ref.TargetNodeId = ToNodeId("i=3166");
06473         refs.push_back(ref);
06474         }
06475         {
06476         AddReferencesItem ref;
06477         ref.IsForward = true;
06478         ref.ReferenceTypeId = ReferenceId::HasComponent;
06479         ref.SourceNodeId = ToNodeId("i=2030");
06480         ref.TargetNodeClass = NodeClass::DataType;
06481         ref.TargetNodeId = ToNodeId("i=3167");
06482         refs.push_back(ref);
06483         }
06484         {
06485         AddReferencesItem ref;
06486         ref.IsForward = true;
06487         ref.ReferenceTypeId = ReferenceId::HasComponent;
06488         ref.SourceNodeId = ToNodeId("i=2030");
06489         ref.TargetNodeClass = NodeClass::DataType;
06490         ref.TargetNodeId = ToNodeId("i=3168");
06491         refs.push_back(ref);
06492         }
06493         {
06494         AddReferencesItem ref;
06495         ref.IsForward = true;
06496         ref.ReferenceTypeId = ReferenceId::HasComponent;
06497         ref.SourceNodeId = ToNodeId("i=2030");
06498         ref.TargetNodeClass = NodeClass::DataType;
06499         ref.TargetNodeId = ToNodeId("i=3169");
06500         refs.push_back(ref);
06501         }
06502         {
06503         AddReferencesItem ref;
06504         ref.IsForward = true;
06505         ref.ReferenceTypeId = ReferenceId::HasComponent;
06506         ref.SourceNodeId = ToNodeId("i=2030");
06507         ref.TargetNodeClass = NodeClass::DataType;
06508         ref.TargetNodeId = ToNodeId("i=3170");
06509         refs.push_back(ref);
06510         }
06511         {
06512         AddReferencesItem ref;
06513         ref.IsForward = true;
06514         ref.ReferenceTypeId = ReferenceId::HasComponent;
06515         ref.SourceNodeId = ToNodeId("i=2030");
06516         ref.TargetNodeClass = NodeClass::DataType;
06517         ref.TargetNodeId = ToNodeId("i=3171");
06518         refs.push_back(ref);
06519         }
06520         {
06521         AddReferencesItem ref;
06522         ref.IsForward = true;
06523         ref.ReferenceTypeId = ReferenceId::HasComponent;
06524         ref.SourceNodeId = ToNodeId("i=2030");
06525         ref.TargetNodeClass = NodeClass::DataType;
06526         ref.TargetNodeId = ToNodeId("i=3172");
06527         refs.push_back(ref);
06528         }
06529         {
06530         AddReferencesItem ref;
06531         ref.IsForward = true;
06532         ref.ReferenceTypeId = ReferenceId::HasComponent;
06533         ref.SourceNodeId = ToNodeId("i=2030");
06534         ref.TargetNodeClass = NodeClass::DataType;
06535         ref.TargetNodeId = ToNodeId("i=3173");
06536         refs.push_back(ref);
06537         }
06538         {
06539         AddReferencesItem ref;
06540         ref.IsForward = true;
06541         ref.ReferenceTypeId = ReferenceId::HasComponent;
06542         ref.SourceNodeId = ToNodeId("i=2030");
06543         ref.TargetNodeClass = NodeClass::DataType;
06544         ref.TargetNodeId = ToNodeId("i=3174");
06545         refs.push_back(ref);
06546         }
06547         {
06548         AddReferencesItem ref;
06549         ref.IsForward = true;
06550         ref.ReferenceTypeId = ReferenceId::HasComponent;
06551         ref.SourceNodeId = ToNodeId("i=2030");
06552         ref.TargetNodeClass = NodeClass::DataType;
06553         ref.TargetNodeId = ToNodeId("i=3175");
06554         refs.push_back(ref);
06555         }
06556         {
06557         AddReferencesItem ref;
06558         ref.IsForward = true;
06559         ref.ReferenceTypeId = ReferenceId::HasComponent;
06560         ref.SourceNodeId = ToNodeId("i=2030");
06561         ref.TargetNodeClass = NodeClass::DataType;
06562         ref.TargetNodeId = ToNodeId("i=3176");
06563         refs.push_back(ref);
06564         }
06565         {
06566         AddReferencesItem ref;
06567         ref.IsForward = true;
06568         ref.ReferenceTypeId = ReferenceId::HasComponent;
06569         ref.SourceNodeId = ToNodeId("i=2030");
06570         ref.TargetNodeClass = NodeClass::DataType;
06571         ref.TargetNodeId = ToNodeId("i=3177");
06572         refs.push_back(ref);
06573         }
06574         {
06575         AddReferencesItem ref;
06576         ref.IsForward = true;
06577         ref.ReferenceTypeId = ReferenceId::HasComponent;
06578         ref.SourceNodeId = ToNodeId("i=2030");
06579         ref.TargetNodeClass = NodeClass::DataType;
06580         ref.TargetNodeId = ToNodeId("i=3178");
06581         refs.push_back(ref);
06582         }
06583         {
06584         AddReferencesItem ref;
06585         ref.IsForward = true;
06586         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
06587         ref.SourceNodeId = ToNodeId("i=2030");
06588         ref.TargetNodeClass = NodeClass::DataType;
06589         ref.TargetNodeId = ToNodeId("i=78");
06590         refs.push_back(ref);
06591         }
06592         registry.AddReferences(refs);
06593         }
06594        
06595         {
06596         AddNodesItem node;
06597         node.RequestedNewNodeId = ToNodeId("i=3131");
06598         node.BrowseName = ToQualifiedName("SessionId");
06599         node.Class = NodeClass::Variable;
06600         node.ParentNodeId = ToNodeId("i=2030");
06601         node.ReferenceTypeId = ReferenceId::HasComponent;
06602         node.TypeDefinition = ToNodeId("i=63");
06603         VariableAttributes attrs;
06604         attrs.DisplayName = LocalizedText("SessionId");
06605         attrs.Type = ObjectId::NodeId;
06606         attrs.Rank = -1;
06607         node.Attributes = attrs;
06608         registry.AddNodes(std::vector<AddNodesItem>{node});
06609         std::vector<AddReferencesItem> refs;
06610         {
06611         AddReferencesItem ref;
06612         ref.IsForward = true;
06613         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
06614         ref.SourceNodeId = ToNodeId("i=3131");
06615         ref.TargetNodeClass = NodeClass::DataType;
06616         ref.TargetNodeId = ToNodeId("i=78");
06617         refs.push_back(ref);
06618         }
06619         registry.AddReferences(refs);
06620         }
06621        
06622         {
06623         AddNodesItem node;
06624         node.RequestedNewNodeId = ToNodeId("i=3132");
06625         node.BrowseName = ToQualifiedName("SessionName");
06626         node.Class = NodeClass::Variable;
06627         node.ParentNodeId = ToNodeId("i=2030");
06628         node.ReferenceTypeId = ReferenceId::HasComponent;
06629         node.TypeDefinition = ToNodeId("i=63");
06630         VariableAttributes attrs;
06631         attrs.DisplayName = LocalizedText("SessionName");
06632         attrs.Type = ObjectId::String;
06633         attrs.Rank = -1;
06634         node.Attributes = attrs;
06635         registry.AddNodes(std::vector<AddNodesItem>{node});
06636         std::vector<AddReferencesItem> refs;
06637         {
06638         AddReferencesItem ref;
06639         ref.IsForward = true;
06640         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
06641         ref.SourceNodeId = ToNodeId("i=3132");
06642         ref.TargetNodeClass = NodeClass::DataType;
06643         ref.TargetNodeId = ToNodeId("i=78");
06644         refs.push_back(ref);
06645         }
06646         registry.AddReferences(refs);
06647         }
06648        
06649         {
06650         AddNodesItem node;
06651         node.RequestedNewNodeId = ToNodeId("i=3133");
06652         node.BrowseName = ToQualifiedName("ClientDescription");
06653         node.Class = NodeClass::Variable;
06654         node.ParentNodeId = ToNodeId("i=2030");
06655         node.ReferenceTypeId = ReferenceId::HasComponent;
06656         node.TypeDefinition = ToNodeId("i=63");
06657         VariableAttributes attrs;
06658         attrs.DisplayName = LocalizedText("ClientDescription");
06659         attrs.Type = ToNodeId("i=308");
06660         attrs.Rank = -1;
06661         node.Attributes = attrs;
06662         registry.AddNodes(std::vector<AddNodesItem>{node});
06663         std::vector<AddReferencesItem> refs;
06664         {
06665         AddReferencesItem ref;
06666         ref.IsForward = true;
06667         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
06668         ref.SourceNodeId = ToNodeId("i=3133");
06669         ref.TargetNodeClass = NodeClass::DataType;
06670         ref.TargetNodeId = ToNodeId("i=78");
06671         refs.push_back(ref);
06672         }
06673         registry.AddReferences(refs);
06674         }
06675        
06676         {
06677         AddNodesItem node;
06678         node.RequestedNewNodeId = ToNodeId("i=3134");
06679         node.BrowseName = ToQualifiedName("ServerUri");
06680         node.Class = NodeClass::Variable;
06681         node.ParentNodeId = ToNodeId("i=2030");
06682         node.ReferenceTypeId = ReferenceId::HasComponent;
06683         node.TypeDefinition = ToNodeId("i=63");
06684         VariableAttributes attrs;
06685         attrs.DisplayName = LocalizedText("ServerUri");
06686         attrs.Type = ObjectId::String;
06687         attrs.Rank = -1;
06688         node.Attributes = attrs;
06689         registry.AddNodes(std::vector<AddNodesItem>{node});
06690         std::vector<AddReferencesItem> refs;
06691         {
06692         AddReferencesItem ref;
06693         ref.IsForward = true;
06694         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
06695         ref.SourceNodeId = ToNodeId("i=3134");
06696         ref.TargetNodeClass = NodeClass::DataType;
06697         ref.TargetNodeId = ToNodeId("i=78");
06698         refs.push_back(ref);
06699         }
06700         registry.AddReferences(refs);
06701         }
06702        
06703         {
06704         AddNodesItem node;
06705         node.RequestedNewNodeId = ToNodeId("i=3135");
06706         node.BrowseName = ToQualifiedName("EndpointUrl");
06707         node.Class = NodeClass::Variable;
06708         node.ParentNodeId = ToNodeId("i=2030");
06709         node.ReferenceTypeId = ReferenceId::HasComponent;
06710         node.TypeDefinition = ToNodeId("i=63");
06711         VariableAttributes attrs;
06712         attrs.DisplayName = LocalizedText("EndpointUrl");
06713         attrs.Type = ObjectId::String;
06714         attrs.Rank = -1;
06715         node.Attributes = attrs;
06716         registry.AddNodes(std::vector<AddNodesItem>{node});
06717         std::vector<AddReferencesItem> refs;
06718         {
06719         AddReferencesItem ref;
06720         ref.IsForward = true;
06721         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
06722         ref.SourceNodeId = ToNodeId("i=3135");
06723         ref.TargetNodeClass = NodeClass::DataType;
06724         ref.TargetNodeId = ToNodeId("i=78");
06725         refs.push_back(ref);
06726         }
06727         registry.AddReferences(refs);
06728         }
06729        
06730         {
06731         AddNodesItem node;
06732         node.RequestedNewNodeId = ToNodeId("i=3136");
06733         node.BrowseName = ToQualifiedName("LocaleIds");
06734         node.Class = NodeClass::Variable;
06735         node.ParentNodeId = ToNodeId("i=2030");
06736         node.ReferenceTypeId = ReferenceId::HasComponent;
06737         node.TypeDefinition = ToNodeId("i=63");
06738         VariableAttributes attrs;
06739         attrs.DisplayName = LocalizedText("LocaleIds");
06740         attrs.Type = ToNodeId("i=295");
06741         attrs.Rank = 1;
06742         node.Attributes = attrs;
06743         registry.AddNodes(std::vector<AddNodesItem>{node});
06744         std::vector<AddReferencesItem> refs;
06745         {
06746         AddReferencesItem ref;
06747         ref.IsForward = true;
06748         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
06749         ref.SourceNodeId = ToNodeId("i=3136");
06750         ref.TargetNodeClass = NodeClass::DataType;
06751         ref.TargetNodeId = ToNodeId("i=78");
06752         refs.push_back(ref);
06753         }
06754         registry.AddReferences(refs);
06755         }
06756        
06757         {
06758         AddNodesItem node;
06759         node.RequestedNewNodeId = ToNodeId("i=3137");
06760         node.BrowseName = ToQualifiedName("ActualSessionTimeout");
06761         node.Class = NodeClass::Variable;
06762         node.ParentNodeId = ToNodeId("i=2030");
06763         node.ReferenceTypeId = ReferenceId::HasComponent;
06764         node.TypeDefinition = ToNodeId("i=63");
06765         VariableAttributes attrs;
06766         attrs.DisplayName = LocalizedText("ActualSessionTimeout");
06767         attrs.Type = ToNodeId("i=290");
06768         attrs.Rank = -1;
06769         node.Attributes = attrs;
06770         registry.AddNodes(std::vector<AddNodesItem>{node});
06771         std::vector<AddReferencesItem> refs;
06772         {
06773         AddReferencesItem ref;
06774         ref.IsForward = true;
06775         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
06776         ref.SourceNodeId = ToNodeId("i=3137");
06777         ref.TargetNodeClass = NodeClass::DataType;
06778         ref.TargetNodeId = ToNodeId("i=78");
06779         refs.push_back(ref);
06780         }
06781         registry.AddReferences(refs);
06782         }
06783        
06784         {
06785         AddNodesItem node;
06786         node.RequestedNewNodeId = ToNodeId("i=3138");
06787         node.BrowseName = ToQualifiedName("MaxResponseMessageSize");
06788         node.Class = NodeClass::Variable;
06789         node.ParentNodeId = ToNodeId("i=2030");
06790         node.ReferenceTypeId = ReferenceId::HasComponent;
06791         node.TypeDefinition = ToNodeId("i=63");
06792         VariableAttributes attrs;
06793         attrs.DisplayName = LocalizedText("MaxResponseMessageSize");
06794         attrs.Type = ObjectId::UInt32;
06795         attrs.Rank = -1;
06796         node.Attributes = attrs;
06797         registry.AddNodes(std::vector<AddNodesItem>{node});
06798         std::vector<AddReferencesItem> refs;
06799         {
06800         AddReferencesItem ref;
06801         ref.IsForward = true;
06802         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
06803         ref.SourceNodeId = ToNodeId("i=3138");
06804         ref.TargetNodeClass = NodeClass::DataType;
06805         ref.TargetNodeId = ToNodeId("i=78");
06806         refs.push_back(ref);
06807         }
06808         registry.AddReferences(refs);
06809         }
06810        
06811         {
06812         AddNodesItem node;
06813         node.RequestedNewNodeId = ToNodeId("i=3139");
06814         node.BrowseName = ToQualifiedName("ClientConnectionTime");
06815         node.Class = NodeClass::Variable;
06816         node.ParentNodeId = ToNodeId("i=2030");
06817         node.ReferenceTypeId = ReferenceId::HasComponent;
06818         node.TypeDefinition = ToNodeId("i=63");
06819         VariableAttributes attrs;
06820         attrs.DisplayName = LocalizedText("ClientConnectionTime");
06821         attrs.Type = ToNodeId("i=294");
06822         attrs.Rank = -1;
06823         node.Attributes = attrs;
06824         registry.AddNodes(std::vector<AddNodesItem>{node});
06825         std::vector<AddReferencesItem> refs;
06826         {
06827         AddReferencesItem ref;
06828         ref.IsForward = true;
06829         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
06830         ref.SourceNodeId = ToNodeId("i=3139");
06831         ref.TargetNodeClass = NodeClass::DataType;
06832         ref.TargetNodeId = ToNodeId("i=78");
06833         refs.push_back(ref);
06834         }
06835         registry.AddReferences(refs);
06836         }
06837        
06838         {
06839         AddNodesItem node;
06840         node.RequestedNewNodeId = ToNodeId("i=3140");
06841         node.BrowseName = ToQualifiedName("ClientLastContactTime");
06842         node.Class = NodeClass::Variable;
06843         node.ParentNodeId = ToNodeId("i=2030");
06844         node.ReferenceTypeId = ReferenceId::HasComponent;
06845         node.TypeDefinition = ToNodeId("i=63");
06846         VariableAttributes attrs;
06847         attrs.DisplayName = LocalizedText("ClientLastContactTime");
06848         attrs.Type = ToNodeId("i=294");
06849         attrs.Rank = -1;
06850         node.Attributes = attrs;
06851         registry.AddNodes(std::vector<AddNodesItem>{node});
06852         std::vector<AddReferencesItem> refs;
06853         {
06854         AddReferencesItem ref;
06855         ref.IsForward = true;
06856         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
06857         ref.SourceNodeId = ToNodeId("i=3140");
06858         ref.TargetNodeClass = NodeClass::DataType;
06859         ref.TargetNodeId = ToNodeId("i=78");
06860         refs.push_back(ref);
06861         }
06862         registry.AddReferences(refs);
06863         }
06864        
06865         {
06866         AddNodesItem node;
06867         node.RequestedNewNodeId = ToNodeId("i=3141");
06868         node.BrowseName = ToQualifiedName("CurrentSubscriptionsCount");
06869         node.Class = NodeClass::Variable;
06870         node.ParentNodeId = ToNodeId("i=2030");
06871         node.ReferenceTypeId = ReferenceId::HasComponent;
06872         node.TypeDefinition = ToNodeId("i=63");
06873         VariableAttributes attrs;
06874         attrs.DisplayName = LocalizedText("CurrentSubscriptionsCount");
06875         attrs.Type = ObjectId::UInt32;
06876         attrs.Rank = -1;
06877         node.Attributes = attrs;
06878         registry.AddNodes(std::vector<AddNodesItem>{node});
06879         std::vector<AddReferencesItem> refs;
06880         {
06881         AddReferencesItem ref;
06882         ref.IsForward = true;
06883         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
06884         ref.SourceNodeId = ToNodeId("i=3141");
06885         ref.TargetNodeClass = NodeClass::DataType;
06886         ref.TargetNodeId = ToNodeId("i=78");
06887         refs.push_back(ref);
06888         }
06889         registry.AddReferences(refs);
06890         }
06891        
06892         {
06893         AddNodesItem node;
06894         node.RequestedNewNodeId = ToNodeId("i=3142");
06895         node.BrowseName = ToQualifiedName("CurrentMonitoredItemsCount");
06896         node.Class = NodeClass::Variable;
06897         node.ParentNodeId = ToNodeId("i=2030");
06898         node.ReferenceTypeId = ReferenceId::HasComponent;
06899         node.TypeDefinition = ToNodeId("i=63");
06900         VariableAttributes attrs;
06901         attrs.DisplayName = LocalizedText("CurrentMonitoredItemsCount");
06902         attrs.Type = ObjectId::UInt32;
06903         attrs.Rank = -1;
06904         node.Attributes = attrs;
06905         registry.AddNodes(std::vector<AddNodesItem>{node});
06906         std::vector<AddReferencesItem> refs;
06907         {
06908         AddReferencesItem ref;
06909         ref.IsForward = true;
06910         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
06911         ref.SourceNodeId = ToNodeId("i=3142");
06912         ref.TargetNodeClass = NodeClass::DataType;
06913         ref.TargetNodeId = ToNodeId("i=78");
06914         refs.push_back(ref);
06915         }
06916         registry.AddReferences(refs);
06917         }
06918        
06919         {
06920         AddNodesItem node;
06921         node.RequestedNewNodeId = ToNodeId("i=3143");
06922         node.BrowseName = ToQualifiedName("CurrentPublishRequestsInQueue");
06923         node.Class = NodeClass::Variable;
06924         node.ParentNodeId = ToNodeId("i=2030");
06925         node.ReferenceTypeId = ReferenceId::HasComponent;
06926         node.TypeDefinition = ToNodeId("i=63");
06927         VariableAttributes attrs;
06928         attrs.DisplayName = LocalizedText("CurrentPublishRequestsInQueue");
06929         attrs.Type = ObjectId::UInt32;
06930         attrs.Rank = -1;
06931         node.Attributes = attrs;
06932         registry.AddNodes(std::vector<AddNodesItem>{node});
06933         std::vector<AddReferencesItem> refs;
06934         {
06935         AddReferencesItem ref;
06936         ref.IsForward = true;
06937         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
06938         ref.SourceNodeId = ToNodeId("i=3143");
06939         ref.TargetNodeClass = NodeClass::DataType;
06940         ref.TargetNodeId = ToNodeId("i=78");
06941         refs.push_back(ref);
06942         }
06943         registry.AddReferences(refs);
06944         }
06945        
06946         {
06947         AddNodesItem node;
06948         node.RequestedNewNodeId = ToNodeId("i=8898");
06949         node.BrowseName = ToQualifiedName("TotalRequestCount");
06950         node.Class = NodeClass::Variable;
06951         node.ParentNodeId = ToNodeId("i=2030");
06952         node.ReferenceTypeId = ReferenceId::HasComponent;
06953         node.TypeDefinition = ToNodeId("i=63");
06954         VariableAttributes attrs;
06955         attrs.DisplayName = LocalizedText("TotalRequestCount");
06956         attrs.Type = ToNodeId("i=871");
06957         attrs.Rank = -1;
06958         node.Attributes = attrs;
06959         registry.AddNodes(std::vector<AddNodesItem>{node});
06960         std::vector<AddReferencesItem> refs;
06961         {
06962         AddReferencesItem ref;
06963         ref.IsForward = true;
06964         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
06965         ref.SourceNodeId = ToNodeId("i=8898");
06966         ref.TargetNodeClass = NodeClass::DataType;
06967         ref.TargetNodeId = ToNodeId("i=78");
06968         refs.push_back(ref);
06969         }
06970         registry.AddReferences(refs);
06971         }
06972        
06973         {
06974         AddNodesItem node;
06975         node.RequestedNewNodeId = ToNodeId("i=11891");
06976         node.BrowseName = ToQualifiedName("UnauthorizedRequestCount");
06977         node.Class = NodeClass::Variable;
06978         node.ParentNodeId = ToNodeId("i=2030");
06979         node.ReferenceTypeId = ReferenceId::HasComponent;
06980         node.TypeDefinition = ToNodeId("i=63");
06981         VariableAttributes attrs;
06982         attrs.DisplayName = LocalizedText("UnauthorizedRequestCount");
06983         attrs.Type = ObjectId::UInt32;
06984         attrs.Rank = -1;
06985         node.Attributes = attrs;
06986         registry.AddNodes(std::vector<AddNodesItem>{node});
06987         std::vector<AddReferencesItem> refs;
06988         {
06989         AddReferencesItem ref;
06990         ref.IsForward = true;
06991         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
06992         ref.SourceNodeId = ToNodeId("i=11891");
06993         ref.TargetNodeClass = NodeClass::DataType;
06994         ref.TargetNodeId = ToNodeId("i=78");
06995         refs.push_back(ref);
06996         }
06997         registry.AddReferences(refs);
06998         }
06999        
07000         {
07001         AddNodesItem node;
07002         node.RequestedNewNodeId = ToNodeId("i=3151");
07003         node.BrowseName = ToQualifiedName("ReadCount");
07004         node.Class = NodeClass::Variable;
07005         node.ParentNodeId = ToNodeId("i=2030");
07006         node.ReferenceTypeId = ReferenceId::HasComponent;
07007         node.TypeDefinition = ToNodeId("i=63");
07008         VariableAttributes attrs;
07009         attrs.DisplayName = LocalizedText("ReadCount");
07010         attrs.Type = ToNodeId("i=871");
07011         attrs.Rank = -1;
07012         node.Attributes = attrs;
07013         registry.AddNodes(std::vector<AddNodesItem>{node});
07014         std::vector<AddReferencesItem> refs;
07015         {
07016         AddReferencesItem ref;
07017         ref.IsForward = true;
07018         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
07019         ref.SourceNodeId = ToNodeId("i=3151");
07020         ref.TargetNodeClass = NodeClass::DataType;
07021         ref.TargetNodeId = ToNodeId("i=78");
07022         refs.push_back(ref);
07023         }
07024         registry.AddReferences(refs);
07025         }
07026        
07027         {
07028         AddNodesItem node;
07029         node.RequestedNewNodeId = ToNodeId("i=3152");
07030         node.BrowseName = ToQualifiedName("HistoryReadCount");
07031         node.Class = NodeClass::Variable;
07032         node.ParentNodeId = ToNodeId("i=2030");
07033         node.ReferenceTypeId = ReferenceId::HasComponent;
07034         node.TypeDefinition = ToNodeId("i=63");
07035         VariableAttributes attrs;
07036         attrs.DisplayName = LocalizedText("HistoryReadCount");
07037         attrs.Type = ToNodeId("i=871");
07038         attrs.Rank = -1;
07039         node.Attributes = attrs;
07040         registry.AddNodes(std::vector<AddNodesItem>{node});
07041         std::vector<AddReferencesItem> refs;
07042         {
07043         AddReferencesItem ref;
07044         ref.IsForward = true;
07045         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
07046         ref.SourceNodeId = ToNodeId("i=3152");
07047         ref.TargetNodeClass = NodeClass::DataType;
07048         ref.TargetNodeId = ToNodeId("i=78");
07049         refs.push_back(ref);
07050         }
07051         registry.AddReferences(refs);
07052         }
07053        
07054         {
07055         AddNodesItem node;
07056         node.RequestedNewNodeId = ToNodeId("i=3153");
07057         node.BrowseName = ToQualifiedName("WriteCount");
07058         node.Class = NodeClass::Variable;
07059         node.ParentNodeId = ToNodeId("i=2030");
07060         node.ReferenceTypeId = ReferenceId::HasComponent;
07061         node.TypeDefinition = ToNodeId("i=63");
07062         VariableAttributes attrs;
07063         attrs.DisplayName = LocalizedText("WriteCount");
07064         attrs.Type = ToNodeId("i=871");
07065         attrs.Rank = -1;
07066         node.Attributes = attrs;
07067         registry.AddNodes(std::vector<AddNodesItem>{node});
07068         std::vector<AddReferencesItem> refs;
07069         {
07070         AddReferencesItem ref;
07071         ref.IsForward = true;
07072         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
07073         ref.SourceNodeId = ToNodeId("i=3153");
07074         ref.TargetNodeClass = NodeClass::DataType;
07075         ref.TargetNodeId = ToNodeId("i=78");
07076         refs.push_back(ref);
07077         }
07078         registry.AddReferences(refs);
07079         }
07080        
07081         {
07082         AddNodesItem node;
07083         node.RequestedNewNodeId = ToNodeId("i=3154");
07084         node.BrowseName = ToQualifiedName("HistoryUpdateCount");
07085         node.Class = NodeClass::Variable;
07086         node.ParentNodeId = ToNodeId("i=2030");
07087         node.ReferenceTypeId = ReferenceId::HasComponent;
07088         node.TypeDefinition = ToNodeId("i=63");
07089         VariableAttributes attrs;
07090         attrs.DisplayName = LocalizedText("HistoryUpdateCount");
07091         attrs.Type = ToNodeId("i=871");
07092         attrs.Rank = -1;
07093         node.Attributes = attrs;
07094         registry.AddNodes(std::vector<AddNodesItem>{node});
07095         std::vector<AddReferencesItem> refs;
07096         {
07097         AddReferencesItem ref;
07098         ref.IsForward = true;
07099         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
07100         ref.SourceNodeId = ToNodeId("i=3154");
07101         ref.TargetNodeClass = NodeClass::DataType;
07102         ref.TargetNodeId = ToNodeId("i=78");
07103         refs.push_back(ref);
07104         }
07105         registry.AddReferences(refs);
07106         }
07107        
07108         {
07109         AddNodesItem node;
07110         node.RequestedNewNodeId = ToNodeId("i=3155");
07111         node.BrowseName = ToQualifiedName("CallCount");
07112         node.Class = NodeClass::Variable;
07113         node.ParentNodeId = ToNodeId("i=2030");
07114         node.ReferenceTypeId = ReferenceId::HasComponent;
07115         node.TypeDefinition = ToNodeId("i=63");
07116         VariableAttributes attrs;
07117         attrs.DisplayName = LocalizedText("CallCount");
07118         attrs.Type = ToNodeId("i=871");
07119         attrs.Rank = -1;
07120         node.Attributes = attrs;
07121         registry.AddNodes(std::vector<AddNodesItem>{node});
07122         std::vector<AddReferencesItem> refs;
07123         {
07124         AddReferencesItem ref;
07125         ref.IsForward = true;
07126         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
07127         ref.SourceNodeId = ToNodeId("i=3155");
07128         ref.TargetNodeClass = NodeClass::DataType;
07129         ref.TargetNodeId = ToNodeId("i=78");
07130         refs.push_back(ref);
07131         }
07132         registry.AddReferences(refs);
07133         }
07134        
07135         {
07136         AddNodesItem node;
07137         node.RequestedNewNodeId = ToNodeId("i=3156");
07138         node.BrowseName = ToQualifiedName("CreateMonitoredItemsCount");
07139         node.Class = NodeClass::Variable;
07140         node.ParentNodeId = ToNodeId("i=2030");
07141         node.ReferenceTypeId = ReferenceId::HasComponent;
07142         node.TypeDefinition = ToNodeId("i=63");
07143         VariableAttributes attrs;
07144         attrs.DisplayName = LocalizedText("CreateMonitoredItemsCount");
07145         attrs.Type = ToNodeId("i=871");
07146         attrs.Rank = -1;
07147         node.Attributes = attrs;
07148         registry.AddNodes(std::vector<AddNodesItem>{node});
07149         std::vector<AddReferencesItem> refs;
07150         {
07151         AddReferencesItem ref;
07152         ref.IsForward = true;
07153         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
07154         ref.SourceNodeId = ToNodeId("i=3156");
07155         ref.TargetNodeClass = NodeClass::DataType;
07156         ref.TargetNodeId = ToNodeId("i=78");
07157         refs.push_back(ref);
07158         }
07159         registry.AddReferences(refs);
07160         }
07161        
07162         {
07163         AddNodesItem node;
07164         node.RequestedNewNodeId = ToNodeId("i=3157");
07165         node.BrowseName = ToQualifiedName("ModifyMonitoredItemsCount");
07166         node.Class = NodeClass::Variable;
07167         node.ParentNodeId = ToNodeId("i=2030");
07168         node.ReferenceTypeId = ReferenceId::HasComponent;
07169         node.TypeDefinition = ToNodeId("i=63");
07170         VariableAttributes attrs;
07171         attrs.DisplayName = LocalizedText("ModifyMonitoredItemsCount");
07172         attrs.Type = ToNodeId("i=871");
07173         attrs.Rank = -1;
07174         node.Attributes = attrs;
07175         registry.AddNodes(std::vector<AddNodesItem>{node});
07176         std::vector<AddReferencesItem> refs;
07177         {
07178         AddReferencesItem ref;
07179         ref.IsForward = true;
07180         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
07181         ref.SourceNodeId = ToNodeId("i=3157");
07182         ref.TargetNodeClass = NodeClass::DataType;
07183         ref.TargetNodeId = ToNodeId("i=78");
07184         refs.push_back(ref);
07185         }
07186         registry.AddReferences(refs);
07187         }
07188        
07189         {
07190         AddNodesItem node;
07191         node.RequestedNewNodeId = ToNodeId("i=3158");
07192         node.BrowseName = ToQualifiedName("SetMonitoringModeCount");
07193         node.Class = NodeClass::Variable;
07194         node.ParentNodeId = ToNodeId("i=2030");
07195         node.ReferenceTypeId = ReferenceId::HasComponent;
07196         node.TypeDefinition = ToNodeId("i=63");
07197         VariableAttributes attrs;
07198         attrs.DisplayName = LocalizedText("SetMonitoringModeCount");
07199         attrs.Type = ToNodeId("i=871");
07200         attrs.Rank = -1;
07201         node.Attributes = attrs;
07202         registry.AddNodes(std::vector<AddNodesItem>{node});
07203         std::vector<AddReferencesItem> refs;
07204         {
07205         AddReferencesItem ref;
07206         ref.IsForward = true;
07207         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
07208         ref.SourceNodeId = ToNodeId("i=3158");
07209         ref.TargetNodeClass = NodeClass::DataType;
07210         ref.TargetNodeId = ToNodeId("i=78");
07211         refs.push_back(ref);
07212         }
07213         registry.AddReferences(refs);
07214         }
07215        
07216         {
07217         AddNodesItem node;
07218         node.RequestedNewNodeId = ToNodeId("i=3159");
07219         node.BrowseName = ToQualifiedName("SetTriggeringCount");
07220         node.Class = NodeClass::Variable;
07221         node.ParentNodeId = ToNodeId("i=2030");
07222         node.ReferenceTypeId = ReferenceId::HasComponent;
07223         node.TypeDefinition = ToNodeId("i=63");
07224         VariableAttributes attrs;
07225         attrs.DisplayName = LocalizedText("SetTriggeringCount");
07226         attrs.Type = ToNodeId("i=871");
07227         attrs.Rank = -1;
07228         node.Attributes = attrs;
07229         registry.AddNodes(std::vector<AddNodesItem>{node});
07230         std::vector<AddReferencesItem> refs;
07231         {
07232         AddReferencesItem ref;
07233         ref.IsForward = true;
07234         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
07235         ref.SourceNodeId = ToNodeId("i=3159");
07236         ref.TargetNodeClass = NodeClass::DataType;
07237         ref.TargetNodeId = ToNodeId("i=78");
07238         refs.push_back(ref);
07239         }
07240         registry.AddReferences(refs);
07241         }
07242        
07243         {
07244         AddNodesItem node;
07245         node.RequestedNewNodeId = ToNodeId("i=3160");
07246         node.BrowseName = ToQualifiedName("DeleteMonitoredItemsCount");
07247         node.Class = NodeClass::Variable;
07248         node.ParentNodeId = ToNodeId("i=2030");
07249         node.ReferenceTypeId = ReferenceId::HasComponent;
07250         node.TypeDefinition = ToNodeId("i=63");
07251         VariableAttributes attrs;
07252         attrs.DisplayName = LocalizedText("DeleteMonitoredItemsCount");
07253         attrs.Type = ToNodeId("i=871");
07254         attrs.Rank = -1;
07255         node.Attributes = attrs;
07256         registry.AddNodes(std::vector<AddNodesItem>{node});
07257         std::vector<AddReferencesItem> refs;
07258         {
07259         AddReferencesItem ref;
07260         ref.IsForward = true;
07261         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
07262         ref.SourceNodeId = ToNodeId("i=3160");
07263         ref.TargetNodeClass = NodeClass::DataType;
07264         ref.TargetNodeId = ToNodeId("i=78");
07265         refs.push_back(ref);
07266         }
07267         registry.AddReferences(refs);
07268         }
07269        
07270         {
07271         AddNodesItem node;
07272         node.RequestedNewNodeId = ToNodeId("i=3161");
07273         node.BrowseName = ToQualifiedName("CreateSubscriptionCount");
07274         node.Class = NodeClass::Variable;
07275         node.ParentNodeId = ToNodeId("i=2030");
07276         node.ReferenceTypeId = ReferenceId::HasComponent;
07277         node.TypeDefinition = ToNodeId("i=63");
07278         VariableAttributes attrs;
07279         attrs.DisplayName = LocalizedText("CreateSubscriptionCount");
07280         attrs.Type = ToNodeId("i=871");
07281         attrs.Rank = -1;
07282         node.Attributes = attrs;
07283         registry.AddNodes(std::vector<AddNodesItem>{node});
07284         std::vector<AddReferencesItem> refs;
07285         {
07286         AddReferencesItem ref;
07287         ref.IsForward = true;
07288         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
07289         ref.SourceNodeId = ToNodeId("i=3161");
07290         ref.TargetNodeClass = NodeClass::DataType;
07291         ref.TargetNodeId = ToNodeId("i=78");
07292         refs.push_back(ref);
07293         }
07294         registry.AddReferences(refs);
07295         }
07296        
07297         {
07298         AddNodesItem node;
07299         node.RequestedNewNodeId = ToNodeId("i=3162");
07300         node.BrowseName = ToQualifiedName("ModifySubscriptionCount");
07301         node.Class = NodeClass::Variable;
07302         node.ParentNodeId = ToNodeId("i=2030");
07303         node.ReferenceTypeId = ReferenceId::HasComponent;
07304         node.TypeDefinition = ToNodeId("i=63");
07305         VariableAttributes attrs;
07306         attrs.DisplayName = LocalizedText("ModifySubscriptionCount");
07307         attrs.Type = ToNodeId("i=871");
07308         attrs.Rank = -1;
07309         node.Attributes = attrs;
07310         registry.AddNodes(std::vector<AddNodesItem>{node});
07311         std::vector<AddReferencesItem> refs;
07312         {
07313         AddReferencesItem ref;
07314         ref.IsForward = true;
07315         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
07316         ref.SourceNodeId = ToNodeId("i=3162");
07317         ref.TargetNodeClass = NodeClass::DataType;
07318         ref.TargetNodeId = ToNodeId("i=78");
07319         refs.push_back(ref);
07320         }
07321         registry.AddReferences(refs);
07322         }
07323        
07324         {
07325         AddNodesItem node;
07326         node.RequestedNewNodeId = ToNodeId("i=3163");
07327         node.BrowseName = ToQualifiedName("SetPublishingModeCount");
07328         node.Class = NodeClass::Variable;
07329         node.ParentNodeId = ToNodeId("i=2030");
07330         node.ReferenceTypeId = ReferenceId::HasComponent;
07331         node.TypeDefinition = ToNodeId("i=63");
07332         VariableAttributes attrs;
07333         attrs.DisplayName = LocalizedText("SetPublishingModeCount");
07334         attrs.Type = ToNodeId("i=871");
07335         attrs.Rank = -1;
07336         node.Attributes = attrs;
07337         registry.AddNodes(std::vector<AddNodesItem>{node});
07338         std::vector<AddReferencesItem> refs;
07339         {
07340         AddReferencesItem ref;
07341         ref.IsForward = true;
07342         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
07343         ref.SourceNodeId = ToNodeId("i=3163");
07344         ref.TargetNodeClass = NodeClass::DataType;
07345         ref.TargetNodeId = ToNodeId("i=78");
07346         refs.push_back(ref);
07347         }
07348         registry.AddReferences(refs);
07349         }
07350        
07351         {
07352         AddNodesItem node;
07353         node.RequestedNewNodeId = ToNodeId("i=3164");
07354         node.BrowseName = ToQualifiedName("PublishCount");
07355         node.Class = NodeClass::Variable;
07356         node.ParentNodeId = ToNodeId("i=2030");
07357         node.ReferenceTypeId = ReferenceId::HasComponent;
07358         node.TypeDefinition = ToNodeId("i=63");
07359         VariableAttributes attrs;
07360         attrs.DisplayName = LocalizedText("PublishCount");
07361         attrs.Type = ToNodeId("i=871");
07362         attrs.Rank = -1;
07363         node.Attributes = attrs;
07364         registry.AddNodes(std::vector<AddNodesItem>{node});
07365         std::vector<AddReferencesItem> refs;
07366         {
07367         AddReferencesItem ref;
07368         ref.IsForward = true;
07369         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
07370         ref.SourceNodeId = ToNodeId("i=3164");
07371         ref.TargetNodeClass = NodeClass::DataType;
07372         ref.TargetNodeId = ToNodeId("i=78");
07373         refs.push_back(ref);
07374         }
07375         registry.AddReferences(refs);
07376         }
07377        
07378         {
07379         AddNodesItem node;
07380         node.RequestedNewNodeId = ToNodeId("i=3165");
07381         node.BrowseName = ToQualifiedName("RepublishCount");
07382         node.Class = NodeClass::Variable;
07383         node.ParentNodeId = ToNodeId("i=2030");
07384         node.ReferenceTypeId = ReferenceId::HasComponent;
07385         node.TypeDefinition = ToNodeId("i=63");
07386         VariableAttributes attrs;
07387         attrs.DisplayName = LocalizedText("RepublishCount");
07388         attrs.Type = ToNodeId("i=871");
07389         attrs.Rank = -1;
07390         node.Attributes = attrs;
07391         registry.AddNodes(std::vector<AddNodesItem>{node});
07392         std::vector<AddReferencesItem> refs;
07393         {
07394         AddReferencesItem ref;
07395         ref.IsForward = true;
07396         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
07397         ref.SourceNodeId = ToNodeId("i=3165");
07398         ref.TargetNodeClass = NodeClass::DataType;
07399         ref.TargetNodeId = ToNodeId("i=78");
07400         refs.push_back(ref);
07401         }
07402         registry.AddReferences(refs);
07403         }
07404        
07405         {
07406         AddNodesItem node;
07407         node.RequestedNewNodeId = ToNodeId("i=3166");
07408         node.BrowseName = ToQualifiedName("TransferSubscriptionsCount");
07409         node.Class = NodeClass::Variable;
07410         node.ParentNodeId = ToNodeId("i=2030");
07411         node.ReferenceTypeId = ReferenceId::HasComponent;
07412         node.TypeDefinition = ToNodeId("i=63");
07413         VariableAttributes attrs;
07414         attrs.DisplayName = LocalizedText("TransferSubscriptionsCount");
07415         attrs.Type = ToNodeId("i=871");
07416         attrs.Rank = -1;
07417         node.Attributes = attrs;
07418         registry.AddNodes(std::vector<AddNodesItem>{node});
07419         std::vector<AddReferencesItem> refs;
07420         {
07421         AddReferencesItem ref;
07422         ref.IsForward = true;
07423         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
07424         ref.SourceNodeId = ToNodeId("i=3166");
07425         ref.TargetNodeClass = NodeClass::DataType;
07426         ref.TargetNodeId = ToNodeId("i=78");
07427         refs.push_back(ref);
07428         }
07429         registry.AddReferences(refs);
07430         }
07431        
07432         {
07433         AddNodesItem node;
07434         node.RequestedNewNodeId = ToNodeId("i=3167");
07435         node.BrowseName = ToQualifiedName("DeleteSubscriptionsCount");
07436         node.Class = NodeClass::Variable;
07437         node.ParentNodeId = ToNodeId("i=2030");
07438         node.ReferenceTypeId = ReferenceId::HasComponent;
07439         node.TypeDefinition = ToNodeId("i=63");
07440         VariableAttributes attrs;
07441         attrs.DisplayName = LocalizedText("DeleteSubscriptionsCount");
07442         attrs.Type = ToNodeId("i=871");
07443         attrs.Rank = -1;
07444         node.Attributes = attrs;
07445         registry.AddNodes(std::vector<AddNodesItem>{node});
07446         std::vector<AddReferencesItem> refs;
07447         {
07448         AddReferencesItem ref;
07449         ref.IsForward = true;
07450         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
07451         ref.SourceNodeId = ToNodeId("i=3167");
07452         ref.TargetNodeClass = NodeClass::DataType;
07453         ref.TargetNodeId = ToNodeId("i=78");
07454         refs.push_back(ref);
07455         }
07456         registry.AddReferences(refs);
07457         }
07458        
07459         {
07460         AddNodesItem node;
07461         node.RequestedNewNodeId = ToNodeId("i=3168");
07462         node.BrowseName = ToQualifiedName("AddNodesCount");
07463         node.Class = NodeClass::Variable;
07464         node.ParentNodeId = ToNodeId("i=2030");
07465         node.ReferenceTypeId = ReferenceId::HasComponent;
07466         node.TypeDefinition = ToNodeId("i=63");
07467         VariableAttributes attrs;
07468         attrs.DisplayName = LocalizedText("AddNodesCount");
07469         attrs.Type = ToNodeId("i=871");
07470         attrs.Rank = -1;
07471         node.Attributes = attrs;
07472         registry.AddNodes(std::vector<AddNodesItem>{node});
07473         std::vector<AddReferencesItem> refs;
07474         {
07475         AddReferencesItem ref;
07476         ref.IsForward = true;
07477         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
07478         ref.SourceNodeId = ToNodeId("i=3168");
07479         ref.TargetNodeClass = NodeClass::DataType;
07480         ref.TargetNodeId = ToNodeId("i=78");
07481         refs.push_back(ref);
07482         }
07483         registry.AddReferences(refs);
07484         }
07485        
07486         {
07487         AddNodesItem node;
07488         node.RequestedNewNodeId = ToNodeId("i=3169");
07489         node.BrowseName = ToQualifiedName("AddReferencesCount");
07490         node.Class = NodeClass::Variable;
07491         node.ParentNodeId = ToNodeId("i=2030");
07492         node.ReferenceTypeId = ReferenceId::HasComponent;
07493         node.TypeDefinition = ToNodeId("i=63");
07494         VariableAttributes attrs;
07495         attrs.DisplayName = LocalizedText("AddReferencesCount");
07496         attrs.Type = ToNodeId("i=871");
07497         attrs.Rank = -1;
07498         node.Attributes = attrs;
07499         registry.AddNodes(std::vector<AddNodesItem>{node});
07500         std::vector<AddReferencesItem> refs;
07501         {
07502         AddReferencesItem ref;
07503         ref.IsForward = true;
07504         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
07505         ref.SourceNodeId = ToNodeId("i=3169");
07506         ref.TargetNodeClass = NodeClass::DataType;
07507         ref.TargetNodeId = ToNodeId("i=78");
07508         refs.push_back(ref);
07509         }
07510         registry.AddReferences(refs);
07511         }
07512        
07513         {
07514         AddNodesItem node;
07515         node.RequestedNewNodeId = ToNodeId("i=3170");
07516         node.BrowseName = ToQualifiedName("DeleteNodesCount");
07517         node.Class = NodeClass::Variable;
07518         node.ParentNodeId = ToNodeId("i=2030");
07519         node.ReferenceTypeId = ReferenceId::HasComponent;
07520         node.TypeDefinition = ToNodeId("i=63");
07521         VariableAttributes attrs;
07522         attrs.DisplayName = LocalizedText("DeleteNodesCount");
07523         attrs.Type = ToNodeId("i=871");
07524         attrs.Rank = -1;
07525         node.Attributes = attrs;
07526         registry.AddNodes(std::vector<AddNodesItem>{node});
07527         std::vector<AddReferencesItem> refs;
07528         {
07529         AddReferencesItem ref;
07530         ref.IsForward = true;
07531         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
07532         ref.SourceNodeId = ToNodeId("i=3170");
07533         ref.TargetNodeClass = NodeClass::DataType;
07534         ref.TargetNodeId = ToNodeId("i=78");
07535         refs.push_back(ref);
07536         }
07537         registry.AddReferences(refs);
07538         }
07539        
07540         {
07541         AddNodesItem node;
07542         node.RequestedNewNodeId = ToNodeId("i=3171");
07543         node.BrowseName = ToQualifiedName("DeleteReferencesCount");
07544         node.Class = NodeClass::Variable;
07545         node.ParentNodeId = ToNodeId("i=2030");
07546         node.ReferenceTypeId = ReferenceId::HasComponent;
07547         node.TypeDefinition = ToNodeId("i=63");
07548         VariableAttributes attrs;
07549         attrs.DisplayName = LocalizedText("DeleteReferencesCount");
07550         attrs.Type = ToNodeId("i=871");
07551         attrs.Rank = -1;
07552         node.Attributes = attrs;
07553         registry.AddNodes(std::vector<AddNodesItem>{node});
07554         std::vector<AddReferencesItem> refs;
07555         {
07556         AddReferencesItem ref;
07557         ref.IsForward = true;
07558         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
07559         ref.SourceNodeId = ToNodeId("i=3171");
07560         ref.TargetNodeClass = NodeClass::DataType;
07561         ref.TargetNodeId = ToNodeId("i=78");
07562         refs.push_back(ref);
07563         }
07564         registry.AddReferences(refs);
07565         }
07566        
07567         {
07568         AddNodesItem node;
07569         node.RequestedNewNodeId = ToNodeId("i=3172");
07570         node.BrowseName = ToQualifiedName("BrowseCount");
07571         node.Class = NodeClass::Variable;
07572         node.ParentNodeId = ToNodeId("i=2030");
07573         node.ReferenceTypeId = ReferenceId::HasComponent;
07574         node.TypeDefinition = ToNodeId("i=63");
07575         VariableAttributes attrs;
07576         attrs.DisplayName = LocalizedText("BrowseCount");
07577         attrs.Type = ToNodeId("i=871");
07578         attrs.Rank = -1;
07579         node.Attributes = attrs;
07580         registry.AddNodes(std::vector<AddNodesItem>{node});
07581         std::vector<AddReferencesItem> refs;
07582         {
07583         AddReferencesItem ref;
07584         ref.IsForward = true;
07585         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
07586         ref.SourceNodeId = ToNodeId("i=3172");
07587         ref.TargetNodeClass = NodeClass::DataType;
07588         ref.TargetNodeId = ToNodeId("i=78");
07589         refs.push_back(ref);
07590         }
07591         registry.AddReferences(refs);
07592         }
07593        
07594         {
07595         AddNodesItem node;
07596         node.RequestedNewNodeId = ToNodeId("i=3173");
07597         node.BrowseName = ToQualifiedName("BrowseNextCount");
07598         node.Class = NodeClass::Variable;
07599         node.ParentNodeId = ToNodeId("i=2030");
07600         node.ReferenceTypeId = ReferenceId::HasComponent;
07601         node.TypeDefinition = ToNodeId("i=63");
07602         VariableAttributes attrs;
07603         attrs.DisplayName = LocalizedText("BrowseNextCount");
07604         attrs.Type = ToNodeId("i=871");
07605         attrs.Rank = -1;
07606         node.Attributes = attrs;
07607         registry.AddNodes(std::vector<AddNodesItem>{node});
07608         std::vector<AddReferencesItem> refs;
07609         {
07610         AddReferencesItem ref;
07611         ref.IsForward = true;
07612         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
07613         ref.SourceNodeId = ToNodeId("i=3173");
07614         ref.TargetNodeClass = NodeClass::DataType;
07615         ref.TargetNodeId = ToNodeId("i=78");
07616         refs.push_back(ref);
07617         }
07618         registry.AddReferences(refs);
07619         }
07620        
07621         {
07622         AddNodesItem node;
07623         node.RequestedNewNodeId = ToNodeId("i=3174");
07624         node.BrowseName = ToQualifiedName("TranslateBrowsePathsToNodeIdsCount");
07625         node.Class = NodeClass::Variable;
07626         node.ParentNodeId = ToNodeId("i=2030");
07627         node.ReferenceTypeId = ReferenceId::HasComponent;
07628         node.TypeDefinition = ToNodeId("i=63");
07629         VariableAttributes attrs;
07630         attrs.DisplayName = LocalizedText("TranslateBrowsePathsToNodeIdsCount");
07631         attrs.Type = ToNodeId("i=871");
07632         attrs.Rank = -1;
07633         node.Attributes = attrs;
07634         registry.AddNodes(std::vector<AddNodesItem>{node});
07635         std::vector<AddReferencesItem> refs;
07636         {
07637         AddReferencesItem ref;
07638         ref.IsForward = true;
07639         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
07640         ref.SourceNodeId = ToNodeId("i=3174");
07641         ref.TargetNodeClass = NodeClass::DataType;
07642         ref.TargetNodeId = ToNodeId("i=78");
07643         refs.push_back(ref);
07644         }
07645         registry.AddReferences(refs);
07646         }
07647        
07648         {
07649         AddNodesItem node;
07650         node.RequestedNewNodeId = ToNodeId("i=3175");
07651         node.BrowseName = ToQualifiedName("QueryFirstCount");
07652         node.Class = NodeClass::Variable;
07653         node.ParentNodeId = ToNodeId("i=2030");
07654         node.ReferenceTypeId = ReferenceId::HasComponent;
07655         node.TypeDefinition = ToNodeId("i=63");
07656         VariableAttributes attrs;
07657         attrs.DisplayName = LocalizedText("QueryFirstCount");
07658         attrs.Type = ToNodeId("i=871");
07659         attrs.Rank = -1;
07660         node.Attributes = attrs;
07661         registry.AddNodes(std::vector<AddNodesItem>{node});
07662         std::vector<AddReferencesItem> refs;
07663         {
07664         AddReferencesItem ref;
07665         ref.IsForward = true;
07666         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
07667         ref.SourceNodeId = ToNodeId("i=3175");
07668         ref.TargetNodeClass = NodeClass::DataType;
07669         ref.TargetNodeId = ToNodeId("i=78");
07670         refs.push_back(ref);
07671         }
07672         registry.AddReferences(refs);
07673         }
07674        
07675         {
07676         AddNodesItem node;
07677         node.RequestedNewNodeId = ToNodeId("i=3176");
07678         node.BrowseName = ToQualifiedName("QueryNextCount");
07679         node.Class = NodeClass::Variable;
07680         node.ParentNodeId = ToNodeId("i=2030");
07681         node.ReferenceTypeId = ReferenceId::HasComponent;
07682         node.TypeDefinition = ToNodeId("i=63");
07683         VariableAttributes attrs;
07684         attrs.DisplayName = LocalizedText("QueryNextCount");
07685         attrs.Type = ToNodeId("i=871");
07686         attrs.Rank = -1;
07687         node.Attributes = attrs;
07688         registry.AddNodes(std::vector<AddNodesItem>{node});
07689         std::vector<AddReferencesItem> refs;
07690         {
07691         AddReferencesItem ref;
07692         ref.IsForward = true;
07693         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
07694         ref.SourceNodeId = ToNodeId("i=3176");
07695         ref.TargetNodeClass = NodeClass::DataType;
07696         ref.TargetNodeId = ToNodeId("i=78");
07697         refs.push_back(ref);
07698         }
07699         registry.AddReferences(refs);
07700         }
07701        
07702         {
07703         AddNodesItem node;
07704         node.RequestedNewNodeId = ToNodeId("i=3177");
07705         node.BrowseName = ToQualifiedName("RegisterNodesCount");
07706         node.Class = NodeClass::Variable;
07707         node.ParentNodeId = ToNodeId("i=2030");
07708         node.ReferenceTypeId = ReferenceId::HasComponent;
07709         node.TypeDefinition = ToNodeId("i=63");
07710         VariableAttributes attrs;
07711         attrs.DisplayName = LocalizedText("RegisterNodesCount");
07712         attrs.Type = ToNodeId("i=871");
07713         attrs.Rank = -1;
07714         node.Attributes = attrs;
07715         registry.AddNodes(std::vector<AddNodesItem>{node});
07716         std::vector<AddReferencesItem> refs;
07717         {
07718         AddReferencesItem ref;
07719         ref.IsForward = true;
07720         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
07721         ref.SourceNodeId = ToNodeId("i=3177");
07722         ref.TargetNodeClass = NodeClass::DataType;
07723         ref.TargetNodeId = ToNodeId("i=78");
07724         refs.push_back(ref);
07725         }
07726         registry.AddReferences(refs);
07727         }
07728        
07729         {
07730         AddNodesItem node;
07731         node.RequestedNewNodeId = ToNodeId("i=3178");
07732         node.BrowseName = ToQualifiedName("UnregisterNodesCount");
07733         node.Class = NodeClass::Variable;
07734         node.ParentNodeId = ToNodeId("i=2030");
07735         node.ReferenceTypeId = ReferenceId::HasComponent;
07736         node.TypeDefinition = ToNodeId("i=63");
07737         VariableAttributes attrs;
07738         attrs.DisplayName = LocalizedText("UnregisterNodesCount");
07739         attrs.Type = ToNodeId("i=871");
07740         attrs.Rank = -1;
07741         node.Attributes = attrs;
07742         registry.AddNodes(std::vector<AddNodesItem>{node});
07743         std::vector<AddReferencesItem> refs;
07744         {
07745         AddReferencesItem ref;
07746         ref.IsForward = true;
07747         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
07748         ref.SourceNodeId = ToNodeId("i=3178");
07749         ref.TargetNodeClass = NodeClass::DataType;
07750         ref.TargetNodeId = ToNodeId("i=78");
07751         refs.push_back(ref);
07752         }
07753         registry.AddReferences(refs);
07754         }
07755        
07756         {
07757         AddNodesItem node;
07758         node.RequestedNewNodeId = ToNodeId("i=2031");
07759         node.BrowseName = ToQualifiedName("SessionSecurityDiagnostics");
07760         node.Class = NodeClass::Variable;
07761         node.ParentNodeId = ToNodeId("i=2029");
07762         node.ReferenceTypeId = ReferenceId::HasComponent;
07763         node.TypeDefinition = ToNodeId("i=2244");
07764         VariableAttributes attrs;
07765         attrs.Description = LocalizedText("Security related diagnostics information for an active session.");
07766         attrs.DisplayName = LocalizedText("SessionSecurityDiagnostics");
07767         attrs.Type = ToNodeId("i=868");
07768         attrs.Rank = -1;
07769         node.Attributes = attrs;
07770         registry.AddNodes(std::vector<AddNodesItem>{node});
07771         std::vector<AddReferencesItem> refs;
07772         {
07773         AddReferencesItem ref;
07774         ref.IsForward = true;
07775         ref.ReferenceTypeId = ReferenceId::HasComponent;
07776         ref.SourceNodeId = ToNodeId("i=2031");
07777         ref.TargetNodeClass = NodeClass::DataType;
07778         ref.TargetNodeId = ToNodeId("i=3179");
07779         refs.push_back(ref);
07780         }
07781         {
07782         AddReferencesItem ref;
07783         ref.IsForward = true;
07784         ref.ReferenceTypeId = ReferenceId::HasComponent;
07785         ref.SourceNodeId = ToNodeId("i=2031");
07786         ref.TargetNodeClass = NodeClass::DataType;
07787         ref.TargetNodeId = ToNodeId("i=3180");
07788         refs.push_back(ref);
07789         }
07790         {
07791         AddReferencesItem ref;
07792         ref.IsForward = true;
07793         ref.ReferenceTypeId = ReferenceId::HasComponent;
07794         ref.SourceNodeId = ToNodeId("i=2031");
07795         ref.TargetNodeClass = NodeClass::DataType;
07796         ref.TargetNodeId = ToNodeId("i=3181");
07797         refs.push_back(ref);
07798         }
07799         {
07800         AddReferencesItem ref;
07801         ref.IsForward = true;
07802         ref.ReferenceTypeId = ReferenceId::HasComponent;
07803         ref.SourceNodeId = ToNodeId("i=2031");
07804         ref.TargetNodeClass = NodeClass::DataType;
07805         ref.TargetNodeId = ToNodeId("i=3182");
07806         refs.push_back(ref);
07807         }
07808         {
07809         AddReferencesItem ref;
07810         ref.IsForward = true;
07811         ref.ReferenceTypeId = ReferenceId::HasComponent;
07812         ref.SourceNodeId = ToNodeId("i=2031");
07813         ref.TargetNodeClass = NodeClass::DataType;
07814         ref.TargetNodeId = ToNodeId("i=3183");
07815         refs.push_back(ref);
07816         }
07817         {
07818         AddReferencesItem ref;
07819         ref.IsForward = true;
07820         ref.ReferenceTypeId = ReferenceId::HasComponent;
07821         ref.SourceNodeId = ToNodeId("i=2031");
07822         ref.TargetNodeClass = NodeClass::DataType;
07823         ref.TargetNodeId = ToNodeId("i=3184");
07824         refs.push_back(ref);
07825         }
07826         {
07827         AddReferencesItem ref;
07828         ref.IsForward = true;
07829         ref.ReferenceTypeId = ReferenceId::HasComponent;
07830         ref.SourceNodeId = ToNodeId("i=2031");
07831         ref.TargetNodeClass = NodeClass::DataType;
07832         ref.TargetNodeId = ToNodeId("i=3185");
07833         refs.push_back(ref);
07834         }
07835         {
07836         AddReferencesItem ref;
07837         ref.IsForward = true;
07838         ref.ReferenceTypeId = ReferenceId::HasComponent;
07839         ref.SourceNodeId = ToNodeId("i=2031");
07840         ref.TargetNodeClass = NodeClass::DataType;
07841         ref.TargetNodeId = ToNodeId("i=3186");
07842         refs.push_back(ref);
07843         }
07844         {
07845         AddReferencesItem ref;
07846         ref.IsForward = true;
07847         ref.ReferenceTypeId = ReferenceId::HasComponent;
07848         ref.SourceNodeId = ToNodeId("i=2031");
07849         ref.TargetNodeClass = NodeClass::DataType;
07850         ref.TargetNodeId = ToNodeId("i=3187");
07851         refs.push_back(ref);
07852         }
07853         {
07854         AddReferencesItem ref;
07855         ref.IsForward = true;
07856         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
07857         ref.SourceNodeId = ToNodeId("i=2031");
07858         ref.TargetNodeClass = NodeClass::DataType;
07859         ref.TargetNodeId = ToNodeId("i=78");
07860         refs.push_back(ref);
07861         }
07862         registry.AddReferences(refs);
07863         }
07864        
07865         {
07866         AddNodesItem node;
07867         node.RequestedNewNodeId = ToNodeId("i=3179");
07868         node.BrowseName = ToQualifiedName("SessionId");
07869         node.Class = NodeClass::Variable;
07870         node.ParentNodeId = ToNodeId("i=2031");
07871         node.ReferenceTypeId = ReferenceId::HasComponent;
07872         node.TypeDefinition = ToNodeId("i=63");
07873         VariableAttributes attrs;
07874         attrs.DisplayName = LocalizedText("SessionId");
07875         attrs.Type = ObjectId::NodeId;
07876         attrs.Rank = -1;
07877         node.Attributes = attrs;
07878         registry.AddNodes(std::vector<AddNodesItem>{node});
07879         std::vector<AddReferencesItem> refs;
07880         {
07881         AddReferencesItem ref;
07882         ref.IsForward = true;
07883         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
07884         ref.SourceNodeId = ToNodeId("i=3179");
07885         ref.TargetNodeClass = NodeClass::DataType;
07886         ref.TargetNodeId = ToNodeId("i=78");
07887         refs.push_back(ref);
07888         }
07889         registry.AddReferences(refs);
07890         }
07891        
07892         {
07893         AddNodesItem node;
07894         node.RequestedNewNodeId = ToNodeId("i=3180");
07895         node.BrowseName = ToQualifiedName("ClientUserIdOfSession");
07896         node.Class = NodeClass::Variable;
07897         node.ParentNodeId = ToNodeId("i=2031");
07898         node.ReferenceTypeId = ReferenceId::HasComponent;
07899         node.TypeDefinition = ToNodeId("i=63");
07900         VariableAttributes attrs;
07901         attrs.DisplayName = LocalizedText("ClientUserIdOfSession");
07902         attrs.Type = ObjectId::String;
07903         attrs.Rank = -1;
07904         node.Attributes = attrs;
07905         registry.AddNodes(std::vector<AddNodesItem>{node});
07906         std::vector<AddReferencesItem> refs;
07907         {
07908         AddReferencesItem ref;
07909         ref.IsForward = true;
07910         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
07911         ref.SourceNodeId = ToNodeId("i=3180");
07912         ref.TargetNodeClass = NodeClass::DataType;
07913         ref.TargetNodeId = ToNodeId("i=78");
07914         refs.push_back(ref);
07915         }
07916         registry.AddReferences(refs);
07917         }
07918        
07919         {
07920         AddNodesItem node;
07921         node.RequestedNewNodeId = ToNodeId("i=3181");
07922         node.BrowseName = ToQualifiedName("ClientUserIdHistory");
07923         node.Class = NodeClass::Variable;
07924         node.ParentNodeId = ToNodeId("i=2031");
07925         node.ReferenceTypeId = ReferenceId::HasComponent;
07926         node.TypeDefinition = ToNodeId("i=63");
07927         VariableAttributes attrs;
07928         attrs.DisplayName = LocalizedText("ClientUserIdHistory");
07929         attrs.Type = ObjectId::String;
07930         attrs.Rank = 1;
07931         node.Attributes = attrs;
07932         registry.AddNodes(std::vector<AddNodesItem>{node});
07933         std::vector<AddReferencesItem> refs;
07934         {
07935         AddReferencesItem ref;
07936         ref.IsForward = true;
07937         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
07938         ref.SourceNodeId = ToNodeId("i=3181");
07939         ref.TargetNodeClass = NodeClass::DataType;
07940         ref.TargetNodeId = ToNodeId("i=78");
07941         refs.push_back(ref);
07942         }
07943         registry.AddReferences(refs);
07944         }
07945        
07946         {
07947         AddNodesItem node;
07948         node.RequestedNewNodeId = ToNodeId("i=3182");
07949         node.BrowseName = ToQualifiedName("AuthenticationMechanism");
07950         node.Class = NodeClass::Variable;
07951         node.ParentNodeId = ToNodeId("i=2031");
07952         node.ReferenceTypeId = ReferenceId::HasComponent;
07953         node.TypeDefinition = ToNodeId("i=63");
07954         VariableAttributes attrs;
07955         attrs.DisplayName = LocalizedText("AuthenticationMechanism");
07956         attrs.Type = ObjectId::String;
07957         attrs.Rank = -1;
07958         node.Attributes = attrs;
07959         registry.AddNodes(std::vector<AddNodesItem>{node});
07960         std::vector<AddReferencesItem> refs;
07961         {
07962         AddReferencesItem ref;
07963         ref.IsForward = true;
07964         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
07965         ref.SourceNodeId = ToNodeId("i=3182");
07966         ref.TargetNodeClass = NodeClass::DataType;
07967         ref.TargetNodeId = ToNodeId("i=78");
07968         refs.push_back(ref);
07969         }
07970         registry.AddReferences(refs);
07971         }
07972        
07973         {
07974         AddNodesItem node;
07975         node.RequestedNewNodeId = ToNodeId("i=3183");
07976         node.BrowseName = ToQualifiedName("Encoding");
07977         node.Class = NodeClass::Variable;
07978         node.ParentNodeId = ToNodeId("i=2031");
07979         node.ReferenceTypeId = ReferenceId::HasComponent;
07980         node.TypeDefinition = ToNodeId("i=63");
07981         VariableAttributes attrs;
07982         attrs.DisplayName = LocalizedText("Encoding");
07983         attrs.Type = ObjectId::String;
07984         attrs.Rank = -1;
07985         node.Attributes = attrs;
07986         registry.AddNodes(std::vector<AddNodesItem>{node});
07987         std::vector<AddReferencesItem> refs;
07988         {
07989         AddReferencesItem ref;
07990         ref.IsForward = true;
07991         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
07992         ref.SourceNodeId = ToNodeId("i=3183");
07993         ref.TargetNodeClass = NodeClass::DataType;
07994         ref.TargetNodeId = ToNodeId("i=78");
07995         refs.push_back(ref);
07996         }
07997         registry.AddReferences(refs);
07998         }
07999        
08000         {
08001         AddNodesItem node;
08002         node.RequestedNewNodeId = ToNodeId("i=3184");
08003         node.BrowseName = ToQualifiedName("TransportProtocol");
08004         node.Class = NodeClass::Variable;
08005         node.ParentNodeId = ToNodeId("i=2031");
08006         node.ReferenceTypeId = ReferenceId::HasComponent;
08007         node.TypeDefinition = ToNodeId("i=63");
08008         VariableAttributes attrs;
08009         attrs.DisplayName = LocalizedText("TransportProtocol");
08010         attrs.Type = ObjectId::String;
08011         attrs.Rank = -1;
08012         node.Attributes = attrs;
08013         registry.AddNodes(std::vector<AddNodesItem>{node});
08014         std::vector<AddReferencesItem> refs;
08015         {
08016         AddReferencesItem ref;
08017         ref.IsForward = true;
08018         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
08019         ref.SourceNodeId = ToNodeId("i=3184");
08020         ref.TargetNodeClass = NodeClass::DataType;
08021         ref.TargetNodeId = ToNodeId("i=78");
08022         refs.push_back(ref);
08023         }
08024         registry.AddReferences(refs);
08025         }
08026        
08027         {
08028         AddNodesItem node;
08029         node.RequestedNewNodeId = ToNodeId("i=3185");
08030         node.BrowseName = ToQualifiedName("SecurityMode");
08031         node.Class = NodeClass::Variable;
08032         node.ParentNodeId = ToNodeId("i=2031");
08033         node.ReferenceTypeId = ReferenceId::HasComponent;
08034         node.TypeDefinition = ToNodeId("i=63");
08035         VariableAttributes attrs;
08036         attrs.DisplayName = LocalizedText("SecurityMode");
08037         attrs.Type = ToNodeId("i=302");
08038         attrs.Rank = -1;
08039         node.Attributes = attrs;
08040         registry.AddNodes(std::vector<AddNodesItem>{node});
08041         std::vector<AddReferencesItem> refs;
08042         {
08043         AddReferencesItem ref;
08044         ref.IsForward = true;
08045         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
08046         ref.SourceNodeId = ToNodeId("i=3185");
08047         ref.TargetNodeClass = NodeClass::DataType;
08048         ref.TargetNodeId = ToNodeId("i=78");
08049         refs.push_back(ref);
08050         }
08051         registry.AddReferences(refs);
08052         }
08053        
08054         {
08055         AddNodesItem node;
08056         node.RequestedNewNodeId = ToNodeId("i=3186");
08057         node.BrowseName = ToQualifiedName("SecurityPolicyUri");
08058         node.Class = NodeClass::Variable;
08059         node.ParentNodeId = ToNodeId("i=2031");
08060         node.ReferenceTypeId = ReferenceId::HasComponent;
08061         node.TypeDefinition = ToNodeId("i=63");
08062         VariableAttributes attrs;
08063         attrs.DisplayName = LocalizedText("SecurityPolicyUri");
08064         attrs.Type = ObjectId::String;
08065         attrs.Rank = -1;
08066         node.Attributes = attrs;
08067         registry.AddNodes(std::vector<AddNodesItem>{node});
08068         std::vector<AddReferencesItem> refs;
08069         {
08070         AddReferencesItem ref;
08071         ref.IsForward = true;
08072         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
08073         ref.SourceNodeId = ToNodeId("i=3186");
08074         ref.TargetNodeClass = NodeClass::DataType;
08075         ref.TargetNodeId = ToNodeId("i=78");
08076         refs.push_back(ref);
08077         }
08078         registry.AddReferences(refs);
08079         }
08080        
08081         {
08082         AddNodesItem node;
08083         node.RequestedNewNodeId = ToNodeId("i=3187");
08084         node.BrowseName = ToQualifiedName("ClientCertificate");
08085         node.Class = NodeClass::Variable;
08086         node.ParentNodeId = ToNodeId("i=2031");
08087         node.ReferenceTypeId = ReferenceId::HasComponent;
08088         node.TypeDefinition = ToNodeId("i=63");
08089         VariableAttributes attrs;
08090         attrs.DisplayName = LocalizedText("ClientCertificate");
08091         attrs.Type = ObjectId::ByteString;
08092         attrs.Rank = -1;
08093         node.Attributes = attrs;
08094         registry.AddNodes(std::vector<AddNodesItem>{node});
08095         std::vector<AddReferencesItem> refs;
08096         {
08097         AddReferencesItem ref;
08098         ref.IsForward = true;
08099         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
08100         ref.SourceNodeId = ToNodeId("i=3187");
08101         ref.TargetNodeClass = NodeClass::DataType;
08102         ref.TargetNodeId = ToNodeId("i=78");
08103         refs.push_back(ref);
08104         }
08105         registry.AddReferences(refs);
08106         }
08107        
08108         {
08109         AddNodesItem node;
08110         node.RequestedNewNodeId = ToNodeId("i=2032");
08111         node.BrowseName = ToQualifiedName("SubscriptionDiagnosticsArray");
08112         node.Class = NodeClass::Variable;
08113         node.ParentNodeId = ToNodeId("i=2029");
08114         node.ReferenceTypeId = ReferenceId::HasComponent;
08115         node.TypeDefinition = ToNodeId("i=2171");
08116         VariableAttributes attrs;
08117         attrs.Description = LocalizedText("A list of diagnostics for each subscription owned by the session.");
08118         attrs.DisplayName = LocalizedText("SubscriptionDiagnosticsArray");
08119         attrs.Type = ToNodeId("i=874");
08120         attrs.Rank = 1;
08121         node.Attributes = attrs;
08122         registry.AddNodes(std::vector<AddNodesItem>{node});
08123         std::vector<AddReferencesItem> refs;
08124         {
08125         AddReferencesItem ref;
08126         ref.IsForward = true;
08127         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
08128         ref.SourceNodeId = ToNodeId("i=2032");
08129         ref.TargetNodeClass = NodeClass::DataType;
08130         ref.TargetNodeId = ToNodeId("i=78");
08131         refs.push_back(ref);
08132         }
08133         registry.AddReferences(refs);
08134         }
08135        
08136         {
08137         AddNodesItem node;
08138         node.RequestedNewNodeId = ToNodeId("i=2033");
08139         node.BrowseName = ToQualifiedName("VendorServerInfoType");
08140         node.Class = NodeClass::ObjectType;
08141         node.ParentNodeId = ToNodeId("i=58");
08142         node.ReferenceTypeId = ReferenceId::HasSubtype;
08143         ObjectTypeAttributes attrs;
08144         attrs.Description = LocalizedText("A base type for vendor specific server information.");
08145         attrs.DisplayName = LocalizedText("VendorServerInfoType");
08146         attrs.IsAbstract = false;
08147         node.Attributes = attrs;
08148         registry.AddNodes(std::vector<AddNodesItem>{node});
08149         }
08150        
08151         {
08152         AddNodesItem node;
08153         node.RequestedNewNodeId = ToNodeId("i=2034");
08154         node.BrowseName = ToQualifiedName("ServerRedundancyType");
08155         node.Class = NodeClass::ObjectType;
08156         node.ParentNodeId = ToNodeId("i=58");
08157         node.ReferenceTypeId = ReferenceId::HasSubtype;
08158         ObjectTypeAttributes attrs;
08159         attrs.Description = LocalizedText("A base type for an object that describe how a server supports redundancy.");
08160         attrs.DisplayName = LocalizedText("ServerRedundancyType");
08161         attrs.IsAbstract = false;
08162         node.Attributes = attrs;
08163         registry.AddNodes(std::vector<AddNodesItem>{node});
08164         std::vector<AddReferencesItem> refs;
08165         {
08166         AddReferencesItem ref;
08167         ref.IsForward = true;
08168         ref.ReferenceTypeId = ReferenceId::HasProperty;
08169         ref.SourceNodeId = ToNodeId("i=2034");
08170         ref.TargetNodeClass = NodeClass::DataType;
08171         ref.TargetNodeId = ToNodeId("i=2035");
08172         refs.push_back(ref);
08173         }
08174         registry.AddReferences(refs);
08175         }
08176        
08177         {
08178         AddNodesItem node;
08179         node.RequestedNewNodeId = ToNodeId("i=2035");
08180         node.BrowseName = ToQualifiedName("RedundancySupport");
08181         node.Class = NodeClass::Variable;
08182         node.ParentNodeId = ToNodeId("i=2034");
08183         node.ReferenceTypeId = ReferenceId::HasProperty;
08184         node.TypeDefinition = ToNodeId("i=68");
08185         VariableAttributes attrs;
08186         attrs.Description = LocalizedText("Indicates what style of redundancy is supported by the server.");
08187         attrs.DisplayName = LocalizedText("RedundancySupport");
08188         attrs.Type = ToNodeId("i=851");
08189         attrs.Rank = -1;
08190         node.Attributes = attrs;
08191         registry.AddNodes(std::vector<AddNodesItem>{node});
08192         std::vector<AddReferencesItem> refs;
08193         {
08194         AddReferencesItem ref;
08195         ref.IsForward = true;
08196         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
08197         ref.SourceNodeId = ToNodeId("i=2035");
08198         ref.TargetNodeClass = NodeClass::DataType;
08199         ref.TargetNodeId = ToNodeId("i=78");
08200         refs.push_back(ref);
08201         }
08202         registry.AddReferences(refs);
08203         }
08204        
08205         {
08206         AddNodesItem node;
08207         node.RequestedNewNodeId = ToNodeId("i=2036");
08208         node.BrowseName = ToQualifiedName("TransparentRedundancyType");
08209         node.Class = NodeClass::ObjectType;
08210         node.ParentNodeId = ToNodeId("i=2034");
08211         node.ReferenceTypeId = ReferenceId::HasSubtype;
08212         ObjectTypeAttributes attrs;
08213         attrs.Description = LocalizedText("Identifies the capabilties of server that supports transparent redundancy.");
08214         attrs.DisplayName = LocalizedText("TransparentRedundancyType");
08215         attrs.IsAbstract = false;
08216         node.Attributes = attrs;
08217         registry.AddNodes(std::vector<AddNodesItem>{node});
08218         std::vector<AddReferencesItem> refs;
08219         {
08220         AddReferencesItem ref;
08221         ref.IsForward = true;
08222         ref.ReferenceTypeId = ReferenceId::HasProperty;
08223         ref.SourceNodeId = ToNodeId("i=2036");
08224         ref.TargetNodeClass = NodeClass::DataType;
08225         ref.TargetNodeId = ToNodeId("i=2037");
08226         refs.push_back(ref);
08227         }
08228         {
08229         AddReferencesItem ref;
08230         ref.IsForward = true;
08231         ref.ReferenceTypeId = ReferenceId::HasProperty;
08232         ref.SourceNodeId = ToNodeId("i=2036");
08233         ref.TargetNodeClass = NodeClass::DataType;
08234         ref.TargetNodeId = ToNodeId("i=2038");
08235         refs.push_back(ref);
08236         }
08237         registry.AddReferences(refs);
08238         }
08239        
08240         {
08241         AddNodesItem node;
08242         node.RequestedNewNodeId = ToNodeId("i=2037");
08243         node.BrowseName = ToQualifiedName("CurrentServerId");
08244         node.Class = NodeClass::Variable;
08245         node.ParentNodeId = ToNodeId("i=2036");
08246         node.ReferenceTypeId = ReferenceId::HasProperty;
08247         node.TypeDefinition = ToNodeId("i=68");
08248         VariableAttributes attrs;
08249         attrs.Description = LocalizedText("The ID of the server that is currently in use.");
08250         attrs.DisplayName = LocalizedText("CurrentServerId");
08251         attrs.Type = ObjectId::String;
08252         attrs.Rank = -1;
08253         node.Attributes = attrs;
08254         registry.AddNodes(std::vector<AddNodesItem>{node});
08255         std::vector<AddReferencesItem> refs;
08256         {
08257         AddReferencesItem ref;
08258         ref.IsForward = true;
08259         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
08260         ref.SourceNodeId = ToNodeId("i=2037");
08261         ref.TargetNodeClass = NodeClass::DataType;
08262         ref.TargetNodeId = ToNodeId("i=78");
08263         refs.push_back(ref);
08264         }
08265         registry.AddReferences(refs);
08266         }
08267        
08268         {
08269         AddNodesItem node;
08270         node.RequestedNewNodeId = ToNodeId("i=2038");
08271         node.BrowseName = ToQualifiedName("RedundantServerArray");
08272         node.Class = NodeClass::Variable;
08273         node.ParentNodeId = ToNodeId("i=2036");
08274         node.ReferenceTypeId = ReferenceId::HasProperty;
08275         node.TypeDefinition = ToNodeId("i=68");
08276         VariableAttributes attrs;
08277         attrs.Description = LocalizedText("A list of servers in the same redundant set.");
08278         attrs.DisplayName = LocalizedText("RedundantServerArray");
08279         attrs.Type = ToNodeId("i=853");
08280         attrs.Rank = 1;
08281         node.Attributes = attrs;
08282         registry.AddNodes(std::vector<AddNodesItem>{node});
08283         std::vector<AddReferencesItem> refs;
08284         {
08285         AddReferencesItem ref;
08286         ref.IsForward = true;
08287         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
08288         ref.SourceNodeId = ToNodeId("i=2038");
08289         ref.TargetNodeClass = NodeClass::DataType;
08290         ref.TargetNodeId = ToNodeId("i=78");
08291         refs.push_back(ref);
08292         }
08293         registry.AddReferences(refs);
08294         }
08295        
08296         {
08297         AddNodesItem node;
08298         node.RequestedNewNodeId = ToNodeId("i=2039");
08299         node.BrowseName = ToQualifiedName("NonTransparentRedundancyType");
08300         node.Class = NodeClass::ObjectType;
08301         node.ParentNodeId = ToNodeId("i=2034");
08302         node.ReferenceTypeId = ReferenceId::HasSubtype;
08303         ObjectTypeAttributes attrs;
08304         attrs.Description = LocalizedText("Identifies the capabilties of server that supports non-transparent redundancy.");
08305         attrs.DisplayName = LocalizedText("NonTransparentRedundancyType");
08306         attrs.IsAbstract = false;
08307         node.Attributes = attrs;
08308         registry.AddNodes(std::vector<AddNodesItem>{node});
08309         std::vector<AddReferencesItem> refs;
08310         {
08311         AddReferencesItem ref;
08312         ref.IsForward = true;
08313         ref.ReferenceTypeId = ReferenceId::HasProperty;
08314         ref.SourceNodeId = ToNodeId("i=2039");
08315         ref.TargetNodeClass = NodeClass::DataType;
08316         ref.TargetNodeId = ToNodeId("i=2040");
08317         refs.push_back(ref);
08318         }
08319         registry.AddReferences(refs);
08320         }
08321        
08322         {
08323         AddNodesItem node;
08324         node.RequestedNewNodeId = ToNodeId("i=2040");
08325         node.BrowseName = ToQualifiedName("ServerUriArray");
08326         node.Class = NodeClass::Variable;
08327         node.ParentNodeId = ToNodeId("i=2039");
08328         node.ReferenceTypeId = ReferenceId::HasProperty;
08329         node.TypeDefinition = ToNodeId("i=68");
08330         VariableAttributes attrs;
08331         attrs.Description = LocalizedText("A list of servers in the same redundant set.");
08332         attrs.DisplayName = LocalizedText("ServerUriArray");
08333         attrs.Type = ObjectId::String;
08334         attrs.Rank = 1;
08335         node.Attributes = attrs;
08336         registry.AddNodes(std::vector<AddNodesItem>{node});
08337         std::vector<AddReferencesItem> refs;
08338         {
08339         AddReferencesItem ref;
08340         ref.IsForward = true;
08341         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
08342         ref.SourceNodeId = ToNodeId("i=2040");
08343         ref.TargetNodeClass = NodeClass::DataType;
08344         ref.TargetNodeId = ToNodeId("i=78");
08345         refs.push_back(ref);
08346         }
08347         registry.AddReferences(refs);
08348         }
08349        
08350         {
08351         AddNodesItem node;
08352         node.RequestedNewNodeId = ToNodeId("i=11945");
08353         node.BrowseName = ToQualifiedName("NonTransparentNetworkRedundancyType");
08354         node.Class = NodeClass::ObjectType;
08355         node.ParentNodeId = ToNodeId("i=2039");
08356         node.ReferenceTypeId = ReferenceId::HasSubtype;
08357         ObjectTypeAttributes attrs;
08358         attrs.DisplayName = LocalizedText("NonTransparentNetworkRedundancyType");
08359         attrs.IsAbstract = false;
08360         node.Attributes = attrs;
08361         registry.AddNodes(std::vector<AddNodesItem>{node});
08362         std::vector<AddReferencesItem> refs;
08363         {
08364         AddReferencesItem ref;
08365         ref.IsForward = true;
08366         ref.ReferenceTypeId = ReferenceId::HasProperty;
08367         ref.SourceNodeId = ToNodeId("i=11945");
08368         ref.TargetNodeClass = NodeClass::DataType;
08369         ref.TargetNodeId = ToNodeId("i=11948");
08370         refs.push_back(ref);
08371         }
08372         registry.AddReferences(refs);
08373         }
08374        
08375         {
08376         AddNodesItem node;
08377         node.RequestedNewNodeId = ToNodeId("i=11948");
08378         node.BrowseName = ToQualifiedName("ServerNetworkGroups");
08379         node.Class = NodeClass::Variable;
08380         node.ParentNodeId = ToNodeId("i=11945");
08381         node.ReferenceTypeId = ReferenceId::HasProperty;
08382         node.TypeDefinition = ToNodeId("i=68");
08383         VariableAttributes attrs;
08384         attrs.DisplayName = LocalizedText("ServerNetworkGroups");
08385         attrs.Type = ToNodeId("i=11944");
08386         attrs.Rank = 1;
08387         node.Attributes = attrs;
08388         registry.AddNodes(std::vector<AddNodesItem>{node});
08389         std::vector<AddReferencesItem> refs;
08390         {
08391         AddReferencesItem ref;
08392         ref.IsForward = true;
08393         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
08394         ref.SourceNodeId = ToNodeId("i=11948");
08395         ref.TargetNodeClass = NodeClass::DataType;
08396         ref.TargetNodeId = ToNodeId("i=78");
08397         refs.push_back(ref);
08398         }
08399         registry.AddReferences(refs);
08400         }
08401        
08402         {
08403         AddNodesItem node;
08404         node.RequestedNewNodeId = ToNodeId("i=11564");
08405         node.BrowseName = ToQualifiedName("OperationLimitsType");
08406         node.Class = NodeClass::ObjectType;
08407         node.ParentNodeId = ToNodeId("i=58");
08408         node.ReferenceTypeId = ReferenceId::HasSubtype;
08409         ObjectTypeAttributes attrs;
08410         attrs.Description = LocalizedText("Identifies the operation limits imposed by the server.");
08411         attrs.DisplayName = LocalizedText("OperationLimitsType");
08412         attrs.IsAbstract = false;
08413         node.Attributes = attrs;
08414         registry.AddNodes(std::vector<AddNodesItem>{node});
08415         std::vector<AddReferencesItem> refs;
08416         {
08417         AddReferencesItem ref;
08418         ref.IsForward = true;
08419         ref.ReferenceTypeId = ReferenceId::HasProperty;
08420         ref.SourceNodeId = ToNodeId("i=11564");
08421         ref.TargetNodeClass = NodeClass::DataType;
08422         ref.TargetNodeId = ToNodeId("i=11565");
08423         refs.push_back(ref);
08424         }
08425         {
08426         AddReferencesItem ref;
08427         ref.IsForward = true;
08428         ref.ReferenceTypeId = ReferenceId::HasProperty;
08429         ref.SourceNodeId = ToNodeId("i=11564");
08430         ref.TargetNodeClass = NodeClass::DataType;
08431         ref.TargetNodeId = ToNodeId("i=12161");
08432         refs.push_back(ref);
08433         }
08434         {
08435         AddReferencesItem ref;
08436         ref.IsForward = true;
08437         ref.ReferenceTypeId = ReferenceId::HasProperty;
08438         ref.SourceNodeId = ToNodeId("i=11564");
08439         ref.TargetNodeClass = NodeClass::DataType;
08440         ref.TargetNodeId = ToNodeId("i=12162");
08441         refs.push_back(ref);
08442         }
08443         {
08444         AddReferencesItem ref;
08445         ref.IsForward = true;
08446         ref.ReferenceTypeId = ReferenceId::HasProperty;
08447         ref.SourceNodeId = ToNodeId("i=11564");
08448         ref.TargetNodeClass = NodeClass::DataType;
08449         ref.TargetNodeId = ToNodeId("i=11567");
08450         refs.push_back(ref);
08451         }
08452         {
08453         AddReferencesItem ref;
08454         ref.IsForward = true;
08455         ref.ReferenceTypeId = ReferenceId::HasProperty;
08456         ref.SourceNodeId = ToNodeId("i=11564");
08457         ref.TargetNodeClass = NodeClass::DataType;
08458         ref.TargetNodeId = ToNodeId("i=12163");
08459         refs.push_back(ref);
08460         }
08461         {
08462         AddReferencesItem ref;
08463         ref.IsForward = true;
08464         ref.ReferenceTypeId = ReferenceId::HasProperty;
08465         ref.SourceNodeId = ToNodeId("i=11564");
08466         ref.TargetNodeClass = NodeClass::DataType;
08467         ref.TargetNodeId = ToNodeId("i=12164");
08468         refs.push_back(ref);
08469         }
08470         {
08471         AddReferencesItem ref;
08472         ref.IsForward = true;
08473         ref.ReferenceTypeId = ReferenceId::HasProperty;
08474         ref.SourceNodeId = ToNodeId("i=11564");
08475         ref.TargetNodeClass = NodeClass::DataType;
08476         ref.TargetNodeId = ToNodeId("i=11569");
08477         refs.push_back(ref);
08478         }
08479         {
08480         AddReferencesItem ref;
08481         ref.IsForward = true;
08482         ref.ReferenceTypeId = ReferenceId::HasProperty;
08483         ref.SourceNodeId = ToNodeId("i=11564");
08484         ref.TargetNodeClass = NodeClass::DataType;
08485         ref.TargetNodeId = ToNodeId("i=11570");
08486         refs.push_back(ref);
08487         }
08488         {
08489         AddReferencesItem ref;
08490         ref.IsForward = true;
08491         ref.ReferenceTypeId = ReferenceId::HasProperty;
08492         ref.SourceNodeId = ToNodeId("i=11564");
08493         ref.TargetNodeClass = NodeClass::DataType;
08494         ref.TargetNodeId = ToNodeId("i=11571");
08495         refs.push_back(ref);
08496         }
08497         {
08498         AddReferencesItem ref;
08499         ref.IsForward = true;
08500         ref.ReferenceTypeId = ReferenceId::HasProperty;
08501         ref.SourceNodeId = ToNodeId("i=11564");
08502         ref.TargetNodeClass = NodeClass::DataType;
08503         ref.TargetNodeId = ToNodeId("i=11572");
08504         refs.push_back(ref);
08505         }
08506         {
08507         AddReferencesItem ref;
08508         ref.IsForward = true;
08509         ref.ReferenceTypeId = ReferenceId::HasProperty;
08510         ref.SourceNodeId = ToNodeId("i=11564");
08511         ref.TargetNodeClass = NodeClass::DataType;
08512         ref.TargetNodeId = ToNodeId("i=11573");
08513         refs.push_back(ref);
08514         }
08515         {
08516         AddReferencesItem ref;
08517         ref.IsForward = true;
08518         ref.ReferenceTypeId = ReferenceId::HasProperty;
08519         ref.SourceNodeId = ToNodeId("i=11564");
08520         ref.TargetNodeClass = NodeClass::DataType;
08521         ref.TargetNodeId = ToNodeId("i=11574");
08522         refs.push_back(ref);
08523         }
08524         registry.AddReferences(refs);
08525         }
08526        
08527         {
08528         AddNodesItem node;
08529         node.RequestedNewNodeId = ToNodeId("i=11565");
08530         node.BrowseName = ToQualifiedName("MaxNodesPerRead");
08531         node.Class = NodeClass::Variable;
08532         node.ParentNodeId = ToNodeId("i=11564");
08533         node.ReferenceTypeId = ReferenceId::HasProperty;
08534         node.TypeDefinition = ToNodeId("i=68");
08535         VariableAttributes attrs;
08536         attrs.Description = LocalizedText("The maximum number of operations in a single Read request.");
08537         attrs.DisplayName = LocalizedText("MaxNodesPerRead");
08538         attrs.Type = ObjectId::UInt32;
08539         attrs.Rank = -1;
08540         node.Attributes = attrs;
08541         registry.AddNodes(std::vector<AddNodesItem>{node});
08542         std::vector<AddReferencesItem> refs;
08543         {
08544         AddReferencesItem ref;
08545         ref.IsForward = true;
08546         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
08547         ref.SourceNodeId = ToNodeId("i=11565");
08548         ref.TargetNodeClass = NodeClass::DataType;
08549         ref.TargetNodeId = ToNodeId("i=80");
08550         refs.push_back(ref);
08551         }
08552         registry.AddReferences(refs);
08553         }
08554        
08555         {
08556         AddNodesItem node;
08557         node.RequestedNewNodeId = ToNodeId("i=12161");
08558         node.BrowseName = ToQualifiedName("MaxNodesPerHistoryReadData");
08559         node.Class = NodeClass::Variable;
08560         node.ParentNodeId = ToNodeId("i=11564");
08561         node.ReferenceTypeId = ReferenceId::HasProperty;
08562         node.TypeDefinition = ToNodeId("i=68");
08563         VariableAttributes attrs;
08564         attrs.Description = LocalizedText("The maximum number of operations in a single data HistoryRead request.");
08565         attrs.DisplayName = LocalizedText("MaxNodesPerHistoryReadData");
08566         attrs.Type = ObjectId::UInt32;
08567         attrs.Rank = -1;
08568         node.Attributes = attrs;
08569         registry.AddNodes(std::vector<AddNodesItem>{node});
08570         std::vector<AddReferencesItem> refs;
08571         {
08572         AddReferencesItem ref;
08573         ref.IsForward = true;
08574         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
08575         ref.SourceNodeId = ToNodeId("i=12161");
08576         ref.TargetNodeClass = NodeClass::DataType;
08577         ref.TargetNodeId = ToNodeId("i=80");
08578         refs.push_back(ref);
08579         }
08580         registry.AddReferences(refs);
08581         }
08582        
08583         {
08584         AddNodesItem node;
08585         node.RequestedNewNodeId = ToNodeId("i=12162");
08586         node.BrowseName = ToQualifiedName("MaxNodesPerHistoryReadEvents");
08587         node.Class = NodeClass::Variable;
08588         node.ParentNodeId = ToNodeId("i=11564");
08589         node.ReferenceTypeId = ReferenceId::HasProperty;
08590         node.TypeDefinition = ToNodeId("i=68");
08591         VariableAttributes attrs;
08592         attrs.Description = LocalizedText("The maximum number of operations in a single event HistoryRead request.");
08593         attrs.DisplayName = LocalizedText("MaxNodesPerHistoryReadEvents");
08594         attrs.Type = ObjectId::UInt32;
08595         attrs.Rank = -1;
08596         node.Attributes = attrs;
08597         registry.AddNodes(std::vector<AddNodesItem>{node});
08598         std::vector<AddReferencesItem> refs;
08599         {
08600         AddReferencesItem ref;
08601         ref.IsForward = true;
08602         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
08603         ref.SourceNodeId = ToNodeId("i=12162");
08604         ref.TargetNodeClass = NodeClass::DataType;
08605         ref.TargetNodeId = ToNodeId("i=80");
08606         refs.push_back(ref);
08607         }
08608         registry.AddReferences(refs);
08609         }
08610        
08611         {
08612         AddNodesItem node;
08613         node.RequestedNewNodeId = ToNodeId("i=11567");
08614         node.BrowseName = ToQualifiedName("MaxNodesPerWrite");
08615         node.Class = NodeClass::Variable;
08616         node.ParentNodeId = ToNodeId("i=11564");
08617         node.ReferenceTypeId = ReferenceId::HasProperty;
08618         node.TypeDefinition = ToNodeId("i=68");
08619         VariableAttributes attrs;
08620         attrs.Description = LocalizedText("The maximum number of operations in a single Write request.");
08621         attrs.DisplayName = LocalizedText("MaxNodesPerWrite");
08622         attrs.Type = ObjectId::UInt32;
08623         attrs.Rank = -1;
08624         node.Attributes = attrs;
08625         registry.AddNodes(std::vector<AddNodesItem>{node});
08626         std::vector<AddReferencesItem> refs;
08627         {
08628         AddReferencesItem ref;
08629         ref.IsForward = true;
08630         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
08631         ref.SourceNodeId = ToNodeId("i=11567");
08632         ref.TargetNodeClass = NodeClass::DataType;
08633         ref.TargetNodeId = ToNodeId("i=80");
08634         refs.push_back(ref);
08635         }
08636         registry.AddReferences(refs);
08637         }
08638        
08639         {
08640         AddNodesItem node;
08641         node.RequestedNewNodeId = ToNodeId("i=12163");
08642         node.BrowseName = ToQualifiedName("MaxNodesPerHistoryUpdateData");
08643         node.Class = NodeClass::Variable;
08644         node.ParentNodeId = ToNodeId("i=11564");
08645         node.ReferenceTypeId = ReferenceId::HasProperty;
08646         node.TypeDefinition = ToNodeId("i=68");
08647         VariableAttributes attrs;
08648         attrs.Description = LocalizedText("The maximum number of operations in a single data HistoryUpdate request.");
08649         attrs.DisplayName = LocalizedText("MaxNodesPerHistoryUpdateData");
08650         attrs.Type = ObjectId::UInt32;
08651         attrs.Rank = -1;
08652         node.Attributes = attrs;
08653         registry.AddNodes(std::vector<AddNodesItem>{node});
08654         std::vector<AddReferencesItem> refs;
08655         {
08656         AddReferencesItem ref;
08657         ref.IsForward = true;
08658         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
08659         ref.SourceNodeId = ToNodeId("i=12163");
08660         ref.TargetNodeClass = NodeClass::DataType;
08661         ref.TargetNodeId = ToNodeId("i=80");
08662         refs.push_back(ref);
08663         }
08664         registry.AddReferences(refs);
08665         }
08666        
08667         {
08668         AddNodesItem node;
08669         node.RequestedNewNodeId = ToNodeId("i=12164");
08670         node.BrowseName = ToQualifiedName("MaxNodesPerHistoryUpdateEvents");
08671         node.Class = NodeClass::Variable;
08672         node.ParentNodeId = ToNodeId("i=11564");
08673         node.ReferenceTypeId = ReferenceId::HasProperty;
08674         node.TypeDefinition = ToNodeId("i=68");
08675         VariableAttributes attrs;
08676         attrs.Description = LocalizedText("The maximum number of operations in a single event HistoryUpdate request.");
08677         attrs.DisplayName = LocalizedText("MaxNodesPerHistoryUpdateEvents");
08678         attrs.Type = ObjectId::UInt32;
08679         attrs.Rank = -1;
08680         node.Attributes = attrs;
08681         registry.AddNodes(std::vector<AddNodesItem>{node});
08682         std::vector<AddReferencesItem> refs;
08683         {
08684         AddReferencesItem ref;
08685         ref.IsForward = true;
08686         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
08687         ref.SourceNodeId = ToNodeId("i=12164");
08688         ref.TargetNodeClass = NodeClass::DataType;
08689         ref.TargetNodeId = ToNodeId("i=80");
08690         refs.push_back(ref);
08691         }
08692         registry.AddReferences(refs);
08693         }
08694        
08695         {
08696         AddNodesItem node;
08697         node.RequestedNewNodeId = ToNodeId("i=11569");
08698         node.BrowseName = ToQualifiedName("MaxNodesPerMethodCall");
08699         node.Class = NodeClass::Variable;
08700         node.ParentNodeId = ToNodeId("i=11564");
08701         node.ReferenceTypeId = ReferenceId::HasProperty;
08702         node.TypeDefinition = ToNodeId("i=68");
08703         VariableAttributes attrs;
08704         attrs.Description = LocalizedText("The maximum number of operations in a single Call request.");
08705         attrs.DisplayName = LocalizedText("MaxNodesPerMethodCall");
08706         attrs.Type = ObjectId::UInt32;
08707         attrs.Rank = -1;
08708         node.Attributes = attrs;
08709         registry.AddNodes(std::vector<AddNodesItem>{node});
08710         std::vector<AddReferencesItem> refs;
08711         {
08712         AddReferencesItem ref;
08713         ref.IsForward = true;
08714         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
08715         ref.SourceNodeId = ToNodeId("i=11569");
08716         ref.TargetNodeClass = NodeClass::DataType;
08717         ref.TargetNodeId = ToNodeId("i=80");
08718         refs.push_back(ref);
08719         }
08720         registry.AddReferences(refs);
08721         }
08722        
08723         {
08724         AddNodesItem node;
08725         node.RequestedNewNodeId = ToNodeId("i=11570");
08726         node.BrowseName = ToQualifiedName("MaxNodesPerBrowse");
08727         node.Class = NodeClass::Variable;
08728         node.ParentNodeId = ToNodeId("i=11564");
08729         node.ReferenceTypeId = ReferenceId::HasProperty;
08730         node.TypeDefinition = ToNodeId("i=68");
08731         VariableAttributes attrs;
08732         attrs.Description = LocalizedText("The maximum number of operations in a single Browse request.");
08733         attrs.DisplayName = LocalizedText("MaxNodesPerBrowse");
08734         attrs.Type = ObjectId::UInt32;
08735         attrs.Rank = -1;
08736         node.Attributes = attrs;
08737         registry.AddNodes(std::vector<AddNodesItem>{node});
08738         std::vector<AddReferencesItem> refs;
08739         {
08740         AddReferencesItem ref;
08741         ref.IsForward = true;
08742         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
08743         ref.SourceNodeId = ToNodeId("i=11570");
08744         ref.TargetNodeClass = NodeClass::DataType;
08745         ref.TargetNodeId = ToNodeId("i=80");
08746         refs.push_back(ref);
08747         }
08748         registry.AddReferences(refs);
08749         }
08750        
08751         {
08752         AddNodesItem node;
08753         node.RequestedNewNodeId = ToNodeId("i=11571");
08754         node.BrowseName = ToQualifiedName("MaxNodesPerRegisterNodes");
08755         node.Class = NodeClass::Variable;
08756         node.ParentNodeId = ToNodeId("i=11564");
08757         node.ReferenceTypeId = ReferenceId::HasProperty;
08758         node.TypeDefinition = ToNodeId("i=68");
08759         VariableAttributes attrs;
08760         attrs.Description = LocalizedText("The maximum number of operations in a single RegisterNodes request.");
08761         attrs.DisplayName = LocalizedText("MaxNodesPerRegisterNodes");
08762         attrs.Type = ObjectId::UInt32;
08763         attrs.Rank = -1;
08764         node.Attributes = attrs;
08765         registry.AddNodes(std::vector<AddNodesItem>{node});
08766         std::vector<AddReferencesItem> refs;
08767         {
08768         AddReferencesItem ref;
08769         ref.IsForward = true;
08770         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
08771         ref.SourceNodeId = ToNodeId("i=11571");
08772         ref.TargetNodeClass = NodeClass::DataType;
08773         ref.TargetNodeId = ToNodeId("i=80");
08774         refs.push_back(ref);
08775         }
08776         registry.AddReferences(refs);
08777         }
08778        
08779         {
08780         AddNodesItem node;
08781         node.RequestedNewNodeId = ToNodeId("i=11572");
08782         node.BrowseName = ToQualifiedName("MaxNodesPerTranslateBrowsePathsToNodeIds");
08783         node.Class = NodeClass::Variable;
08784         node.ParentNodeId = ToNodeId("i=11564");
08785         node.ReferenceTypeId = ReferenceId::HasProperty;
08786         node.TypeDefinition = ToNodeId("i=68");
08787         VariableAttributes attrs;
08788         attrs.Description = LocalizedText("The maximum number of operations in a single TranslateBrowsePathsToNodeIds request.");
08789         attrs.DisplayName = LocalizedText("MaxNodesPerTranslateBrowsePathsToNodeIds");
08790         attrs.Type = ObjectId::UInt32;
08791         attrs.Rank = -1;
08792         node.Attributes = attrs;
08793         registry.AddNodes(std::vector<AddNodesItem>{node});
08794         std::vector<AddReferencesItem> refs;
08795         {
08796         AddReferencesItem ref;
08797         ref.IsForward = true;
08798         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
08799         ref.SourceNodeId = ToNodeId("i=11572");
08800         ref.TargetNodeClass = NodeClass::DataType;
08801         ref.TargetNodeId = ToNodeId("i=80");
08802         refs.push_back(ref);
08803         }
08804         registry.AddReferences(refs);
08805         }
08806        
08807         {
08808         AddNodesItem node;
08809         node.RequestedNewNodeId = ToNodeId("i=11573");
08810         node.BrowseName = ToQualifiedName("MaxNodesPerNodeManagement");
08811         node.Class = NodeClass::Variable;
08812         node.ParentNodeId = ToNodeId("i=11564");
08813         node.ReferenceTypeId = ReferenceId::HasProperty;
08814         node.TypeDefinition = ToNodeId("i=68");
08815         VariableAttributes attrs;
08816         attrs.Description = LocalizedText("The maximum number of operations in a single AddNodes, AddReferences, DeleteNodes or DeleteReferences request.");
08817         attrs.DisplayName = LocalizedText("MaxNodesPerNodeManagement");
08818         attrs.Type = ObjectId::UInt32;
08819         attrs.Rank = -1;
08820         node.Attributes = attrs;
08821         registry.AddNodes(std::vector<AddNodesItem>{node});
08822         std::vector<AddReferencesItem> refs;
08823         {
08824         AddReferencesItem ref;
08825         ref.IsForward = true;
08826         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
08827         ref.SourceNodeId = ToNodeId("i=11573");
08828         ref.TargetNodeClass = NodeClass::DataType;
08829         ref.TargetNodeId = ToNodeId("i=80");
08830         refs.push_back(ref);
08831         }
08832         registry.AddReferences(refs);
08833         }
08834        
08835         {
08836         AddNodesItem node;
08837         node.RequestedNewNodeId = ToNodeId("i=11574");
08838         node.BrowseName = ToQualifiedName("MaxMonitoredItemsPerCall");
08839         node.Class = NodeClass::Variable;
08840         node.ParentNodeId = ToNodeId("i=11564");
08841         node.ReferenceTypeId = ReferenceId::HasProperty;
08842         node.TypeDefinition = ToNodeId("i=68");
08843         VariableAttributes attrs;
08844         attrs.Description = LocalizedText("The maximum number of operations in a single MonitoredItem related request.");
08845         attrs.DisplayName = LocalizedText("MaxMonitoredItemsPerCall");
08846         attrs.Type = ObjectId::UInt32;
08847         attrs.Rank = -1;
08848         node.Attributes = attrs;
08849         registry.AddNodes(std::vector<AddNodesItem>{node});
08850         std::vector<AddReferencesItem> refs;
08851         {
08852         AddReferencesItem ref;
08853         ref.IsForward = true;
08854         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
08855         ref.SourceNodeId = ToNodeId("i=11574");
08856         ref.TargetNodeClass = NodeClass::DataType;
08857         ref.TargetNodeId = ToNodeId("i=80");
08858         refs.push_back(ref);
08859         }
08860         registry.AddReferences(refs);
08861         }
08862        
08863         {
08864         AddNodesItem node;
08865         node.RequestedNewNodeId = ToNodeId("i=11575");
08866         node.BrowseName = ToQualifiedName("FileType");
08867         node.Class = NodeClass::ObjectType;
08868         node.ParentNodeId = ToNodeId("i=58");
08869         node.ReferenceTypeId = ReferenceId::HasSubtype;
08870         ObjectTypeAttributes attrs;
08871         attrs.Description = LocalizedText("An object that represents a file that can be accessed via the server.");
08872         attrs.DisplayName = LocalizedText("FileType");
08873         attrs.IsAbstract = false;
08874         node.Attributes = attrs;
08875         registry.AddNodes(std::vector<AddNodesItem>{node});
08876         std::vector<AddReferencesItem> refs;
08877         {
08878         AddReferencesItem ref;
08879         ref.IsForward = true;
08880         ref.ReferenceTypeId = ReferenceId::HasProperty;
08881         ref.SourceNodeId = ToNodeId("i=11575");
08882         ref.TargetNodeClass = NodeClass::DataType;
08883         ref.TargetNodeId = ToNodeId("i=11576");
08884         refs.push_back(ref);
08885         }
08886         {
08887         AddReferencesItem ref;
08888         ref.IsForward = true;
08889         ref.ReferenceTypeId = ReferenceId::HasProperty;
08890         ref.SourceNodeId = ToNodeId("i=11575");
08891         ref.TargetNodeClass = NodeClass::DataType;
08892         ref.TargetNodeId = ToNodeId("i=11577");
08893         refs.push_back(ref);
08894         }
08895         {
08896         AddReferencesItem ref;
08897         ref.IsForward = true;
08898         ref.ReferenceTypeId = ReferenceId::HasProperty;
08899         ref.SourceNodeId = ToNodeId("i=11575");
08900         ref.TargetNodeClass = NodeClass::DataType;
08901         ref.TargetNodeId = ToNodeId("i=11578");
08902         refs.push_back(ref);
08903         }
08904         {
08905         AddReferencesItem ref;
08906         ref.IsForward = true;
08907         ref.ReferenceTypeId = ReferenceId::HasProperty;
08908         ref.SourceNodeId = ToNodeId("i=11575");
08909         ref.TargetNodeClass = NodeClass::DataType;
08910         ref.TargetNodeId = ToNodeId("i=11579");
08911         refs.push_back(ref);
08912         }
08913         {
08914         AddReferencesItem ref;
08915         ref.IsForward = true;
08916         ref.ReferenceTypeId = ReferenceId::HasComponent;
08917         ref.SourceNodeId = ToNodeId("i=11575");
08918         ref.TargetNodeClass = NodeClass::DataType;
08919         ref.TargetNodeId = ToNodeId("i=11580");
08920         refs.push_back(ref);
08921         }
08922         {
08923         AddReferencesItem ref;
08924         ref.IsForward = true;
08925         ref.ReferenceTypeId = ReferenceId::HasComponent;
08926         ref.SourceNodeId = ToNodeId("i=11575");
08927         ref.TargetNodeClass = NodeClass::DataType;
08928         ref.TargetNodeId = ToNodeId("i=11583");
08929         refs.push_back(ref);
08930         }
08931         {
08932         AddReferencesItem ref;
08933         ref.IsForward = true;
08934         ref.ReferenceTypeId = ReferenceId::HasComponent;
08935         ref.SourceNodeId = ToNodeId("i=11575");
08936         ref.TargetNodeClass = NodeClass::DataType;
08937         ref.TargetNodeId = ToNodeId("i=11585");
08938         refs.push_back(ref);
08939         }
08940         {
08941         AddReferencesItem ref;
08942         ref.IsForward = true;
08943         ref.ReferenceTypeId = ReferenceId::HasComponent;
08944         ref.SourceNodeId = ToNodeId("i=11575");
08945         ref.TargetNodeClass = NodeClass::DataType;
08946         ref.TargetNodeId = ToNodeId("i=11588");
08947         refs.push_back(ref);
08948         }
08949         {
08950         AddReferencesItem ref;
08951         ref.IsForward = true;
08952         ref.ReferenceTypeId = ReferenceId::HasComponent;
08953         ref.SourceNodeId = ToNodeId("i=11575");
08954         ref.TargetNodeClass = NodeClass::DataType;
08955         ref.TargetNodeId = ToNodeId("i=11590");
08956         refs.push_back(ref);
08957         }
08958         {
08959         AddReferencesItem ref;
08960         ref.IsForward = true;
08961         ref.ReferenceTypeId = ReferenceId::HasComponent;
08962         ref.SourceNodeId = ToNodeId("i=11575");
08963         ref.TargetNodeClass = NodeClass::DataType;
08964         ref.TargetNodeId = ToNodeId("i=11593");
08965         refs.push_back(ref);
08966         }
08967         registry.AddReferences(refs);
08968         }
08969        
08970         {
08971         AddNodesItem node;
08972         node.RequestedNewNodeId = ToNodeId("i=11576");
08973         node.BrowseName = ToQualifiedName("Size");
08974         node.Class = NodeClass::Variable;
08975         node.ParentNodeId = ToNodeId("i=11575");
08976         node.ReferenceTypeId = ReferenceId::HasProperty;
08977         node.TypeDefinition = ToNodeId("i=68");
08978         VariableAttributes attrs;
08979         attrs.Description = LocalizedText("The size of the file in bytes.");
08980         attrs.DisplayName = LocalizedText("Size");
08981         attrs.Type = ObjectId::UInt64;
08982         attrs.Rank = -1;
08983         node.Attributes = attrs;
08984         registry.AddNodes(std::vector<AddNodesItem>{node});
08985         std::vector<AddReferencesItem> refs;
08986         {
08987         AddReferencesItem ref;
08988         ref.IsForward = true;
08989         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
08990         ref.SourceNodeId = ToNodeId("i=11576");
08991         ref.TargetNodeClass = NodeClass::DataType;
08992         ref.TargetNodeId = ToNodeId("i=78");
08993         refs.push_back(ref);
08994         }
08995         registry.AddReferences(refs);
08996         }
08997        
08998         {
08999         AddNodesItem node;
09000         node.RequestedNewNodeId = ToNodeId("i=11577");
09001         node.BrowseName = ToQualifiedName("Writeable");
09002         node.Class = NodeClass::Variable;
09003         node.ParentNodeId = ToNodeId("i=11575");
09004         node.ReferenceTypeId = ReferenceId::HasProperty;
09005         node.TypeDefinition = ToNodeId("i=68");
09006         VariableAttributes attrs;
09007         attrs.Description = LocalizedText("Whether the file is writeable.");
09008         attrs.DisplayName = LocalizedText("Writeable");
09009         attrs.Type = ObjectId::Boolean;
09010         attrs.Rank = -1;
09011         node.Attributes = attrs;
09012         registry.AddNodes(std::vector<AddNodesItem>{node});
09013         std::vector<AddReferencesItem> refs;
09014         {
09015         AddReferencesItem ref;
09016         ref.IsForward = true;
09017         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
09018         ref.SourceNodeId = ToNodeId("i=11577");
09019         ref.TargetNodeClass = NodeClass::DataType;
09020         ref.TargetNodeId = ToNodeId("i=78");
09021         refs.push_back(ref);
09022         }
09023         registry.AddReferences(refs);
09024         }
09025        
09026         {
09027         AddNodesItem node;
09028         node.RequestedNewNodeId = ToNodeId("i=11578");
09029         node.BrowseName = ToQualifiedName("UserWriteable");
09030         node.Class = NodeClass::Variable;
09031         node.ParentNodeId = ToNodeId("i=11575");
09032         node.ReferenceTypeId = ReferenceId::HasProperty;
09033         node.TypeDefinition = ToNodeId("i=68");
09034         VariableAttributes attrs;
09035         attrs.Description = LocalizedText("Whether the file is writeable by the current user.");
09036         attrs.DisplayName = LocalizedText("UserWriteable");
09037         attrs.Type = ObjectId::Boolean;
09038         attrs.Rank = -1;
09039         node.Attributes = attrs;
09040         registry.AddNodes(std::vector<AddNodesItem>{node});
09041         std::vector<AddReferencesItem> refs;
09042         {
09043         AddReferencesItem ref;
09044         ref.IsForward = true;
09045         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
09046         ref.SourceNodeId = ToNodeId("i=11578");
09047         ref.TargetNodeClass = NodeClass::DataType;
09048         ref.TargetNodeId = ToNodeId("i=78");
09049         refs.push_back(ref);
09050         }
09051         registry.AddReferences(refs);
09052         }
09053        
09054         {
09055         AddNodesItem node;
09056         node.RequestedNewNodeId = ToNodeId("i=11579");
09057         node.BrowseName = ToQualifiedName("OpenCount");
09058         node.Class = NodeClass::Variable;
09059         node.ParentNodeId = ToNodeId("i=11575");
09060         node.ReferenceTypeId = ReferenceId::HasProperty;
09061         node.TypeDefinition = ToNodeId("i=68");
09062         VariableAttributes attrs;
09063         attrs.Description = LocalizedText("The current number of open file handles.");
09064         attrs.DisplayName = LocalizedText("OpenCount");
09065         attrs.Type = ObjectId::UInt16;
09066         attrs.Rank = -1;
09067         node.Attributes = attrs;
09068         registry.AddNodes(std::vector<AddNodesItem>{node});
09069         std::vector<AddReferencesItem> refs;
09070         {
09071         AddReferencesItem ref;
09072         ref.IsForward = true;
09073         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
09074         ref.SourceNodeId = ToNodeId("i=11579");
09075         ref.TargetNodeClass = NodeClass::DataType;
09076         ref.TargetNodeId = ToNodeId("i=78");
09077         refs.push_back(ref);
09078         }
09079         registry.AddReferences(refs);
09080         }
09081        
09082         {
09083         AddNodesItem node;
09084         node.RequestedNewNodeId = ToNodeId("i=11581");
09085         node.BrowseName = ToQualifiedName("InputArguments");
09086         node.Class = NodeClass::Variable;
09087         node.ParentNodeId = ToNodeId("i=11580");
09088         node.ReferenceTypeId = ReferenceId::HasProperty;
09089         node.TypeDefinition = ToNodeId("i=68");
09090         VariableAttributes attrs;
09091         attrs.DisplayName = LocalizedText("InputArguments");
09092         attrs.Type = ToNodeId("i=296");
09093         attrs.Rank = 1;
09094         node.Attributes = attrs;
09095         registry.AddNodes(std::vector<AddNodesItem>{node});
09096         std::vector<AddReferencesItem> refs;
09097         {
09098         AddReferencesItem ref;
09099         ref.IsForward = true;
09100         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
09101         ref.SourceNodeId = ToNodeId("i=11581");
09102         ref.TargetNodeClass = NodeClass::DataType;
09103         ref.TargetNodeId = ToNodeId("i=78");
09104         refs.push_back(ref);
09105         }
09106         registry.AddReferences(refs);
09107         }
09108        
09109         {
09110         AddNodesItem node;
09111         node.RequestedNewNodeId = ToNodeId("i=11582");
09112         node.BrowseName = ToQualifiedName("OutputArguments");
09113         node.Class = NodeClass::Variable;
09114         node.ParentNodeId = ToNodeId("i=11580");
09115         node.ReferenceTypeId = ReferenceId::HasProperty;
09116         node.TypeDefinition = ToNodeId("i=68");
09117         VariableAttributes attrs;
09118         attrs.DisplayName = LocalizedText("OutputArguments");
09119         attrs.Type = ToNodeId("i=296");
09120         attrs.Rank = 1;
09121         node.Attributes = attrs;
09122         registry.AddNodes(std::vector<AddNodesItem>{node});
09123         std::vector<AddReferencesItem> refs;
09124         {
09125         AddReferencesItem ref;
09126         ref.IsForward = true;
09127         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
09128         ref.SourceNodeId = ToNodeId("i=11582");
09129         ref.TargetNodeClass = NodeClass::DataType;
09130         ref.TargetNodeId = ToNodeId("i=78");
09131         refs.push_back(ref);
09132         }
09133         registry.AddReferences(refs);
09134         }
09135        
09136         {
09137         AddNodesItem node;
09138         node.RequestedNewNodeId = ToNodeId("i=11584");
09139         node.BrowseName = ToQualifiedName("InputArguments");
09140         node.Class = NodeClass::Variable;
09141         node.ParentNodeId = ToNodeId("i=11583");
09142         node.ReferenceTypeId = ReferenceId::HasProperty;
09143         node.TypeDefinition = ToNodeId("i=68");
09144         VariableAttributes attrs;
09145         attrs.DisplayName = LocalizedText("InputArguments");
09146         attrs.Type = ToNodeId("i=296");
09147         attrs.Rank = 1;
09148         node.Attributes = attrs;
09149         registry.AddNodes(std::vector<AddNodesItem>{node});
09150         std::vector<AddReferencesItem> refs;
09151         {
09152         AddReferencesItem ref;
09153         ref.IsForward = true;
09154         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
09155         ref.SourceNodeId = ToNodeId("i=11584");
09156         ref.TargetNodeClass = NodeClass::DataType;
09157         ref.TargetNodeId = ToNodeId("i=78");
09158         refs.push_back(ref);
09159         }
09160         registry.AddReferences(refs);
09161         }
09162        
09163         {
09164         AddNodesItem node;
09165         node.RequestedNewNodeId = ToNodeId("i=11586");
09166         node.BrowseName = ToQualifiedName("InputArguments");
09167         node.Class = NodeClass::Variable;
09168         node.ParentNodeId = ToNodeId("i=11585");
09169         node.ReferenceTypeId = ReferenceId::HasProperty;
09170         node.TypeDefinition = ToNodeId("i=68");
09171         VariableAttributes attrs;
09172         attrs.DisplayName = LocalizedText("InputArguments");
09173         attrs.Type = ToNodeId("i=296");
09174         attrs.Rank = 1;
09175         node.Attributes = attrs;
09176         registry.AddNodes(std::vector<AddNodesItem>{node});
09177         std::vector<AddReferencesItem> refs;
09178         {
09179         AddReferencesItem ref;
09180         ref.IsForward = true;
09181         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
09182         ref.SourceNodeId = ToNodeId("i=11586");
09183         ref.TargetNodeClass = NodeClass::DataType;
09184         ref.TargetNodeId = ToNodeId("i=78");
09185         refs.push_back(ref);
09186         }
09187         registry.AddReferences(refs);
09188         }
09189        
09190         {
09191         AddNodesItem node;
09192         node.RequestedNewNodeId = ToNodeId("i=11587");
09193         node.BrowseName = ToQualifiedName("OutputArguments");
09194         node.Class = NodeClass::Variable;
09195         node.ParentNodeId = ToNodeId("i=11585");
09196         node.ReferenceTypeId = ReferenceId::HasProperty;
09197         node.TypeDefinition = ToNodeId("i=68");
09198         VariableAttributes attrs;
09199         attrs.DisplayName = LocalizedText("OutputArguments");
09200         attrs.Type = ToNodeId("i=296");
09201         attrs.Rank = 1;
09202         node.Attributes = attrs;
09203         registry.AddNodes(std::vector<AddNodesItem>{node});
09204         std::vector<AddReferencesItem> refs;
09205         {
09206         AddReferencesItem ref;
09207         ref.IsForward = true;
09208         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
09209         ref.SourceNodeId = ToNodeId("i=11587");
09210         ref.TargetNodeClass = NodeClass::DataType;
09211         ref.TargetNodeId = ToNodeId("i=78");
09212         refs.push_back(ref);
09213         }
09214         registry.AddReferences(refs);
09215         }
09216        
09217         {
09218         AddNodesItem node;
09219         node.RequestedNewNodeId = ToNodeId("i=11589");
09220         node.BrowseName = ToQualifiedName("InputArguments");
09221         node.Class = NodeClass::Variable;
09222         node.ParentNodeId = ToNodeId("i=11588");
09223         node.ReferenceTypeId = ReferenceId::HasProperty;
09224         node.TypeDefinition = ToNodeId("i=68");
09225         VariableAttributes attrs;
09226         attrs.DisplayName = LocalizedText("InputArguments");
09227         attrs.Type = ToNodeId("i=296");
09228         attrs.Rank = 1;
09229         node.Attributes = attrs;
09230         registry.AddNodes(std::vector<AddNodesItem>{node});
09231         std::vector<AddReferencesItem> refs;
09232         {
09233         AddReferencesItem ref;
09234         ref.IsForward = true;
09235         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
09236         ref.SourceNodeId = ToNodeId("i=11589");
09237         ref.TargetNodeClass = NodeClass::DataType;
09238         ref.TargetNodeId = ToNodeId("i=78");
09239         refs.push_back(ref);
09240         }
09241         registry.AddReferences(refs);
09242         }
09243        
09244         {
09245         AddNodesItem node;
09246         node.RequestedNewNodeId = ToNodeId("i=11591");
09247         node.BrowseName = ToQualifiedName("InputArguments");
09248         node.Class = NodeClass::Variable;
09249         node.ParentNodeId = ToNodeId("i=11590");
09250         node.ReferenceTypeId = ReferenceId::HasProperty;
09251         node.TypeDefinition = ToNodeId("i=68");
09252         VariableAttributes attrs;
09253         attrs.DisplayName = LocalizedText("InputArguments");
09254         attrs.Type = ToNodeId("i=296");
09255         attrs.Rank = 1;
09256         node.Attributes = attrs;
09257         registry.AddNodes(std::vector<AddNodesItem>{node});
09258         std::vector<AddReferencesItem> refs;
09259         {
09260         AddReferencesItem ref;
09261         ref.IsForward = true;
09262         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
09263         ref.SourceNodeId = ToNodeId("i=11591");
09264         ref.TargetNodeClass = NodeClass::DataType;
09265         ref.TargetNodeId = ToNodeId("i=78");
09266         refs.push_back(ref);
09267         }
09268         registry.AddReferences(refs);
09269         }
09270        
09271         {
09272         AddNodesItem node;
09273         node.RequestedNewNodeId = ToNodeId("i=11592");
09274         node.BrowseName = ToQualifiedName("OutputArguments");
09275         node.Class = NodeClass::Variable;
09276         node.ParentNodeId = ToNodeId("i=11590");
09277         node.ReferenceTypeId = ReferenceId::HasProperty;
09278         node.TypeDefinition = ToNodeId("i=68");
09279         VariableAttributes attrs;
09280         attrs.DisplayName = LocalizedText("OutputArguments");
09281         attrs.Type = ToNodeId("i=296");
09282         attrs.Rank = 1;
09283         node.Attributes = attrs;
09284         registry.AddNodes(std::vector<AddNodesItem>{node});
09285         std::vector<AddReferencesItem> refs;
09286         {
09287         AddReferencesItem ref;
09288         ref.IsForward = true;
09289         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
09290         ref.SourceNodeId = ToNodeId("i=11592");
09291         ref.TargetNodeClass = NodeClass::DataType;
09292         ref.TargetNodeId = ToNodeId("i=78");
09293         refs.push_back(ref);
09294         }
09295         registry.AddReferences(refs);
09296         }
09297        
09298         {
09299         AddNodesItem node;
09300         node.RequestedNewNodeId = ToNodeId("i=11594");
09301         node.BrowseName = ToQualifiedName("InputArguments");
09302         node.Class = NodeClass::Variable;
09303         node.ParentNodeId = ToNodeId("i=11593");
09304         node.ReferenceTypeId = ReferenceId::HasProperty;
09305         node.TypeDefinition = ToNodeId("i=68");
09306         VariableAttributes attrs;
09307         attrs.DisplayName = LocalizedText("InputArguments");
09308         attrs.Type = ToNodeId("i=296");
09309         attrs.Rank = 1;
09310         node.Attributes = attrs;
09311         registry.AddNodes(std::vector<AddNodesItem>{node});
09312         std::vector<AddReferencesItem> refs;
09313         {
09314         AddReferencesItem ref;
09315         ref.IsForward = true;
09316         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
09317         ref.SourceNodeId = ToNodeId("i=11594");
09318         ref.TargetNodeClass = NodeClass::DataType;
09319         ref.TargetNodeId = ToNodeId("i=78");
09320         refs.push_back(ref);
09321         }
09322         registry.AddReferences(refs);
09323         }
09324        
09325         {
09326         AddNodesItem node;
09327         node.RequestedNewNodeId = ToNodeId("i=11595");
09328         node.BrowseName = ToQualifiedName("AddressSpaceFileType");
09329         node.Class = NodeClass::ObjectType;
09330         node.ParentNodeId = ToNodeId("i=11575");
09331         node.ReferenceTypeId = ReferenceId::HasSubtype;
09332         ObjectTypeAttributes attrs;
09333         attrs.Description = LocalizedText("A file used to store a namespace exported from the server.");
09334         attrs.DisplayName = LocalizedText("AddressSpaceFileType");
09335         attrs.IsAbstract = false;
09336         node.Attributes = attrs;
09337         registry.AddNodes(std::vector<AddNodesItem>{node});
09338         std::vector<AddReferencesItem> refs;
09339         {
09340         AddReferencesItem ref;
09341         ref.IsForward = true;
09342         ref.ReferenceTypeId = ReferenceId::HasComponent;
09343         ref.SourceNodeId = ToNodeId("i=11595");
09344         ref.TargetNodeClass = NodeClass::DataType;
09345         ref.TargetNodeId = ToNodeId("i=11615");
09346         refs.push_back(ref);
09347         }
09348         registry.AddReferences(refs);
09349         }
09350        
09351         {
09352         AddNodesItem node;
09353         node.RequestedNewNodeId = ToNodeId("i=11616");
09354         node.BrowseName = ToQualifiedName("NamespaceMetadataType");
09355         node.Class = NodeClass::ObjectType;
09356         node.ParentNodeId = ToNodeId("i=58");
09357         node.ReferenceTypeId = ReferenceId::HasSubtype;
09358         ObjectTypeAttributes attrs;
09359         attrs.Description = LocalizedText("Provides the metadata for a namespace used by the server.");
09360         attrs.DisplayName = LocalizedText("NamespaceMetadataType");
09361         attrs.IsAbstract = false;
09362         node.Attributes = attrs;
09363         registry.AddNodes(std::vector<AddNodesItem>{node});
09364         std::vector<AddReferencesItem> refs;
09365         {
09366         AddReferencesItem ref;
09367         ref.IsForward = true;
09368         ref.ReferenceTypeId = ReferenceId::HasProperty;
09369         ref.SourceNodeId = ToNodeId("i=11616");
09370         ref.TargetNodeClass = NodeClass::DataType;
09371         ref.TargetNodeId = ToNodeId("i=11617");
09372         refs.push_back(ref);
09373         }
09374         {
09375         AddReferencesItem ref;
09376         ref.IsForward = true;
09377         ref.ReferenceTypeId = ReferenceId::HasProperty;
09378         ref.SourceNodeId = ToNodeId("i=11616");
09379         ref.TargetNodeClass = NodeClass::DataType;
09380         ref.TargetNodeId = ToNodeId("i=11618");
09381         refs.push_back(ref);
09382         }
09383         {
09384         AddReferencesItem ref;
09385         ref.IsForward = true;
09386         ref.ReferenceTypeId = ReferenceId::HasProperty;
09387         ref.SourceNodeId = ToNodeId("i=11616");
09388         ref.TargetNodeClass = NodeClass::DataType;
09389         ref.TargetNodeId = ToNodeId("i=11619");
09390         refs.push_back(ref);
09391         }
09392         {
09393         AddReferencesItem ref;
09394         ref.IsForward = true;
09395         ref.ReferenceTypeId = ReferenceId::HasProperty;
09396         ref.SourceNodeId = ToNodeId("i=11616");
09397         ref.TargetNodeClass = NodeClass::DataType;
09398         ref.TargetNodeId = ToNodeId("i=11620");
09399         refs.push_back(ref);
09400         }
09401         {
09402         AddReferencesItem ref;
09403         ref.IsForward = true;
09404         ref.ReferenceTypeId = ReferenceId::HasProperty;
09405         ref.SourceNodeId = ToNodeId("i=11616");
09406         ref.TargetNodeClass = NodeClass::DataType;
09407         ref.TargetNodeId = ToNodeId("i=11621");
09408         refs.push_back(ref);
09409         }
09410         {
09411         AddReferencesItem ref;
09412         ref.IsForward = true;
09413         ref.ReferenceTypeId = ReferenceId::HasProperty;
09414         ref.SourceNodeId = ToNodeId("i=11616");
09415         ref.TargetNodeClass = NodeClass::DataType;
09416         ref.TargetNodeId = ToNodeId("i=11622");
09417         refs.push_back(ref);
09418         }
09419         {
09420         AddReferencesItem ref;
09421         ref.IsForward = true;
09422         ref.ReferenceTypeId = ReferenceId::HasProperty;
09423         ref.SourceNodeId = ToNodeId("i=11616");
09424         ref.TargetNodeClass = NodeClass::DataType;
09425         ref.TargetNodeId = ToNodeId("i=11623");
09426         refs.push_back(ref);
09427         }
09428         {
09429         AddReferencesItem ref;
09430         ref.IsForward = true;
09431         ref.ReferenceTypeId = ReferenceId::HasComponent;
09432         ref.SourceNodeId = ToNodeId("i=11616");
09433         ref.TargetNodeClass = NodeClass::DataType;
09434         ref.TargetNodeId = ToNodeId("i=11624");
09435         refs.push_back(ref);
09436         }
09437         registry.AddReferences(refs);
09438         }
09439        
09440         {
09441         AddNodesItem node;
09442         node.RequestedNewNodeId = ToNodeId("i=11617");
09443         node.BrowseName = ToQualifiedName("NamespaceUri");
09444         node.Class = NodeClass::Variable;
09445         node.ParentNodeId = ToNodeId("i=11616");
09446         node.ReferenceTypeId = ReferenceId::HasProperty;
09447         node.TypeDefinition = ToNodeId("i=68");
09448         VariableAttributes attrs;
09449         attrs.Description = LocalizedText("The URI of the namespace.");
09450         attrs.DisplayName = LocalizedText("NamespaceUri");
09451         attrs.Type = ObjectId::String;
09452         attrs.Rank = -1;
09453         node.Attributes = attrs;
09454         registry.AddNodes(std::vector<AddNodesItem>{node});
09455         std::vector<AddReferencesItem> refs;
09456         {
09457         AddReferencesItem ref;
09458         ref.IsForward = true;
09459         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
09460         ref.SourceNodeId = ToNodeId("i=11617");
09461         ref.TargetNodeClass = NodeClass::DataType;
09462         ref.TargetNodeId = ToNodeId("i=78");
09463         refs.push_back(ref);
09464         }
09465         registry.AddReferences(refs);
09466         }
09467        
09468         {
09469         AddNodesItem node;
09470         node.RequestedNewNodeId = ToNodeId("i=11618");
09471         node.BrowseName = ToQualifiedName("NamespaceVersion");
09472         node.Class = NodeClass::Variable;
09473         node.ParentNodeId = ToNodeId("i=11616");
09474         node.ReferenceTypeId = ReferenceId::HasProperty;
09475         node.TypeDefinition = ToNodeId("i=68");
09476         VariableAttributes attrs;
09477         attrs.Description = LocalizedText("The human readable string representing version of the namespace.");
09478         attrs.DisplayName = LocalizedText("NamespaceVersion");
09479         attrs.Type = ObjectId::String;
09480         attrs.Rank = -1;
09481         node.Attributes = attrs;
09482         registry.AddNodes(std::vector<AddNodesItem>{node});
09483         std::vector<AddReferencesItem> refs;
09484         {
09485         AddReferencesItem ref;
09486         ref.IsForward = true;
09487         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
09488         ref.SourceNodeId = ToNodeId("i=11618");
09489         ref.TargetNodeClass = NodeClass::DataType;
09490         ref.TargetNodeId = ToNodeId("i=78");
09491         refs.push_back(ref);
09492         }
09493         registry.AddReferences(refs);
09494         }
09495        
09496         {
09497         AddNodesItem node;
09498         node.RequestedNewNodeId = ToNodeId("i=11619");
09499         node.BrowseName = ToQualifiedName("NamespacePublicationDate");
09500         node.Class = NodeClass::Variable;
09501         node.ParentNodeId = ToNodeId("i=11616");
09502         node.ReferenceTypeId = ReferenceId::HasProperty;
09503         node.TypeDefinition = ToNodeId("i=68");
09504         VariableAttributes attrs;
09505         attrs.Description = LocalizedText("The publication date for the namespace.");
09506         attrs.DisplayName = LocalizedText("NamespacePublicationDate");
09507         attrs.Type = ObjectId::DateTime;
09508         attrs.Rank = -1;
09509         node.Attributes = attrs;
09510         registry.AddNodes(std::vector<AddNodesItem>{node});
09511         std::vector<AddReferencesItem> refs;
09512         {
09513         AddReferencesItem ref;
09514         ref.IsForward = true;
09515         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
09516         ref.SourceNodeId = ToNodeId("i=11619");
09517         ref.TargetNodeClass = NodeClass::DataType;
09518         ref.TargetNodeId = ToNodeId("i=78");
09519         refs.push_back(ref);
09520         }
09521         registry.AddReferences(refs);
09522         }
09523        
09524         {
09525         AddNodesItem node;
09526         node.RequestedNewNodeId = ToNodeId("i=11620");
09527         node.BrowseName = ToQualifiedName("IsNamespaceSubset");
09528         node.Class = NodeClass::Variable;
09529         node.ParentNodeId = ToNodeId("i=11616");
09530         node.ReferenceTypeId = ReferenceId::HasProperty;
09531         node.TypeDefinition = ToNodeId("i=68");
09532         VariableAttributes attrs;
09533         attrs.Description = LocalizedText("If TRUE then the server only supports a subset of the namespace.");
09534         attrs.DisplayName = LocalizedText("IsNamespaceSubset");
09535         attrs.Type = ObjectId::Boolean;
09536         attrs.Rank = -1;
09537         node.Attributes = attrs;
09538         registry.AddNodes(std::vector<AddNodesItem>{node});
09539         std::vector<AddReferencesItem> refs;
09540         {
09541         AddReferencesItem ref;
09542         ref.IsForward = true;
09543         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
09544         ref.SourceNodeId = ToNodeId("i=11620");
09545         ref.TargetNodeClass = NodeClass::DataType;
09546         ref.TargetNodeId = ToNodeId("i=78");
09547         refs.push_back(ref);
09548         }
09549         registry.AddReferences(refs);
09550         }
09551        
09552         {
09553         AddNodesItem node;
09554         node.RequestedNewNodeId = ToNodeId("i=11621");
09555         node.BrowseName = ToQualifiedName("StaticNodeIdIdentifierTypes");
09556         node.Class = NodeClass::Variable;
09557         node.ParentNodeId = ToNodeId("i=11616");
09558         node.ReferenceTypeId = ReferenceId::HasProperty;
09559         node.TypeDefinition = ToNodeId("i=68");
09560         VariableAttributes attrs;
09561         attrs.Description = LocalizedText("A list of IdTypes for nodes which are the same in every server that exposes them.");
09562         attrs.DisplayName = LocalizedText("StaticNodeIdIdentifierTypes");
09563         attrs.Type = ToNodeId("i=256");
09564         attrs.Rank = 1;
09565         node.Attributes = attrs;
09566         registry.AddNodes(std::vector<AddNodesItem>{node});
09567         std::vector<AddReferencesItem> refs;
09568         {
09569         AddReferencesItem ref;
09570         ref.IsForward = true;
09571         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
09572         ref.SourceNodeId = ToNodeId("i=11621");
09573         ref.TargetNodeClass = NodeClass::DataType;
09574         ref.TargetNodeId = ToNodeId("i=78");
09575         refs.push_back(ref);
09576         }
09577         registry.AddReferences(refs);
09578         }
09579        
09580         {
09581         AddNodesItem node;
09582         node.RequestedNewNodeId = ToNodeId("i=11622");
09583         node.BrowseName = ToQualifiedName("StaticNumericNodeIdRange");
09584         node.Class = NodeClass::Variable;
09585         node.ParentNodeId = ToNodeId("i=11616");
09586         node.ReferenceTypeId = ReferenceId::HasProperty;
09587         node.TypeDefinition = ToNodeId("i=68");
09588         VariableAttributes attrs;
09589         attrs.Description = LocalizedText("A list of ranges for numeric node ids which are the same in every server that exposes them.");
09590         attrs.DisplayName = LocalizedText("StaticNumericNodeIdRange");
09591         attrs.Type = ToNodeId("i=291");
09592         attrs.Rank = 1;
09593         node.Attributes = attrs;
09594         registry.AddNodes(std::vector<AddNodesItem>{node});
09595         std::vector<AddReferencesItem> refs;
09596         {
09597         AddReferencesItem ref;
09598         ref.IsForward = true;
09599         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
09600         ref.SourceNodeId = ToNodeId("i=11622");
09601         ref.TargetNodeClass = NodeClass::DataType;
09602         ref.TargetNodeId = ToNodeId("i=78");
09603         refs.push_back(ref);
09604         }
09605         registry.AddReferences(refs);
09606         }
09607        
09608         {
09609         AddNodesItem node;
09610         node.RequestedNewNodeId = ToNodeId("i=11623");
09611         node.BrowseName = ToQualifiedName("StaticStringNodeIdPattern");
09612         node.Class = NodeClass::Variable;
09613         node.ParentNodeId = ToNodeId("i=11616");
09614         node.ReferenceTypeId = ReferenceId::HasProperty;
09615         node.TypeDefinition = ToNodeId("i=68");
09616         VariableAttributes attrs;
09617         attrs.Description = LocalizedText("A regular expression which matches string node ids are the same in every server that exposes them.");
09618         attrs.DisplayName = LocalizedText("StaticStringNodeIdPattern");
09619         attrs.Type = ObjectId::String;
09620         attrs.Rank = 1;
09621         node.Attributes = attrs;
09622         registry.AddNodes(std::vector<AddNodesItem>{node});
09623         std::vector<AddReferencesItem> refs;
09624         {
09625         AddReferencesItem ref;
09626         ref.IsForward = true;
09627         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
09628         ref.SourceNodeId = ToNodeId("i=11623");
09629         ref.TargetNodeClass = NodeClass::DataType;
09630         ref.TargetNodeId = ToNodeId("i=78");
09631         refs.push_back(ref);
09632         }
09633         registry.AddReferences(refs);
09634         }
09635        
09636         {
09637         AddNodesItem node;
09638         node.RequestedNewNodeId = ToNodeId("i=11624");
09639         node.BrowseName = ToQualifiedName("NamespaceFile");
09640         node.Class = NodeClass::Object;
09641         node.ParentNodeId = ToNodeId("i=11616");
09642         node.ReferenceTypeId = ReferenceId::HasComponent;
09643         node.TypeDefinition = ToNodeId("i=11595");
09644         ObjectAttributes attrs;
09645         attrs.Description = LocalizedText("A file containing the nodes of the namespace.");
09646         attrs.DisplayName = LocalizedText("NamespaceFile");
09647         attrs.EventNotifier = 0;
09648         node.Attributes = attrs;
09649         registry.AddNodes(std::vector<AddNodesItem>{node});
09650         std::vector<AddReferencesItem> refs;
09651         {
09652         AddReferencesItem ref;
09653         ref.IsForward = true;
09654         ref.ReferenceTypeId = ReferenceId::HasProperty;
09655         ref.SourceNodeId = ToNodeId("i=11624");
09656         ref.TargetNodeClass = NodeClass::DataType;
09657         ref.TargetNodeId = ToNodeId("i=11625");
09658         refs.push_back(ref);
09659         }
09660         {
09661         AddReferencesItem ref;
09662         ref.IsForward = true;
09663         ref.ReferenceTypeId = ReferenceId::HasProperty;
09664         ref.SourceNodeId = ToNodeId("i=11624");
09665         ref.TargetNodeClass = NodeClass::DataType;
09666         ref.TargetNodeId = ToNodeId("i=11626");
09667         refs.push_back(ref);
09668         }
09669         {
09670         AddReferencesItem ref;
09671         ref.IsForward = true;
09672         ref.ReferenceTypeId = ReferenceId::HasProperty;
09673         ref.SourceNodeId = ToNodeId("i=11624");
09674         ref.TargetNodeClass = NodeClass::DataType;
09675         ref.TargetNodeId = ToNodeId("i=11627");
09676         refs.push_back(ref);
09677         }
09678         {
09679         AddReferencesItem ref;
09680         ref.IsForward = true;
09681         ref.ReferenceTypeId = ReferenceId::HasProperty;
09682         ref.SourceNodeId = ToNodeId("i=11624");
09683         ref.TargetNodeClass = NodeClass::DataType;
09684         ref.TargetNodeId = ToNodeId("i=11628");
09685         refs.push_back(ref);
09686         }
09687         {
09688         AddReferencesItem ref;
09689         ref.IsForward = true;
09690         ref.ReferenceTypeId = ReferenceId::HasComponent;
09691         ref.SourceNodeId = ToNodeId("i=11624");
09692         ref.TargetNodeClass = NodeClass::DataType;
09693         ref.TargetNodeId = ToNodeId("i=11629");
09694         refs.push_back(ref);
09695         }
09696         {
09697         AddReferencesItem ref;
09698         ref.IsForward = true;
09699         ref.ReferenceTypeId = ReferenceId::HasComponent;
09700         ref.SourceNodeId = ToNodeId("i=11624");
09701         ref.TargetNodeClass = NodeClass::DataType;
09702         ref.TargetNodeId = ToNodeId("i=11632");
09703         refs.push_back(ref);
09704         }
09705         {
09706         AddReferencesItem ref;
09707         ref.IsForward = true;
09708         ref.ReferenceTypeId = ReferenceId::HasComponent;
09709         ref.SourceNodeId = ToNodeId("i=11624");
09710         ref.TargetNodeClass = NodeClass::DataType;
09711         ref.TargetNodeId = ToNodeId("i=11634");
09712         refs.push_back(ref);
09713         }
09714         {
09715         AddReferencesItem ref;
09716         ref.IsForward = true;
09717         ref.ReferenceTypeId = ReferenceId::HasComponent;
09718         ref.SourceNodeId = ToNodeId("i=11624");
09719         ref.TargetNodeClass = NodeClass::DataType;
09720         ref.TargetNodeId = ToNodeId("i=11637");
09721         refs.push_back(ref);
09722         }
09723         {
09724         AddReferencesItem ref;
09725         ref.IsForward = true;
09726         ref.ReferenceTypeId = ReferenceId::HasComponent;
09727         ref.SourceNodeId = ToNodeId("i=11624");
09728         ref.TargetNodeClass = NodeClass::DataType;
09729         ref.TargetNodeId = ToNodeId("i=11639");
09730         refs.push_back(ref);
09731         }
09732         {
09733         AddReferencesItem ref;
09734         ref.IsForward = true;
09735         ref.ReferenceTypeId = ReferenceId::HasComponent;
09736         ref.SourceNodeId = ToNodeId("i=11624");
09737         ref.TargetNodeClass = NodeClass::DataType;
09738         ref.TargetNodeId = ToNodeId("i=11642");
09739         refs.push_back(ref);
09740         }
09741         {
09742         AddReferencesItem ref;
09743         ref.IsForward = true;
09744         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
09745         ref.SourceNodeId = ToNodeId("i=11624");
09746         ref.TargetNodeClass = NodeClass::DataType;
09747         ref.TargetNodeId = ToNodeId("i=80");
09748         refs.push_back(ref);
09749         }
09750         registry.AddReferences(refs);
09751         }
09752        
09753         {
09754         AddNodesItem node;
09755         node.RequestedNewNodeId = ToNodeId("i=11625");
09756         node.BrowseName = ToQualifiedName("Size");
09757         node.Class = NodeClass::Variable;
09758         node.ParentNodeId = ToNodeId("i=11624");
09759         node.ReferenceTypeId = ReferenceId::HasProperty;
09760         node.TypeDefinition = ToNodeId("i=68");
09761         VariableAttributes attrs;
09762         attrs.Description = LocalizedText("The size of the file in bytes.");
09763         attrs.DisplayName = LocalizedText("Size");
09764         attrs.Type = ObjectId::UInt64;
09765         attrs.Rank = -1;
09766         node.Attributes = attrs;
09767         registry.AddNodes(std::vector<AddNodesItem>{node});
09768         std::vector<AddReferencesItem> refs;
09769         {
09770         AddReferencesItem ref;
09771         ref.IsForward = true;
09772         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
09773         ref.SourceNodeId = ToNodeId("i=11625");
09774         ref.TargetNodeClass = NodeClass::DataType;
09775         ref.TargetNodeId = ToNodeId("i=78");
09776         refs.push_back(ref);
09777         }
09778         registry.AddReferences(refs);
09779         }
09780        
09781         {
09782         AddNodesItem node;
09783         node.RequestedNewNodeId = ToNodeId("i=11626");
09784         node.BrowseName = ToQualifiedName("Writeable");
09785         node.Class = NodeClass::Variable;
09786         node.ParentNodeId = ToNodeId("i=11624");
09787         node.ReferenceTypeId = ReferenceId::HasProperty;
09788         node.TypeDefinition = ToNodeId("i=68");
09789         VariableAttributes attrs;
09790         attrs.Description = LocalizedText("Whether the file is writeable.");
09791         attrs.DisplayName = LocalizedText("Writeable");
09792         attrs.Type = ObjectId::Boolean;
09793         attrs.Rank = -1;
09794         node.Attributes = attrs;
09795         registry.AddNodes(std::vector<AddNodesItem>{node});
09796         std::vector<AddReferencesItem> refs;
09797         {
09798         AddReferencesItem ref;
09799         ref.IsForward = true;
09800         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
09801         ref.SourceNodeId = ToNodeId("i=11626");
09802         ref.TargetNodeClass = NodeClass::DataType;
09803         ref.TargetNodeId = ToNodeId("i=78");
09804         refs.push_back(ref);
09805         }
09806         registry.AddReferences(refs);
09807         }
09808        
09809         {
09810         AddNodesItem node;
09811         node.RequestedNewNodeId = ToNodeId("i=11627");
09812         node.BrowseName = ToQualifiedName("UserWriteable");
09813         node.Class = NodeClass::Variable;
09814         node.ParentNodeId = ToNodeId("i=11624");
09815         node.ReferenceTypeId = ReferenceId::HasProperty;
09816         node.TypeDefinition = ToNodeId("i=68");
09817         VariableAttributes attrs;
09818         attrs.Description = LocalizedText("Whether the file is writeable by the current user.");
09819         attrs.DisplayName = LocalizedText("UserWriteable");
09820         attrs.Type = ObjectId::Boolean;
09821         attrs.Rank = -1;
09822         node.Attributes = attrs;
09823         registry.AddNodes(std::vector<AddNodesItem>{node});
09824         std::vector<AddReferencesItem> refs;
09825         {
09826         AddReferencesItem ref;
09827         ref.IsForward = true;
09828         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
09829         ref.SourceNodeId = ToNodeId("i=11627");
09830         ref.TargetNodeClass = NodeClass::DataType;
09831         ref.TargetNodeId = ToNodeId("i=78");
09832         refs.push_back(ref);
09833         }
09834         registry.AddReferences(refs);
09835         }
09836        
09837         {
09838         AddNodesItem node;
09839         node.RequestedNewNodeId = ToNodeId("i=11628");
09840         node.BrowseName = ToQualifiedName("OpenCount");
09841         node.Class = NodeClass::Variable;
09842         node.ParentNodeId = ToNodeId("i=11624");
09843         node.ReferenceTypeId = ReferenceId::HasProperty;
09844         node.TypeDefinition = ToNodeId("i=68");
09845         VariableAttributes attrs;
09846         attrs.Description = LocalizedText("The current number of open file handles.");
09847         attrs.DisplayName = LocalizedText("OpenCount");
09848         attrs.Type = ObjectId::UInt16;
09849         attrs.Rank = -1;
09850         node.Attributes = attrs;
09851         registry.AddNodes(std::vector<AddNodesItem>{node});
09852         std::vector<AddReferencesItem> refs;
09853         {
09854         AddReferencesItem ref;
09855         ref.IsForward = true;
09856         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
09857         ref.SourceNodeId = ToNodeId("i=11628");
09858         ref.TargetNodeClass = NodeClass::DataType;
09859         ref.TargetNodeId = ToNodeId("i=78");
09860         refs.push_back(ref);
09861         }
09862         registry.AddReferences(refs);
09863         }
09864        
09865         {
09866         AddNodesItem node;
09867         node.RequestedNewNodeId = ToNodeId("i=11630");
09868         node.BrowseName = ToQualifiedName("InputArguments");
09869         node.Class = NodeClass::Variable;
09870         node.ParentNodeId = ToNodeId("i=11629");
09871         node.ReferenceTypeId = ReferenceId::HasProperty;
09872         node.TypeDefinition = ToNodeId("i=68");
09873         VariableAttributes attrs;
09874         attrs.DisplayName = LocalizedText("InputArguments");
09875         attrs.Type = ToNodeId("i=296");
09876         attrs.Rank = 1;
09877         node.Attributes = attrs;
09878         registry.AddNodes(std::vector<AddNodesItem>{node});
09879         std::vector<AddReferencesItem> refs;
09880         {
09881         AddReferencesItem ref;
09882         ref.IsForward = true;
09883         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
09884         ref.SourceNodeId = ToNodeId("i=11630");
09885         ref.TargetNodeClass = NodeClass::DataType;
09886         ref.TargetNodeId = ToNodeId("i=78");
09887         refs.push_back(ref);
09888         }
09889         registry.AddReferences(refs);
09890         }
09891        
09892         {
09893         AddNodesItem node;
09894         node.RequestedNewNodeId = ToNodeId("i=11631");
09895         node.BrowseName = ToQualifiedName("OutputArguments");
09896         node.Class = NodeClass::Variable;
09897         node.ParentNodeId = ToNodeId("i=11629");
09898         node.ReferenceTypeId = ReferenceId::HasProperty;
09899         node.TypeDefinition = ToNodeId("i=68");
09900         VariableAttributes attrs;
09901         attrs.DisplayName = LocalizedText("OutputArguments");
09902         attrs.Type = ToNodeId("i=296");
09903         attrs.Rank = 1;
09904         node.Attributes = attrs;
09905         registry.AddNodes(std::vector<AddNodesItem>{node});
09906         std::vector<AddReferencesItem> refs;
09907         {
09908         AddReferencesItem ref;
09909         ref.IsForward = true;
09910         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
09911         ref.SourceNodeId = ToNodeId("i=11631");
09912         ref.TargetNodeClass = NodeClass::DataType;
09913         ref.TargetNodeId = ToNodeId("i=78");
09914         refs.push_back(ref);
09915         }
09916         registry.AddReferences(refs);
09917         }
09918        
09919         {
09920         AddNodesItem node;
09921         node.RequestedNewNodeId = ToNodeId("i=11633");
09922         node.BrowseName = ToQualifiedName("InputArguments");
09923         node.Class = NodeClass::Variable;
09924         node.ParentNodeId = ToNodeId("i=11632");
09925         node.ReferenceTypeId = ReferenceId::HasProperty;
09926         node.TypeDefinition = ToNodeId("i=68");
09927         VariableAttributes attrs;
09928         attrs.DisplayName = LocalizedText("InputArguments");
09929         attrs.Type = ToNodeId("i=296");
09930         attrs.Rank = 1;
09931         node.Attributes = attrs;
09932         registry.AddNodes(std::vector<AddNodesItem>{node});
09933         std::vector<AddReferencesItem> refs;
09934         {
09935         AddReferencesItem ref;
09936         ref.IsForward = true;
09937         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
09938         ref.SourceNodeId = ToNodeId("i=11633");
09939         ref.TargetNodeClass = NodeClass::DataType;
09940         ref.TargetNodeId = ToNodeId("i=78");
09941         refs.push_back(ref);
09942         }
09943         registry.AddReferences(refs);
09944         }
09945        
09946         {
09947         AddNodesItem node;
09948         node.RequestedNewNodeId = ToNodeId("i=11635");
09949         node.BrowseName = ToQualifiedName("InputArguments");
09950         node.Class = NodeClass::Variable;
09951         node.ParentNodeId = ToNodeId("i=11634");
09952         node.ReferenceTypeId = ReferenceId::HasProperty;
09953         node.TypeDefinition = ToNodeId("i=68");
09954         VariableAttributes attrs;
09955         attrs.DisplayName = LocalizedText("InputArguments");
09956         attrs.Type = ToNodeId("i=296");
09957         attrs.Rank = 1;
09958         node.Attributes = attrs;
09959         registry.AddNodes(std::vector<AddNodesItem>{node});
09960         std::vector<AddReferencesItem> refs;
09961         {
09962         AddReferencesItem ref;
09963         ref.IsForward = true;
09964         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
09965         ref.SourceNodeId = ToNodeId("i=11635");
09966         ref.TargetNodeClass = NodeClass::DataType;
09967         ref.TargetNodeId = ToNodeId("i=78");
09968         refs.push_back(ref);
09969         }
09970         registry.AddReferences(refs);
09971         }
09972        
09973         {
09974         AddNodesItem node;
09975         node.RequestedNewNodeId = ToNodeId("i=11636");
09976         node.BrowseName = ToQualifiedName("OutputArguments");
09977         node.Class = NodeClass::Variable;
09978         node.ParentNodeId = ToNodeId("i=11634");
09979         node.ReferenceTypeId = ReferenceId::HasProperty;
09980         node.TypeDefinition = ToNodeId("i=68");
09981         VariableAttributes attrs;
09982         attrs.DisplayName = LocalizedText("OutputArguments");
09983         attrs.Type = ToNodeId("i=296");
09984         attrs.Rank = 1;
09985         node.Attributes = attrs;
09986         registry.AddNodes(std::vector<AddNodesItem>{node});
09987         std::vector<AddReferencesItem> refs;
09988         {
09989         AddReferencesItem ref;
09990         ref.IsForward = true;
09991         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
09992         ref.SourceNodeId = ToNodeId("i=11636");
09993         ref.TargetNodeClass = NodeClass::DataType;
09994         ref.TargetNodeId = ToNodeId("i=78");
09995         refs.push_back(ref);
09996         }
09997         registry.AddReferences(refs);
09998         }
09999        
10000         {
10001         AddNodesItem node;
10002         node.RequestedNewNodeId = ToNodeId("i=11638");
10003         node.BrowseName = ToQualifiedName("InputArguments");
10004         node.Class = NodeClass::Variable;
10005         node.ParentNodeId = ToNodeId("i=11637");
10006         node.ReferenceTypeId = ReferenceId::HasProperty;
10007         node.TypeDefinition = ToNodeId("i=68");
10008         VariableAttributes attrs;
10009         attrs.DisplayName = LocalizedText("InputArguments");
10010         attrs.Type = ToNodeId("i=296");
10011         attrs.Rank = 1;
10012         node.Attributes = attrs;
10013         registry.AddNodes(std::vector<AddNodesItem>{node});
10014         std::vector<AddReferencesItem> refs;
10015         {
10016         AddReferencesItem ref;
10017         ref.IsForward = true;
10018         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
10019         ref.SourceNodeId = ToNodeId("i=11638");
10020         ref.TargetNodeClass = NodeClass::DataType;
10021         ref.TargetNodeId = ToNodeId("i=78");
10022         refs.push_back(ref);
10023         }
10024         registry.AddReferences(refs);
10025         }
10026        
10027         {
10028         AddNodesItem node;
10029         node.RequestedNewNodeId = ToNodeId("i=11640");
10030         node.BrowseName = ToQualifiedName("InputArguments");
10031         node.Class = NodeClass::Variable;
10032         node.ParentNodeId = ToNodeId("i=11639");
10033         node.ReferenceTypeId = ReferenceId::HasProperty;
10034         node.TypeDefinition = ToNodeId("i=68");
10035         VariableAttributes attrs;
10036         attrs.DisplayName = LocalizedText("InputArguments");
10037         attrs.Type = ToNodeId("i=296");
10038         attrs.Rank = 1;
10039         node.Attributes = attrs;
10040         registry.AddNodes(std::vector<AddNodesItem>{node});
10041         std::vector<AddReferencesItem> refs;
10042         {
10043         AddReferencesItem ref;
10044         ref.IsForward = true;
10045         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
10046         ref.SourceNodeId = ToNodeId("i=11640");
10047         ref.TargetNodeClass = NodeClass::DataType;
10048         ref.TargetNodeId = ToNodeId("i=78");
10049         refs.push_back(ref);
10050         }
10051         registry.AddReferences(refs);
10052         }
10053        
10054         {
10055         AddNodesItem node;
10056         node.RequestedNewNodeId = ToNodeId("i=11641");
10057         node.BrowseName = ToQualifiedName("OutputArguments");
10058         node.Class = NodeClass::Variable;
10059         node.ParentNodeId = ToNodeId("i=11639");
10060         node.ReferenceTypeId = ReferenceId::HasProperty;
10061         node.TypeDefinition = ToNodeId("i=68");
10062         VariableAttributes attrs;
10063         attrs.DisplayName = LocalizedText("OutputArguments");
10064         attrs.Type = ToNodeId("i=296");
10065         attrs.Rank = 1;
10066         node.Attributes = attrs;
10067         registry.AddNodes(std::vector<AddNodesItem>{node});
10068         std::vector<AddReferencesItem> refs;
10069         {
10070         AddReferencesItem ref;
10071         ref.IsForward = true;
10072         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
10073         ref.SourceNodeId = ToNodeId("i=11641");
10074         ref.TargetNodeClass = NodeClass::DataType;
10075         ref.TargetNodeId = ToNodeId("i=78");
10076         refs.push_back(ref);
10077         }
10078         registry.AddReferences(refs);
10079         }
10080        
10081         {
10082         AddNodesItem node;
10083         node.RequestedNewNodeId = ToNodeId("i=11643");
10084         node.BrowseName = ToQualifiedName("InputArguments");
10085         node.Class = NodeClass::Variable;
10086         node.ParentNodeId = ToNodeId("i=11642");
10087         node.ReferenceTypeId = ReferenceId::HasProperty;
10088         node.TypeDefinition = ToNodeId("i=68");
10089         VariableAttributes attrs;
10090         attrs.DisplayName = LocalizedText("InputArguments");
10091         attrs.Type = ToNodeId("i=296");
10092         attrs.Rank = 1;
10093         node.Attributes = attrs;
10094         registry.AddNodes(std::vector<AddNodesItem>{node});
10095         std::vector<AddReferencesItem> refs;
10096         {
10097         AddReferencesItem ref;
10098         ref.IsForward = true;
10099         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
10100         ref.SourceNodeId = ToNodeId("i=11643");
10101         ref.TargetNodeClass = NodeClass::DataType;
10102         ref.TargetNodeId = ToNodeId("i=78");
10103         refs.push_back(ref);
10104         }
10105         registry.AddReferences(refs);
10106         }
10107        
10108         {
10109         AddNodesItem node;
10110         node.RequestedNewNodeId = ToNodeId("i=11645");
10111         node.BrowseName = ToQualifiedName("NamespacesType");
10112         node.Class = NodeClass::ObjectType;
10113         node.ParentNodeId = ToNodeId("i=58");
10114         node.ReferenceTypeId = ReferenceId::HasSubtype;
10115         ObjectTypeAttributes attrs;
10116         attrs.Description = LocalizedText("A container for the namespace metadata provided by the server.");
10117         attrs.DisplayName = LocalizedText("NamespacesType");
10118         attrs.IsAbstract = false;
10119         node.Attributes = attrs;
10120         registry.AddNodes(std::vector<AddNodesItem>{node});
10121         std::vector<AddReferencesItem> refs;
10122         {
10123         AddReferencesItem ref;
10124         ref.IsForward = true;
10125         ref.ReferenceTypeId = ReferenceId::HasComponent;
10126         ref.SourceNodeId = ToNodeId("i=11645");
10127         ref.TargetNodeClass = NodeClass::DataType;
10128         ref.TargetNodeId = ToNodeId("i=11646");
10129         refs.push_back(ref);
10130         }
10131         {
10132         AddReferencesItem ref;
10133         ref.IsForward = true;
10134         ref.ReferenceTypeId = ReferenceId::HasComponent;
10135         ref.SourceNodeId = ToNodeId("i=11645");
10136         ref.TargetNodeClass = NodeClass::DataType;
10137         ref.TargetNodeId = ToNodeId("i=11675");
10138         refs.push_back(ref);
10139         }
10140         registry.AddReferences(refs);
10141         }
10142        
10143         {
10144         AddNodesItem node;
10145         node.RequestedNewNodeId = ToNodeId("i=11646");
10146         node.BrowseName = ToQualifiedName("<NamespaceIdentifier>");
10147         node.Class = NodeClass::Object;
10148         node.ParentNodeId = ToNodeId("i=11645");
10149         node.ReferenceTypeId = ReferenceId::HasComponent;
10150         node.TypeDefinition = ToNodeId("i=11616");
10151         ObjectAttributes attrs;
10152         attrs.DisplayName = LocalizedText("<NamespaceIdentifier>");
10153         attrs.EventNotifier = 0;
10154         node.Attributes = attrs;
10155         registry.AddNodes(std::vector<AddNodesItem>{node});
10156         std::vector<AddReferencesItem> refs;
10157         {
10158         AddReferencesItem ref;
10159         ref.IsForward = true;
10160         ref.ReferenceTypeId = ReferenceId::HasProperty;
10161         ref.SourceNodeId = ToNodeId("i=11646");
10162         ref.TargetNodeClass = NodeClass::DataType;
10163         ref.TargetNodeId = ToNodeId("i=11647");
10164         refs.push_back(ref);
10165         }
10166         {
10167         AddReferencesItem ref;
10168         ref.IsForward = true;
10169         ref.ReferenceTypeId = ReferenceId::HasProperty;
10170         ref.SourceNodeId = ToNodeId("i=11646");
10171         ref.TargetNodeClass = NodeClass::DataType;
10172         ref.TargetNodeId = ToNodeId("i=11648");
10173         refs.push_back(ref);
10174         }
10175         {
10176         AddReferencesItem ref;
10177         ref.IsForward = true;
10178         ref.ReferenceTypeId = ReferenceId::HasProperty;
10179         ref.SourceNodeId = ToNodeId("i=11646");
10180         ref.TargetNodeClass = NodeClass::DataType;
10181         ref.TargetNodeId = ToNodeId("i=11649");
10182         refs.push_back(ref);
10183         }
10184         {
10185         AddReferencesItem ref;
10186         ref.IsForward = true;
10187         ref.ReferenceTypeId = ReferenceId::HasProperty;
10188         ref.SourceNodeId = ToNodeId("i=11646");
10189         ref.TargetNodeClass = NodeClass::DataType;
10190         ref.TargetNodeId = ToNodeId("i=11650");
10191         refs.push_back(ref);
10192         }
10193         {
10194         AddReferencesItem ref;
10195         ref.IsForward = true;
10196         ref.ReferenceTypeId = ReferenceId::HasProperty;
10197         ref.SourceNodeId = ToNodeId("i=11646");
10198         ref.TargetNodeClass = NodeClass::DataType;
10199         ref.TargetNodeId = ToNodeId("i=11651");
10200         refs.push_back(ref);
10201         }
10202         {
10203         AddReferencesItem ref;
10204         ref.IsForward = true;
10205         ref.ReferenceTypeId = ReferenceId::HasProperty;
10206         ref.SourceNodeId = ToNodeId("i=11646");
10207         ref.TargetNodeClass = NodeClass::DataType;
10208         ref.TargetNodeId = ToNodeId("i=11652");
10209         refs.push_back(ref);
10210         }
10211         {
10212         AddReferencesItem ref;
10213         ref.IsForward = true;
10214         ref.ReferenceTypeId = ReferenceId::HasProperty;
10215         ref.SourceNodeId = ToNodeId("i=11646");
10216         ref.TargetNodeClass = NodeClass::DataType;
10217         ref.TargetNodeId = ToNodeId("i=11653");
10218         refs.push_back(ref);
10219         }
10220         {
10221         AddReferencesItem ref;
10222         ref.IsForward = true;
10223         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
10224         ref.SourceNodeId = ToNodeId("i=11646");
10225         ref.TargetNodeClass = NodeClass::DataType;
10226         ref.TargetNodeId = ToNodeId("i=11508");
10227         refs.push_back(ref);
10228         }
10229         registry.AddReferences(refs);
10230         }
10231        
10232         {
10233         AddNodesItem node;
10234         node.RequestedNewNodeId = ToNodeId("i=11647");
10235         node.BrowseName = ToQualifiedName("NamespaceUri");
10236         node.Class = NodeClass::Variable;
10237         node.ParentNodeId = ToNodeId("i=11646");
10238         node.ReferenceTypeId = ReferenceId::HasProperty;
10239         node.TypeDefinition = ToNodeId("i=68");
10240         VariableAttributes attrs;
10241         attrs.Description = LocalizedText("The URI of the namespace.");
10242         attrs.DisplayName = LocalizedText("NamespaceUri");
10243         attrs.Type = ObjectId::String;
10244         attrs.Rank = -1;
10245         node.Attributes = attrs;
10246         registry.AddNodes(std::vector<AddNodesItem>{node});
10247         std::vector<AddReferencesItem> refs;
10248         {
10249         AddReferencesItem ref;
10250         ref.IsForward = true;
10251         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
10252         ref.SourceNodeId = ToNodeId("i=11647");
10253         ref.TargetNodeClass = NodeClass::DataType;
10254         ref.TargetNodeId = ToNodeId("i=78");
10255         refs.push_back(ref);
10256         }
10257         registry.AddReferences(refs);
10258         }
10259        
10260         {
10261         AddNodesItem node;
10262         node.RequestedNewNodeId = ToNodeId("i=11648");
10263         node.BrowseName = ToQualifiedName("NamespaceVersion");
10264         node.Class = NodeClass::Variable;
10265         node.ParentNodeId = ToNodeId("i=11646");
10266         node.ReferenceTypeId = ReferenceId::HasProperty;
10267         node.TypeDefinition = ToNodeId("i=68");
10268         VariableAttributes attrs;
10269         attrs.Description = LocalizedText("The human readable string representing version of the namespace.");
10270         attrs.DisplayName = LocalizedText("NamespaceVersion");
10271         attrs.Type = ObjectId::String;
10272         attrs.Rank = -1;
10273         node.Attributes = attrs;
10274         registry.AddNodes(std::vector<AddNodesItem>{node});
10275         std::vector<AddReferencesItem> refs;
10276         {
10277         AddReferencesItem ref;
10278         ref.IsForward = true;
10279         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
10280         ref.SourceNodeId = ToNodeId("i=11648");
10281         ref.TargetNodeClass = NodeClass::DataType;
10282         ref.TargetNodeId = ToNodeId("i=78");
10283         refs.push_back(ref);
10284         }
10285         registry.AddReferences(refs);
10286         }
10287        
10288         {
10289         AddNodesItem node;
10290         node.RequestedNewNodeId = ToNodeId("i=11649");
10291         node.BrowseName = ToQualifiedName("NamespacePublicationDate");
10292         node.Class = NodeClass::Variable;
10293         node.ParentNodeId = ToNodeId("i=11646");
10294         node.ReferenceTypeId = ReferenceId::HasProperty;
10295         node.TypeDefinition = ToNodeId("i=68");
10296         VariableAttributes attrs;
10297         attrs.Description = LocalizedText("The publication date for the namespace.");
10298         attrs.DisplayName = LocalizedText("NamespacePublicationDate");
10299         attrs.Type = ObjectId::DateTime;
10300         attrs.Rank = -1;
10301         node.Attributes = attrs;
10302         registry.AddNodes(std::vector<AddNodesItem>{node});
10303         std::vector<AddReferencesItem> refs;
10304         {
10305         AddReferencesItem ref;
10306         ref.IsForward = true;
10307         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
10308         ref.SourceNodeId = ToNodeId("i=11649");
10309         ref.TargetNodeClass = NodeClass::DataType;
10310         ref.TargetNodeId = ToNodeId("i=78");
10311         refs.push_back(ref);
10312         }
10313         registry.AddReferences(refs);
10314         }
10315        
10316         {
10317         AddNodesItem node;
10318         node.RequestedNewNodeId = ToNodeId("i=11650");
10319         node.BrowseName = ToQualifiedName("IsNamespaceSubset");
10320         node.Class = NodeClass::Variable;
10321         node.ParentNodeId = ToNodeId("i=11646");
10322         node.ReferenceTypeId = ReferenceId::HasProperty;
10323         node.TypeDefinition = ToNodeId("i=68");
10324         VariableAttributes attrs;
10325         attrs.Description = LocalizedText("If TRUE then the server only supports a subset of the namespace.");
10326         attrs.DisplayName = LocalizedText("IsNamespaceSubset");
10327         attrs.Type = ObjectId::Boolean;
10328         attrs.Rank = -1;
10329         node.Attributes = attrs;
10330         registry.AddNodes(std::vector<AddNodesItem>{node});
10331         std::vector<AddReferencesItem> refs;
10332         {
10333         AddReferencesItem ref;
10334         ref.IsForward = true;
10335         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
10336         ref.SourceNodeId = ToNodeId("i=11650");
10337         ref.TargetNodeClass = NodeClass::DataType;
10338         ref.TargetNodeId = ToNodeId("i=78");
10339         refs.push_back(ref);
10340         }
10341         registry.AddReferences(refs);
10342         }
10343        
10344         {
10345         AddNodesItem node;
10346         node.RequestedNewNodeId = ToNodeId("i=11651");
10347         node.BrowseName = ToQualifiedName("StaticNodeIdIdentifierTypes");
10348         node.Class = NodeClass::Variable;
10349         node.ParentNodeId = ToNodeId("i=11646");
10350         node.ReferenceTypeId = ReferenceId::HasProperty;
10351         node.TypeDefinition = ToNodeId("i=68");
10352         VariableAttributes attrs;
10353         attrs.Description = LocalizedText("A list of IdTypes for nodes which are the same in every server that exposes them.");
10354         attrs.DisplayName = LocalizedText("StaticNodeIdIdentifierTypes");
10355         attrs.Type = ToNodeId("i=256");
10356         attrs.Rank = 1;
10357         node.Attributes = attrs;
10358         registry.AddNodes(std::vector<AddNodesItem>{node});
10359         std::vector<AddReferencesItem> refs;
10360         {
10361         AddReferencesItem ref;
10362         ref.IsForward = true;
10363         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
10364         ref.SourceNodeId = ToNodeId("i=11651");
10365         ref.TargetNodeClass = NodeClass::DataType;
10366         ref.TargetNodeId = ToNodeId("i=78");
10367         refs.push_back(ref);
10368         }
10369         registry.AddReferences(refs);
10370         }
10371        
10372         {
10373         AddNodesItem node;
10374         node.RequestedNewNodeId = ToNodeId("i=11652");
10375         node.BrowseName = ToQualifiedName("StaticNumericNodeIdRange");
10376         node.Class = NodeClass::Variable;
10377         node.ParentNodeId = ToNodeId("i=11646");
10378         node.ReferenceTypeId = ReferenceId::HasProperty;
10379         node.TypeDefinition = ToNodeId("i=68");
10380         VariableAttributes attrs;
10381         attrs.Description = LocalizedText("A list of ranges for numeric node ids which are the same in every server that exposes them.");
10382         attrs.DisplayName = LocalizedText("StaticNumericNodeIdRange");
10383         attrs.Type = ToNodeId("i=291");
10384         attrs.Rank = 1;
10385         node.Attributes = attrs;
10386         registry.AddNodes(std::vector<AddNodesItem>{node});
10387         std::vector<AddReferencesItem> refs;
10388         {
10389         AddReferencesItem ref;
10390         ref.IsForward = true;
10391         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
10392         ref.SourceNodeId = ToNodeId("i=11652");
10393         ref.TargetNodeClass = NodeClass::DataType;
10394         ref.TargetNodeId = ToNodeId("i=78");
10395         refs.push_back(ref);
10396         }
10397         registry.AddReferences(refs);
10398         }
10399        
10400         {
10401         AddNodesItem node;
10402         node.RequestedNewNodeId = ToNodeId("i=11653");
10403         node.BrowseName = ToQualifiedName("StaticStringNodeIdPattern");
10404         node.Class = NodeClass::Variable;
10405         node.ParentNodeId = ToNodeId("i=11646");
10406         node.ReferenceTypeId = ReferenceId::HasProperty;
10407         node.TypeDefinition = ToNodeId("i=68");
10408         VariableAttributes attrs;
10409         attrs.Description = LocalizedText("A regular expression which matches string node ids are the same in every server that exposes them.");
10410         attrs.DisplayName = LocalizedText("StaticStringNodeIdPattern");
10411         attrs.Type = ObjectId::String;
10412         attrs.Rank = 1;
10413         node.Attributes = attrs;
10414         registry.AddNodes(std::vector<AddNodesItem>{node});
10415         std::vector<AddReferencesItem> refs;
10416         {
10417         AddReferencesItem ref;
10418         ref.IsForward = true;
10419         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
10420         ref.SourceNodeId = ToNodeId("i=11653");
10421         ref.TargetNodeClass = NodeClass::DataType;
10422         ref.TargetNodeId = ToNodeId("i=78");
10423         refs.push_back(ref);
10424         }
10425         registry.AddReferences(refs);
10426         }
10427        
10428         {
10429         AddNodesItem node;
10430         node.RequestedNewNodeId = ToNodeId("i=11675");
10431         node.BrowseName = ToQualifiedName("AddressSpaceFile");
10432         node.Class = NodeClass::Object;
10433         node.ParentNodeId = ToNodeId("i=11645");
10434         node.ReferenceTypeId = ReferenceId::HasComponent;
10435         node.TypeDefinition = ToNodeId("i=11595");
10436         ObjectAttributes attrs;
10437         attrs.Description = LocalizedText("A file containing the nodes of the namespace.");
10438         attrs.DisplayName = LocalizedText("AddressSpaceFile");
10439         attrs.EventNotifier = 0;
10440         node.Attributes = attrs;
10441         registry.AddNodes(std::vector<AddNodesItem>{node});
10442         std::vector<AddReferencesItem> refs;
10443         {
10444         AddReferencesItem ref;
10445         ref.IsForward = true;
10446         ref.ReferenceTypeId = ReferenceId::HasProperty;
10447         ref.SourceNodeId = ToNodeId("i=11675");
10448         ref.TargetNodeClass = NodeClass::DataType;
10449         ref.TargetNodeId = ToNodeId("i=11676");
10450         refs.push_back(ref);
10451         }
10452         {
10453         AddReferencesItem ref;
10454         ref.IsForward = true;
10455         ref.ReferenceTypeId = ReferenceId::HasProperty;
10456         ref.SourceNodeId = ToNodeId("i=11675");
10457         ref.TargetNodeClass = NodeClass::DataType;
10458         ref.TargetNodeId = ToNodeId("i=11677");
10459         refs.push_back(ref);
10460         }
10461         {
10462         AddReferencesItem ref;
10463         ref.IsForward = true;
10464         ref.ReferenceTypeId = ReferenceId::HasProperty;
10465         ref.SourceNodeId = ToNodeId("i=11675");
10466         ref.TargetNodeClass = NodeClass::DataType;
10467         ref.TargetNodeId = ToNodeId("i=11678");
10468         refs.push_back(ref);
10469         }
10470         {
10471         AddReferencesItem ref;
10472         ref.IsForward = true;
10473         ref.ReferenceTypeId = ReferenceId::HasProperty;
10474         ref.SourceNodeId = ToNodeId("i=11675");
10475         ref.TargetNodeClass = NodeClass::DataType;
10476         ref.TargetNodeId = ToNodeId("i=11679");
10477         refs.push_back(ref);
10478         }
10479         {
10480         AddReferencesItem ref;
10481         ref.IsForward = true;
10482         ref.ReferenceTypeId = ReferenceId::HasComponent;
10483         ref.SourceNodeId = ToNodeId("i=11675");
10484         ref.TargetNodeClass = NodeClass::DataType;
10485         ref.TargetNodeId = ToNodeId("i=11680");
10486         refs.push_back(ref);
10487         }
10488         {
10489         AddReferencesItem ref;
10490         ref.IsForward = true;
10491         ref.ReferenceTypeId = ReferenceId::HasComponent;
10492         ref.SourceNodeId = ToNodeId("i=11675");
10493         ref.TargetNodeClass = NodeClass::DataType;
10494         ref.TargetNodeId = ToNodeId("i=11683");
10495         refs.push_back(ref);
10496         }
10497         {
10498         AddReferencesItem ref;
10499         ref.IsForward = true;
10500         ref.ReferenceTypeId = ReferenceId::HasComponent;
10501         ref.SourceNodeId = ToNodeId("i=11675");
10502         ref.TargetNodeClass = NodeClass::DataType;
10503         ref.TargetNodeId = ToNodeId("i=11685");
10504         refs.push_back(ref);
10505         }
10506         {
10507         AddReferencesItem ref;
10508         ref.IsForward = true;
10509         ref.ReferenceTypeId = ReferenceId::HasComponent;
10510         ref.SourceNodeId = ToNodeId("i=11675");
10511         ref.TargetNodeClass = NodeClass::DataType;
10512         ref.TargetNodeId = ToNodeId("i=11688");
10513         refs.push_back(ref);
10514         }
10515         {
10516         AddReferencesItem ref;
10517         ref.IsForward = true;
10518         ref.ReferenceTypeId = ReferenceId::HasComponent;
10519         ref.SourceNodeId = ToNodeId("i=11675");
10520         ref.TargetNodeClass = NodeClass::DataType;
10521         ref.TargetNodeId = ToNodeId("i=11690");
10522         refs.push_back(ref);
10523         }
10524         {
10525         AddReferencesItem ref;
10526         ref.IsForward = true;
10527         ref.ReferenceTypeId = ReferenceId::HasComponent;
10528         ref.SourceNodeId = ToNodeId("i=11675");
10529         ref.TargetNodeClass = NodeClass::DataType;
10530         ref.TargetNodeId = ToNodeId("i=11693");
10531         refs.push_back(ref);
10532         }
10533         {
10534         AddReferencesItem ref;
10535         ref.IsForward = true;
10536         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
10537         ref.SourceNodeId = ToNodeId("i=11675");
10538         ref.TargetNodeClass = NodeClass::DataType;
10539         ref.TargetNodeId = ToNodeId("i=80");
10540         refs.push_back(ref);
10541         }
10542         registry.AddReferences(refs);
10543         }
10544        
10545         {
10546         AddNodesItem node;
10547         node.RequestedNewNodeId = ToNodeId("i=11676");
10548         node.BrowseName = ToQualifiedName("Size");
10549         node.Class = NodeClass::Variable;
10550         node.ParentNodeId = ToNodeId("i=11675");
10551         node.ReferenceTypeId = ReferenceId::HasProperty;
10552         node.TypeDefinition = ToNodeId("i=68");
10553         VariableAttributes attrs;
10554         attrs.Description = LocalizedText("The size of the file in bytes.");
10555         attrs.DisplayName = LocalizedText("Size");
10556         attrs.Type = ObjectId::UInt64;
10557         attrs.Rank = -1;
10558         node.Attributes = attrs;
10559         registry.AddNodes(std::vector<AddNodesItem>{node});
10560         std::vector<AddReferencesItem> refs;
10561         {
10562         AddReferencesItem ref;
10563         ref.IsForward = true;
10564         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
10565         ref.SourceNodeId = ToNodeId("i=11676");
10566         ref.TargetNodeClass = NodeClass::DataType;
10567         ref.TargetNodeId = ToNodeId("i=78");
10568         refs.push_back(ref);
10569         }
10570         registry.AddReferences(refs);
10571         }
10572        
10573         {
10574         AddNodesItem node;
10575         node.RequestedNewNodeId = ToNodeId("i=11677");
10576         node.BrowseName = ToQualifiedName("Writeable");
10577         node.Class = NodeClass::Variable;
10578         node.ParentNodeId = ToNodeId("i=11675");
10579         node.ReferenceTypeId = ReferenceId::HasProperty;
10580         node.TypeDefinition = ToNodeId("i=68");
10581         VariableAttributes attrs;
10582         attrs.Description = LocalizedText("Whether the file is writeable.");
10583         attrs.DisplayName = LocalizedText("Writeable");
10584         attrs.Type = ObjectId::Boolean;
10585         attrs.Rank = -1;
10586         node.Attributes = attrs;
10587         registry.AddNodes(std::vector<AddNodesItem>{node});
10588         std::vector<AddReferencesItem> refs;
10589         {
10590         AddReferencesItem ref;
10591         ref.IsForward = true;
10592         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
10593         ref.SourceNodeId = ToNodeId("i=11677");
10594         ref.TargetNodeClass = NodeClass::DataType;
10595         ref.TargetNodeId = ToNodeId("i=78");
10596         refs.push_back(ref);
10597         }
10598         registry.AddReferences(refs);
10599         }
10600        
10601         {
10602         AddNodesItem node;
10603         node.RequestedNewNodeId = ToNodeId("i=11678");
10604         node.BrowseName = ToQualifiedName("UserWriteable");
10605         node.Class = NodeClass::Variable;
10606         node.ParentNodeId = ToNodeId("i=11675");
10607         node.ReferenceTypeId = ReferenceId::HasProperty;
10608         node.TypeDefinition = ToNodeId("i=68");
10609         VariableAttributes attrs;
10610         attrs.Description = LocalizedText("Whether the file is writeable by the current user.");
10611         attrs.DisplayName = LocalizedText("UserWriteable");
10612         attrs.Type = ObjectId::Boolean;
10613         attrs.Rank = -1;
10614         node.Attributes = attrs;
10615         registry.AddNodes(std::vector<AddNodesItem>{node});
10616         std::vector<AddReferencesItem> refs;
10617         {
10618         AddReferencesItem ref;
10619         ref.IsForward = true;
10620         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
10621         ref.SourceNodeId = ToNodeId("i=11678");
10622         ref.TargetNodeClass = NodeClass::DataType;
10623         ref.TargetNodeId = ToNodeId("i=78");
10624         refs.push_back(ref);
10625         }
10626         registry.AddReferences(refs);
10627         }
10628        
10629         {
10630         AddNodesItem node;
10631         node.RequestedNewNodeId = ToNodeId("i=11679");
10632         node.BrowseName = ToQualifiedName("OpenCount");
10633         node.Class = NodeClass::Variable;
10634         node.ParentNodeId = ToNodeId("i=11675");
10635         node.ReferenceTypeId = ReferenceId::HasProperty;
10636         node.TypeDefinition = ToNodeId("i=68");
10637         VariableAttributes attrs;
10638         attrs.Description = LocalizedText("The current number of open file handles.");
10639         attrs.DisplayName = LocalizedText("OpenCount");
10640         attrs.Type = ObjectId::UInt16;
10641         attrs.Rank = -1;
10642         node.Attributes = attrs;
10643         registry.AddNodes(std::vector<AddNodesItem>{node});
10644         std::vector<AddReferencesItem> refs;
10645         {
10646         AddReferencesItem ref;
10647         ref.IsForward = true;
10648         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
10649         ref.SourceNodeId = ToNodeId("i=11679");
10650         ref.TargetNodeClass = NodeClass::DataType;
10651         ref.TargetNodeId = ToNodeId("i=78");
10652         refs.push_back(ref);
10653         }
10654         registry.AddReferences(refs);
10655         }
10656        
10657         {
10658         AddNodesItem node;
10659         node.RequestedNewNodeId = ToNodeId("i=11681");
10660         node.BrowseName = ToQualifiedName("InputArguments");
10661         node.Class = NodeClass::Variable;
10662         node.ParentNodeId = ToNodeId("i=11680");
10663         node.ReferenceTypeId = ReferenceId::HasProperty;
10664         node.TypeDefinition = ToNodeId("i=68");
10665         VariableAttributes attrs;
10666         attrs.DisplayName = LocalizedText("InputArguments");
10667         attrs.Type = ToNodeId("i=296");
10668         attrs.Rank = 1;
10669         node.Attributes = attrs;
10670         registry.AddNodes(std::vector<AddNodesItem>{node});
10671         std::vector<AddReferencesItem> refs;
10672         {
10673         AddReferencesItem ref;
10674         ref.IsForward = true;
10675         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
10676         ref.SourceNodeId = ToNodeId("i=11681");
10677         ref.TargetNodeClass = NodeClass::DataType;
10678         ref.TargetNodeId = ToNodeId("i=78");
10679         refs.push_back(ref);
10680         }
10681         registry.AddReferences(refs);
10682         }
10683        
10684         {
10685         AddNodesItem node;
10686         node.RequestedNewNodeId = ToNodeId("i=11682");
10687         node.BrowseName = ToQualifiedName("OutputArguments");
10688         node.Class = NodeClass::Variable;
10689         node.ParentNodeId = ToNodeId("i=11680");
10690         node.ReferenceTypeId = ReferenceId::HasProperty;
10691         node.TypeDefinition = ToNodeId("i=68");
10692         VariableAttributes attrs;
10693         attrs.DisplayName = LocalizedText("OutputArguments");
10694         attrs.Type = ToNodeId("i=296");
10695         attrs.Rank = 1;
10696         node.Attributes = attrs;
10697         registry.AddNodes(std::vector<AddNodesItem>{node});
10698         std::vector<AddReferencesItem> refs;
10699         {
10700         AddReferencesItem ref;
10701         ref.IsForward = true;
10702         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
10703         ref.SourceNodeId = ToNodeId("i=11682");
10704         ref.TargetNodeClass = NodeClass::DataType;
10705         ref.TargetNodeId = ToNodeId("i=78");
10706         refs.push_back(ref);
10707         }
10708         registry.AddReferences(refs);
10709         }
10710        
10711         {
10712         AddNodesItem node;
10713         node.RequestedNewNodeId = ToNodeId("i=11684");
10714         node.BrowseName = ToQualifiedName("InputArguments");
10715         node.Class = NodeClass::Variable;
10716         node.ParentNodeId = ToNodeId("i=11683");
10717         node.ReferenceTypeId = ReferenceId::HasProperty;
10718         node.TypeDefinition = ToNodeId("i=68");
10719         VariableAttributes attrs;
10720         attrs.DisplayName = LocalizedText("InputArguments");
10721         attrs.Type = ToNodeId("i=296");
10722         attrs.Rank = 1;
10723         node.Attributes = attrs;
10724         registry.AddNodes(std::vector<AddNodesItem>{node});
10725         std::vector<AddReferencesItem> refs;
10726         {
10727         AddReferencesItem ref;
10728         ref.IsForward = true;
10729         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
10730         ref.SourceNodeId = ToNodeId("i=11684");
10731         ref.TargetNodeClass = NodeClass::DataType;
10732         ref.TargetNodeId = ToNodeId("i=78");
10733         refs.push_back(ref);
10734         }
10735         registry.AddReferences(refs);
10736         }
10737        
10738         {
10739         AddNodesItem node;
10740         node.RequestedNewNodeId = ToNodeId("i=11686");
10741         node.BrowseName = ToQualifiedName("InputArguments");
10742         node.Class = NodeClass::Variable;
10743         node.ParentNodeId = ToNodeId("i=11685");
10744         node.ReferenceTypeId = ReferenceId::HasProperty;
10745         node.TypeDefinition = ToNodeId("i=68");
10746         VariableAttributes attrs;
10747         attrs.DisplayName = LocalizedText("InputArguments");
10748         attrs.Type = ToNodeId("i=296");
10749         attrs.Rank = 1;
10750         node.Attributes = attrs;
10751         registry.AddNodes(std::vector<AddNodesItem>{node});
10752         std::vector<AddReferencesItem> refs;
10753         {
10754         AddReferencesItem ref;
10755         ref.IsForward = true;
10756         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
10757         ref.SourceNodeId = ToNodeId("i=11686");
10758         ref.TargetNodeClass = NodeClass::DataType;
10759         ref.TargetNodeId = ToNodeId("i=78");
10760         refs.push_back(ref);
10761         }
10762         registry.AddReferences(refs);
10763         }
10764        
10765         {
10766         AddNodesItem node;
10767         node.RequestedNewNodeId = ToNodeId("i=11687");
10768         node.BrowseName = ToQualifiedName("OutputArguments");
10769         node.Class = NodeClass::Variable;
10770         node.ParentNodeId = ToNodeId("i=11685");
10771         node.ReferenceTypeId = ReferenceId::HasProperty;
10772         node.TypeDefinition = ToNodeId("i=68");
10773         VariableAttributes attrs;
10774         attrs.DisplayName = LocalizedText("OutputArguments");
10775         attrs.Type = ToNodeId("i=296");
10776         attrs.Rank = 1;
10777         node.Attributes = attrs;
10778         registry.AddNodes(std::vector<AddNodesItem>{node});
10779         std::vector<AddReferencesItem> refs;
10780         {
10781         AddReferencesItem ref;
10782         ref.IsForward = true;
10783         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
10784         ref.SourceNodeId = ToNodeId("i=11687");
10785         ref.TargetNodeClass = NodeClass::DataType;
10786         ref.TargetNodeId = ToNodeId("i=78");
10787         refs.push_back(ref);
10788         }
10789         registry.AddReferences(refs);
10790         }
10791        
10792         {
10793         AddNodesItem node;
10794         node.RequestedNewNodeId = ToNodeId("i=11689");
10795         node.BrowseName = ToQualifiedName("InputArguments");
10796         node.Class = NodeClass::Variable;
10797         node.ParentNodeId = ToNodeId("i=11688");
10798         node.ReferenceTypeId = ReferenceId::HasProperty;
10799         node.TypeDefinition = ToNodeId("i=68");
10800         VariableAttributes attrs;
10801         attrs.DisplayName = LocalizedText("InputArguments");
10802         attrs.Type = ToNodeId("i=296");
10803         attrs.Rank = 1;
10804         node.Attributes = attrs;
10805         registry.AddNodes(std::vector<AddNodesItem>{node});
10806         std::vector<AddReferencesItem> refs;
10807         {
10808         AddReferencesItem ref;
10809         ref.IsForward = true;
10810         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
10811         ref.SourceNodeId = ToNodeId("i=11689");
10812         ref.TargetNodeClass = NodeClass::DataType;
10813         ref.TargetNodeId = ToNodeId("i=78");
10814         refs.push_back(ref);
10815         }
10816         registry.AddReferences(refs);
10817         }
10818        
10819         {
10820         AddNodesItem node;
10821         node.RequestedNewNodeId = ToNodeId("i=11691");
10822         node.BrowseName = ToQualifiedName("InputArguments");
10823         node.Class = NodeClass::Variable;
10824         node.ParentNodeId = ToNodeId("i=11690");
10825         node.ReferenceTypeId = ReferenceId::HasProperty;
10826         node.TypeDefinition = ToNodeId("i=68");
10827         VariableAttributes attrs;
10828         attrs.DisplayName = LocalizedText("InputArguments");
10829         attrs.Type = ToNodeId("i=296");
10830         attrs.Rank = 1;
10831         node.Attributes = attrs;
10832         registry.AddNodes(std::vector<AddNodesItem>{node});
10833         std::vector<AddReferencesItem> refs;
10834         {
10835         AddReferencesItem ref;
10836         ref.IsForward = true;
10837         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
10838         ref.SourceNodeId = ToNodeId("i=11691");
10839         ref.TargetNodeClass = NodeClass::DataType;
10840         ref.TargetNodeId = ToNodeId("i=78");
10841         refs.push_back(ref);
10842         }
10843         registry.AddReferences(refs);
10844         }
10845        
10846         {
10847         AddNodesItem node;
10848         node.RequestedNewNodeId = ToNodeId("i=11692");
10849         node.BrowseName = ToQualifiedName("OutputArguments");
10850         node.Class = NodeClass::Variable;
10851         node.ParentNodeId = ToNodeId("i=11690");
10852         node.ReferenceTypeId = ReferenceId::HasProperty;
10853         node.TypeDefinition = ToNodeId("i=68");
10854         VariableAttributes attrs;
10855         attrs.DisplayName = LocalizedText("OutputArguments");
10856         attrs.Type = ToNodeId("i=296");
10857         attrs.Rank = 1;
10858         node.Attributes = attrs;
10859         registry.AddNodes(std::vector<AddNodesItem>{node});
10860         std::vector<AddReferencesItem> refs;
10861         {
10862         AddReferencesItem ref;
10863         ref.IsForward = true;
10864         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
10865         ref.SourceNodeId = ToNodeId("i=11692");
10866         ref.TargetNodeClass = NodeClass::DataType;
10867         ref.TargetNodeId = ToNodeId("i=78");
10868         refs.push_back(ref);
10869         }
10870         registry.AddReferences(refs);
10871         }
10872        
10873         {
10874         AddNodesItem node;
10875         node.RequestedNewNodeId = ToNodeId("i=11694");
10876         node.BrowseName = ToQualifiedName("InputArguments");
10877         node.Class = NodeClass::Variable;
10878         node.ParentNodeId = ToNodeId("i=11693");
10879         node.ReferenceTypeId = ReferenceId::HasProperty;
10880         node.TypeDefinition = ToNodeId("i=68");
10881         VariableAttributes attrs;
10882         attrs.DisplayName = LocalizedText("InputArguments");
10883         attrs.Type = ToNodeId("i=296");
10884         attrs.Rank = 1;
10885         node.Attributes = attrs;
10886         registry.AddNodes(std::vector<AddNodesItem>{node});
10887         std::vector<AddReferencesItem> refs;
10888         {
10889         AddReferencesItem ref;
10890         ref.IsForward = true;
10891         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
10892         ref.SourceNodeId = ToNodeId("i=11694");
10893         ref.TargetNodeClass = NodeClass::DataType;
10894         ref.TargetNodeId = ToNodeId("i=78");
10895         refs.push_back(ref);
10896         }
10897         registry.AddReferences(refs);
10898         }
10899        
10900         {
10901         AddNodesItem node;
10902         node.RequestedNewNodeId = ToNodeId("i=2041");
10903         node.BrowseName = ToQualifiedName("BaseEventType");
10904         node.Class = NodeClass::ObjectType;
10905         node.ParentNodeId = ToNodeId("i=58");
10906         node.ReferenceTypeId = ReferenceId::HasSubtype;
10907         ObjectTypeAttributes attrs;
10908         attrs.Description = LocalizedText("The base type for all events.");
10909         attrs.DisplayName = LocalizedText("BaseEventType");
10910         attrs.IsAbstract = true;
10911         node.Attributes = attrs;
10912         registry.AddNodes(std::vector<AddNodesItem>{node});
10913         std::vector<AddReferencesItem> refs;
10914         {
10915         AddReferencesItem ref;
10916         ref.IsForward = true;
10917         ref.ReferenceTypeId = ReferenceId::HasProperty;
10918         ref.SourceNodeId = ToNodeId("i=2041");
10919         ref.TargetNodeClass = NodeClass::DataType;
10920         ref.TargetNodeId = ToNodeId("i=2042");
10921         refs.push_back(ref);
10922         }
10923         {
10924         AddReferencesItem ref;
10925         ref.IsForward = true;
10926         ref.ReferenceTypeId = ReferenceId::HasProperty;
10927         ref.SourceNodeId = ToNodeId("i=2041");
10928         ref.TargetNodeClass = NodeClass::DataType;
10929         ref.TargetNodeId = ToNodeId("i=2043");
10930         refs.push_back(ref);
10931         }
10932         {
10933         AddReferencesItem ref;
10934         ref.IsForward = true;
10935         ref.ReferenceTypeId = ReferenceId::HasProperty;
10936         ref.SourceNodeId = ToNodeId("i=2041");
10937         ref.TargetNodeClass = NodeClass::DataType;
10938         ref.TargetNodeId = ToNodeId("i=2044");
10939         refs.push_back(ref);
10940         }
10941         {
10942         AddReferencesItem ref;
10943         ref.IsForward = true;
10944         ref.ReferenceTypeId = ReferenceId::HasProperty;
10945         ref.SourceNodeId = ToNodeId("i=2041");
10946         ref.TargetNodeClass = NodeClass::DataType;
10947         ref.TargetNodeId = ToNodeId("i=2045");
10948         refs.push_back(ref);
10949         }
10950         {
10951         AddReferencesItem ref;
10952         ref.IsForward = true;
10953         ref.ReferenceTypeId = ReferenceId::HasProperty;
10954         ref.SourceNodeId = ToNodeId("i=2041");
10955         ref.TargetNodeClass = NodeClass::DataType;
10956         ref.TargetNodeId = ToNodeId("i=2046");
10957         refs.push_back(ref);
10958         }
10959         {
10960         AddReferencesItem ref;
10961         ref.IsForward = true;
10962         ref.ReferenceTypeId = ReferenceId::HasProperty;
10963         ref.SourceNodeId = ToNodeId("i=2041");
10964         ref.TargetNodeClass = NodeClass::DataType;
10965         ref.TargetNodeId = ToNodeId("i=2047");
10966         refs.push_back(ref);
10967         }
10968         {
10969         AddReferencesItem ref;
10970         ref.IsForward = true;
10971         ref.ReferenceTypeId = ReferenceId::HasProperty;
10972         ref.SourceNodeId = ToNodeId("i=2041");
10973         ref.TargetNodeClass = NodeClass::DataType;
10974         ref.TargetNodeId = ToNodeId("i=3190");
10975         refs.push_back(ref);
10976         }
10977         {
10978         AddReferencesItem ref;
10979         ref.IsForward = true;
10980         ref.ReferenceTypeId = ReferenceId::HasProperty;
10981         ref.SourceNodeId = ToNodeId("i=2041");
10982         ref.TargetNodeClass = NodeClass::DataType;
10983         ref.TargetNodeId = ToNodeId("i=2050");
10984         refs.push_back(ref);
10985         }
10986         {
10987         AddReferencesItem ref;
10988         ref.IsForward = true;
10989         ref.ReferenceTypeId = ReferenceId::HasProperty;
10990         ref.SourceNodeId = ToNodeId("i=2041");
10991         ref.TargetNodeClass = NodeClass::DataType;
10992         ref.TargetNodeId = ToNodeId("i=2051");
10993         refs.push_back(ref);
10994         }
10995         registry.AddReferences(refs);
10996         }
10997        
10998         {
10999         AddNodesItem node;
11000         node.RequestedNewNodeId = ToNodeId("i=2042");
11001         node.BrowseName = ToQualifiedName("EventId");
11002         node.Class = NodeClass::Variable;
11003         node.ParentNodeId = ToNodeId("i=2041");
11004         node.ReferenceTypeId = ReferenceId::HasProperty;
11005         node.TypeDefinition = ToNodeId("i=68");
11006         VariableAttributes attrs;
11007         attrs.Description = LocalizedText("A globally unique identifier for the event.");
11008         attrs.DisplayName = LocalizedText("EventId");
11009         attrs.Type = ObjectId::ByteString;
11010         attrs.Rank = -1;
11011         node.Attributes = attrs;
11012         registry.AddNodes(std::vector<AddNodesItem>{node});
11013         std::vector<AddReferencesItem> refs;
11014         {
11015         AddReferencesItem ref;
11016         ref.IsForward = true;
11017         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
11018         ref.SourceNodeId = ToNodeId("i=2042");
11019         ref.TargetNodeClass = NodeClass::DataType;
11020         ref.TargetNodeId = ToNodeId("i=78");
11021         refs.push_back(ref);
11022         }
11023         registry.AddReferences(refs);
11024         }
11025        
11026         {
11027         AddNodesItem node;
11028         node.RequestedNewNodeId = ToNodeId("i=2043");
11029         node.BrowseName = ToQualifiedName("EventType");
11030         node.Class = NodeClass::Variable;
11031         node.ParentNodeId = ToNodeId("i=2041");
11032         node.ReferenceTypeId = ReferenceId::HasProperty;
11033         node.TypeDefinition = ToNodeId("i=68");
11034         VariableAttributes attrs;
11035         attrs.Description = LocalizedText("The identifier for the event type.");
11036         attrs.DisplayName = LocalizedText("EventType");
11037         attrs.Type = ObjectId::NodeId;
11038         attrs.Rank = -1;
11039         node.Attributes = attrs;
11040         registry.AddNodes(std::vector<AddNodesItem>{node});
11041         std::vector<AddReferencesItem> refs;
11042         {
11043         AddReferencesItem ref;
11044         ref.IsForward = true;
11045         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
11046         ref.SourceNodeId = ToNodeId("i=2043");
11047         ref.TargetNodeClass = NodeClass::DataType;
11048         ref.TargetNodeId = ToNodeId("i=78");
11049         refs.push_back(ref);
11050         }
11051         registry.AddReferences(refs);
11052         }
11053        
11054         {
11055         AddNodesItem node;
11056         node.RequestedNewNodeId = ToNodeId("i=2044");
11057         node.BrowseName = ToQualifiedName("SourceNode");
11058         node.Class = NodeClass::Variable;
11059         node.ParentNodeId = ToNodeId("i=2041");
11060         node.ReferenceTypeId = ReferenceId::HasProperty;
11061         node.TypeDefinition = ToNodeId("i=68");
11062         VariableAttributes attrs;
11063         attrs.Description = LocalizedText("The source of the event.");
11064         attrs.DisplayName = LocalizedText("SourceNode");
11065         attrs.Type = ObjectId::NodeId;
11066         attrs.Rank = -1;
11067         node.Attributes = attrs;
11068         registry.AddNodes(std::vector<AddNodesItem>{node});
11069         std::vector<AddReferencesItem> refs;
11070         {
11071         AddReferencesItem ref;
11072         ref.IsForward = true;
11073         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
11074         ref.SourceNodeId = ToNodeId("i=2044");
11075         ref.TargetNodeClass = NodeClass::DataType;
11076         ref.TargetNodeId = ToNodeId("i=78");
11077         refs.push_back(ref);
11078         }
11079         registry.AddReferences(refs);
11080         }
11081        
11082         {
11083         AddNodesItem node;
11084         node.RequestedNewNodeId = ToNodeId("i=2045");
11085         node.BrowseName = ToQualifiedName("SourceName");
11086         node.Class = NodeClass::Variable;
11087         node.ParentNodeId = ToNodeId("i=2041");
11088         node.ReferenceTypeId = ReferenceId::HasProperty;
11089         node.TypeDefinition = ToNodeId("i=68");
11090         VariableAttributes attrs;
11091         attrs.Description = LocalizedText("A description of the source of the event.");
11092         attrs.DisplayName = LocalizedText("SourceName");
11093         attrs.Type = ObjectId::String;
11094         attrs.Rank = -1;
11095         node.Attributes = attrs;
11096         registry.AddNodes(std::vector<AddNodesItem>{node});
11097         std::vector<AddReferencesItem> refs;
11098         {
11099         AddReferencesItem ref;
11100         ref.IsForward = true;
11101         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
11102         ref.SourceNodeId = ToNodeId("i=2045");
11103         ref.TargetNodeClass = NodeClass::DataType;
11104         ref.TargetNodeId = ToNodeId("i=78");
11105         refs.push_back(ref);
11106         }
11107         registry.AddReferences(refs);
11108         }
11109        
11110         {
11111         AddNodesItem node;
11112         node.RequestedNewNodeId = ToNodeId("i=2046");
11113         node.BrowseName = ToQualifiedName("Time");
11114         node.Class = NodeClass::Variable;
11115         node.ParentNodeId = ToNodeId("i=2041");
11116         node.ReferenceTypeId = ReferenceId::HasProperty;
11117         node.TypeDefinition = ToNodeId("i=68");
11118         VariableAttributes attrs;
11119         attrs.Description = LocalizedText("When the event occurred.");
11120         attrs.DisplayName = LocalizedText("Time");
11121         attrs.Type = ToNodeId("i=294");
11122         attrs.Rank = -1;
11123         node.Attributes = attrs;
11124         registry.AddNodes(std::vector<AddNodesItem>{node});
11125         std::vector<AddReferencesItem> refs;
11126         {
11127         AddReferencesItem ref;
11128         ref.IsForward = true;
11129         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
11130         ref.SourceNodeId = ToNodeId("i=2046");
11131         ref.TargetNodeClass = NodeClass::DataType;
11132         ref.TargetNodeId = ToNodeId("i=78");
11133         refs.push_back(ref);
11134         }
11135         registry.AddReferences(refs);
11136         }
11137        
11138         {
11139         AddNodesItem node;
11140         node.RequestedNewNodeId = ToNodeId("i=2047");
11141         node.BrowseName = ToQualifiedName("ReceiveTime");
11142         node.Class = NodeClass::Variable;
11143         node.ParentNodeId = ToNodeId("i=2041");
11144         node.ReferenceTypeId = ReferenceId::HasProperty;
11145         node.TypeDefinition = ToNodeId("i=68");
11146         VariableAttributes attrs;
11147         attrs.Description = LocalizedText("When the server received the event from the underlying system.");
11148         attrs.DisplayName = LocalizedText("ReceiveTime");
11149         attrs.Type = ToNodeId("i=294");
11150         attrs.Rank = -1;
11151         node.Attributes = attrs;
11152         registry.AddNodes(std::vector<AddNodesItem>{node});
11153         std::vector<AddReferencesItem> refs;
11154         {
11155         AddReferencesItem ref;
11156         ref.IsForward = true;
11157         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
11158         ref.SourceNodeId = ToNodeId("i=2047");
11159         ref.TargetNodeClass = NodeClass::DataType;
11160         ref.TargetNodeId = ToNodeId("i=78");
11161         refs.push_back(ref);
11162         }
11163         registry.AddReferences(refs);
11164         }
11165        
11166         {
11167         AddNodesItem node;
11168         node.RequestedNewNodeId = ToNodeId("i=3190");
11169         node.BrowseName = ToQualifiedName("LocalTime");
11170         node.Class = NodeClass::Variable;
11171         node.ParentNodeId = ToNodeId("i=2041");
11172         node.ReferenceTypeId = ReferenceId::HasProperty;
11173         node.TypeDefinition = ToNodeId("i=68");
11174         VariableAttributes attrs;
11175         attrs.Description = LocalizedText("Information about the local time where the event originated.");
11176         attrs.DisplayName = LocalizedText("LocalTime");
11177         attrs.Type = ToNodeId("i=8912");
11178         attrs.Rank = -1;
11179         node.Attributes = attrs;
11180         registry.AddNodes(std::vector<AddNodesItem>{node});
11181         std::vector<AddReferencesItem> refs;
11182         {
11183         AddReferencesItem ref;
11184         ref.IsForward = true;
11185         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
11186         ref.SourceNodeId = ToNodeId("i=3190");
11187         ref.TargetNodeClass = NodeClass::DataType;
11188         ref.TargetNodeId = ToNodeId("i=78");
11189         refs.push_back(ref);
11190         }
11191         registry.AddReferences(refs);
11192         }
11193        
11194         {
11195         AddNodesItem node;
11196         node.RequestedNewNodeId = ToNodeId("i=2050");
11197         node.BrowseName = ToQualifiedName("Message");
11198         node.Class = NodeClass::Variable;
11199         node.ParentNodeId = ToNodeId("i=2041");
11200         node.ReferenceTypeId = ReferenceId::HasProperty;
11201         node.TypeDefinition = ToNodeId("i=68");
11202         VariableAttributes attrs;
11203         attrs.Description = LocalizedText("A localized description of the event.");
11204         attrs.DisplayName = LocalizedText("Message");
11205         attrs.Type = ObjectId::LocalizedText;
11206         attrs.Rank = -1;
11207         node.Attributes = attrs;
11208         registry.AddNodes(std::vector<AddNodesItem>{node});
11209         std::vector<AddReferencesItem> refs;
11210         {
11211         AddReferencesItem ref;
11212         ref.IsForward = true;
11213         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
11214         ref.SourceNodeId = ToNodeId("i=2050");
11215         ref.TargetNodeClass = NodeClass::DataType;
11216         ref.TargetNodeId = ToNodeId("i=78");
11217         refs.push_back(ref);
11218         }
11219         registry.AddReferences(refs);
11220         }
11221        
11222         {
11223         AddNodesItem node;
11224         node.RequestedNewNodeId = ToNodeId("i=2051");
11225         node.BrowseName = ToQualifiedName("Severity");
11226         node.Class = NodeClass::Variable;
11227         node.ParentNodeId = ToNodeId("i=2041");
11228         node.ReferenceTypeId = ReferenceId::HasProperty;
11229         node.TypeDefinition = ToNodeId("i=68");
11230         VariableAttributes attrs;
11231         attrs.Description = LocalizedText("Indicates how urgent an event is.");
11232         attrs.DisplayName = LocalizedText("Severity");
11233         attrs.Type = ObjectId::UInt16;
11234         attrs.Rank = -1;
11235         node.Attributes = attrs;
11236         registry.AddNodes(std::vector<AddNodesItem>{node});
11237         std::vector<AddReferencesItem> refs;
11238         {
11239         AddReferencesItem ref;
11240         ref.IsForward = true;
11241         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
11242         ref.SourceNodeId = ToNodeId("i=2051");
11243         ref.TargetNodeClass = NodeClass::DataType;
11244         ref.TargetNodeId = ToNodeId("i=78");
11245         refs.push_back(ref);
11246         }
11247         registry.AddReferences(refs);
11248         }
11249        
11250         {
11251         AddNodesItem node;
11252         node.RequestedNewNodeId = ToNodeId("i=2052");
11253         node.BrowseName = ToQualifiedName("AuditEventType");
11254         node.Class = NodeClass::ObjectType;
11255         node.ParentNodeId = ToNodeId("i=2041");
11256         node.ReferenceTypeId = ReferenceId::HasSubtype;
11257         ObjectTypeAttributes attrs;
11258         attrs.Description = LocalizedText("A base type for events used to track client initiated changes to the server state.");
11259         attrs.DisplayName = LocalizedText("AuditEventType");
11260         attrs.IsAbstract = true;
11261         node.Attributes = attrs;
11262         registry.AddNodes(std::vector<AddNodesItem>{node});
11263         std::vector<AddReferencesItem> refs;
11264         {
11265         AddReferencesItem ref;
11266         ref.IsForward = true;
11267         ref.ReferenceTypeId = ReferenceId::HasProperty;
11268         ref.SourceNodeId = ToNodeId("i=2052");
11269         ref.TargetNodeClass = NodeClass::DataType;
11270         ref.TargetNodeId = ToNodeId("i=2053");
11271         refs.push_back(ref);
11272         }
11273         {
11274         AddReferencesItem ref;
11275         ref.IsForward = true;
11276         ref.ReferenceTypeId = ReferenceId::HasProperty;
11277         ref.SourceNodeId = ToNodeId("i=2052");
11278         ref.TargetNodeClass = NodeClass::DataType;
11279         ref.TargetNodeId = ToNodeId("i=2054");
11280         refs.push_back(ref);
11281         }
11282         {
11283         AddReferencesItem ref;
11284         ref.IsForward = true;
11285         ref.ReferenceTypeId = ReferenceId::HasProperty;
11286         ref.SourceNodeId = ToNodeId("i=2052");
11287         ref.TargetNodeClass = NodeClass::DataType;
11288         ref.TargetNodeId = ToNodeId("i=2055");
11289         refs.push_back(ref);
11290         }
11291         {
11292         AddReferencesItem ref;
11293         ref.IsForward = true;
11294         ref.ReferenceTypeId = ReferenceId::HasProperty;
11295         ref.SourceNodeId = ToNodeId("i=2052");
11296         ref.TargetNodeClass = NodeClass::DataType;
11297         ref.TargetNodeId = ToNodeId("i=2056");
11298         refs.push_back(ref);
11299         }
11300         {
11301         AddReferencesItem ref;
11302         ref.IsForward = true;
11303         ref.ReferenceTypeId = ReferenceId::HasProperty;
11304         ref.SourceNodeId = ToNodeId("i=2052");
11305         ref.TargetNodeClass = NodeClass::DataType;
11306         ref.TargetNodeId = ToNodeId("i=2057");
11307         refs.push_back(ref);
11308         }
11309         registry.AddReferences(refs);
11310         }
11311        
11312         {
11313         AddNodesItem node;
11314         node.RequestedNewNodeId = ToNodeId("i=2053");
11315         node.BrowseName = ToQualifiedName("ActionTimeStamp");
11316         node.Class = NodeClass::Variable;
11317         node.ParentNodeId = ToNodeId("i=2052");
11318         node.ReferenceTypeId = ReferenceId::HasProperty;
11319         node.TypeDefinition = ToNodeId("i=68");
11320         VariableAttributes attrs;
11321         attrs.Description = LocalizedText("When the action triggering the event occurred.");
11322         attrs.DisplayName = LocalizedText("ActionTimeStamp");
11323         attrs.Type = ToNodeId("i=294");
11324         attrs.Rank = -1;
11325         node.Attributes = attrs;
11326         registry.AddNodes(std::vector<AddNodesItem>{node});
11327         std::vector<AddReferencesItem> refs;
11328         {
11329         AddReferencesItem ref;
11330         ref.IsForward = true;
11331         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
11332         ref.SourceNodeId = ToNodeId("i=2053");
11333         ref.TargetNodeClass = NodeClass::DataType;
11334         ref.TargetNodeId = ToNodeId("i=78");
11335         refs.push_back(ref);
11336         }
11337         registry.AddReferences(refs);
11338         }
11339        
11340         {
11341         AddNodesItem node;
11342         node.RequestedNewNodeId = ToNodeId("i=2054");
11343         node.BrowseName = ToQualifiedName("Status");
11344         node.Class = NodeClass::Variable;
11345         node.ParentNodeId = ToNodeId("i=2052");
11346         node.ReferenceTypeId = ReferenceId::HasProperty;
11347         node.TypeDefinition = ToNodeId("i=68");
11348         VariableAttributes attrs;
11349         attrs.Description = LocalizedText("If TRUE the action was performed. If FALSE the action failed and the server state did not change.");
11350         attrs.DisplayName = LocalizedText("Status");
11351         attrs.Type = ObjectId::Boolean;
11352         attrs.Rank = -1;
11353         node.Attributes = attrs;
11354         registry.AddNodes(std::vector<AddNodesItem>{node});
11355         std::vector<AddReferencesItem> refs;
11356         {
11357         AddReferencesItem ref;
11358         ref.IsForward = true;
11359         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
11360         ref.SourceNodeId = ToNodeId("i=2054");
11361         ref.TargetNodeClass = NodeClass::DataType;
11362         ref.TargetNodeId = ToNodeId("i=78");
11363         refs.push_back(ref);
11364         }
11365         registry.AddReferences(refs);
11366         }
11367        
11368         {
11369         AddNodesItem node;
11370         node.RequestedNewNodeId = ToNodeId("i=2055");
11371         node.BrowseName = ToQualifiedName("ServerId");
11372         node.Class = NodeClass::Variable;
11373         node.ParentNodeId = ToNodeId("i=2052");
11374         node.ReferenceTypeId = ReferenceId::HasProperty;
11375         node.TypeDefinition = ToNodeId("i=68");
11376         VariableAttributes attrs;
11377         attrs.Description = LocalizedText("The unique identifier for the server generating the event.");
11378         attrs.DisplayName = LocalizedText("ServerId");
11379         attrs.Type = ObjectId::String;
11380         attrs.Rank = -1;
11381         node.Attributes = attrs;
11382         registry.AddNodes(std::vector<AddNodesItem>{node});
11383         std::vector<AddReferencesItem> refs;
11384         {
11385         AddReferencesItem ref;
11386         ref.IsForward = true;
11387         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
11388         ref.SourceNodeId = ToNodeId("i=2055");
11389         ref.TargetNodeClass = NodeClass::DataType;
11390         ref.TargetNodeId = ToNodeId("i=78");
11391         refs.push_back(ref);
11392         }
11393         registry.AddReferences(refs);
11394         }
11395        
11396         {
11397         AddNodesItem node;
11398         node.RequestedNewNodeId = ToNodeId("i=2056");
11399         node.BrowseName = ToQualifiedName("ClientAuditEntryId");
11400         node.Class = NodeClass::Variable;
11401         node.ParentNodeId = ToNodeId("i=2052");
11402         node.ReferenceTypeId = ReferenceId::HasProperty;
11403         node.TypeDefinition = ToNodeId("i=68");
11404         VariableAttributes attrs;
11405         attrs.Description = LocalizedText("The log entry id provided in the request that initiated the action.");
11406         attrs.DisplayName = LocalizedText("ClientAuditEntryId");
11407         attrs.Type = ObjectId::String;
11408         attrs.Rank = -1;
11409         node.Attributes = attrs;
11410         registry.AddNodes(std::vector<AddNodesItem>{node});
11411         std::vector<AddReferencesItem> refs;
11412         {
11413         AddReferencesItem ref;
11414         ref.IsForward = true;
11415         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
11416         ref.SourceNodeId = ToNodeId("i=2056");
11417         ref.TargetNodeClass = NodeClass::DataType;
11418         ref.TargetNodeId = ToNodeId("i=78");
11419         refs.push_back(ref);
11420         }
11421         registry.AddReferences(refs);
11422         }
11423        
11424         {
11425         AddNodesItem node;
11426         node.RequestedNewNodeId = ToNodeId("i=2057");
11427         node.BrowseName = ToQualifiedName("ClientUserId");
11428         node.Class = NodeClass::Variable;
11429         node.ParentNodeId = ToNodeId("i=2052");
11430         node.ReferenceTypeId = ReferenceId::HasProperty;
11431         node.TypeDefinition = ToNodeId("i=68");
11432         VariableAttributes attrs;
11433         attrs.Description = LocalizedText("The user identity associated with the session that initiated the action.");
11434         attrs.DisplayName = LocalizedText("ClientUserId");
11435         attrs.Type = ObjectId::String;
11436         attrs.Rank = -1;
11437         node.Attributes = attrs;
11438         registry.AddNodes(std::vector<AddNodesItem>{node});
11439         std::vector<AddReferencesItem> refs;
11440         {
11441         AddReferencesItem ref;
11442         ref.IsForward = true;
11443         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
11444         ref.SourceNodeId = ToNodeId("i=2057");
11445         ref.TargetNodeClass = NodeClass::DataType;
11446         ref.TargetNodeId = ToNodeId("i=78");
11447         refs.push_back(ref);
11448         }
11449         registry.AddReferences(refs);
11450         }
11451        
11452         {
11453         AddNodesItem node;
11454         node.RequestedNewNodeId = ToNodeId("i=2058");
11455         node.BrowseName = ToQualifiedName("AuditSecurityEventType");
11456         node.Class = NodeClass::ObjectType;
11457         node.ParentNodeId = ToNodeId("i=2052");
11458         node.ReferenceTypeId = ReferenceId::HasSubtype;
11459         ObjectTypeAttributes attrs;
11460         attrs.Description = LocalizedText("A base type for events used to track security related changes.");
11461         attrs.DisplayName = LocalizedText("AuditSecurityEventType");
11462         attrs.IsAbstract = true;
11463         node.Attributes = attrs;
11464         registry.AddNodes(std::vector<AddNodesItem>{node});
11465         }
11466        
11467         {
11468         AddNodesItem node;
11469         node.RequestedNewNodeId = ToNodeId("i=2059");
11470         node.BrowseName = ToQualifiedName("AuditChannelEventType");
11471         node.Class = NodeClass::ObjectType;
11472         node.ParentNodeId = ToNodeId("i=2058");
11473         node.ReferenceTypeId = ReferenceId::HasSubtype;
11474         ObjectTypeAttributes attrs;
11475         attrs.Description = LocalizedText("A base type for events used to track related changes to a secure channel.");
11476         attrs.DisplayName = LocalizedText("AuditChannelEventType");
11477         attrs.IsAbstract = true;
11478         node.Attributes = attrs;
11479         registry.AddNodes(std::vector<AddNodesItem>{node});
11480         std::vector<AddReferencesItem> refs;
11481         {
11482         AddReferencesItem ref;
11483         ref.IsForward = true;
11484         ref.ReferenceTypeId = ReferenceId::HasProperty;
11485         ref.SourceNodeId = ToNodeId("i=2059");
11486         ref.TargetNodeClass = NodeClass::DataType;
11487         ref.TargetNodeId = ToNodeId("i=2745");
11488         refs.push_back(ref);
11489         }
11490         registry.AddReferences(refs);
11491         }
11492        
11493         {
11494         AddNodesItem node;
11495         node.RequestedNewNodeId = ToNodeId("i=2745");
11496         node.BrowseName = ToQualifiedName("SecureChannelId");
11497         node.Class = NodeClass::Variable;
11498         node.ParentNodeId = ToNodeId("i=2059");
11499         node.ReferenceTypeId = ReferenceId::HasProperty;
11500         node.TypeDefinition = ToNodeId("i=68");
11501         VariableAttributes attrs;
11502         attrs.Description = LocalizedText("The identifier for the secure channel that was changed.");
11503         attrs.DisplayName = LocalizedText("SecureChannelId");
11504         attrs.Type = ObjectId::String;
11505         attrs.Rank = -1;
11506         node.Attributes = attrs;
11507         registry.AddNodes(std::vector<AddNodesItem>{node});
11508         std::vector<AddReferencesItem> refs;
11509         {
11510         AddReferencesItem ref;
11511         ref.IsForward = true;
11512         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
11513         ref.SourceNodeId = ToNodeId("i=2745");
11514         ref.TargetNodeClass = NodeClass::DataType;
11515         ref.TargetNodeId = ToNodeId("i=78");
11516         refs.push_back(ref);
11517         }
11518         registry.AddReferences(refs);
11519         }
11520        
11521         {
11522         AddNodesItem node;
11523         node.RequestedNewNodeId = ToNodeId("i=2060");
11524         node.BrowseName = ToQualifiedName("AuditOpenSecureChannelEventType");
11525         node.Class = NodeClass::ObjectType;
11526         node.ParentNodeId = ToNodeId("i=2059");
11527         node.ReferenceTypeId = ReferenceId::HasSubtype;
11528         ObjectTypeAttributes attrs;
11529         attrs.Description = LocalizedText("An event that is raised when a secure channel is opened.");
11530         attrs.DisplayName = LocalizedText("AuditOpenSecureChannelEventType");
11531         attrs.IsAbstract = true;
11532         node.Attributes = attrs;
11533         registry.AddNodes(std::vector<AddNodesItem>{node});
11534         std::vector<AddReferencesItem> refs;
11535         {
11536         AddReferencesItem ref;
11537         ref.IsForward = true;
11538         ref.ReferenceTypeId = ReferenceId::HasProperty;
11539         ref.SourceNodeId = ToNodeId("i=2060");
11540         ref.TargetNodeClass = NodeClass::DataType;
11541         ref.TargetNodeId = ToNodeId("i=2061");
11542         refs.push_back(ref);
11543         }
11544         {
11545         AddReferencesItem ref;
11546         ref.IsForward = true;
11547         ref.ReferenceTypeId = ReferenceId::HasProperty;
11548         ref.SourceNodeId = ToNodeId("i=2060");
11549         ref.TargetNodeClass = NodeClass::DataType;
11550         ref.TargetNodeId = ToNodeId("i=2746");
11551         refs.push_back(ref);
11552         }
11553         {
11554         AddReferencesItem ref;
11555         ref.IsForward = true;
11556         ref.ReferenceTypeId = ReferenceId::HasProperty;
11557         ref.SourceNodeId = ToNodeId("i=2060");
11558         ref.TargetNodeClass = NodeClass::DataType;
11559         ref.TargetNodeId = ToNodeId("i=2062");
11560         refs.push_back(ref);
11561         }
11562         {
11563         AddReferencesItem ref;
11564         ref.IsForward = true;
11565         ref.ReferenceTypeId = ReferenceId::HasProperty;
11566         ref.SourceNodeId = ToNodeId("i=2060");
11567         ref.TargetNodeClass = NodeClass::DataType;
11568         ref.TargetNodeId = ToNodeId("i=2063");
11569         refs.push_back(ref);
11570         }
11571         {
11572         AddReferencesItem ref;
11573         ref.IsForward = true;
11574         ref.ReferenceTypeId = ReferenceId::HasProperty;
11575         ref.SourceNodeId = ToNodeId("i=2060");
11576         ref.TargetNodeClass = NodeClass::DataType;
11577         ref.TargetNodeId = ToNodeId("i=2065");
11578         refs.push_back(ref);
11579         }
11580         {
11581         AddReferencesItem ref;
11582         ref.IsForward = true;
11583         ref.ReferenceTypeId = ReferenceId::HasProperty;
11584         ref.SourceNodeId = ToNodeId("i=2060");
11585         ref.TargetNodeClass = NodeClass::DataType;
11586         ref.TargetNodeId = ToNodeId("i=2066");
11587         refs.push_back(ref);
11588         }
11589         registry.AddReferences(refs);
11590         }
11591        
11592         {
11593         AddNodesItem node;
11594         node.RequestedNewNodeId = ToNodeId("i=2061");
11595         node.BrowseName = ToQualifiedName("ClientCertificate");
11596         node.Class = NodeClass::Variable;
11597         node.ParentNodeId = ToNodeId("i=2060");
11598         node.ReferenceTypeId = ReferenceId::HasProperty;
11599         node.TypeDefinition = ToNodeId("i=68");
11600         VariableAttributes attrs;
11601         attrs.Description = LocalizedText("The certificate provided by the client.");
11602         attrs.DisplayName = LocalizedText("ClientCertificate");
11603         attrs.Type = ObjectId::ByteString;
11604         attrs.Rank = -1;
11605         node.Attributes = attrs;
11606         registry.AddNodes(std::vector<AddNodesItem>{node});
11607         std::vector<AddReferencesItem> refs;
11608         {
11609         AddReferencesItem ref;
11610         ref.IsForward = true;
11611         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
11612         ref.SourceNodeId = ToNodeId("i=2061");
11613         ref.TargetNodeClass = NodeClass::DataType;
11614         ref.TargetNodeId = ToNodeId("i=78");
11615         refs.push_back(ref);
11616         }
11617         registry.AddReferences(refs);
11618         }
11619        
11620         {
11621         AddNodesItem node;
11622         node.RequestedNewNodeId = ToNodeId("i=2746");
11623         node.BrowseName = ToQualifiedName("ClientCertificateThumbprint");
11624         node.Class = NodeClass::Variable;
11625         node.ParentNodeId = ToNodeId("i=2060");
11626         node.ReferenceTypeId = ReferenceId::HasProperty;
11627         node.TypeDefinition = ToNodeId("i=68");
11628         VariableAttributes attrs;
11629         attrs.Description = LocalizedText("The thumbprint for certificate provided by the client.");
11630         attrs.DisplayName = LocalizedText("ClientCertificateThumbprint");
11631         attrs.Type = ObjectId::String;
11632         attrs.Rank = -1;
11633         node.Attributes = attrs;
11634         registry.AddNodes(std::vector<AddNodesItem>{node});
11635         std::vector<AddReferencesItem> refs;
11636         {
11637         AddReferencesItem ref;
11638         ref.IsForward = true;
11639         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
11640         ref.SourceNodeId = ToNodeId("i=2746");
11641         ref.TargetNodeClass = NodeClass::DataType;
11642         ref.TargetNodeId = ToNodeId("i=78");
11643         refs.push_back(ref);
11644         }
11645         registry.AddReferences(refs);
11646         }
11647        
11648         {
11649         AddNodesItem node;
11650         node.RequestedNewNodeId = ToNodeId("i=2062");
11651         node.BrowseName = ToQualifiedName("RequestType");
11652         node.Class = NodeClass::Variable;
11653         node.ParentNodeId = ToNodeId("i=2060");
11654         node.ReferenceTypeId = ReferenceId::HasProperty;
11655         node.TypeDefinition = ToNodeId("i=68");
11656         VariableAttributes attrs;
11657         attrs.Description = LocalizedText("The type of request (NEW or RENEW).");
11658         attrs.DisplayName = LocalizedText("RequestType");
11659         attrs.Type = ToNodeId("i=315");
11660         attrs.Rank = -1;
11661         node.Attributes = attrs;
11662         registry.AddNodes(std::vector<AddNodesItem>{node});
11663         std::vector<AddReferencesItem> refs;
11664         {
11665         AddReferencesItem ref;
11666         ref.IsForward = true;
11667         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
11668         ref.SourceNodeId = ToNodeId("i=2062");
11669         ref.TargetNodeClass = NodeClass::DataType;
11670         ref.TargetNodeId = ToNodeId("i=78");
11671         refs.push_back(ref);
11672         }
11673         registry.AddReferences(refs);
11674         }
11675        
11676         {
11677         AddNodesItem node;
11678         node.RequestedNewNodeId = ToNodeId("i=2063");
11679         node.BrowseName = ToQualifiedName("SecurityPolicyUri");
11680         node.Class = NodeClass::Variable;
11681         node.ParentNodeId = ToNodeId("i=2060");
11682         node.ReferenceTypeId = ReferenceId::HasProperty;
11683         node.TypeDefinition = ToNodeId("i=68");
11684         VariableAttributes attrs;
11685         attrs.Description = LocalizedText("The security policy used by the channel.");
11686         attrs.DisplayName = LocalizedText("SecurityPolicyUri");
11687         attrs.Type = ObjectId::String;
11688         attrs.Rank = -1;
11689         node.Attributes = attrs;
11690         registry.AddNodes(std::vector<AddNodesItem>{node});
11691         std::vector<AddReferencesItem> refs;
11692         {
11693         AddReferencesItem ref;
11694         ref.IsForward = true;
11695         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
11696         ref.SourceNodeId = ToNodeId("i=2063");
11697         ref.TargetNodeClass = NodeClass::DataType;
11698         ref.TargetNodeId = ToNodeId("i=78");
11699         refs.push_back(ref);
11700         }
11701         registry.AddReferences(refs);
11702         }
11703        
11704         {
11705         AddNodesItem node;
11706         node.RequestedNewNodeId = ToNodeId("i=2065");
11707         node.BrowseName = ToQualifiedName("SecurityMode");
11708         node.Class = NodeClass::Variable;
11709         node.ParentNodeId = ToNodeId("i=2060");
11710         node.ReferenceTypeId = ReferenceId::HasProperty;
11711         node.TypeDefinition = ToNodeId("i=68");
11712         VariableAttributes attrs;
11713         attrs.Description = LocalizedText("The security mode used by the channel.");
11714         attrs.DisplayName = LocalizedText("SecurityMode");
11715         attrs.Type = ToNodeId("i=302");
11716         attrs.Rank = -1;
11717         node.Attributes = attrs;
11718         registry.AddNodes(std::vector<AddNodesItem>{node});
11719         std::vector<AddReferencesItem> refs;
11720         {
11721         AddReferencesItem ref;
11722         ref.IsForward = true;
11723         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
11724         ref.SourceNodeId = ToNodeId("i=2065");
11725         ref.TargetNodeClass = NodeClass::DataType;
11726         ref.TargetNodeId = ToNodeId("i=78");
11727         refs.push_back(ref);
11728         }
11729         registry.AddReferences(refs);
11730         }
11731        
11732         {
11733         AddNodesItem node;
11734         node.RequestedNewNodeId = ToNodeId("i=2066");
11735         node.BrowseName = ToQualifiedName("RequestedLifetime");
11736         node.Class = NodeClass::Variable;
11737         node.ParentNodeId = ToNodeId("i=2060");
11738         node.ReferenceTypeId = ReferenceId::HasProperty;
11739         node.TypeDefinition = ToNodeId("i=68");
11740         VariableAttributes attrs;
11741         attrs.Description = LocalizedText("The lifetime of the channel requested by the client.");
11742         attrs.DisplayName = LocalizedText("RequestedLifetime");
11743         attrs.Type = ToNodeId("i=290");
11744         attrs.Rank = -1;
11745         node.Attributes = attrs;
11746         registry.AddNodes(std::vector<AddNodesItem>{node});
11747         std::vector<AddReferencesItem> refs;
11748         {
11749         AddReferencesItem ref;
11750         ref.IsForward = true;
11751         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
11752         ref.SourceNodeId = ToNodeId("i=2066");
11753         ref.TargetNodeClass = NodeClass::DataType;
11754         ref.TargetNodeId = ToNodeId("i=78");
11755         refs.push_back(ref);
11756         }
11757         registry.AddReferences(refs);
11758         }
11759        
11760         {
11761         AddNodesItem node;
11762         node.RequestedNewNodeId = ToNodeId("i=2069");
11763         node.BrowseName = ToQualifiedName("AuditSessionEventType");
11764         node.Class = NodeClass::ObjectType;
11765         node.ParentNodeId = ToNodeId("i=2052");
11766         node.ReferenceTypeId = ReferenceId::HasSubtype;
11767         ObjectTypeAttributes attrs;
11768         attrs.Description = LocalizedText("A base type for events used to track related changes to a session.");
11769         attrs.DisplayName = LocalizedText("AuditSessionEventType");
11770         attrs.IsAbstract = true;
11771         node.Attributes = attrs;
11772         registry.AddNodes(std::vector<AddNodesItem>{node});
11773         std::vector<AddReferencesItem> refs;
11774         {
11775         AddReferencesItem ref;
11776         ref.IsForward = true;
11777         ref.ReferenceTypeId = ReferenceId::HasProperty;
11778         ref.SourceNodeId = ToNodeId("i=2069");
11779         ref.TargetNodeClass = NodeClass::DataType;
11780         ref.TargetNodeId = ToNodeId("i=2070");
11781         refs.push_back(ref);
11782         }
11783         registry.AddReferences(refs);
11784         }
11785        
11786         {
11787         AddNodesItem node;
11788         node.RequestedNewNodeId = ToNodeId("i=2070");
11789         node.BrowseName = ToQualifiedName("SessionId");
11790         node.Class = NodeClass::Variable;
11791         node.ParentNodeId = ToNodeId("i=2069");
11792         node.ReferenceTypeId = ReferenceId::HasProperty;
11793         node.TypeDefinition = ToNodeId("i=68");
11794         VariableAttributes attrs;
11795         attrs.Description = LocalizedText("The unique identifier for the session,.");
11796         attrs.DisplayName = LocalizedText("SessionId");
11797         attrs.Type = ObjectId::NodeId;
11798         attrs.Rank = -1;
11799         node.Attributes = attrs;
11800         registry.AddNodes(std::vector<AddNodesItem>{node});
11801         std::vector<AddReferencesItem> refs;
11802         {
11803         AddReferencesItem ref;
11804         ref.IsForward = true;
11805         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
11806         ref.SourceNodeId = ToNodeId("i=2070");
11807         ref.TargetNodeClass = NodeClass::DataType;
11808         ref.TargetNodeId = ToNodeId("i=78");
11809         refs.push_back(ref);
11810         }
11811         registry.AddReferences(refs);
11812         }
11813        
11814         {
11815         AddNodesItem node;
11816         node.RequestedNewNodeId = ToNodeId("i=2071");
11817         node.BrowseName = ToQualifiedName("AuditCreateSessionEventType");
11818         node.Class = NodeClass::ObjectType;
11819         node.ParentNodeId = ToNodeId("i=2069");
11820         node.ReferenceTypeId = ReferenceId::HasSubtype;
11821         ObjectTypeAttributes attrs;
11822         attrs.Description = LocalizedText("An event that is raised when a session is created.");
11823         attrs.DisplayName = LocalizedText("AuditCreateSessionEventType");
11824         attrs.IsAbstract = true;
11825         node.Attributes = attrs;
11826         registry.AddNodes(std::vector<AddNodesItem>{node});
11827         std::vector<AddReferencesItem> refs;
11828         {
11829         AddReferencesItem ref;
11830         ref.IsForward = true;
11831         ref.ReferenceTypeId = ReferenceId::HasProperty;
11832         ref.SourceNodeId = ToNodeId("i=2071");
11833         ref.TargetNodeClass = NodeClass::DataType;
11834         ref.TargetNodeId = ToNodeId("i=2072");
11835         refs.push_back(ref);
11836         }
11837         {
11838         AddReferencesItem ref;
11839         ref.IsForward = true;
11840         ref.ReferenceTypeId = ReferenceId::HasProperty;
11841         ref.SourceNodeId = ToNodeId("i=2071");
11842         ref.TargetNodeClass = NodeClass::DataType;
11843         ref.TargetNodeId = ToNodeId("i=2073");
11844         refs.push_back(ref);
11845         }
11846         {
11847         AddReferencesItem ref;
11848         ref.IsForward = true;
11849         ref.ReferenceTypeId = ReferenceId::HasProperty;
11850         ref.SourceNodeId = ToNodeId("i=2071");
11851         ref.TargetNodeClass = NodeClass::DataType;
11852         ref.TargetNodeId = ToNodeId("i=2747");
11853         refs.push_back(ref);
11854         }
11855         {
11856         AddReferencesItem ref;
11857         ref.IsForward = true;
11858         ref.ReferenceTypeId = ReferenceId::HasProperty;
11859         ref.SourceNodeId = ToNodeId("i=2071");
11860         ref.TargetNodeClass = NodeClass::DataType;
11861         ref.TargetNodeId = ToNodeId("i=2074");
11862         refs.push_back(ref);
11863         }
11864         registry.AddReferences(refs);
11865         }
11866        
11867         {
11868         AddNodesItem node;
11869         node.RequestedNewNodeId = ToNodeId("i=2072");
11870         node.BrowseName = ToQualifiedName("SecureChannelId");
11871         node.Class = NodeClass::Variable;
11872         node.ParentNodeId = ToNodeId("i=2071");
11873         node.ReferenceTypeId = ReferenceId::HasProperty;
11874         node.TypeDefinition = ToNodeId("i=68");
11875         VariableAttributes attrs;
11876         attrs.Description = LocalizedText("The secure channel associated with the session.");
11877         attrs.DisplayName = LocalizedText("SecureChannelId");
11878         attrs.Type = ObjectId::String;
11879         attrs.Rank = -1;
11880         node.Attributes = attrs;
11881         registry.AddNodes(std::vector<AddNodesItem>{node});
11882         std::vector<AddReferencesItem> refs;
11883         {
11884         AddReferencesItem ref;
11885         ref.IsForward = true;
11886         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
11887         ref.SourceNodeId = ToNodeId("i=2072");
11888         ref.TargetNodeClass = NodeClass::DataType;
11889         ref.TargetNodeId = ToNodeId("i=78");
11890         refs.push_back(ref);
11891         }
11892         registry.AddReferences(refs);
11893         }
11894        
11895         {
11896         AddNodesItem node;
11897         node.RequestedNewNodeId = ToNodeId("i=2073");
11898         node.BrowseName = ToQualifiedName("ClientCertificate");
11899         node.Class = NodeClass::Variable;
11900         node.ParentNodeId = ToNodeId("i=2071");
11901         node.ReferenceTypeId = ReferenceId::HasProperty;
11902         node.TypeDefinition = ToNodeId("i=68");
11903         VariableAttributes attrs;
11904         attrs.Description = LocalizedText("The certificate provided by the client.");
11905         attrs.DisplayName = LocalizedText("ClientCertificate");
11906         attrs.Type = ObjectId::ByteString;
11907         attrs.Rank = -1;
11908         node.Attributes = attrs;
11909         registry.AddNodes(std::vector<AddNodesItem>{node});
11910         std::vector<AddReferencesItem> refs;
11911         {
11912         AddReferencesItem ref;
11913         ref.IsForward = true;
11914         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
11915         ref.SourceNodeId = ToNodeId("i=2073");
11916         ref.TargetNodeClass = NodeClass::DataType;
11917         ref.TargetNodeId = ToNodeId("i=78");
11918         refs.push_back(ref);
11919         }
11920         registry.AddReferences(refs);
11921         }
11922        
11923         {
11924         AddNodesItem node;
11925         node.RequestedNewNodeId = ToNodeId("i=2747");
11926         node.BrowseName = ToQualifiedName("ClientCertificateThumbprint");
11927         node.Class = NodeClass::Variable;
11928         node.ParentNodeId = ToNodeId("i=2071");
11929         node.ReferenceTypeId = ReferenceId::HasProperty;
11930         node.TypeDefinition = ToNodeId("i=68");
11931         VariableAttributes attrs;
11932         attrs.Description = LocalizedText("The thumbprint of the certificate provided by the client.");
11933         attrs.DisplayName = LocalizedText("ClientCertificateThumbprint");
11934         attrs.Type = ObjectId::String;
11935         attrs.Rank = -1;
11936         node.Attributes = attrs;
11937         registry.AddNodes(std::vector<AddNodesItem>{node});
11938         std::vector<AddReferencesItem> refs;
11939         {
11940         AddReferencesItem ref;
11941         ref.IsForward = true;
11942         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
11943         ref.SourceNodeId = ToNodeId("i=2747");
11944         ref.TargetNodeClass = NodeClass::DataType;
11945         ref.TargetNodeId = ToNodeId("i=78");
11946         refs.push_back(ref);
11947         }
11948         registry.AddReferences(refs);
11949         }
11950        
11951         {
11952         AddNodesItem node;
11953         node.RequestedNewNodeId = ToNodeId("i=2074");
11954         node.BrowseName = ToQualifiedName("RevisedSessionTimeout");
11955         node.Class = NodeClass::Variable;
11956         node.ParentNodeId = ToNodeId("i=2071");
11957         node.ReferenceTypeId = ReferenceId::HasProperty;
11958         node.TypeDefinition = ToNodeId("i=68");
11959         VariableAttributes attrs;
11960         attrs.Description = LocalizedText("The timeout for the session.");
11961         attrs.DisplayName = LocalizedText("RevisedSessionTimeout");
11962         attrs.Type = ToNodeId("i=290");
11963         attrs.Rank = -1;
11964         node.Attributes = attrs;
11965         registry.AddNodes(std::vector<AddNodesItem>{node});
11966         std::vector<AddReferencesItem> refs;
11967         {
11968         AddReferencesItem ref;
11969         ref.IsForward = true;
11970         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
11971         ref.SourceNodeId = ToNodeId("i=2074");
11972         ref.TargetNodeClass = NodeClass::DataType;
11973         ref.TargetNodeId = ToNodeId("i=78");
11974         refs.push_back(ref);
11975         }
11976         registry.AddReferences(refs);
11977         }
11978        
11979         {
11980         AddNodesItem node;
11981         node.RequestedNewNodeId = ToNodeId("i=2748");
11982         node.BrowseName = ToQualifiedName("AuditUrlMismatchEventType");
11983         node.Class = NodeClass::ObjectType;
11984         node.ParentNodeId = ToNodeId("i=2071");
11985         node.ReferenceTypeId = ReferenceId::HasSubtype;
11986         ObjectTypeAttributes attrs;
11987         attrs.DisplayName = LocalizedText("AuditUrlMismatchEventType");
11988         attrs.IsAbstract = true;
11989         node.Attributes = attrs;
11990         registry.AddNodes(std::vector<AddNodesItem>{node});
11991         std::vector<AddReferencesItem> refs;
11992         {
11993         AddReferencesItem ref;
11994         ref.IsForward = true;
11995         ref.ReferenceTypeId = ReferenceId::HasProperty;
11996         ref.SourceNodeId = ToNodeId("i=2748");
11997         ref.TargetNodeClass = NodeClass::DataType;
11998         ref.TargetNodeId = ToNodeId("i=2749");
11999         refs.push_back(ref);
12000         }
12001         registry.AddReferences(refs);
12002         }
12003        
12004         {
12005         AddNodesItem node;
12006         node.RequestedNewNodeId = ToNodeId("i=2749");
12007         node.BrowseName = ToQualifiedName("EndpointUrl");
12008         node.Class = NodeClass::Variable;
12009         node.ParentNodeId = ToNodeId("i=2748");
12010         node.ReferenceTypeId = ReferenceId::HasProperty;
12011         node.TypeDefinition = ToNodeId("i=68");
12012         VariableAttributes attrs;
12013         attrs.DisplayName = LocalizedText("EndpointUrl");
12014         attrs.Type = ObjectId::String;
12015         attrs.Rank = -1;
12016         node.Attributes = attrs;
12017         registry.AddNodes(std::vector<AddNodesItem>{node});
12018         std::vector<AddReferencesItem> refs;
12019         {
12020         AddReferencesItem ref;
12021         ref.IsForward = true;
12022         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
12023         ref.SourceNodeId = ToNodeId("i=2749");
12024         ref.TargetNodeClass = NodeClass::DataType;
12025         ref.TargetNodeId = ToNodeId("i=78");
12026         refs.push_back(ref);
12027         }
12028         registry.AddReferences(refs);
12029         }
12030        
12031         {
12032         AddNodesItem node;
12033         node.RequestedNewNodeId = ToNodeId("i=2075");
12034         node.BrowseName = ToQualifiedName("AuditActivateSessionEventType");
12035         node.Class = NodeClass::ObjectType;
12036         node.ParentNodeId = ToNodeId("i=2069");
12037         node.ReferenceTypeId = ReferenceId::HasSubtype;
12038         ObjectTypeAttributes attrs;
12039         attrs.DisplayName = LocalizedText("AuditActivateSessionEventType");
12040         attrs.IsAbstract = true;
12041         node.Attributes = attrs;
12042         registry.AddNodes(std::vector<AddNodesItem>{node});
12043         std::vector<AddReferencesItem> refs;
12044         {
12045         AddReferencesItem ref;
12046         ref.IsForward = true;
12047         ref.ReferenceTypeId = ReferenceId::HasProperty;
12048         ref.SourceNodeId = ToNodeId("i=2075");
12049         ref.TargetNodeClass = NodeClass::DataType;
12050         ref.TargetNodeId = ToNodeId("i=2076");
12051         refs.push_back(ref);
12052         }
12053         {
12054         AddReferencesItem ref;
12055         ref.IsForward = true;
12056         ref.ReferenceTypeId = ReferenceId::HasProperty;
12057         ref.SourceNodeId = ToNodeId("i=2075");
12058         ref.TargetNodeClass = NodeClass::DataType;
12059         ref.TargetNodeId = ToNodeId("i=2077");
12060         refs.push_back(ref);
12061         }
12062         {
12063         AddReferencesItem ref;
12064         ref.IsForward = true;
12065         ref.ReferenceTypeId = ReferenceId::HasProperty;
12066         ref.SourceNodeId = ToNodeId("i=2075");
12067         ref.TargetNodeClass = NodeClass::DataType;
12068         ref.TargetNodeId = ToNodeId("i=11485");
12069         refs.push_back(ref);
12070         }
12071         registry.AddReferences(refs);
12072         }
12073        
12074         {
12075         AddNodesItem node;
12076         node.RequestedNewNodeId = ToNodeId("i=2076");
12077         node.BrowseName = ToQualifiedName("ClientSoftwareCertificates");
12078         node.Class = NodeClass::Variable;
12079         node.ParentNodeId = ToNodeId("i=2075");
12080         node.ReferenceTypeId = ReferenceId::HasProperty;
12081         node.TypeDefinition = ToNodeId("i=68");
12082         VariableAttributes attrs;
12083         attrs.DisplayName = LocalizedText("ClientSoftwareCertificates");
12084         attrs.Type = ToNodeId("i=344");
12085         attrs.Rank = 1;
12086         node.Attributes = attrs;
12087         registry.AddNodes(std::vector<AddNodesItem>{node});
12088         std::vector<AddReferencesItem> refs;
12089         {
12090         AddReferencesItem ref;
12091         ref.IsForward = true;
12092         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
12093         ref.SourceNodeId = ToNodeId("i=2076");
12094         ref.TargetNodeClass = NodeClass::DataType;
12095         ref.TargetNodeId = ToNodeId("i=78");
12096         refs.push_back(ref);
12097         }
12098         registry.AddReferences(refs);
12099         }
12100        
12101         {
12102         AddNodesItem node;
12103         node.RequestedNewNodeId = ToNodeId("i=2077");
12104         node.BrowseName = ToQualifiedName("UserIdentityToken");
12105         node.Class = NodeClass::Variable;
12106         node.ParentNodeId = ToNodeId("i=2075");
12107         node.ReferenceTypeId = ReferenceId::HasProperty;
12108         node.TypeDefinition = ToNodeId("i=68");
12109         VariableAttributes attrs;
12110         attrs.DisplayName = LocalizedText("UserIdentityToken");
12111         attrs.Type = ToNodeId("i=316");
12112         attrs.Rank = -1;
12113         node.Attributes = attrs;
12114         registry.AddNodes(std::vector<AddNodesItem>{node});
12115         std::vector<AddReferencesItem> refs;
12116         {
12117         AddReferencesItem ref;
12118         ref.IsForward = true;
12119         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
12120         ref.SourceNodeId = ToNodeId("i=2077");
12121         ref.TargetNodeClass = NodeClass::DataType;
12122         ref.TargetNodeId = ToNodeId("i=78");
12123         refs.push_back(ref);
12124         }
12125         registry.AddReferences(refs);
12126         }
12127        
12128         {
12129         AddNodesItem node;
12130         node.RequestedNewNodeId = ToNodeId("i=11485");
12131         node.BrowseName = ToQualifiedName("SecureChannelId");
12132         node.Class = NodeClass::Variable;
12133         node.ParentNodeId = ToNodeId("i=2075");
12134         node.ReferenceTypeId = ReferenceId::HasProperty;
12135         node.TypeDefinition = ToNodeId("i=68");
12136         VariableAttributes attrs;
12137         attrs.DisplayName = LocalizedText("SecureChannelId");
12138         attrs.Type = ObjectId::String;
12139         attrs.Rank = -1;
12140         node.Attributes = attrs;
12141         registry.AddNodes(std::vector<AddNodesItem>{node});
12142         std::vector<AddReferencesItem> refs;
12143         {
12144         AddReferencesItem ref;
12145         ref.IsForward = true;
12146         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
12147         ref.SourceNodeId = ToNodeId("i=11485");
12148         ref.TargetNodeClass = NodeClass::DataType;
12149         ref.TargetNodeId = ToNodeId("i=78");
12150         refs.push_back(ref);
12151         }
12152         registry.AddReferences(refs);
12153         }
12154        
12155         {
12156         AddNodesItem node;
12157         node.RequestedNewNodeId = ToNodeId("i=2078");
12158         node.BrowseName = ToQualifiedName("AuditCancelEventType");
12159         node.Class = NodeClass::ObjectType;
12160         node.ParentNodeId = ToNodeId("i=2069");
12161         node.ReferenceTypeId = ReferenceId::HasSubtype;
12162         ObjectTypeAttributes attrs;
12163         attrs.DisplayName = LocalizedText("AuditCancelEventType");
12164         attrs.IsAbstract = true;
12165         node.Attributes = attrs;
12166         registry.AddNodes(std::vector<AddNodesItem>{node});
12167         std::vector<AddReferencesItem> refs;
12168         {
12169         AddReferencesItem ref;
12170         ref.IsForward = true;
12171         ref.ReferenceTypeId = ReferenceId::HasProperty;
12172         ref.SourceNodeId = ToNodeId("i=2078");
12173         ref.TargetNodeClass = NodeClass::DataType;
12174         ref.TargetNodeId = ToNodeId("i=2079");
12175         refs.push_back(ref);
12176         }
12177         registry.AddReferences(refs);
12178         }
12179        
12180         {
12181         AddNodesItem node;
12182         node.RequestedNewNodeId = ToNodeId("i=2079");
12183         node.BrowseName = ToQualifiedName("RequestHandle");
12184         node.Class = NodeClass::Variable;
12185         node.ParentNodeId = ToNodeId("i=2078");
12186         node.ReferenceTypeId = ReferenceId::HasProperty;
12187         node.TypeDefinition = ToNodeId("i=68");
12188         VariableAttributes attrs;
12189         attrs.DisplayName = LocalizedText("RequestHandle");
12190         attrs.Type = ObjectId::UInt32;
12191         attrs.Rank = -1;
12192         node.Attributes = attrs;
12193         registry.AddNodes(std::vector<AddNodesItem>{node});
12194         std::vector<AddReferencesItem> refs;
12195         {
12196         AddReferencesItem ref;
12197         ref.IsForward = true;
12198         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
12199         ref.SourceNodeId = ToNodeId("i=2079");
12200         ref.TargetNodeClass = NodeClass::DataType;
12201         ref.TargetNodeId = ToNodeId("i=78");
12202         refs.push_back(ref);
12203         }
12204         registry.AddReferences(refs);
12205         }
12206        
12207         {
12208         AddNodesItem node;
12209         node.RequestedNewNodeId = ToNodeId("i=2080");
12210         node.BrowseName = ToQualifiedName("AuditCertificateEventType");
12211         node.Class = NodeClass::ObjectType;
12212         node.ParentNodeId = ToNodeId("i=2058");
12213         node.ReferenceTypeId = ReferenceId::HasSubtype;
12214         ObjectTypeAttributes attrs;
12215         attrs.DisplayName = LocalizedText("AuditCertificateEventType");
12216         attrs.IsAbstract = true;
12217         node.Attributes = attrs;
12218         registry.AddNodes(std::vector<AddNodesItem>{node});
12219         std::vector<AddReferencesItem> refs;
12220         {
12221         AddReferencesItem ref;
12222         ref.IsForward = true;
12223         ref.ReferenceTypeId = ReferenceId::HasProperty;
12224         ref.SourceNodeId = ToNodeId("i=2080");
12225         ref.TargetNodeClass = NodeClass::DataType;
12226         ref.TargetNodeId = ToNodeId("i=2081");
12227         refs.push_back(ref);
12228         }
12229         registry.AddReferences(refs);
12230         }
12231        
12232         {
12233         AddNodesItem node;
12234         node.RequestedNewNodeId = ToNodeId("i=2081");
12235         node.BrowseName = ToQualifiedName("Certificate");
12236         node.Class = NodeClass::Variable;
12237         node.ParentNodeId = ToNodeId("i=2080");
12238         node.ReferenceTypeId = ReferenceId::HasProperty;
12239         node.TypeDefinition = ToNodeId("i=68");
12240         VariableAttributes attrs;
12241         attrs.DisplayName = LocalizedText("Certificate");
12242         attrs.Type = ObjectId::ByteString;
12243         attrs.Rank = -1;
12244         node.Attributes = attrs;
12245         registry.AddNodes(std::vector<AddNodesItem>{node});
12246         std::vector<AddReferencesItem> refs;
12247         {
12248         AddReferencesItem ref;
12249         ref.IsForward = true;
12250         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
12251         ref.SourceNodeId = ToNodeId("i=2081");
12252         ref.TargetNodeClass = NodeClass::DataType;
12253         ref.TargetNodeId = ToNodeId("i=78");
12254         refs.push_back(ref);
12255         }
12256         registry.AddReferences(refs);
12257         }
12258        
12259         {
12260         AddNodesItem node;
12261         node.RequestedNewNodeId = ToNodeId("i=2082");
12262         node.BrowseName = ToQualifiedName("AuditCertificateDataMismatchEventType");
12263         node.Class = NodeClass::ObjectType;
12264         node.ParentNodeId = ToNodeId("i=2080");
12265         node.ReferenceTypeId = ReferenceId::HasSubtype;
12266         ObjectTypeAttributes attrs;
12267         attrs.DisplayName = LocalizedText("AuditCertificateDataMismatchEventType");
12268         attrs.IsAbstract = true;
12269         node.Attributes = attrs;
12270         registry.AddNodes(std::vector<AddNodesItem>{node});
12271         std::vector<AddReferencesItem> refs;
12272         {
12273         AddReferencesItem ref;
12274         ref.IsForward = true;
12275         ref.ReferenceTypeId = ReferenceId::HasProperty;
12276         ref.SourceNodeId = ToNodeId("i=2082");
12277         ref.TargetNodeClass = NodeClass::DataType;
12278         ref.TargetNodeId = ToNodeId("i=2083");
12279         refs.push_back(ref);
12280         }
12281         {
12282         AddReferencesItem ref;
12283         ref.IsForward = true;
12284         ref.ReferenceTypeId = ReferenceId::HasProperty;
12285         ref.SourceNodeId = ToNodeId("i=2082");
12286         ref.TargetNodeClass = NodeClass::DataType;
12287         ref.TargetNodeId = ToNodeId("i=2084");
12288         refs.push_back(ref);
12289         }
12290         registry.AddReferences(refs);
12291         }
12292        
12293         {
12294         AddNodesItem node;
12295         node.RequestedNewNodeId = ToNodeId("i=2083");
12296         node.BrowseName = ToQualifiedName("InvalidHostname");
12297         node.Class = NodeClass::Variable;
12298         node.ParentNodeId = ToNodeId("i=2082");
12299         node.ReferenceTypeId = ReferenceId::HasProperty;
12300         node.TypeDefinition = ToNodeId("i=68");
12301         VariableAttributes attrs;
12302         attrs.DisplayName = LocalizedText("InvalidHostname");
12303         attrs.Type = ObjectId::String;
12304         attrs.Rank = -1;
12305         node.Attributes = attrs;
12306         registry.AddNodes(std::vector<AddNodesItem>{node});
12307         std::vector<AddReferencesItem> refs;
12308         {
12309         AddReferencesItem ref;
12310         ref.IsForward = true;
12311         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
12312         ref.SourceNodeId = ToNodeId("i=2083");
12313         ref.TargetNodeClass = NodeClass::DataType;
12314         ref.TargetNodeId = ToNodeId("i=78");
12315         refs.push_back(ref);
12316         }
12317         registry.AddReferences(refs);
12318         }
12319        
12320         {
12321         AddNodesItem node;
12322         node.RequestedNewNodeId = ToNodeId("i=2084");
12323         node.BrowseName = ToQualifiedName("InvalidUri");
12324         node.Class = NodeClass::Variable;
12325         node.ParentNodeId = ToNodeId("i=2082");
12326         node.ReferenceTypeId = ReferenceId::HasProperty;
12327         node.TypeDefinition = ToNodeId("i=68");
12328         VariableAttributes attrs;
12329         attrs.DisplayName = LocalizedText("InvalidUri");
12330         attrs.Type = ObjectId::String;
12331         attrs.Rank = -1;
12332         node.Attributes = attrs;
12333         registry.AddNodes(std::vector<AddNodesItem>{node});
12334         std::vector<AddReferencesItem> refs;
12335         {
12336         AddReferencesItem ref;
12337         ref.IsForward = true;
12338         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
12339         ref.SourceNodeId = ToNodeId("i=2084");
12340         ref.TargetNodeClass = NodeClass::DataType;
12341         ref.TargetNodeId = ToNodeId("i=78");
12342         refs.push_back(ref);
12343         }
12344         registry.AddReferences(refs);
12345         }
12346        
12347         {
12348         AddNodesItem node;
12349         node.RequestedNewNodeId = ToNodeId("i=2085");
12350         node.BrowseName = ToQualifiedName("AuditCertificateExpiredEventType");
12351         node.Class = NodeClass::ObjectType;
12352         node.ParentNodeId = ToNodeId("i=2080");
12353         node.ReferenceTypeId = ReferenceId::HasSubtype;
12354         ObjectTypeAttributes attrs;
12355         attrs.DisplayName = LocalizedText("AuditCertificateExpiredEventType");
12356         attrs.IsAbstract = true;
12357         node.Attributes = attrs;
12358         registry.AddNodes(std::vector<AddNodesItem>{node});
12359         }
12360        
12361         {
12362         AddNodesItem node;
12363         node.RequestedNewNodeId = ToNodeId("i=2086");
12364         node.BrowseName = ToQualifiedName("AuditCertificateInvalidEventType");
12365         node.Class = NodeClass::ObjectType;
12366         node.ParentNodeId = ToNodeId("i=2080");
12367         node.ReferenceTypeId = ReferenceId::HasSubtype;
12368         ObjectTypeAttributes attrs;
12369         attrs.DisplayName = LocalizedText("AuditCertificateInvalidEventType");
12370         attrs.IsAbstract = true;
12371         node.Attributes = attrs;
12372         registry.AddNodes(std::vector<AddNodesItem>{node});
12373         }
12374        
12375         {
12376         AddNodesItem node;
12377         node.RequestedNewNodeId = ToNodeId("i=2087");
12378         node.BrowseName = ToQualifiedName("AuditCertificateUntrustedEventType");
12379         node.Class = NodeClass::ObjectType;
12380         node.ParentNodeId = ToNodeId("i=2080");
12381         node.ReferenceTypeId = ReferenceId::HasSubtype;
12382         ObjectTypeAttributes attrs;
12383         attrs.DisplayName = LocalizedText("AuditCertificateUntrustedEventType");
12384         attrs.IsAbstract = true;
12385         node.Attributes = attrs;
12386         registry.AddNodes(std::vector<AddNodesItem>{node});
12387         }
12388        
12389         {
12390         AddNodesItem node;
12391         node.RequestedNewNodeId = ToNodeId("i=2088");
12392         node.BrowseName = ToQualifiedName("AuditCertificateRevokedEventType");
12393         node.Class = NodeClass::ObjectType;
12394         node.ParentNodeId = ToNodeId("i=2080");
12395         node.ReferenceTypeId = ReferenceId::HasSubtype;
12396         ObjectTypeAttributes attrs;
12397         attrs.DisplayName = LocalizedText("AuditCertificateRevokedEventType");
12398         attrs.IsAbstract = true;
12399         node.Attributes = attrs;
12400         registry.AddNodes(std::vector<AddNodesItem>{node});
12401         }
12402        
12403         {
12404         AddNodesItem node;
12405         node.RequestedNewNodeId = ToNodeId("i=2089");
12406         node.BrowseName = ToQualifiedName("AuditCertificateMismatchEventType");
12407         node.Class = NodeClass::ObjectType;
12408         node.ParentNodeId = ToNodeId("i=2080");
12409         node.ReferenceTypeId = ReferenceId::HasSubtype;
12410         ObjectTypeAttributes attrs;
12411         attrs.DisplayName = LocalizedText("AuditCertificateMismatchEventType");
12412         attrs.IsAbstract = true;
12413         node.Attributes = attrs;
12414         registry.AddNodes(std::vector<AddNodesItem>{node});
12415         }
12416        
12417         {
12418         AddNodesItem node;
12419         node.RequestedNewNodeId = ToNodeId("i=2090");
12420         node.BrowseName = ToQualifiedName("AuditNodeManagementEventType");
12421         node.Class = NodeClass::ObjectType;
12422         node.ParentNodeId = ToNodeId("i=2052");
12423         node.ReferenceTypeId = ReferenceId::HasSubtype;
12424         ObjectTypeAttributes attrs;
12425         attrs.DisplayName = LocalizedText("AuditNodeManagementEventType");
12426         attrs.IsAbstract = true;
12427         node.Attributes = attrs;
12428         registry.AddNodes(std::vector<AddNodesItem>{node});
12429         }
12430        
12431         {
12432         AddNodesItem node;
12433         node.RequestedNewNodeId = ToNodeId("i=2091");
12434         node.BrowseName = ToQualifiedName("AuditAddNodesEventType");
12435         node.Class = NodeClass::ObjectType;
12436         node.ParentNodeId = ToNodeId("i=2090");
12437         node.ReferenceTypeId = ReferenceId::HasSubtype;
12438         ObjectTypeAttributes attrs;
12439         attrs.DisplayName = LocalizedText("AuditAddNodesEventType");
12440         attrs.IsAbstract = true;
12441         node.Attributes = attrs;
12442         registry.AddNodes(std::vector<AddNodesItem>{node});
12443         std::vector<AddReferencesItem> refs;
12444         {
12445         AddReferencesItem ref;
12446         ref.IsForward = true;
12447         ref.ReferenceTypeId = ReferenceId::HasProperty;
12448         ref.SourceNodeId = ToNodeId("i=2091");
12449         ref.TargetNodeClass = NodeClass::DataType;
12450         ref.TargetNodeId = ToNodeId("i=2092");
12451         refs.push_back(ref);
12452         }
12453         registry.AddReferences(refs);
12454         }
12455        
12456         {
12457         AddNodesItem node;
12458         node.RequestedNewNodeId = ToNodeId("i=2092");
12459         node.BrowseName = ToQualifiedName("NodesToAdd");
12460         node.Class = NodeClass::Variable;
12461         node.ParentNodeId = ToNodeId("i=2091");
12462         node.ReferenceTypeId = ReferenceId::HasProperty;
12463         node.TypeDefinition = ToNodeId("i=68");
12464         VariableAttributes attrs;
12465         attrs.DisplayName = LocalizedText("NodesToAdd");
12466         attrs.Type = ToNodeId("i=376");
12467         attrs.Rank = 1;
12468         node.Attributes = attrs;
12469         registry.AddNodes(std::vector<AddNodesItem>{node});
12470         std::vector<AddReferencesItem> refs;
12471         {
12472         AddReferencesItem ref;
12473         ref.IsForward = true;
12474         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
12475         ref.SourceNodeId = ToNodeId("i=2092");
12476         ref.TargetNodeClass = NodeClass::DataType;
12477         ref.TargetNodeId = ToNodeId("i=78");
12478         refs.push_back(ref);
12479         }
12480         registry.AddReferences(refs);
12481         }
12482        
12483         {
12484         AddNodesItem node;
12485         node.RequestedNewNodeId = ToNodeId("i=2093");
12486         node.BrowseName = ToQualifiedName("AuditDeleteNodesEventType");
12487         node.Class = NodeClass::ObjectType;
12488         node.ParentNodeId = ToNodeId("i=2090");
12489         node.ReferenceTypeId = ReferenceId::HasSubtype;
12490         ObjectTypeAttributes attrs;
12491         attrs.DisplayName = LocalizedText("AuditDeleteNodesEventType");
12492         attrs.IsAbstract = true;
12493         node.Attributes = attrs;
12494         registry.AddNodes(std::vector<AddNodesItem>{node});
12495         std::vector<AddReferencesItem> refs;
12496         {
12497         AddReferencesItem ref;
12498         ref.IsForward = true;
12499         ref.ReferenceTypeId = ReferenceId::HasProperty;
12500         ref.SourceNodeId = ToNodeId("i=2093");
12501         ref.TargetNodeClass = NodeClass::DataType;
12502         ref.TargetNodeId = ToNodeId("i=2094");
12503         refs.push_back(ref);
12504         }
12505         registry.AddReferences(refs);
12506         }
12507        
12508         {
12509         AddNodesItem node;
12510         node.RequestedNewNodeId = ToNodeId("i=2094");
12511         node.BrowseName = ToQualifiedName("NodesToDelete");
12512         node.Class = NodeClass::Variable;
12513         node.ParentNodeId = ToNodeId("i=2093");
12514         node.ReferenceTypeId = ReferenceId::HasProperty;
12515         node.TypeDefinition = ToNodeId("i=68");
12516         VariableAttributes attrs;
12517         attrs.DisplayName = LocalizedText("NodesToDelete");
12518         attrs.Type = ToNodeId("i=382");
12519         attrs.Rank = 1;
12520         node.Attributes = attrs;
12521         registry.AddNodes(std::vector<AddNodesItem>{node});
12522         std::vector<AddReferencesItem> refs;
12523         {
12524         AddReferencesItem ref;
12525         ref.IsForward = true;
12526         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
12527         ref.SourceNodeId = ToNodeId("i=2094");
12528         ref.TargetNodeClass = NodeClass::DataType;
12529         ref.TargetNodeId = ToNodeId("i=78");
12530         refs.push_back(ref);
12531         }
12532         registry.AddReferences(refs);
12533         }
12534        
12535         {
12536         AddNodesItem node;
12537         node.RequestedNewNodeId = ToNodeId("i=2095");
12538         node.BrowseName = ToQualifiedName("AuditAddReferencesEventType");
12539         node.Class = NodeClass::ObjectType;
12540         node.ParentNodeId = ToNodeId("i=2090");
12541         node.ReferenceTypeId = ReferenceId::HasSubtype;
12542         ObjectTypeAttributes attrs;
12543         attrs.DisplayName = LocalizedText("AuditAddReferencesEventType");
12544         attrs.IsAbstract = true;
12545         node.Attributes = attrs;
12546         registry.AddNodes(std::vector<AddNodesItem>{node});
12547         std::vector<AddReferencesItem> refs;
12548         {
12549         AddReferencesItem ref;
12550         ref.IsForward = true;
12551         ref.ReferenceTypeId = ReferenceId::HasProperty;
12552         ref.SourceNodeId = ToNodeId("i=2095");
12553         ref.TargetNodeClass = NodeClass::DataType;
12554         ref.TargetNodeId = ToNodeId("i=2096");
12555         refs.push_back(ref);
12556         }
12557         registry.AddReferences(refs);
12558         }
12559        
12560         {
12561         AddNodesItem node;
12562         node.RequestedNewNodeId = ToNodeId("i=2096");
12563         node.BrowseName = ToQualifiedName("ReferencesToAdd");
12564         node.Class = NodeClass::Variable;
12565         node.ParentNodeId = ToNodeId("i=2095");
12566         node.ReferenceTypeId = ReferenceId::HasProperty;
12567         node.TypeDefinition = ToNodeId("i=68");
12568         VariableAttributes attrs;
12569         attrs.DisplayName = LocalizedText("ReferencesToAdd");
12570         attrs.Type = ToNodeId("i=379");
12571         attrs.Rank = 1;
12572         node.Attributes = attrs;
12573         registry.AddNodes(std::vector<AddNodesItem>{node});
12574         std::vector<AddReferencesItem> refs;
12575         {
12576         AddReferencesItem ref;
12577         ref.IsForward = true;
12578         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
12579         ref.SourceNodeId = ToNodeId("i=2096");
12580         ref.TargetNodeClass = NodeClass::DataType;
12581         ref.TargetNodeId = ToNodeId("i=78");
12582         refs.push_back(ref);
12583         }
12584         registry.AddReferences(refs);
12585         }
12586        
12587         {
12588         AddNodesItem node;
12589         node.RequestedNewNodeId = ToNodeId("i=2097");
12590         node.BrowseName = ToQualifiedName("AuditDeleteReferencesEventType");
12591         node.Class = NodeClass::ObjectType;
12592         node.ParentNodeId = ToNodeId("i=2090");
12593         node.ReferenceTypeId = ReferenceId::HasSubtype;
12594         ObjectTypeAttributes attrs;
12595         attrs.DisplayName = LocalizedText("AuditDeleteReferencesEventType");
12596         attrs.IsAbstract = true;
12597         node.Attributes = attrs;
12598         registry.AddNodes(std::vector<AddNodesItem>{node});
12599         std::vector<AddReferencesItem> refs;
12600         {
12601         AddReferencesItem ref;
12602         ref.IsForward = true;
12603         ref.ReferenceTypeId = ReferenceId::HasProperty;
12604         ref.SourceNodeId = ToNodeId("i=2097");
12605         ref.TargetNodeClass = NodeClass::DataType;
12606         ref.TargetNodeId = ToNodeId("i=2098");
12607         refs.push_back(ref);
12608         }
12609         registry.AddReferences(refs);
12610         }
12611        
12612         {
12613         AddNodesItem node;
12614         node.RequestedNewNodeId = ToNodeId("i=2098");
12615         node.BrowseName = ToQualifiedName("ReferencesToDelete");
12616         node.Class = NodeClass::Variable;
12617         node.ParentNodeId = ToNodeId("i=2097");
12618         node.ReferenceTypeId = ReferenceId::HasProperty;
12619         node.TypeDefinition = ToNodeId("i=68");
12620         VariableAttributes attrs;
12621         attrs.DisplayName = LocalizedText("ReferencesToDelete");
12622         attrs.Type = ToNodeId("i=385");
12623         attrs.Rank = 1;
12624         node.Attributes = attrs;
12625         registry.AddNodes(std::vector<AddNodesItem>{node});
12626         std::vector<AddReferencesItem> refs;
12627         {
12628         AddReferencesItem ref;
12629         ref.IsForward = true;
12630         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
12631         ref.SourceNodeId = ToNodeId("i=2098");
12632         ref.TargetNodeClass = NodeClass::DataType;
12633         ref.TargetNodeId = ToNodeId("i=78");
12634         refs.push_back(ref);
12635         }
12636         registry.AddReferences(refs);
12637         }
12638        
12639         {
12640         AddNodesItem node;
12641         node.RequestedNewNodeId = ToNodeId("i=2099");
12642         node.BrowseName = ToQualifiedName("AuditUpdateEventType");
12643         node.Class = NodeClass::ObjectType;
12644         node.ParentNodeId = ToNodeId("i=2052");
12645         node.ReferenceTypeId = ReferenceId::HasSubtype;
12646         ObjectTypeAttributes attrs;
12647         attrs.DisplayName = LocalizedText("AuditUpdateEventType");
12648         attrs.IsAbstract = true;
12649         node.Attributes = attrs;
12650         registry.AddNodes(std::vector<AddNodesItem>{node});
12651         }
12652        
12653         {
12654         AddNodesItem node;
12655         node.RequestedNewNodeId = ToNodeId("i=2100");
12656         node.BrowseName = ToQualifiedName("AuditWriteUpdateEventType");
12657         node.Class = NodeClass::ObjectType;
12658         node.ParentNodeId = ToNodeId("i=2099");
12659         node.ReferenceTypeId = ReferenceId::HasSubtype;
12660         ObjectTypeAttributes attrs;
12661         attrs.DisplayName = LocalizedText("AuditWriteUpdateEventType");
12662         attrs.IsAbstract = true;
12663         node.Attributes = attrs;
12664         registry.AddNodes(std::vector<AddNodesItem>{node});
12665         std::vector<AddReferencesItem> refs;
12666         {
12667         AddReferencesItem ref;
12668         ref.IsForward = true;
12669         ref.ReferenceTypeId = ReferenceId::HasProperty;
12670         ref.SourceNodeId = ToNodeId("i=2100");
12671         ref.TargetNodeClass = NodeClass::DataType;
12672         ref.TargetNodeId = ToNodeId("i=2750");
12673         refs.push_back(ref);
12674         }
12675         {
12676         AddReferencesItem ref;
12677         ref.IsForward = true;
12678         ref.ReferenceTypeId = ReferenceId::HasProperty;
12679         ref.SourceNodeId = ToNodeId("i=2100");
12680         ref.TargetNodeClass = NodeClass::DataType;
12681         ref.TargetNodeId = ToNodeId("i=2101");
12682         refs.push_back(ref);
12683         }
12684         {
12685         AddReferencesItem ref;
12686         ref.IsForward = true;
12687         ref.ReferenceTypeId = ReferenceId::HasProperty;
12688         ref.SourceNodeId = ToNodeId("i=2100");
12689         ref.TargetNodeClass = NodeClass::DataType;
12690         ref.TargetNodeId = ToNodeId("i=2102");
12691         refs.push_back(ref);
12692         }
12693         {
12694         AddReferencesItem ref;
12695         ref.IsForward = true;
12696         ref.ReferenceTypeId = ReferenceId::HasProperty;
12697         ref.SourceNodeId = ToNodeId("i=2100");
12698         ref.TargetNodeClass = NodeClass::DataType;
12699         ref.TargetNodeId = ToNodeId("i=2103");
12700         refs.push_back(ref);
12701         }
12702         registry.AddReferences(refs);
12703         }
12704        
12705         {
12706         AddNodesItem node;
12707         node.RequestedNewNodeId = ToNodeId("i=2750");
12708         node.BrowseName = ToQualifiedName("AttributeId");
12709         node.Class = NodeClass::Variable;
12710         node.ParentNodeId = ToNodeId("i=2100");
12711         node.ReferenceTypeId = ReferenceId::HasProperty;
12712         node.TypeDefinition = ToNodeId("i=68");
12713         VariableAttributes attrs;
12714         attrs.DisplayName = LocalizedText("AttributeId");
12715         attrs.Type = ObjectId::UInt32;
12716         attrs.Rank = -1;
12717         node.Attributes = attrs;
12718         registry.AddNodes(std::vector<AddNodesItem>{node});
12719         std::vector<AddReferencesItem> refs;
12720         {
12721         AddReferencesItem ref;
12722         ref.IsForward = true;
12723         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
12724         ref.SourceNodeId = ToNodeId("i=2750");
12725         ref.TargetNodeClass = NodeClass::DataType;
12726         ref.TargetNodeId = ToNodeId("i=78");
12727         refs.push_back(ref);
12728         }
12729         registry.AddReferences(refs);
12730         }
12731        
12732         {
12733         AddNodesItem node;
12734         node.RequestedNewNodeId = ToNodeId("i=2101");
12735         node.BrowseName = ToQualifiedName("IndexRange");
12736         node.Class = NodeClass::Variable;
12737         node.ParentNodeId = ToNodeId("i=2100");
12738         node.ReferenceTypeId = ReferenceId::HasProperty;
12739         node.TypeDefinition = ToNodeId("i=68");
12740         VariableAttributes attrs;
12741         attrs.DisplayName = LocalizedText("IndexRange");
12742         attrs.Type = ToNodeId("i=291");
12743         attrs.Rank = -1;
12744         node.Attributes = attrs;
12745         registry.AddNodes(std::vector<AddNodesItem>{node});
12746         std::vector<AddReferencesItem> refs;
12747         {
12748         AddReferencesItem ref;
12749         ref.IsForward = true;
12750         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
12751         ref.SourceNodeId = ToNodeId("i=2101");
12752         ref.TargetNodeClass = NodeClass::DataType;
12753         ref.TargetNodeId = ToNodeId("i=78");
12754         refs.push_back(ref);
12755         }
12756         registry.AddReferences(refs);
12757         }
12758        
12759         {
12760         AddNodesItem node;
12761         node.RequestedNewNodeId = ToNodeId("i=2102");
12762         node.BrowseName = ToQualifiedName("OldValue");
12763         node.Class = NodeClass::Variable;
12764         node.ParentNodeId = ToNodeId("i=2100");
12765         node.ReferenceTypeId = ReferenceId::HasProperty;
12766         node.TypeDefinition = ToNodeId("i=68");
12767         VariableAttributes attrs;
12768         attrs.DisplayName = LocalizedText("OldValue");
12769         attrs.Type = ObjectId::String;
12770         attrs.Rank = -1;
12771         node.Attributes = attrs;
12772         registry.AddNodes(std::vector<AddNodesItem>{node});
12773         std::vector<AddReferencesItem> refs;
12774         {
12775         AddReferencesItem ref;
12776         ref.IsForward = true;
12777         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
12778         ref.SourceNodeId = ToNodeId("i=2102");
12779         ref.TargetNodeClass = NodeClass::DataType;
12780         ref.TargetNodeId = ToNodeId("i=78");
12781         refs.push_back(ref);
12782         }
12783         registry.AddReferences(refs);
12784         }
12785        
12786         {
12787         AddNodesItem node;
12788         node.RequestedNewNodeId = ToNodeId("i=2103");
12789         node.BrowseName = ToQualifiedName("NewValue");
12790         node.Class = NodeClass::Variable;
12791         node.ParentNodeId = ToNodeId("i=2100");
12792         node.ReferenceTypeId = ReferenceId::HasProperty;
12793         node.TypeDefinition = ToNodeId("i=68");
12794         VariableAttributes attrs;
12795         attrs.DisplayName = LocalizedText("NewValue");
12796         attrs.Type = ObjectId::String;
12797         attrs.Rank = -1;
12798         node.Attributes = attrs;
12799         registry.AddNodes(std::vector<AddNodesItem>{node});
12800         std::vector<AddReferencesItem> refs;
12801         {
12802         AddReferencesItem ref;
12803         ref.IsForward = true;
12804         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
12805         ref.SourceNodeId = ToNodeId("i=2103");
12806         ref.TargetNodeClass = NodeClass::DataType;
12807         ref.TargetNodeId = ToNodeId("i=78");
12808         refs.push_back(ref);
12809         }
12810         registry.AddReferences(refs);
12811         }
12812        
12813         {
12814         AddNodesItem node;
12815         node.RequestedNewNodeId = ToNodeId("i=2104");
12816         node.BrowseName = ToQualifiedName("AuditHistoryUpdateEventType");
12817         node.Class = NodeClass::ObjectType;
12818         node.ParentNodeId = ToNodeId("i=2099");
12819         node.ReferenceTypeId = ReferenceId::HasSubtype;
12820         ObjectTypeAttributes attrs;
12821         attrs.DisplayName = LocalizedText("AuditHistoryUpdateEventType");
12822         attrs.IsAbstract = true;
12823         node.Attributes = attrs;
12824         registry.AddNodes(std::vector<AddNodesItem>{node});
12825         std::vector<AddReferencesItem> refs;
12826         {
12827         AddReferencesItem ref;
12828         ref.IsForward = true;
12829         ref.ReferenceTypeId = ReferenceId::HasProperty;
12830         ref.SourceNodeId = ToNodeId("i=2104");
12831         ref.TargetNodeClass = NodeClass::DataType;
12832         ref.TargetNodeId = ToNodeId("i=2751");
12833         refs.push_back(ref);
12834         }
12835         registry.AddReferences(refs);
12836         }
12837        
12838         {
12839         AddNodesItem node;
12840         node.RequestedNewNodeId = ToNodeId("i=2751");
12841         node.BrowseName = ToQualifiedName("ParameterDataTypeId");
12842         node.Class = NodeClass::Variable;
12843         node.ParentNodeId = ToNodeId("i=2104");
12844         node.ReferenceTypeId = ReferenceId::HasProperty;
12845         node.TypeDefinition = ToNodeId("i=68");
12846         VariableAttributes attrs;
12847         attrs.DisplayName = LocalizedText("ParameterDataTypeId");
12848         attrs.Type = ObjectId::NodeId;
12849         attrs.Rank = -1;
12850         node.Attributes = attrs;
12851         registry.AddNodes(std::vector<AddNodesItem>{node});
12852         std::vector<AddReferencesItem> refs;
12853         {
12854         AddReferencesItem ref;
12855         ref.IsForward = true;
12856         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
12857         ref.SourceNodeId = ToNodeId("i=2751");
12858         ref.TargetNodeClass = NodeClass::DataType;
12859         ref.TargetNodeId = ToNodeId("i=78");
12860         refs.push_back(ref);
12861         }
12862         registry.AddReferences(refs);
12863         }
12864        
12865         {
12866         AddNodesItem node;
12867         node.RequestedNewNodeId = ToNodeId("i=2127");
12868         node.BrowseName = ToQualifiedName("AuditUpdateMethodEventType");
12869         node.Class = NodeClass::ObjectType;
12870         node.ParentNodeId = ToNodeId("i=2052");
12871         node.ReferenceTypeId = ReferenceId::HasSubtype;
12872         ObjectTypeAttributes attrs;
12873         attrs.DisplayName = LocalizedText("AuditUpdateMethodEventType");
12874         attrs.IsAbstract = true;
12875         node.Attributes = attrs;
12876         registry.AddNodes(std::vector<AddNodesItem>{node});
12877         std::vector<AddReferencesItem> refs;
12878         {
12879         AddReferencesItem ref;
12880         ref.IsForward = true;
12881         ref.ReferenceTypeId = ReferenceId::HasProperty;
12882         ref.SourceNodeId = ToNodeId("i=2127");
12883         ref.TargetNodeClass = NodeClass::DataType;
12884         ref.TargetNodeId = ToNodeId("i=2128");
12885         refs.push_back(ref);
12886         }
12887         {
12888         AddReferencesItem ref;
12889         ref.IsForward = true;
12890         ref.ReferenceTypeId = ReferenceId::HasProperty;
12891         ref.SourceNodeId = ToNodeId("i=2127");
12892         ref.TargetNodeClass = NodeClass::DataType;
12893         ref.TargetNodeId = ToNodeId("i=2129");
12894         refs.push_back(ref);
12895         }
12896         registry.AddReferences(refs);
12897         }
12898        
12899         {
12900         AddNodesItem node;
12901         node.RequestedNewNodeId = ToNodeId("i=2128");
12902         node.BrowseName = ToQualifiedName("MethodId");
12903         node.Class = NodeClass::Variable;
12904         node.ParentNodeId = ToNodeId("i=2127");
12905         node.ReferenceTypeId = ReferenceId::HasProperty;
12906         node.TypeDefinition = ToNodeId("i=68");
12907         VariableAttributes attrs;
12908         attrs.DisplayName = LocalizedText("MethodId");
12909         attrs.Type = ObjectId::NodeId;
12910         attrs.Rank = -1;
12911         node.Attributes = attrs;
12912         registry.AddNodes(std::vector<AddNodesItem>{node});
12913         std::vector<AddReferencesItem> refs;
12914         {
12915         AddReferencesItem ref;
12916         ref.IsForward = true;
12917         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
12918         ref.SourceNodeId = ToNodeId("i=2128");
12919         ref.TargetNodeClass = NodeClass::DataType;
12920         ref.TargetNodeId = ToNodeId("i=78");
12921         refs.push_back(ref);
12922         }
12923         registry.AddReferences(refs);
12924         }
12925        
12926         {
12927         AddNodesItem node;
12928         node.RequestedNewNodeId = ToNodeId("i=2129");
12929         node.BrowseName = ToQualifiedName("InputArguments");
12930         node.Class = NodeClass::Variable;
12931         node.ParentNodeId = ToNodeId("i=2127");
12932         node.ReferenceTypeId = ReferenceId::HasProperty;
12933         node.TypeDefinition = ToNodeId("i=68");
12934         VariableAttributes attrs;
12935         attrs.DisplayName = LocalizedText("InputArguments");
12936         attrs.Type = ObjectId::String;
12937         attrs.Rank = 1;
12938         node.Attributes = attrs;
12939         registry.AddNodes(std::vector<AddNodesItem>{node});
12940         std::vector<AddReferencesItem> refs;
12941         {
12942         AddReferencesItem ref;
12943         ref.IsForward = true;
12944         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
12945         ref.SourceNodeId = ToNodeId("i=2129");
12946         ref.TargetNodeClass = NodeClass::DataType;
12947         ref.TargetNodeId = ToNodeId("i=78");
12948         refs.push_back(ref);
12949         }
12950         registry.AddReferences(refs);
12951         }
12952        
12953         {
12954         AddNodesItem node;
12955         node.RequestedNewNodeId = ToNodeId("i=2130");
12956         node.BrowseName = ToQualifiedName("SystemEventType");
12957         node.Class = NodeClass::ObjectType;
12958         node.ParentNodeId = ToNodeId("i=2041");
12959         node.ReferenceTypeId = ReferenceId::HasSubtype;
12960         ObjectTypeAttributes attrs;
12961         attrs.DisplayName = LocalizedText("SystemEventType");
12962         attrs.IsAbstract = true;
12963         node.Attributes = attrs;
12964         registry.AddNodes(std::vector<AddNodesItem>{node});
12965         }
12966        
12967         {
12968         AddNodesItem node;
12969         node.RequestedNewNodeId = ToNodeId("i=2131");
12970         node.BrowseName = ToQualifiedName("DeviceFailureEventType");
12971         node.Class = NodeClass::ObjectType;
12972         node.ParentNodeId = ToNodeId("i=2130");
12973         node.ReferenceTypeId = ReferenceId::HasSubtype;
12974         ObjectTypeAttributes attrs;
12975         attrs.DisplayName = LocalizedText("DeviceFailureEventType");
12976         attrs.IsAbstract = true;
12977         node.Attributes = attrs;
12978         registry.AddNodes(std::vector<AddNodesItem>{node});
12979         }
12980        
12981         {
12982         AddNodesItem node;
12983         node.RequestedNewNodeId = ToNodeId("i=11446");
12984         node.BrowseName = ToQualifiedName("SystemStatusChangeEventType");
12985         node.Class = NodeClass::ObjectType;
12986         node.ParentNodeId = ToNodeId("i=2130");
12987         node.ReferenceTypeId = ReferenceId::HasSubtype;
12988         ObjectTypeAttributes attrs;
12989         attrs.DisplayName = LocalizedText("SystemStatusChangeEventType");
12990         attrs.IsAbstract = true;
12991         node.Attributes = attrs;
12992         registry.AddNodes(std::vector<AddNodesItem>{node});
12993         std::vector<AddReferencesItem> refs;
12994         {
12995         AddReferencesItem ref;
12996         ref.IsForward = true;
12997         ref.ReferenceTypeId = ReferenceId::HasProperty;
12998         ref.SourceNodeId = ToNodeId("i=11446");
12999         ref.TargetNodeClass = NodeClass::DataType;
13000         ref.TargetNodeId = ToNodeId("i=11696");
13001         refs.push_back(ref);
13002         }
13003         registry.AddReferences(refs);
13004         }
13005        
13006         {
13007         AddNodesItem node;
13008         node.RequestedNewNodeId = ToNodeId("i=11696");
13009         node.BrowseName = ToQualifiedName("SystemState");
13010         node.Class = NodeClass::Variable;
13011         node.ParentNodeId = ToNodeId("i=11446");
13012         node.ReferenceTypeId = ReferenceId::HasProperty;
13013         node.TypeDefinition = ToNodeId("i=68");
13014         VariableAttributes attrs;
13015         attrs.DisplayName = LocalizedText("SystemState");
13016         attrs.Type = ToNodeId("i=852");
13017         attrs.Rank = -1;
13018         node.Attributes = attrs;
13019         registry.AddNodes(std::vector<AddNodesItem>{node});
13020         std::vector<AddReferencesItem> refs;
13021         {
13022         AddReferencesItem ref;
13023         ref.IsForward = true;
13024         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
13025         ref.SourceNodeId = ToNodeId("i=11696");
13026         ref.TargetNodeClass = NodeClass::DataType;
13027         ref.TargetNodeId = ToNodeId("i=78");
13028         refs.push_back(ref);
13029         }
13030         registry.AddReferences(refs);
13031         }
13032        
13033         {
13034         AddNodesItem node;
13035         node.RequestedNewNodeId = ToNodeId("i=2132");
13036         node.BrowseName = ToQualifiedName("BaseModelChangeEventType");
13037         node.Class = NodeClass::ObjectType;
13038         node.ParentNodeId = ToNodeId("i=2041");
13039         node.ReferenceTypeId = ReferenceId::HasSubtype;
13040         ObjectTypeAttributes attrs;
13041         attrs.DisplayName = LocalizedText("BaseModelChangeEventType");
13042         attrs.IsAbstract = true;
13043         node.Attributes = attrs;
13044         registry.AddNodes(std::vector<AddNodesItem>{node});
13045         }
13046        
13047         {
13048         AddNodesItem node;
13049         node.RequestedNewNodeId = ToNodeId("i=2133");
13050         node.BrowseName = ToQualifiedName("GeneralModelChangeEventType");
13051         node.Class = NodeClass::ObjectType;
13052         node.ParentNodeId = ToNodeId("i=2132");
13053         node.ReferenceTypeId = ReferenceId::HasSubtype;
13054         ObjectTypeAttributes attrs;
13055         attrs.DisplayName = LocalizedText("GeneralModelChangeEventType");
13056         attrs.IsAbstract = true;
13057         node.Attributes = attrs;
13058         registry.AddNodes(std::vector<AddNodesItem>{node});
13059         std::vector<AddReferencesItem> refs;
13060         {
13061         AddReferencesItem ref;
13062         ref.IsForward = true;
13063         ref.ReferenceTypeId = ReferenceId::HasProperty;
13064         ref.SourceNodeId = ToNodeId("i=2133");
13065         ref.TargetNodeClass = NodeClass::DataType;
13066         ref.TargetNodeId = ToNodeId("i=2134");
13067         refs.push_back(ref);
13068         }
13069         registry.AddReferences(refs);
13070         }
13071        
13072         {
13073         AddNodesItem node;
13074         node.RequestedNewNodeId = ToNodeId("i=2134");
13075         node.BrowseName = ToQualifiedName("Changes");
13076         node.Class = NodeClass::Variable;
13077         node.ParentNodeId = ToNodeId("i=2133");
13078         node.ReferenceTypeId = ReferenceId::HasProperty;
13079         node.TypeDefinition = ToNodeId("i=68");
13080         VariableAttributes attrs;
13081         attrs.DisplayName = LocalizedText("Changes");
13082         attrs.Type = ToNodeId("i=877");
13083         attrs.Rank = 1;
13084         node.Attributes = attrs;
13085         registry.AddNodes(std::vector<AddNodesItem>{node});
13086         std::vector<AddReferencesItem> refs;
13087         {
13088         AddReferencesItem ref;
13089         ref.IsForward = true;
13090         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
13091         ref.SourceNodeId = ToNodeId("i=2134");
13092         ref.TargetNodeClass = NodeClass::DataType;
13093         ref.TargetNodeId = ToNodeId("i=78");
13094         refs.push_back(ref);
13095         }
13096         registry.AddReferences(refs);
13097         }
13098        
13099         {
13100         AddNodesItem node;
13101         node.RequestedNewNodeId = ToNodeId("i=2738");
13102         node.BrowseName = ToQualifiedName("SemanticChangeEventType");
13103         node.Class = NodeClass::ObjectType;
13104         node.ParentNodeId = ToNodeId("i=2132");
13105         node.ReferenceTypeId = ReferenceId::HasSubtype;
13106         ObjectTypeAttributes attrs;
13107         attrs.DisplayName = LocalizedText("SemanticChangeEventType");
13108         attrs.IsAbstract = true;
13109         node.Attributes = attrs;
13110         registry.AddNodes(std::vector<AddNodesItem>{node});
13111         std::vector<AddReferencesItem> refs;
13112         {
13113         AddReferencesItem ref;
13114         ref.IsForward = true;
13115         ref.ReferenceTypeId = ReferenceId::HasProperty;
13116         ref.SourceNodeId = ToNodeId("i=2738");
13117         ref.TargetNodeClass = NodeClass::DataType;
13118         ref.TargetNodeId = ToNodeId("i=2739");
13119         refs.push_back(ref);
13120         }
13121         registry.AddReferences(refs);
13122         }
13123        
13124         {
13125         AddNodesItem node;
13126         node.RequestedNewNodeId = ToNodeId("i=2739");
13127         node.BrowseName = ToQualifiedName("Changes");
13128         node.Class = NodeClass::Variable;
13129         node.ParentNodeId = ToNodeId("i=2738");
13130         node.ReferenceTypeId = ReferenceId::HasProperty;
13131         node.TypeDefinition = ToNodeId("i=68");
13132         VariableAttributes attrs;
13133         attrs.DisplayName = LocalizedText("Changes");
13134         attrs.Type = ToNodeId("i=897");
13135         attrs.Rank = 1;
13136         node.Attributes = attrs;
13137         registry.AddNodes(std::vector<AddNodesItem>{node});
13138         std::vector<AddReferencesItem> refs;
13139         {
13140         AddReferencesItem ref;
13141         ref.IsForward = true;
13142         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
13143         ref.SourceNodeId = ToNodeId("i=2739");
13144         ref.TargetNodeClass = NodeClass::DataType;
13145         ref.TargetNodeId = ToNodeId("i=78");
13146         refs.push_back(ref);
13147         }
13148         registry.AddReferences(refs);
13149         }
13150        
13151         {
13152         AddNodesItem node;
13153         node.RequestedNewNodeId = ToNodeId("i=3035");
13154         node.BrowseName = ToQualifiedName("EventQueueOverflowEventType");
13155         node.Class = NodeClass::ObjectType;
13156         node.ParentNodeId = ToNodeId("i=2041");
13157         node.ReferenceTypeId = ReferenceId::HasSubtype;
13158         ObjectTypeAttributes attrs;
13159         attrs.DisplayName = LocalizedText("EventQueueOverflowEventType");
13160         attrs.IsAbstract = true;
13161         node.Attributes = attrs;
13162         registry.AddNodes(std::vector<AddNodesItem>{node});
13163         }
13164        
13165         {
13166         AddNodesItem node;
13167         node.RequestedNewNodeId = ToNodeId("i=11436");
13168         node.BrowseName = ToQualifiedName("ProgressEventType");
13169         node.Class = NodeClass::ObjectType;
13170         node.ParentNodeId = ToNodeId("i=2041");
13171         node.ReferenceTypeId = ReferenceId::HasSubtype;
13172         ObjectTypeAttributes attrs;
13173         attrs.DisplayName = LocalizedText("ProgressEventType");
13174         attrs.IsAbstract = true;
13175         node.Attributes = attrs;
13176         registry.AddNodes(std::vector<AddNodesItem>{node});
13177         }
13178        
13179         {
13180         AddNodesItem node;
13181         node.RequestedNewNodeId = ToNodeId("i=2340");
13182         node.BrowseName = ToQualifiedName("AggregateFunctionType");
13183         node.Class = NodeClass::ObjectType;
13184         node.ParentNodeId = ToNodeId("i=58");
13185         node.ReferenceTypeId = ReferenceId::HasSubtype;
13186         ObjectTypeAttributes attrs;
13187         attrs.DisplayName = LocalizedText("AggregateFunctionType");
13188         attrs.IsAbstract = false;
13189         node.Attributes = attrs;
13190         registry.AddNodes(std::vector<AddNodesItem>{node});
13191         }
13192        
13193         {
13194         AddNodesItem node;
13195         node.RequestedNewNodeId = ToNodeId("i=2137");
13196         node.BrowseName = ToQualifiedName("ServerVendorCapabilityType");
13197         node.Class = NodeClass::VariableType;
13198         node.ParentNodeId = ToNodeId("i=63");
13199         node.ReferenceTypeId = ReferenceId::HasSubtype;
13200         VariableTypeAttributes attrs;
13201         attrs.DisplayName = LocalizedText("ServerVendorCapabilityType");
13202         attrs.Type = ObjectId::String;
13203         attrs.Rank = -1;
13204         attrs.IsAbstract = true;
13205         node.Attributes = attrs;
13206         registry.AddNodes(std::vector<AddNodesItem>{node});
13207         }
13208        
13209         {
13210         AddNodesItem node;
13211         node.RequestedNewNodeId = ToNodeId("i=2138");
13212         node.BrowseName = ToQualifiedName("ServerStatusType");
13213         node.Class = NodeClass::VariableType;
13214         node.ParentNodeId = ToNodeId("i=63");
13215         node.ReferenceTypeId = ReferenceId::HasSubtype;
13216         VariableTypeAttributes attrs;
13217         attrs.DisplayName = LocalizedText("ServerStatusType");
13218         attrs.Type = ToNodeId("i=862");
13219         attrs.Rank = -1;
13220         attrs.IsAbstract = false;
13221         node.Attributes = attrs;
13222         registry.AddNodes(std::vector<AddNodesItem>{node});
13223         std::vector<AddReferencesItem> refs;
13224         {
13225         AddReferencesItem ref;
13226         ref.IsForward = true;
13227         ref.ReferenceTypeId = ReferenceId::HasComponent;
13228         ref.SourceNodeId = ToNodeId("i=2138");
13229         ref.TargetNodeClass = NodeClass::DataType;
13230         ref.TargetNodeId = ToNodeId("i=2139");
13231         refs.push_back(ref);
13232         }
13233         {
13234         AddReferencesItem ref;
13235         ref.IsForward = true;
13236         ref.ReferenceTypeId = ReferenceId::HasComponent;
13237         ref.SourceNodeId = ToNodeId("i=2138");
13238         ref.TargetNodeClass = NodeClass::DataType;
13239         ref.TargetNodeId = ToNodeId("i=2140");
13240         refs.push_back(ref);
13241         }
13242         {
13243         AddReferencesItem ref;
13244         ref.IsForward = true;
13245         ref.ReferenceTypeId = ReferenceId::HasComponent;
13246         ref.SourceNodeId = ToNodeId("i=2138");
13247         ref.TargetNodeClass = NodeClass::DataType;
13248         ref.TargetNodeId = ToNodeId("i=2141");
13249         refs.push_back(ref);
13250         }
13251         {
13252         AddReferencesItem ref;
13253         ref.IsForward = true;
13254         ref.ReferenceTypeId = ReferenceId::HasComponent;
13255         ref.SourceNodeId = ToNodeId("i=2138");
13256         ref.TargetNodeClass = NodeClass::DataType;
13257         ref.TargetNodeId = ToNodeId("i=2142");
13258         refs.push_back(ref);
13259         }
13260         {
13261         AddReferencesItem ref;
13262         ref.IsForward = true;
13263         ref.ReferenceTypeId = ReferenceId::HasComponent;
13264         ref.SourceNodeId = ToNodeId("i=2138");
13265         ref.TargetNodeClass = NodeClass::DataType;
13266         ref.TargetNodeId = ToNodeId("i=2752");
13267         refs.push_back(ref);
13268         }
13269         {
13270         AddReferencesItem ref;
13271         ref.IsForward = true;
13272         ref.ReferenceTypeId = ReferenceId::HasComponent;
13273         ref.SourceNodeId = ToNodeId("i=2138");
13274         ref.TargetNodeClass = NodeClass::DataType;
13275         ref.TargetNodeId = ToNodeId("i=2753");
13276         refs.push_back(ref);
13277         }
13278         registry.AddReferences(refs);
13279         }
13280        
13281         {
13282         AddNodesItem node;
13283         node.RequestedNewNodeId = ToNodeId("i=2139");
13284         node.BrowseName = ToQualifiedName("StartTime");
13285         node.Class = NodeClass::Variable;
13286         node.ParentNodeId = ToNodeId("i=2138");
13287         node.ReferenceTypeId = ReferenceId::HasComponent;
13288         node.TypeDefinition = ToNodeId("i=63");
13289         VariableAttributes attrs;
13290         attrs.DisplayName = LocalizedText("StartTime");
13291         attrs.Type = ToNodeId("i=294");
13292         attrs.Rank = -1;
13293         node.Attributes = attrs;
13294         registry.AddNodes(std::vector<AddNodesItem>{node});
13295         std::vector<AddReferencesItem> refs;
13296         {
13297         AddReferencesItem ref;
13298         ref.IsForward = true;
13299         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
13300         ref.SourceNodeId = ToNodeId("i=2139");
13301         ref.TargetNodeClass = NodeClass::DataType;
13302         ref.TargetNodeId = ToNodeId("i=78");
13303         refs.push_back(ref);
13304         }
13305         registry.AddReferences(refs);
13306         }
13307        
13308         {
13309         AddNodesItem node;
13310         node.RequestedNewNodeId = ToNodeId("i=2140");
13311         node.BrowseName = ToQualifiedName("CurrentTime");
13312         node.Class = NodeClass::Variable;
13313         node.ParentNodeId = ToNodeId("i=2138");
13314         node.ReferenceTypeId = ReferenceId::HasComponent;
13315         node.TypeDefinition = ToNodeId("i=63");
13316         VariableAttributes attrs;
13317         attrs.DisplayName = LocalizedText("CurrentTime");
13318         attrs.Type = ToNodeId("i=294");
13319         attrs.Rank = -1;
13320         node.Attributes = attrs;
13321         registry.AddNodes(std::vector<AddNodesItem>{node});
13322         std::vector<AddReferencesItem> refs;
13323         {
13324         AddReferencesItem ref;
13325         ref.IsForward = true;
13326         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
13327         ref.SourceNodeId = ToNodeId("i=2140");
13328         ref.TargetNodeClass = NodeClass::DataType;
13329         ref.TargetNodeId = ToNodeId("i=78");
13330         refs.push_back(ref);
13331         }
13332         registry.AddReferences(refs);
13333         }
13334        
13335         {
13336         AddNodesItem node;
13337         node.RequestedNewNodeId = ToNodeId("i=2141");
13338         node.BrowseName = ToQualifiedName("State");
13339         node.Class = NodeClass::Variable;
13340         node.ParentNodeId = ToNodeId("i=2138");
13341         node.ReferenceTypeId = ReferenceId::HasComponent;
13342         node.TypeDefinition = ToNodeId("i=63");
13343         VariableAttributes attrs;
13344         attrs.DisplayName = LocalizedText("State");
13345         attrs.Type = ToNodeId("i=852");
13346         attrs.Rank = -1;
13347         node.Attributes = attrs;
13348         registry.AddNodes(std::vector<AddNodesItem>{node});
13349         std::vector<AddReferencesItem> refs;
13350         {
13351         AddReferencesItem ref;
13352         ref.IsForward = true;
13353         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
13354         ref.SourceNodeId = ToNodeId("i=2141");
13355         ref.TargetNodeClass = NodeClass::DataType;
13356         ref.TargetNodeId = ToNodeId("i=78");
13357         refs.push_back(ref);
13358         }
13359         registry.AddReferences(refs);
13360         }
13361        
13362         {
13363         AddNodesItem node;
13364         node.RequestedNewNodeId = ToNodeId("i=2142");
13365         node.BrowseName = ToQualifiedName("BuildInfo");
13366         node.Class = NodeClass::Variable;
13367         node.ParentNodeId = ToNodeId("i=2138");
13368         node.ReferenceTypeId = ReferenceId::HasComponent;
13369         node.TypeDefinition = ToNodeId("i=3051");
13370         VariableAttributes attrs;
13371         attrs.DisplayName = LocalizedText("BuildInfo");
13372         attrs.Type = ToNodeId("i=338");
13373         attrs.Rank = -1;
13374         node.Attributes = attrs;
13375         registry.AddNodes(std::vector<AddNodesItem>{node});
13376         std::vector<AddReferencesItem> refs;
13377         {
13378         AddReferencesItem ref;
13379         ref.IsForward = true;
13380         ref.ReferenceTypeId = ReferenceId::HasComponent;
13381         ref.SourceNodeId = ToNodeId("i=2142");
13382         ref.TargetNodeClass = NodeClass::DataType;
13383         ref.TargetNodeId = ToNodeId("i=3698");
13384         refs.push_back(ref);
13385         }
13386         {
13387         AddReferencesItem ref;
13388         ref.IsForward = true;
13389         ref.ReferenceTypeId = ReferenceId::HasComponent;
13390         ref.SourceNodeId = ToNodeId("i=2142");
13391         ref.TargetNodeClass = NodeClass::DataType;
13392         ref.TargetNodeId = ToNodeId("i=3699");
13393         refs.push_back(ref);
13394         }
13395         {
13396         AddReferencesItem ref;
13397         ref.IsForward = true;
13398         ref.ReferenceTypeId = ReferenceId::HasComponent;
13399         ref.SourceNodeId = ToNodeId("i=2142");
13400         ref.TargetNodeClass = NodeClass::DataType;
13401         ref.TargetNodeId = ToNodeId("i=3700");
13402         refs.push_back(ref);
13403         }
13404         {
13405         AddReferencesItem ref;
13406         ref.IsForward = true;
13407         ref.ReferenceTypeId = ReferenceId::HasComponent;
13408         ref.SourceNodeId = ToNodeId("i=2142");
13409         ref.TargetNodeClass = NodeClass::DataType;
13410         ref.TargetNodeId = ToNodeId("i=3701");
13411         refs.push_back(ref);
13412         }
13413         {
13414         AddReferencesItem ref;
13415         ref.IsForward = true;
13416         ref.ReferenceTypeId = ReferenceId::HasComponent;
13417         ref.SourceNodeId = ToNodeId("i=2142");
13418         ref.TargetNodeClass = NodeClass::DataType;
13419         ref.TargetNodeId = ToNodeId("i=3702");
13420         refs.push_back(ref);
13421         }
13422         {
13423         AddReferencesItem ref;
13424         ref.IsForward = true;
13425         ref.ReferenceTypeId = ReferenceId::HasComponent;
13426         ref.SourceNodeId = ToNodeId("i=2142");
13427         ref.TargetNodeClass = NodeClass::DataType;
13428         ref.TargetNodeId = ToNodeId("i=3703");
13429         refs.push_back(ref);
13430         }
13431         {
13432         AddReferencesItem ref;
13433         ref.IsForward = true;
13434         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
13435         ref.SourceNodeId = ToNodeId("i=2142");
13436         ref.TargetNodeClass = NodeClass::DataType;
13437         ref.TargetNodeId = ToNodeId("i=78");
13438         refs.push_back(ref);
13439         }
13440         registry.AddReferences(refs);
13441         }
13442        
13443         {
13444         AddNodesItem node;
13445         node.RequestedNewNodeId = ToNodeId("i=3698");
13446         node.BrowseName = ToQualifiedName("ProductUri");
13447         node.Class = NodeClass::Variable;
13448         node.ParentNodeId = ToNodeId("i=2142");
13449         node.ReferenceTypeId = ReferenceId::HasComponent;
13450         node.TypeDefinition = ToNodeId("i=63");
13451         VariableAttributes attrs;
13452         attrs.DisplayName = LocalizedText("ProductUri");
13453         attrs.Type = ObjectId::String;
13454         attrs.Rank = -1;
13455         attrs.MinimumSamplingInterval = 1000;
13456         node.Attributes = attrs;
13457         registry.AddNodes(std::vector<AddNodesItem>{node});
13458         std::vector<AddReferencesItem> refs;
13459         {
13460         AddReferencesItem ref;
13461         ref.IsForward = true;
13462         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
13463         ref.SourceNodeId = ToNodeId("i=3698");
13464         ref.TargetNodeClass = NodeClass::DataType;
13465         ref.TargetNodeId = ToNodeId("i=78");
13466         refs.push_back(ref);
13467         }
13468         registry.AddReferences(refs);
13469         }
13470        
13471         {
13472         AddNodesItem node;
13473         node.RequestedNewNodeId = ToNodeId("i=3699");
13474         node.BrowseName = ToQualifiedName("ManufacturerName");
13475         node.Class = NodeClass::Variable;
13476         node.ParentNodeId = ToNodeId("i=2142");
13477         node.ReferenceTypeId = ReferenceId::HasComponent;
13478         node.TypeDefinition = ToNodeId("i=63");
13479         VariableAttributes attrs;
13480         attrs.DisplayName = LocalizedText("ManufacturerName");
13481         attrs.Type = ObjectId::String;
13482         attrs.Rank = -1;
13483         attrs.MinimumSamplingInterval = 1000;
13484         node.Attributes = attrs;
13485         registry.AddNodes(std::vector<AddNodesItem>{node});
13486         std::vector<AddReferencesItem> refs;
13487         {
13488         AddReferencesItem ref;
13489         ref.IsForward = true;
13490         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
13491         ref.SourceNodeId = ToNodeId("i=3699");
13492         ref.TargetNodeClass = NodeClass::DataType;
13493         ref.TargetNodeId = ToNodeId("i=78");
13494         refs.push_back(ref);
13495         }
13496         registry.AddReferences(refs);
13497         }
13498        
13499         {
13500         AddNodesItem node;
13501         node.RequestedNewNodeId = ToNodeId("i=3700");
13502         node.BrowseName = ToQualifiedName("ProductName");
13503         node.Class = NodeClass::Variable;
13504         node.ParentNodeId = ToNodeId("i=2142");
13505         node.ReferenceTypeId = ReferenceId::HasComponent;
13506         node.TypeDefinition = ToNodeId("i=63");
13507         VariableAttributes attrs;
13508         attrs.DisplayName = LocalizedText("ProductName");
13509         attrs.Type = ObjectId::String;
13510         attrs.Rank = -1;
13511         attrs.MinimumSamplingInterval = 1000;
13512         node.Attributes = attrs;
13513         registry.AddNodes(std::vector<AddNodesItem>{node});
13514         std::vector<AddReferencesItem> refs;
13515         {
13516         AddReferencesItem ref;
13517         ref.IsForward = true;
13518         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
13519         ref.SourceNodeId = ToNodeId("i=3700");
13520         ref.TargetNodeClass = NodeClass::DataType;
13521         ref.TargetNodeId = ToNodeId("i=78");
13522         refs.push_back(ref);
13523         }
13524         registry.AddReferences(refs);
13525         }
13526        
13527         {
13528         AddNodesItem node;
13529         node.RequestedNewNodeId = ToNodeId("i=3701");
13530         node.BrowseName = ToQualifiedName("SoftwareVersion");
13531         node.Class = NodeClass::Variable;
13532         node.ParentNodeId = ToNodeId("i=2142");
13533         node.ReferenceTypeId = ReferenceId::HasComponent;
13534         node.TypeDefinition = ToNodeId("i=63");
13535         VariableAttributes attrs;
13536         attrs.DisplayName = LocalizedText("SoftwareVersion");
13537         attrs.Type = ObjectId::String;
13538         attrs.Rank = -1;
13539         attrs.MinimumSamplingInterval = 1000;
13540         node.Attributes = attrs;
13541         registry.AddNodes(std::vector<AddNodesItem>{node});
13542         std::vector<AddReferencesItem> refs;
13543         {
13544         AddReferencesItem ref;
13545         ref.IsForward = true;
13546         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
13547         ref.SourceNodeId = ToNodeId("i=3701");
13548         ref.TargetNodeClass = NodeClass::DataType;
13549         ref.TargetNodeId = ToNodeId("i=78");
13550         refs.push_back(ref);
13551         }
13552         registry.AddReferences(refs);
13553         }
13554        
13555         {
13556         AddNodesItem node;
13557         node.RequestedNewNodeId = ToNodeId("i=3702");
13558         node.BrowseName = ToQualifiedName("BuildNumber");
13559         node.Class = NodeClass::Variable;
13560         node.ParentNodeId = ToNodeId("i=2142");
13561         node.ReferenceTypeId = ReferenceId::HasComponent;
13562         node.TypeDefinition = ToNodeId("i=63");
13563         VariableAttributes attrs;
13564         attrs.DisplayName = LocalizedText("BuildNumber");
13565         attrs.Type = ObjectId::String;
13566         attrs.Rank = -1;
13567         attrs.MinimumSamplingInterval = 1000;
13568         node.Attributes = attrs;
13569         registry.AddNodes(std::vector<AddNodesItem>{node});
13570         std::vector<AddReferencesItem> refs;
13571         {
13572         AddReferencesItem ref;
13573         ref.IsForward = true;
13574         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
13575         ref.SourceNodeId = ToNodeId("i=3702");
13576         ref.TargetNodeClass = NodeClass::DataType;
13577         ref.TargetNodeId = ToNodeId("i=78");
13578         refs.push_back(ref);
13579         }
13580         registry.AddReferences(refs);
13581         }
13582        
13583         {
13584         AddNodesItem node;
13585         node.RequestedNewNodeId = ToNodeId("i=3703");
13586         node.BrowseName = ToQualifiedName("BuildDate");
13587         node.Class = NodeClass::Variable;
13588         node.ParentNodeId = ToNodeId("i=2142");
13589         node.ReferenceTypeId = ReferenceId::HasComponent;
13590         node.TypeDefinition = ToNodeId("i=63");
13591         VariableAttributes attrs;
13592         attrs.DisplayName = LocalizedText("BuildDate");
13593         attrs.Type = ToNodeId("i=294");
13594         attrs.Rank = -1;
13595         attrs.MinimumSamplingInterval = 1000;
13596         node.Attributes = attrs;
13597         registry.AddNodes(std::vector<AddNodesItem>{node});
13598         std::vector<AddReferencesItem> refs;
13599         {
13600         AddReferencesItem ref;
13601         ref.IsForward = true;
13602         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
13603         ref.SourceNodeId = ToNodeId("i=3703");
13604         ref.TargetNodeClass = NodeClass::DataType;
13605         ref.TargetNodeId = ToNodeId("i=78");
13606         refs.push_back(ref);
13607         }
13608         registry.AddReferences(refs);
13609         }
13610        
13611         {
13612         AddNodesItem node;
13613         node.RequestedNewNodeId = ToNodeId("i=2752");
13614         node.BrowseName = ToQualifiedName("SecondsTillShutdown");
13615         node.Class = NodeClass::Variable;
13616         node.ParentNodeId = ToNodeId("i=2138");
13617         node.ReferenceTypeId = ReferenceId::HasComponent;
13618         node.TypeDefinition = ToNodeId("i=63");
13619         VariableAttributes attrs;
13620         attrs.DisplayName = LocalizedText("SecondsTillShutdown");
13621         attrs.Type = ObjectId::UInt32;
13622         attrs.Rank = -1;
13623         node.Attributes = attrs;
13624         registry.AddNodes(std::vector<AddNodesItem>{node});
13625         std::vector<AddReferencesItem> refs;
13626         {
13627         AddReferencesItem ref;
13628         ref.IsForward = true;
13629         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
13630         ref.SourceNodeId = ToNodeId("i=2752");
13631         ref.TargetNodeClass = NodeClass::DataType;
13632         ref.TargetNodeId = ToNodeId("i=78");
13633         refs.push_back(ref);
13634         }
13635         registry.AddReferences(refs);
13636         }
13637        
13638         {
13639         AddNodesItem node;
13640         node.RequestedNewNodeId = ToNodeId("i=2753");
13641         node.BrowseName = ToQualifiedName("ShutdownReason");
13642         node.Class = NodeClass::Variable;
13643         node.ParentNodeId = ToNodeId("i=2138");
13644         node.ReferenceTypeId = ReferenceId::HasComponent;
13645         node.TypeDefinition = ToNodeId("i=63");
13646         VariableAttributes attrs;
13647         attrs.DisplayName = LocalizedText("ShutdownReason");
13648         attrs.Type = ObjectId::LocalizedText;
13649         attrs.Rank = -1;
13650         node.Attributes = attrs;
13651         registry.AddNodes(std::vector<AddNodesItem>{node});
13652         std::vector<AddReferencesItem> refs;
13653         {
13654         AddReferencesItem ref;
13655         ref.IsForward = true;
13656         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
13657         ref.SourceNodeId = ToNodeId("i=2753");
13658         ref.TargetNodeClass = NodeClass::DataType;
13659         ref.TargetNodeId = ToNodeId("i=78");
13660         refs.push_back(ref);
13661         }
13662         registry.AddReferences(refs);
13663         }
13664        
13665         {
13666         AddNodesItem node;
13667         node.RequestedNewNodeId = ToNodeId("i=3051");
13668         node.BrowseName = ToQualifiedName("BuildInfoType");
13669         node.Class = NodeClass::VariableType;
13670         node.ParentNodeId = ToNodeId("i=63");
13671         node.ReferenceTypeId = ReferenceId::HasSubtype;
13672         VariableTypeAttributes attrs;
13673         attrs.DisplayName = LocalizedText("BuildInfoType");
13674         attrs.Type = ToNodeId("i=338");
13675         attrs.Rank = -1;
13676         attrs.IsAbstract = false;
13677         node.Attributes = attrs;
13678         registry.AddNodes(std::vector<AddNodesItem>{node});
13679         std::vector<AddReferencesItem> refs;
13680         {
13681         AddReferencesItem ref;
13682         ref.IsForward = true;
13683         ref.ReferenceTypeId = ReferenceId::HasComponent;
13684         ref.SourceNodeId = ToNodeId("i=3051");
13685         ref.TargetNodeClass = NodeClass::DataType;
13686         ref.TargetNodeId = ToNodeId("i=3052");
13687         refs.push_back(ref);
13688         }
13689         {
13690         AddReferencesItem ref;
13691         ref.IsForward = true;
13692         ref.ReferenceTypeId = ReferenceId::HasComponent;
13693         ref.SourceNodeId = ToNodeId("i=3051");
13694         ref.TargetNodeClass = NodeClass::DataType;
13695         ref.TargetNodeId = ToNodeId("i=3053");
13696         refs.push_back(ref);
13697         }
13698         {
13699         AddReferencesItem ref;
13700         ref.IsForward = true;
13701         ref.ReferenceTypeId = ReferenceId::HasComponent;
13702         ref.SourceNodeId = ToNodeId("i=3051");
13703         ref.TargetNodeClass = NodeClass::DataType;
13704         ref.TargetNodeId = ToNodeId("i=3054");
13705         refs.push_back(ref);
13706         }
13707         {
13708         AddReferencesItem ref;
13709         ref.IsForward = true;
13710         ref.ReferenceTypeId = ReferenceId::HasComponent;
13711         ref.SourceNodeId = ToNodeId("i=3051");
13712         ref.TargetNodeClass = NodeClass::DataType;
13713         ref.TargetNodeId = ToNodeId("i=3055");
13714         refs.push_back(ref);
13715         }
13716         {
13717         AddReferencesItem ref;
13718         ref.IsForward = true;
13719         ref.ReferenceTypeId = ReferenceId::HasComponent;
13720         ref.SourceNodeId = ToNodeId("i=3051");
13721         ref.TargetNodeClass = NodeClass::DataType;
13722         ref.TargetNodeId = ToNodeId("i=3056");
13723         refs.push_back(ref);
13724         }
13725         {
13726         AddReferencesItem ref;
13727         ref.IsForward = true;
13728         ref.ReferenceTypeId = ReferenceId::HasComponent;
13729         ref.SourceNodeId = ToNodeId("i=3051");
13730         ref.TargetNodeClass = NodeClass::DataType;
13731         ref.TargetNodeId = ToNodeId("i=3057");
13732         refs.push_back(ref);
13733         }
13734         registry.AddReferences(refs);
13735         }
13736        
13737         {
13738         AddNodesItem node;
13739         node.RequestedNewNodeId = ToNodeId("i=3052");
13740         node.BrowseName = ToQualifiedName("ProductUri");
13741         node.Class = NodeClass::Variable;
13742         node.ParentNodeId = ToNodeId("i=3051");
13743         node.ReferenceTypeId = ReferenceId::HasComponent;
13744         node.TypeDefinition = ToNodeId("i=63");
13745         VariableAttributes attrs;
13746         attrs.DisplayName = LocalizedText("ProductUri");
13747         attrs.Type = ObjectId::String;
13748         attrs.Rank = -1;
13749         attrs.MinimumSamplingInterval = 1000;
13750         node.Attributes = attrs;
13751         registry.AddNodes(std::vector<AddNodesItem>{node});
13752         std::vector<AddReferencesItem> refs;
13753         {
13754         AddReferencesItem ref;
13755         ref.IsForward = true;
13756         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
13757         ref.SourceNodeId = ToNodeId("i=3052");
13758         ref.TargetNodeClass = NodeClass::DataType;
13759         ref.TargetNodeId = ToNodeId("i=78");
13760         refs.push_back(ref);
13761         }
13762         registry.AddReferences(refs);
13763         }
13764        
13765         {
13766         AddNodesItem node;
13767         node.RequestedNewNodeId = ToNodeId("i=3053");
13768         node.BrowseName = ToQualifiedName("ManufacturerName");
13769         node.Class = NodeClass::Variable;
13770         node.ParentNodeId = ToNodeId("i=3051");
13771         node.ReferenceTypeId = ReferenceId::HasComponent;
13772         node.TypeDefinition = ToNodeId("i=63");
13773         VariableAttributes attrs;
13774         attrs.DisplayName = LocalizedText("ManufacturerName");
13775         attrs.Type = ObjectId::String;
13776         attrs.Rank = -1;
13777         attrs.MinimumSamplingInterval = 1000;
13778         node.Attributes = attrs;
13779         registry.AddNodes(std::vector<AddNodesItem>{node});
13780         std::vector<AddReferencesItem> refs;
13781         {
13782         AddReferencesItem ref;
13783         ref.IsForward = true;
13784         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
13785         ref.SourceNodeId = ToNodeId("i=3053");
13786         ref.TargetNodeClass = NodeClass::DataType;
13787         ref.TargetNodeId = ToNodeId("i=78");
13788         refs.push_back(ref);
13789         }
13790         registry.AddReferences(refs);
13791         }
13792        
13793         {
13794         AddNodesItem node;
13795         node.RequestedNewNodeId = ToNodeId("i=3054");
13796         node.BrowseName = ToQualifiedName("ProductName");
13797         node.Class = NodeClass::Variable;
13798         node.ParentNodeId = ToNodeId("i=3051");
13799         node.ReferenceTypeId = ReferenceId::HasComponent;
13800         node.TypeDefinition = ToNodeId("i=63");
13801         VariableAttributes attrs;
13802         attrs.DisplayName = LocalizedText("ProductName");
13803         attrs.Type = ObjectId::String;
13804         attrs.Rank = -1;
13805         attrs.MinimumSamplingInterval = 1000;
13806         node.Attributes = attrs;
13807         registry.AddNodes(std::vector<AddNodesItem>{node});
13808         std::vector<AddReferencesItem> refs;
13809         {
13810         AddReferencesItem ref;
13811         ref.IsForward = true;
13812         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
13813         ref.SourceNodeId = ToNodeId("i=3054");
13814         ref.TargetNodeClass = NodeClass::DataType;
13815         ref.TargetNodeId = ToNodeId("i=78");
13816         refs.push_back(ref);
13817         }
13818         registry.AddReferences(refs);
13819         }
13820        
13821         {
13822         AddNodesItem node;
13823         node.RequestedNewNodeId = ToNodeId("i=3055");
13824         node.BrowseName = ToQualifiedName("SoftwareVersion");
13825         node.Class = NodeClass::Variable;
13826         node.ParentNodeId = ToNodeId("i=3051");
13827         node.ReferenceTypeId = ReferenceId::HasComponent;
13828         node.TypeDefinition = ToNodeId("i=63");
13829         VariableAttributes attrs;
13830         attrs.DisplayName = LocalizedText("SoftwareVersion");
13831         attrs.Type = ObjectId::String;
13832         attrs.Rank = -1;
13833         attrs.MinimumSamplingInterval = 1000;
13834         node.Attributes = attrs;
13835         registry.AddNodes(std::vector<AddNodesItem>{node});
13836         std::vector<AddReferencesItem> refs;
13837         {
13838         AddReferencesItem ref;
13839         ref.IsForward = true;
13840         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
13841         ref.SourceNodeId = ToNodeId("i=3055");
13842         ref.TargetNodeClass = NodeClass::DataType;
13843         ref.TargetNodeId = ToNodeId("i=78");
13844         refs.push_back(ref);
13845         }
13846         registry.AddReferences(refs);
13847         }
13848        
13849         {
13850         AddNodesItem node;
13851         node.RequestedNewNodeId = ToNodeId("i=3056");
13852         node.BrowseName = ToQualifiedName("BuildNumber");
13853         node.Class = NodeClass::Variable;
13854         node.ParentNodeId = ToNodeId("i=3051");
13855         node.ReferenceTypeId = ReferenceId::HasComponent;
13856         node.TypeDefinition = ToNodeId("i=63");
13857         VariableAttributes attrs;
13858         attrs.DisplayName = LocalizedText("BuildNumber");
13859         attrs.Type = ObjectId::String;
13860         attrs.Rank = -1;
13861         attrs.MinimumSamplingInterval = 1000;
13862         node.Attributes = attrs;
13863         registry.AddNodes(std::vector<AddNodesItem>{node});
13864         std::vector<AddReferencesItem> refs;
13865         {
13866         AddReferencesItem ref;
13867         ref.IsForward = true;
13868         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
13869         ref.SourceNodeId = ToNodeId("i=3056");
13870         ref.TargetNodeClass = NodeClass::DataType;
13871         ref.TargetNodeId = ToNodeId("i=78");
13872         refs.push_back(ref);
13873         }
13874         registry.AddReferences(refs);
13875         }
13876        
13877         {
13878         AddNodesItem node;
13879         node.RequestedNewNodeId = ToNodeId("i=3057");
13880         node.BrowseName = ToQualifiedName("BuildDate");
13881         node.Class = NodeClass::Variable;
13882         node.ParentNodeId = ToNodeId("i=3051");
13883         node.ReferenceTypeId = ReferenceId::HasComponent;
13884         node.TypeDefinition = ToNodeId("i=63");
13885         VariableAttributes attrs;
13886         attrs.DisplayName = LocalizedText("BuildDate");
13887         attrs.Type = ToNodeId("i=294");
13888         attrs.Rank = -1;
13889         attrs.MinimumSamplingInterval = 1000;
13890         node.Attributes = attrs;
13891         registry.AddNodes(std::vector<AddNodesItem>{node});
13892         std::vector<AddReferencesItem> refs;
13893         {
13894         AddReferencesItem ref;
13895         ref.IsForward = true;
13896         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
13897         ref.SourceNodeId = ToNodeId("i=3057");
13898         ref.TargetNodeClass = NodeClass::DataType;
13899         ref.TargetNodeId = ToNodeId("i=78");
13900         refs.push_back(ref);
13901         }
13902         registry.AddReferences(refs);
13903         }
13904        
13905         {
13906         AddNodesItem node;
13907         node.RequestedNewNodeId = ToNodeId("i=2150");
13908         node.BrowseName = ToQualifiedName("ServerDiagnosticsSummaryType");
13909         node.Class = NodeClass::VariableType;
13910         node.ParentNodeId = ToNodeId("i=63");
13911         node.ReferenceTypeId = ReferenceId::HasSubtype;
13912         VariableTypeAttributes attrs;
13913         attrs.DisplayName = LocalizedText("ServerDiagnosticsSummaryType");
13914         attrs.Type = ToNodeId("i=859");
13915         attrs.Rank = -1;
13916         attrs.IsAbstract = false;
13917         node.Attributes = attrs;
13918         registry.AddNodes(std::vector<AddNodesItem>{node});
13919         std::vector<AddReferencesItem> refs;
13920         {
13921         AddReferencesItem ref;
13922         ref.IsForward = true;
13923         ref.ReferenceTypeId = ReferenceId::HasComponent;
13924         ref.SourceNodeId = ToNodeId("i=2150");
13925         ref.TargetNodeClass = NodeClass::DataType;
13926         ref.TargetNodeId = ToNodeId("i=2151");
13927         refs.push_back(ref);
13928         }
13929         {
13930         AddReferencesItem ref;
13931         ref.IsForward = true;
13932         ref.ReferenceTypeId = ReferenceId::HasComponent;
13933         ref.SourceNodeId = ToNodeId("i=2150");
13934         ref.TargetNodeClass = NodeClass::DataType;
13935         ref.TargetNodeId = ToNodeId("i=2152");
13936         refs.push_back(ref);
13937         }
13938         {
13939         AddReferencesItem ref;
13940         ref.IsForward = true;
13941         ref.ReferenceTypeId = ReferenceId::HasComponent;
13942         ref.SourceNodeId = ToNodeId("i=2150");
13943         ref.TargetNodeClass = NodeClass::DataType;
13944         ref.TargetNodeId = ToNodeId("i=2153");
13945         refs.push_back(ref);
13946         }
13947         {
13948         AddReferencesItem ref;
13949         ref.IsForward = true;
13950         ref.ReferenceTypeId = ReferenceId::HasComponent;
13951         ref.SourceNodeId = ToNodeId("i=2150");
13952         ref.TargetNodeClass = NodeClass::DataType;
13953         ref.TargetNodeId = ToNodeId("i=2154");
13954         refs.push_back(ref);
13955         }
13956         {
13957         AddReferencesItem ref;
13958         ref.IsForward = true;
13959         ref.ReferenceTypeId = ReferenceId::HasComponent;
13960         ref.SourceNodeId = ToNodeId("i=2150");
13961         ref.TargetNodeClass = NodeClass::DataType;
13962         ref.TargetNodeId = ToNodeId("i=2155");
13963         refs.push_back(ref);
13964         }
13965         {
13966         AddReferencesItem ref;
13967         ref.IsForward = true;
13968         ref.ReferenceTypeId = ReferenceId::HasComponent;
13969         ref.SourceNodeId = ToNodeId("i=2150");
13970         ref.TargetNodeClass = NodeClass::DataType;
13971         ref.TargetNodeId = ToNodeId("i=2156");
13972         refs.push_back(ref);
13973         }
13974         {
13975         AddReferencesItem ref;
13976         ref.IsForward = true;
13977         ref.ReferenceTypeId = ReferenceId::HasComponent;
13978         ref.SourceNodeId = ToNodeId("i=2150");
13979         ref.TargetNodeClass = NodeClass::DataType;
13980         ref.TargetNodeId = ToNodeId("i=2157");
13981         refs.push_back(ref);
13982         }
13983         {
13984         AddReferencesItem ref;
13985         ref.IsForward = true;
13986         ref.ReferenceTypeId = ReferenceId::HasComponent;
13987         ref.SourceNodeId = ToNodeId("i=2150");
13988         ref.TargetNodeClass = NodeClass::DataType;
13989         ref.TargetNodeId = ToNodeId("i=2159");
13990         refs.push_back(ref);
13991         }
13992         {
13993         AddReferencesItem ref;
13994         ref.IsForward = true;
13995         ref.ReferenceTypeId = ReferenceId::HasComponent;
13996         ref.SourceNodeId = ToNodeId("i=2150");
13997         ref.TargetNodeClass = NodeClass::DataType;
13998         ref.TargetNodeId = ToNodeId("i=2160");
13999         refs.push_back(ref);
14000         }
14001         {
14002         AddReferencesItem ref;
14003         ref.IsForward = true;
14004         ref.ReferenceTypeId = ReferenceId::HasComponent;
14005         ref.SourceNodeId = ToNodeId("i=2150");
14006         ref.TargetNodeClass = NodeClass::DataType;
14007         ref.TargetNodeId = ToNodeId("i=2161");
14008         refs.push_back(ref);
14009         }
14010         {
14011         AddReferencesItem ref;
14012         ref.IsForward = true;
14013         ref.ReferenceTypeId = ReferenceId::HasComponent;
14014         ref.SourceNodeId = ToNodeId("i=2150");
14015         ref.TargetNodeClass = NodeClass::DataType;
14016         ref.TargetNodeId = ToNodeId("i=2162");
14017         refs.push_back(ref);
14018         }
14019         {
14020         AddReferencesItem ref;
14021         ref.IsForward = true;
14022         ref.ReferenceTypeId = ReferenceId::HasComponent;
14023         ref.SourceNodeId = ToNodeId("i=2150");
14024         ref.TargetNodeClass = NodeClass::DataType;
14025         ref.TargetNodeId = ToNodeId("i=2163");
14026         refs.push_back(ref);
14027         }
14028         registry.AddReferences(refs);
14029         }
14030        
14031         {
14032         AddNodesItem node;
14033         node.RequestedNewNodeId = ToNodeId("i=2151");
14034         node.BrowseName = ToQualifiedName("ServerViewCount");
14035         node.Class = NodeClass::Variable;
14036         node.ParentNodeId = ToNodeId("i=2150");
14037         node.ReferenceTypeId = ReferenceId::HasComponent;
14038         node.TypeDefinition = ToNodeId("i=63");
14039         VariableAttributes attrs;
14040         attrs.DisplayName = LocalizedText("ServerViewCount");
14041         attrs.Type = ObjectId::UInt32;
14042         attrs.Rank = -1;
14043         node.Attributes = attrs;
14044         registry.AddNodes(std::vector<AddNodesItem>{node});
14045         std::vector<AddReferencesItem> refs;
14046         {
14047         AddReferencesItem ref;
14048         ref.IsForward = true;
14049         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
14050         ref.SourceNodeId = ToNodeId("i=2151");
14051         ref.TargetNodeClass = NodeClass::DataType;
14052         ref.TargetNodeId = ToNodeId("i=78");
14053         refs.push_back(ref);
14054         }
14055         registry.AddReferences(refs);
14056         }
14057        
14058         {
14059         AddNodesItem node;
14060         node.RequestedNewNodeId = ToNodeId("i=2152");
14061         node.BrowseName = ToQualifiedName("CurrentSessionCount");
14062         node.Class = NodeClass::Variable;
14063         node.ParentNodeId = ToNodeId("i=2150");
14064         node.ReferenceTypeId = ReferenceId::HasComponent;
14065         node.TypeDefinition = ToNodeId("i=63");
14066         VariableAttributes attrs;
14067         attrs.DisplayName = LocalizedText("CurrentSessionCount");
14068         attrs.Type = ObjectId::UInt32;
14069         attrs.Rank = -1;
14070         node.Attributes = attrs;
14071         registry.AddNodes(std::vector<AddNodesItem>{node});
14072         std::vector<AddReferencesItem> refs;
14073         {
14074         AddReferencesItem ref;
14075         ref.IsForward = true;
14076         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
14077         ref.SourceNodeId = ToNodeId("i=2152");
14078         ref.TargetNodeClass = NodeClass::DataType;
14079         ref.TargetNodeId = ToNodeId("i=78");
14080         refs.push_back(ref);
14081         }
14082         registry.AddReferences(refs);
14083         }
14084        
14085         {
14086         AddNodesItem node;
14087         node.RequestedNewNodeId = ToNodeId("i=2153");
14088         node.BrowseName = ToQualifiedName("CumulatedSessionCount");
14089         node.Class = NodeClass::Variable;
14090         node.ParentNodeId = ToNodeId("i=2150");
14091         node.ReferenceTypeId = ReferenceId::HasComponent;
14092         node.TypeDefinition = ToNodeId("i=63");
14093         VariableAttributes attrs;
14094         attrs.DisplayName = LocalizedText("CumulatedSessionCount");
14095         attrs.Type = ObjectId::UInt32;
14096         attrs.Rank = -1;
14097         node.Attributes = attrs;
14098         registry.AddNodes(std::vector<AddNodesItem>{node});
14099         std::vector<AddReferencesItem> refs;
14100         {
14101         AddReferencesItem ref;
14102         ref.IsForward = true;
14103         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
14104         ref.SourceNodeId = ToNodeId("i=2153");
14105         ref.TargetNodeClass = NodeClass::DataType;
14106         ref.TargetNodeId = ToNodeId("i=78");
14107         refs.push_back(ref);
14108         }
14109         registry.AddReferences(refs);
14110         }
14111        
14112         {
14113         AddNodesItem node;
14114         node.RequestedNewNodeId = ToNodeId("i=2154");
14115         node.BrowseName = ToQualifiedName("SecurityRejectedSessionCount");
14116         node.Class = NodeClass::Variable;
14117         node.ParentNodeId = ToNodeId("i=2150");
14118         node.ReferenceTypeId = ReferenceId::HasComponent;
14119         node.TypeDefinition = ToNodeId("i=63");
14120         VariableAttributes attrs;
14121         attrs.DisplayName = LocalizedText("SecurityRejectedSessionCount");
14122         attrs.Type = ObjectId::UInt32;
14123         attrs.Rank = -1;
14124         node.Attributes = attrs;
14125         registry.AddNodes(std::vector<AddNodesItem>{node});
14126         std::vector<AddReferencesItem> refs;
14127         {
14128         AddReferencesItem ref;
14129         ref.IsForward = true;
14130         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
14131         ref.SourceNodeId = ToNodeId("i=2154");
14132         ref.TargetNodeClass = NodeClass::DataType;
14133         ref.TargetNodeId = ToNodeId("i=78");
14134         refs.push_back(ref);
14135         }
14136         registry.AddReferences(refs);
14137         }
14138        
14139         {
14140         AddNodesItem node;
14141         node.RequestedNewNodeId = ToNodeId("i=2155");
14142         node.BrowseName = ToQualifiedName("RejectedSessionCount");
14143         node.Class = NodeClass::Variable;
14144         node.ParentNodeId = ToNodeId("i=2150");
14145         node.ReferenceTypeId = ReferenceId::HasComponent;
14146         node.TypeDefinition = ToNodeId("i=63");
14147         VariableAttributes attrs;
14148         attrs.DisplayName = LocalizedText("RejectedSessionCount");
14149         attrs.Type = ObjectId::UInt32;
14150         attrs.Rank = -1;
14151         node.Attributes = attrs;
14152         registry.AddNodes(std::vector<AddNodesItem>{node});
14153         std::vector<AddReferencesItem> refs;
14154         {
14155         AddReferencesItem ref;
14156         ref.IsForward = true;
14157         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
14158         ref.SourceNodeId = ToNodeId("i=2155");
14159         ref.TargetNodeClass = NodeClass::DataType;
14160         ref.TargetNodeId = ToNodeId("i=78");
14161         refs.push_back(ref);
14162         }
14163         registry.AddReferences(refs);
14164         }
14165        
14166         {
14167         AddNodesItem node;
14168         node.RequestedNewNodeId = ToNodeId("i=2156");
14169         node.BrowseName = ToQualifiedName("SessionTimeoutCount");
14170         node.Class = NodeClass::Variable;
14171         node.ParentNodeId = ToNodeId("i=2150");
14172         node.ReferenceTypeId = ReferenceId::HasComponent;
14173         node.TypeDefinition = ToNodeId("i=63");
14174         VariableAttributes attrs;
14175         attrs.DisplayName = LocalizedText("SessionTimeoutCount");
14176         attrs.Type = ObjectId::UInt32;
14177         attrs.Rank = -1;
14178         node.Attributes = attrs;
14179         registry.AddNodes(std::vector<AddNodesItem>{node});
14180         std::vector<AddReferencesItem> refs;
14181         {
14182         AddReferencesItem ref;
14183         ref.IsForward = true;
14184         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
14185         ref.SourceNodeId = ToNodeId("i=2156");
14186         ref.TargetNodeClass = NodeClass::DataType;
14187         ref.TargetNodeId = ToNodeId("i=78");
14188         refs.push_back(ref);
14189         }
14190         registry.AddReferences(refs);
14191         }
14192        
14193         {
14194         AddNodesItem node;
14195         node.RequestedNewNodeId = ToNodeId("i=2157");
14196         node.BrowseName = ToQualifiedName("SessionAbortCount");
14197         node.Class = NodeClass::Variable;
14198         node.ParentNodeId = ToNodeId("i=2150");
14199         node.ReferenceTypeId = ReferenceId::HasComponent;
14200         node.TypeDefinition = ToNodeId("i=63");
14201         VariableAttributes attrs;
14202         attrs.DisplayName = LocalizedText("SessionAbortCount");
14203         attrs.Type = ObjectId::UInt32;
14204         attrs.Rank = -1;
14205         node.Attributes = attrs;
14206         registry.AddNodes(std::vector<AddNodesItem>{node});
14207         std::vector<AddReferencesItem> refs;
14208         {
14209         AddReferencesItem ref;
14210         ref.IsForward = true;
14211         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
14212         ref.SourceNodeId = ToNodeId("i=2157");
14213         ref.TargetNodeClass = NodeClass::DataType;
14214         ref.TargetNodeId = ToNodeId("i=78");
14215         refs.push_back(ref);
14216         }
14217         registry.AddReferences(refs);
14218         }
14219        
14220         {
14221         AddNodesItem node;
14222         node.RequestedNewNodeId = ToNodeId("i=2159");
14223         node.BrowseName = ToQualifiedName("PublishingIntervalCount");
14224         node.Class = NodeClass::Variable;
14225         node.ParentNodeId = ToNodeId("i=2150");
14226         node.ReferenceTypeId = ReferenceId::HasComponent;
14227         node.TypeDefinition = ToNodeId("i=63");
14228         VariableAttributes attrs;
14229         attrs.DisplayName = LocalizedText("PublishingIntervalCount");
14230         attrs.Type = ObjectId::UInt32;
14231         attrs.Rank = -1;
14232         node.Attributes = attrs;
14233         registry.AddNodes(std::vector<AddNodesItem>{node});
14234         std::vector<AddReferencesItem> refs;
14235         {
14236         AddReferencesItem ref;
14237         ref.IsForward = true;
14238         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
14239         ref.SourceNodeId = ToNodeId("i=2159");
14240         ref.TargetNodeClass = NodeClass::DataType;
14241         ref.TargetNodeId = ToNodeId("i=78");
14242         refs.push_back(ref);
14243         }
14244         registry.AddReferences(refs);
14245         }
14246        
14247         {
14248         AddNodesItem node;
14249         node.RequestedNewNodeId = ToNodeId("i=2160");
14250         node.BrowseName = ToQualifiedName("CurrentSubscriptionCount");
14251         node.Class = NodeClass::Variable;
14252         node.ParentNodeId = ToNodeId("i=2150");
14253         node.ReferenceTypeId = ReferenceId::HasComponent;
14254         node.TypeDefinition = ToNodeId("i=63");
14255         VariableAttributes attrs;
14256         attrs.DisplayName = LocalizedText("CurrentSubscriptionCount");
14257         attrs.Type = ObjectId::UInt32;
14258         attrs.Rank = -1;
14259         node.Attributes = attrs;
14260         registry.AddNodes(std::vector<AddNodesItem>{node});
14261         std::vector<AddReferencesItem> refs;
14262         {
14263         AddReferencesItem ref;
14264         ref.IsForward = true;
14265         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
14266         ref.SourceNodeId = ToNodeId("i=2160");
14267         ref.TargetNodeClass = NodeClass::DataType;
14268         ref.TargetNodeId = ToNodeId("i=78");
14269         refs.push_back(ref);
14270         }
14271         registry.AddReferences(refs);
14272         }
14273        
14274         {
14275         AddNodesItem node;
14276         node.RequestedNewNodeId = ToNodeId("i=2161");
14277         node.BrowseName = ToQualifiedName("CumulatedSubscriptionCount");
14278         node.Class = NodeClass::Variable;
14279         node.ParentNodeId = ToNodeId("i=2150");
14280         node.ReferenceTypeId = ReferenceId::HasComponent;
14281         node.TypeDefinition = ToNodeId("i=63");
14282         VariableAttributes attrs;
14283         attrs.DisplayName = LocalizedText("CumulatedSubscriptionCount");
14284         attrs.Type = ObjectId::UInt32;
14285         attrs.Rank = -1;
14286         node.Attributes = attrs;
14287         registry.AddNodes(std::vector<AddNodesItem>{node});
14288         std::vector<AddReferencesItem> refs;
14289         {
14290         AddReferencesItem ref;
14291         ref.IsForward = true;
14292         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
14293         ref.SourceNodeId = ToNodeId("i=2161");
14294         ref.TargetNodeClass = NodeClass::DataType;
14295         ref.TargetNodeId = ToNodeId("i=78");
14296         refs.push_back(ref);
14297         }
14298         registry.AddReferences(refs);
14299         }
14300        
14301         {
14302         AddNodesItem node;
14303         node.RequestedNewNodeId = ToNodeId("i=2162");
14304         node.BrowseName = ToQualifiedName("SecurityRejectedRequestsCount");
14305         node.Class = NodeClass::Variable;
14306         node.ParentNodeId = ToNodeId("i=2150");
14307         node.ReferenceTypeId = ReferenceId::HasComponent;
14308         node.TypeDefinition = ToNodeId("i=63");
14309         VariableAttributes attrs;
14310         attrs.DisplayName = LocalizedText("SecurityRejectedRequestsCount");
14311         attrs.Type = ObjectId::UInt32;
14312         attrs.Rank = -1;
14313         node.Attributes = attrs;
14314         registry.AddNodes(std::vector<AddNodesItem>{node});
14315         std::vector<AddReferencesItem> refs;
14316         {
14317         AddReferencesItem ref;
14318         ref.IsForward = true;
14319         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
14320         ref.SourceNodeId = ToNodeId("i=2162");
14321         ref.TargetNodeClass = NodeClass::DataType;
14322         ref.TargetNodeId = ToNodeId("i=78");
14323         refs.push_back(ref);
14324         }
14325         registry.AddReferences(refs);
14326         }
14327        
14328         {
14329         AddNodesItem node;
14330         node.RequestedNewNodeId = ToNodeId("i=2163");
14331         node.BrowseName = ToQualifiedName("RejectedRequestsCount");
14332         node.Class = NodeClass::Variable;
14333         node.ParentNodeId = ToNodeId("i=2150");
14334         node.ReferenceTypeId = ReferenceId::HasComponent;
14335         node.TypeDefinition = ToNodeId("i=63");
14336         VariableAttributes attrs;
14337         attrs.DisplayName = LocalizedText("RejectedRequestsCount");
14338         attrs.Type = ObjectId::UInt32;
14339         attrs.Rank = -1;
14340         node.Attributes = attrs;
14341         registry.AddNodes(std::vector<AddNodesItem>{node});
14342         std::vector<AddReferencesItem> refs;
14343         {
14344         AddReferencesItem ref;
14345         ref.IsForward = true;
14346         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
14347         ref.SourceNodeId = ToNodeId("i=2163");
14348         ref.TargetNodeClass = NodeClass::DataType;
14349         ref.TargetNodeId = ToNodeId("i=78");
14350         refs.push_back(ref);
14351         }
14352         registry.AddReferences(refs);
14353         }
14354        
14355         {
14356         AddNodesItem node;
14357         node.RequestedNewNodeId = ToNodeId("i=2164");
14358         node.BrowseName = ToQualifiedName("SamplingIntervalDiagnosticsArrayType");
14359         node.Class = NodeClass::VariableType;
14360         node.ParentNodeId = ToNodeId("i=63");
14361         node.ReferenceTypeId = ReferenceId::HasSubtype;
14362         VariableTypeAttributes attrs;
14363         attrs.DisplayName = LocalizedText("SamplingIntervalDiagnosticsArrayType");
14364         attrs.Type = ToNodeId("i=856");
14365         attrs.Rank = 1;
14366         attrs.IsAbstract = false;
14367         node.Attributes = attrs;
14368         registry.AddNodes(std::vector<AddNodesItem>{node});
14369         }
14370        
14371         {
14372         AddNodesItem node;
14373         node.RequestedNewNodeId = ToNodeId("i=2165");
14374         node.BrowseName = ToQualifiedName("SamplingIntervalDiagnosticsType");
14375         node.Class = NodeClass::VariableType;
14376         node.ParentNodeId = ToNodeId("i=63");
14377         node.ReferenceTypeId = ReferenceId::HasSubtype;
14378         VariableTypeAttributes attrs;
14379         attrs.DisplayName = LocalizedText("SamplingIntervalDiagnosticsType");
14380         attrs.Type = ToNodeId("i=856");
14381         attrs.Rank = -1;
14382         attrs.IsAbstract = false;
14383         node.Attributes = attrs;
14384         registry.AddNodes(std::vector<AddNodesItem>{node});
14385         std::vector<AddReferencesItem> refs;
14386         {
14387         AddReferencesItem ref;
14388         ref.IsForward = true;
14389         ref.ReferenceTypeId = ReferenceId::HasComponent;
14390         ref.SourceNodeId = ToNodeId("i=2165");
14391         ref.TargetNodeClass = NodeClass::DataType;
14392         ref.TargetNodeId = ToNodeId("i=2166");
14393         refs.push_back(ref);
14394         }
14395         {
14396         AddReferencesItem ref;
14397         ref.IsForward = true;
14398         ref.ReferenceTypeId = ReferenceId::HasComponent;
14399         ref.SourceNodeId = ToNodeId("i=2165");
14400         ref.TargetNodeClass = NodeClass::DataType;
14401         ref.TargetNodeId = ToNodeId("i=11697");
14402         refs.push_back(ref);
14403         }
14404         {
14405         AddReferencesItem ref;
14406         ref.IsForward = true;
14407         ref.ReferenceTypeId = ReferenceId::HasComponent;
14408         ref.SourceNodeId = ToNodeId("i=2165");
14409         ref.TargetNodeClass = NodeClass::DataType;
14410         ref.TargetNodeId = ToNodeId("i=11698");
14411         refs.push_back(ref);
14412         }
14413         {
14414         AddReferencesItem ref;
14415         ref.IsForward = true;
14416         ref.ReferenceTypeId = ReferenceId::HasComponent;
14417         ref.SourceNodeId = ToNodeId("i=2165");
14418         ref.TargetNodeClass = NodeClass::DataType;
14419         ref.TargetNodeId = ToNodeId("i=11699");
14420         refs.push_back(ref);
14421         }
14422         registry.AddReferences(refs);
14423         }
14424        
14425         {
14426         AddNodesItem node;
14427         node.RequestedNewNodeId = ToNodeId("i=2166");
14428         node.BrowseName = ToQualifiedName("SamplingInterval");
14429         node.Class = NodeClass::Variable;
14430         node.ParentNodeId = ToNodeId("i=2165");
14431         node.ReferenceTypeId = ReferenceId::HasComponent;
14432         node.TypeDefinition = ToNodeId("i=63");
14433         VariableAttributes attrs;
14434         attrs.DisplayName = LocalizedText("SamplingInterval");
14435         attrs.Type = ToNodeId("i=290");
14436         attrs.Rank = -1;
14437         node.Attributes = attrs;
14438         registry.AddNodes(std::vector<AddNodesItem>{node});
14439         std::vector<AddReferencesItem> refs;
14440         {
14441         AddReferencesItem ref;
14442         ref.IsForward = true;
14443         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
14444         ref.SourceNodeId = ToNodeId("i=2166");
14445         ref.TargetNodeClass = NodeClass::DataType;
14446         ref.TargetNodeId = ToNodeId("i=78");
14447         refs.push_back(ref);
14448         }
14449         registry.AddReferences(refs);
14450         }
14451        
14452         {
14453         AddNodesItem node;
14454         node.RequestedNewNodeId = ToNodeId("i=11697");
14455         node.BrowseName = ToQualifiedName("SampledMonitoredItemsCount");
14456         node.Class = NodeClass::Variable;
14457         node.ParentNodeId = ToNodeId("i=2165");
14458         node.ReferenceTypeId = ReferenceId::HasComponent;
14459         node.TypeDefinition = ToNodeId("i=63");
14460         VariableAttributes attrs;
14461         attrs.DisplayName = LocalizedText("SampledMonitoredItemsCount");
14462         attrs.Type = ObjectId::UInt32;
14463         attrs.Rank = -1;
14464         node.Attributes = attrs;
14465         registry.AddNodes(std::vector<AddNodesItem>{node});
14466         std::vector<AddReferencesItem> refs;
14467         {
14468         AddReferencesItem ref;
14469         ref.IsForward = true;
14470         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
14471         ref.SourceNodeId = ToNodeId("i=11697");
14472         ref.TargetNodeClass = NodeClass::DataType;
14473         ref.TargetNodeId = ToNodeId("i=78");
14474         refs.push_back(ref);
14475         }
14476         registry.AddReferences(refs);
14477         }
14478        
14479         {
14480         AddNodesItem node;
14481         node.RequestedNewNodeId = ToNodeId("i=11698");
14482         node.BrowseName = ToQualifiedName("MaxSampledMonitoredItemsCount");
14483         node.Class = NodeClass::Variable;
14484         node.ParentNodeId = ToNodeId("i=2165");
14485         node.ReferenceTypeId = ReferenceId::HasComponent;
14486         node.TypeDefinition = ToNodeId("i=63");
14487         VariableAttributes attrs;
14488         attrs.DisplayName = LocalizedText("MaxSampledMonitoredItemsCount");
14489         attrs.Type = ObjectId::UInt32;
14490         attrs.Rank = -1;
14491         node.Attributes = attrs;
14492         registry.AddNodes(std::vector<AddNodesItem>{node});
14493         std::vector<AddReferencesItem> refs;
14494         {
14495         AddReferencesItem ref;
14496         ref.IsForward = true;
14497         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
14498         ref.SourceNodeId = ToNodeId("i=11698");
14499         ref.TargetNodeClass = NodeClass::DataType;
14500         ref.TargetNodeId = ToNodeId("i=78");
14501         refs.push_back(ref);
14502         }
14503         registry.AddReferences(refs);
14504         }
14505        
14506         {
14507         AddNodesItem node;
14508         node.RequestedNewNodeId = ToNodeId("i=11699");
14509         node.BrowseName = ToQualifiedName("DisabledMonitoredItemsSamplingCount");
14510         node.Class = NodeClass::Variable;
14511         node.ParentNodeId = ToNodeId("i=2165");
14512         node.ReferenceTypeId = ReferenceId::HasComponent;
14513         node.TypeDefinition = ToNodeId("i=63");
14514         VariableAttributes attrs;
14515         attrs.DisplayName = LocalizedText("DisabledMonitoredItemsSamplingCount");
14516         attrs.Type = ObjectId::UInt32;
14517         attrs.Rank = -1;
14518         node.Attributes = attrs;
14519         registry.AddNodes(std::vector<AddNodesItem>{node});
14520         std::vector<AddReferencesItem> refs;
14521         {
14522         AddReferencesItem ref;
14523         ref.IsForward = true;
14524         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
14525         ref.SourceNodeId = ToNodeId("i=11699");
14526         ref.TargetNodeClass = NodeClass::DataType;
14527         ref.TargetNodeId = ToNodeId("i=78");
14528         refs.push_back(ref);
14529         }
14530         registry.AddReferences(refs);
14531         }
14532        
14533         {
14534         AddNodesItem node;
14535         node.RequestedNewNodeId = ToNodeId("i=2171");
14536         node.BrowseName = ToQualifiedName("SubscriptionDiagnosticsArrayType");
14537         node.Class = NodeClass::VariableType;
14538         node.ParentNodeId = ToNodeId("i=63");
14539         node.ReferenceTypeId = ReferenceId::HasSubtype;
14540         VariableTypeAttributes attrs;
14541         attrs.DisplayName = LocalizedText("SubscriptionDiagnosticsArrayType");
14542         attrs.Type = ToNodeId("i=874");
14543         attrs.Rank = 1;
14544         attrs.IsAbstract = false;
14545         node.Attributes = attrs;
14546         registry.AddNodes(std::vector<AddNodesItem>{node});
14547         }
14548        
14549         {
14550         AddNodesItem node;
14551         node.RequestedNewNodeId = ToNodeId("i=2172");
14552         node.BrowseName = ToQualifiedName("SubscriptionDiagnosticsType");
14553         node.Class = NodeClass::VariableType;
14554         node.ParentNodeId = ToNodeId("i=63");
14555         node.ReferenceTypeId = ReferenceId::HasSubtype;
14556         VariableTypeAttributes attrs;
14557         attrs.DisplayName = LocalizedText("SubscriptionDiagnosticsType");
14558         attrs.Type = ToNodeId("i=874");
14559         attrs.Rank = -1;
14560         attrs.IsAbstract = false;
14561         node.Attributes = attrs;
14562         registry.AddNodes(std::vector<AddNodesItem>{node});
14563         std::vector<AddReferencesItem> refs;
14564         {
14565         AddReferencesItem ref;
14566         ref.IsForward = true;
14567         ref.ReferenceTypeId = ReferenceId::HasComponent;
14568         ref.SourceNodeId = ToNodeId("i=2172");
14569         ref.TargetNodeClass = NodeClass::DataType;
14570         ref.TargetNodeId = ToNodeId("i=2173");
14571         refs.push_back(ref);
14572         }
14573         {
14574         AddReferencesItem ref;
14575         ref.IsForward = true;
14576         ref.ReferenceTypeId = ReferenceId::HasComponent;
14577         ref.SourceNodeId = ToNodeId("i=2172");
14578         ref.TargetNodeClass = NodeClass::DataType;
14579         ref.TargetNodeId = ToNodeId("i=2174");
14580         refs.push_back(ref);
14581         }
14582         {
14583         AddReferencesItem ref;
14584         ref.IsForward = true;
14585         ref.ReferenceTypeId = ReferenceId::HasComponent;
14586         ref.SourceNodeId = ToNodeId("i=2172");
14587         ref.TargetNodeClass = NodeClass::DataType;
14588         ref.TargetNodeId = ToNodeId("i=2175");
14589         refs.push_back(ref);
14590         }
14591         {
14592         AddReferencesItem ref;
14593         ref.IsForward = true;
14594         ref.ReferenceTypeId = ReferenceId::HasComponent;
14595         ref.SourceNodeId = ToNodeId("i=2172");
14596         ref.TargetNodeClass = NodeClass::DataType;
14597         ref.TargetNodeId = ToNodeId("i=2176");
14598         refs.push_back(ref);
14599         }
14600         {
14601         AddReferencesItem ref;
14602         ref.IsForward = true;
14603         ref.ReferenceTypeId = ReferenceId::HasComponent;
14604         ref.SourceNodeId = ToNodeId("i=2172");
14605         ref.TargetNodeClass = NodeClass::DataType;
14606         ref.TargetNodeId = ToNodeId("i=2177");
14607         refs.push_back(ref);
14608         }
14609         {
14610         AddReferencesItem ref;
14611         ref.IsForward = true;
14612         ref.ReferenceTypeId = ReferenceId::HasComponent;
14613         ref.SourceNodeId = ToNodeId("i=2172");
14614         ref.TargetNodeClass = NodeClass::DataType;
14615         ref.TargetNodeId = ToNodeId("i=8888");
14616         refs.push_back(ref);
14617         }
14618         {
14619         AddReferencesItem ref;
14620         ref.IsForward = true;
14621         ref.ReferenceTypeId = ReferenceId::HasComponent;
14622         ref.SourceNodeId = ToNodeId("i=2172");
14623         ref.TargetNodeClass = NodeClass::DataType;
14624         ref.TargetNodeId = ToNodeId("i=2179");
14625         refs.push_back(ref);
14626         }
14627         {
14628         AddReferencesItem ref;
14629         ref.IsForward = true;
14630         ref.ReferenceTypeId = ReferenceId::HasComponent;
14631         ref.SourceNodeId = ToNodeId("i=2172");
14632         ref.TargetNodeClass = NodeClass::DataType;
14633         ref.TargetNodeId = ToNodeId("i=2180");
14634         refs.push_back(ref);
14635         }
14636         {
14637         AddReferencesItem ref;
14638         ref.IsForward = true;
14639         ref.ReferenceTypeId = ReferenceId::HasComponent;
14640         ref.SourceNodeId = ToNodeId("i=2172");
14641         ref.TargetNodeClass = NodeClass::DataType;
14642         ref.TargetNodeId = ToNodeId("i=2181");
14643         refs.push_back(ref);
14644         }
14645         {
14646         AddReferencesItem ref;
14647         ref.IsForward = true;
14648         ref.ReferenceTypeId = ReferenceId::HasComponent;
14649         ref.SourceNodeId = ToNodeId("i=2172");
14650         ref.TargetNodeClass = NodeClass::DataType;
14651         ref.TargetNodeId = ToNodeId("i=2182");
14652         refs.push_back(ref);
14653         }
14654         {
14655         AddReferencesItem ref;
14656         ref.IsForward = true;
14657         ref.ReferenceTypeId = ReferenceId::HasComponent;
14658         ref.SourceNodeId = ToNodeId("i=2172");
14659         ref.TargetNodeClass = NodeClass::DataType;
14660         ref.TargetNodeId = ToNodeId("i=2183");
14661         refs.push_back(ref);
14662         }
14663         {
14664         AddReferencesItem ref;
14665         ref.IsForward = true;
14666         ref.ReferenceTypeId = ReferenceId::HasComponent;
14667         ref.SourceNodeId = ToNodeId("i=2172");
14668         ref.TargetNodeClass = NodeClass::DataType;
14669         ref.TargetNodeId = ToNodeId("i=2184");
14670         refs.push_back(ref);
14671         }
14672         {
14673         AddReferencesItem ref;
14674         ref.IsForward = true;
14675         ref.ReferenceTypeId = ReferenceId::HasComponent;
14676         ref.SourceNodeId = ToNodeId("i=2172");
14677         ref.TargetNodeClass = NodeClass::DataType;
14678         ref.TargetNodeId = ToNodeId("i=2185");
14679         refs.push_back(ref);
14680         }
14681         {
14682         AddReferencesItem ref;
14683         ref.IsForward = true;
14684         ref.ReferenceTypeId = ReferenceId::HasComponent;
14685         ref.SourceNodeId = ToNodeId("i=2172");
14686         ref.TargetNodeClass = NodeClass::DataType;
14687         ref.TargetNodeId = ToNodeId("i=2186");
14688         refs.push_back(ref);
14689         }
14690         {
14691         AddReferencesItem ref;
14692         ref.IsForward = true;
14693         ref.ReferenceTypeId = ReferenceId::HasComponent;
14694         ref.SourceNodeId = ToNodeId("i=2172");
14695         ref.TargetNodeClass = NodeClass::DataType;
14696         ref.TargetNodeId = ToNodeId("i=2187");
14697         refs.push_back(ref);
14698         }
14699         {
14700         AddReferencesItem ref;
14701         ref.IsForward = true;
14702         ref.ReferenceTypeId = ReferenceId::HasComponent;
14703         ref.SourceNodeId = ToNodeId("i=2172");
14704         ref.TargetNodeClass = NodeClass::DataType;
14705         ref.TargetNodeId = ToNodeId("i=2188");
14706         refs.push_back(ref);
14707         }
14708         {
14709         AddReferencesItem ref;
14710         ref.IsForward = true;
14711         ref.ReferenceTypeId = ReferenceId::HasComponent;
14712         ref.SourceNodeId = ToNodeId("i=2172");
14713         ref.TargetNodeClass = NodeClass::DataType;
14714         ref.TargetNodeId = ToNodeId("i=2189");
14715         refs.push_back(ref);
14716         }
14717         {
14718         AddReferencesItem ref;
14719         ref.IsForward = true;
14720         ref.ReferenceTypeId = ReferenceId::HasComponent;
14721         ref.SourceNodeId = ToNodeId("i=2172");
14722         ref.TargetNodeClass = NodeClass::DataType;
14723         ref.TargetNodeId = ToNodeId("i=2190");
14724         refs.push_back(ref);
14725         }
14726         {
14727         AddReferencesItem ref;
14728         ref.IsForward = true;
14729         ref.ReferenceTypeId = ReferenceId::HasComponent;
14730         ref.SourceNodeId = ToNodeId("i=2172");
14731         ref.TargetNodeClass = NodeClass::DataType;
14732         ref.TargetNodeId = ToNodeId("i=2191");
14733         refs.push_back(ref);
14734         }
14735         {
14736         AddReferencesItem ref;
14737         ref.IsForward = true;
14738         ref.ReferenceTypeId = ReferenceId::HasComponent;
14739         ref.SourceNodeId = ToNodeId("i=2172");
14740         ref.TargetNodeClass = NodeClass::DataType;
14741         ref.TargetNodeId = ToNodeId("i=2998");
14742         refs.push_back(ref);
14743         }
14744         {
14745         AddReferencesItem ref;
14746         ref.IsForward = true;
14747         ref.ReferenceTypeId = ReferenceId::HasComponent;
14748         ref.SourceNodeId = ToNodeId("i=2172");
14749         ref.TargetNodeClass = NodeClass::DataType;
14750         ref.TargetNodeId = ToNodeId("i=2193");
14751         refs.push_back(ref);
14752         }
14753         {
14754         AddReferencesItem ref;
14755         ref.IsForward = true;
14756         ref.ReferenceTypeId = ReferenceId::HasComponent;
14757         ref.SourceNodeId = ToNodeId("i=2172");
14758         ref.TargetNodeClass = NodeClass::DataType;
14759         ref.TargetNodeId = ToNodeId("i=8889");
14760         refs.push_back(ref);
14761         }
14762         {
14763         AddReferencesItem ref;
14764         ref.IsForward = true;
14765         ref.ReferenceTypeId = ReferenceId::HasComponent;
14766         ref.SourceNodeId = ToNodeId("i=2172");
14767         ref.TargetNodeClass = NodeClass::DataType;
14768         ref.TargetNodeId = ToNodeId("i=8890");
14769         refs.push_back(ref);
14770         }
14771         {
14772         AddReferencesItem ref;
14773         ref.IsForward = true;
14774         ref.ReferenceTypeId = ReferenceId::HasComponent;
14775         ref.SourceNodeId = ToNodeId("i=2172");
14776         ref.TargetNodeClass = NodeClass::DataType;
14777         ref.TargetNodeId = ToNodeId("i=8891");
14778         refs.push_back(ref);
14779         }
14780         {
14781         AddReferencesItem ref;
14782         ref.IsForward = true;
14783         ref.ReferenceTypeId = ReferenceId::HasComponent;
14784         ref.SourceNodeId = ToNodeId("i=2172");
14785         ref.TargetNodeClass = NodeClass::DataType;
14786         ref.TargetNodeId = ToNodeId("i=8892");
14787         refs.push_back(ref);
14788         }
14789         {
14790         AddReferencesItem ref;
14791         ref.IsForward = true;
14792         ref.ReferenceTypeId = ReferenceId::HasComponent;
14793         ref.SourceNodeId = ToNodeId("i=2172");
14794         ref.TargetNodeClass = NodeClass::DataType;
14795         ref.TargetNodeId = ToNodeId("i=8893");
14796         refs.push_back(ref);
14797         }
14798         {
14799         AddReferencesItem ref;
14800         ref.IsForward = true;
14801         ref.ReferenceTypeId = ReferenceId::HasComponent;
14802         ref.SourceNodeId = ToNodeId("i=2172");
14803         ref.TargetNodeClass = NodeClass::DataType;
14804         ref.TargetNodeId = ToNodeId("i=8894");
14805         refs.push_back(ref);
14806         }
14807         {
14808         AddReferencesItem ref;
14809         ref.IsForward = true;
14810         ref.ReferenceTypeId = ReferenceId::HasComponent;
14811         ref.SourceNodeId = ToNodeId("i=2172");
14812         ref.TargetNodeClass = NodeClass::DataType;
14813         ref.TargetNodeId = ToNodeId("i=8895");
14814         refs.push_back(ref);
14815         }
14816         {
14817         AddReferencesItem ref;
14818         ref.IsForward = true;
14819         ref.ReferenceTypeId = ReferenceId::HasComponent;
14820         ref.SourceNodeId = ToNodeId("i=2172");
14821         ref.TargetNodeClass = NodeClass::DataType;
14822         ref.TargetNodeId = ToNodeId("i=8896");
14823         refs.push_back(ref);
14824         }
14825         {
14826         AddReferencesItem ref;
14827         ref.IsForward = true;
14828         ref.ReferenceTypeId = ReferenceId::HasComponent;
14829         ref.SourceNodeId = ToNodeId("i=2172");
14830         ref.TargetNodeClass = NodeClass::DataType;
14831         ref.TargetNodeId = ToNodeId("i=8897");
14832         refs.push_back(ref);
14833         }
14834         {
14835         AddReferencesItem ref;
14836         ref.IsForward = true;
14837         ref.ReferenceTypeId = ReferenceId::HasComponent;
14838         ref.SourceNodeId = ToNodeId("i=2172");
14839         ref.TargetNodeClass = NodeClass::DataType;
14840         ref.TargetNodeId = ToNodeId("i=8902");
14841         refs.push_back(ref);
14842         }
14843         registry.AddReferences(refs);
14844         }
14845        
14846         {
14847         AddNodesItem node;
14848         node.RequestedNewNodeId = ToNodeId("i=2173");
14849         node.BrowseName = ToQualifiedName("SessionId");
14850         node.Class = NodeClass::Variable;
14851         node.ParentNodeId = ToNodeId("i=2172");
14852         node.ReferenceTypeId = ReferenceId::HasComponent;
14853         node.TypeDefinition = ToNodeId("i=63");
14854         VariableAttributes attrs;
14855         attrs.DisplayName = LocalizedText("SessionId");
14856         attrs.Type = ObjectId::NodeId;
14857         attrs.Rank = -1;
14858         node.Attributes = attrs;
14859         registry.AddNodes(std::vector<AddNodesItem>{node});
14860         std::vector<AddReferencesItem> refs;
14861         {
14862         AddReferencesItem ref;
14863         ref.IsForward = true;
14864         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
14865         ref.SourceNodeId = ToNodeId("i=2173");
14866         ref.TargetNodeClass = NodeClass::DataType;
14867         ref.TargetNodeId = ToNodeId("i=78");
14868         refs.push_back(ref);
14869         }
14870         registry.AddReferences(refs);
14871         }
14872        
14873         {
14874         AddNodesItem node;
14875         node.RequestedNewNodeId = ToNodeId("i=2174");
14876         node.BrowseName = ToQualifiedName("SubscriptionId");
14877         node.Class = NodeClass::Variable;
14878         node.ParentNodeId = ToNodeId("i=2172");
14879         node.ReferenceTypeId = ReferenceId::HasComponent;
14880         node.TypeDefinition = ToNodeId("i=63");
14881         VariableAttributes attrs;
14882         attrs.DisplayName = LocalizedText("SubscriptionId");
14883         attrs.Type = ObjectId::UInt32;
14884         attrs.Rank = -1;
14885         node.Attributes = attrs;
14886         registry.AddNodes(std::vector<AddNodesItem>{node});
14887         std::vector<AddReferencesItem> refs;
14888         {
14889         AddReferencesItem ref;
14890         ref.IsForward = true;
14891         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
14892         ref.SourceNodeId = ToNodeId("i=2174");
14893         ref.TargetNodeClass = NodeClass::DataType;
14894         ref.TargetNodeId = ToNodeId("i=78");
14895         refs.push_back(ref);
14896         }
14897         registry.AddReferences(refs);
14898         }
14899        
14900         {
14901         AddNodesItem node;
14902         node.RequestedNewNodeId = ToNodeId("i=2175");
14903         node.BrowseName = ToQualifiedName("Priority");
14904         node.Class = NodeClass::Variable;
14905         node.ParentNodeId = ToNodeId("i=2172");
14906         node.ReferenceTypeId = ReferenceId::HasComponent;
14907         node.TypeDefinition = ToNodeId("i=63");
14908         VariableAttributes attrs;
14909         attrs.DisplayName = LocalizedText("Priority");
14910         attrs.Type = ObjectId::Byte;
14911         attrs.Rank = -1;
14912         node.Attributes = attrs;
14913         registry.AddNodes(std::vector<AddNodesItem>{node});
14914         std::vector<AddReferencesItem> refs;
14915         {
14916         AddReferencesItem ref;
14917         ref.IsForward = true;
14918         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
14919         ref.SourceNodeId = ToNodeId("i=2175");
14920         ref.TargetNodeClass = NodeClass::DataType;
14921         ref.TargetNodeId = ToNodeId("i=78");
14922         refs.push_back(ref);
14923         }
14924         registry.AddReferences(refs);
14925         }
14926        
14927         {
14928         AddNodesItem node;
14929         node.RequestedNewNodeId = ToNodeId("i=2176");
14930         node.BrowseName = ToQualifiedName("PublishingInterval");
14931         node.Class = NodeClass::Variable;
14932         node.ParentNodeId = ToNodeId("i=2172");
14933         node.ReferenceTypeId = ReferenceId::HasComponent;
14934         node.TypeDefinition = ToNodeId("i=63");
14935         VariableAttributes attrs;
14936         attrs.DisplayName = LocalizedText("PublishingInterval");
14937         attrs.Type = ObjectId::Double;
14938         attrs.Rank = -1;
14939         node.Attributes = attrs;
14940         registry.AddNodes(std::vector<AddNodesItem>{node});
14941         std::vector<AddReferencesItem> refs;
14942         {
14943         AddReferencesItem ref;
14944         ref.IsForward = true;
14945         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
14946         ref.SourceNodeId = ToNodeId("i=2176");
14947         ref.TargetNodeClass = NodeClass::DataType;
14948         ref.TargetNodeId = ToNodeId("i=78");
14949         refs.push_back(ref);
14950         }
14951         registry.AddReferences(refs);
14952         }
14953        
14954         {
14955         AddNodesItem node;
14956         node.RequestedNewNodeId = ToNodeId("i=2177");
14957         node.BrowseName = ToQualifiedName("MaxKeepAliveCount");
14958         node.Class = NodeClass::Variable;
14959         node.ParentNodeId = ToNodeId("i=2172");
14960         node.ReferenceTypeId = ReferenceId::HasComponent;
14961         node.TypeDefinition = ToNodeId("i=63");
14962         VariableAttributes attrs;
14963         attrs.DisplayName = LocalizedText("MaxKeepAliveCount");
14964         attrs.Type = ObjectId::UInt32;
14965         attrs.Rank = -1;
14966         node.Attributes = attrs;
14967         registry.AddNodes(std::vector<AddNodesItem>{node});
14968         std::vector<AddReferencesItem> refs;
14969         {
14970         AddReferencesItem ref;
14971         ref.IsForward = true;
14972         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
14973         ref.SourceNodeId = ToNodeId("i=2177");
14974         ref.TargetNodeClass = NodeClass::DataType;
14975         ref.TargetNodeId = ToNodeId("i=78");
14976         refs.push_back(ref);
14977         }
14978         registry.AddReferences(refs);
14979         }
14980        
14981         {
14982         AddNodesItem node;
14983         node.RequestedNewNodeId = ToNodeId("i=8888");
14984         node.BrowseName = ToQualifiedName("MaxLifetimeCount");
14985         node.Class = NodeClass::Variable;
14986         node.ParentNodeId = ToNodeId("i=2172");
14987         node.ReferenceTypeId = ReferenceId::HasComponent;
14988         node.TypeDefinition = ToNodeId("i=63");
14989         VariableAttributes attrs;
14990         attrs.DisplayName = LocalizedText("MaxLifetimeCount");
14991         attrs.Type = ObjectId::UInt32;
14992         attrs.Rank = -1;
14993         node.Attributes = attrs;
14994         registry.AddNodes(std::vector<AddNodesItem>{node});
14995         std::vector<AddReferencesItem> refs;
14996         {
14997         AddReferencesItem ref;
14998         ref.IsForward = true;
14999         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
15000         ref.SourceNodeId = ToNodeId("i=8888");
15001         ref.TargetNodeClass = NodeClass::DataType;
15002         ref.TargetNodeId = ToNodeId("i=78");
15003         refs.push_back(ref);
15004         }
15005         registry.AddReferences(refs);
15006         }
15007        
15008         {
15009         AddNodesItem node;
15010         node.RequestedNewNodeId = ToNodeId("i=2179");
15011         node.BrowseName = ToQualifiedName("MaxNotificationsPerPublish");
15012         node.Class = NodeClass::Variable;
15013         node.ParentNodeId = ToNodeId("i=2172");
15014         node.ReferenceTypeId = ReferenceId::HasComponent;
15015         node.TypeDefinition = ToNodeId("i=63");
15016         VariableAttributes attrs;
15017         attrs.DisplayName = LocalizedText("MaxNotificationsPerPublish");
15018         attrs.Type = ObjectId::UInt32;
15019         attrs.Rank = -1;
15020         node.Attributes = attrs;
15021         registry.AddNodes(std::vector<AddNodesItem>{node});
15022         std::vector<AddReferencesItem> refs;
15023         {
15024         AddReferencesItem ref;
15025         ref.IsForward = true;
15026         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
15027         ref.SourceNodeId = ToNodeId("i=2179");
15028         ref.TargetNodeClass = NodeClass::DataType;
15029         ref.TargetNodeId = ToNodeId("i=78");
15030         refs.push_back(ref);
15031         }
15032         registry.AddReferences(refs);
15033         }
15034        
15035         {
15036         AddNodesItem node;
15037         node.RequestedNewNodeId = ToNodeId("i=2180");
15038         node.BrowseName = ToQualifiedName("PublishingEnabled");
15039         node.Class = NodeClass::Variable;
15040         node.ParentNodeId = ToNodeId("i=2172");
15041         node.ReferenceTypeId = ReferenceId::HasComponent;
15042         node.TypeDefinition = ToNodeId("i=63");
15043         VariableAttributes attrs;
15044         attrs.DisplayName = LocalizedText("PublishingEnabled");
15045         attrs.Type = ObjectId::Boolean;
15046         attrs.Rank = -1;
15047         node.Attributes = attrs;
15048         registry.AddNodes(std::vector<AddNodesItem>{node});
15049         std::vector<AddReferencesItem> refs;
15050         {
15051         AddReferencesItem ref;
15052         ref.IsForward = true;
15053         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
15054         ref.SourceNodeId = ToNodeId("i=2180");
15055         ref.TargetNodeClass = NodeClass::DataType;
15056         ref.TargetNodeId = ToNodeId("i=78");
15057         refs.push_back(ref);
15058         }
15059         registry.AddReferences(refs);
15060         }
15061        
15062         {
15063         AddNodesItem node;
15064         node.RequestedNewNodeId = ToNodeId("i=2181");
15065         node.BrowseName = ToQualifiedName("ModifyCount");
15066         node.Class = NodeClass::Variable;
15067         node.ParentNodeId = ToNodeId("i=2172");
15068         node.ReferenceTypeId = ReferenceId::HasComponent;
15069         node.TypeDefinition = ToNodeId("i=63");
15070         VariableAttributes attrs;
15071         attrs.DisplayName = LocalizedText("ModifyCount");
15072         attrs.Type = ObjectId::UInt32;
15073         attrs.Rank = -1;
15074         node.Attributes = attrs;
15075         registry.AddNodes(std::vector<AddNodesItem>{node});
15076         std::vector<AddReferencesItem> refs;
15077         {
15078         AddReferencesItem ref;
15079         ref.IsForward = true;
15080         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
15081         ref.SourceNodeId = ToNodeId("i=2181");
15082         ref.TargetNodeClass = NodeClass::DataType;
15083         ref.TargetNodeId = ToNodeId("i=78");
15084         refs.push_back(ref);
15085         }
15086         registry.AddReferences(refs);
15087         }
15088        
15089         {
15090         AddNodesItem node;
15091         node.RequestedNewNodeId = ToNodeId("i=2182");
15092         node.BrowseName = ToQualifiedName("EnableCount");
15093         node.Class = NodeClass::Variable;
15094         node.ParentNodeId = ToNodeId("i=2172");
15095         node.ReferenceTypeId = ReferenceId::HasComponent;
15096         node.TypeDefinition = ToNodeId("i=63");
15097         VariableAttributes attrs;
15098         attrs.DisplayName = LocalizedText("EnableCount");
15099         attrs.Type = ObjectId::UInt32;
15100         attrs.Rank = -1;
15101         node.Attributes = attrs;
15102         registry.AddNodes(std::vector<AddNodesItem>{node});
15103         std::vector<AddReferencesItem> refs;
15104         {
15105         AddReferencesItem ref;
15106         ref.IsForward = true;
15107         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
15108         ref.SourceNodeId = ToNodeId("i=2182");
15109         ref.TargetNodeClass = NodeClass::DataType;
15110         ref.TargetNodeId = ToNodeId("i=78");
15111         refs.push_back(ref);
15112         }
15113         registry.AddReferences(refs);
15114         }
15115        
15116         {
15117         AddNodesItem node;
15118         node.RequestedNewNodeId = ToNodeId("i=2183");
15119         node.BrowseName = ToQualifiedName("DisableCount");
15120         node.Class = NodeClass::Variable;
15121         node.ParentNodeId = ToNodeId("i=2172");
15122         node.ReferenceTypeId = ReferenceId::HasComponent;
15123         node.TypeDefinition = ToNodeId("i=63");
15124         VariableAttributes attrs;
15125         attrs.DisplayName = LocalizedText("DisableCount");
15126         attrs.Type = ObjectId::UInt32;
15127         attrs.Rank = -1;
15128         node.Attributes = attrs;
15129         registry.AddNodes(std::vector<AddNodesItem>{node});
15130         std::vector<AddReferencesItem> refs;
15131         {
15132         AddReferencesItem ref;
15133         ref.IsForward = true;
15134         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
15135         ref.SourceNodeId = ToNodeId("i=2183");
15136         ref.TargetNodeClass = NodeClass::DataType;
15137         ref.TargetNodeId = ToNodeId("i=78");
15138         refs.push_back(ref);
15139         }
15140         registry.AddReferences(refs);
15141         }
15142        
15143         {
15144         AddNodesItem node;
15145         node.RequestedNewNodeId = ToNodeId("i=2184");
15146         node.BrowseName = ToQualifiedName("RepublishRequestCount");
15147         node.Class = NodeClass::Variable;
15148         node.ParentNodeId = ToNodeId("i=2172");
15149         node.ReferenceTypeId = ReferenceId::HasComponent;
15150         node.TypeDefinition = ToNodeId("i=63");
15151         VariableAttributes attrs;
15152         attrs.DisplayName = LocalizedText("RepublishRequestCount");
15153         attrs.Type = ObjectId::UInt32;
15154         attrs.Rank = -1;
15155         node.Attributes = attrs;
15156         registry.AddNodes(std::vector<AddNodesItem>{node});
15157         std::vector<AddReferencesItem> refs;
15158         {
15159         AddReferencesItem ref;
15160         ref.IsForward = true;
15161         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
15162         ref.SourceNodeId = ToNodeId("i=2184");
15163         ref.TargetNodeClass = NodeClass::DataType;
15164         ref.TargetNodeId = ToNodeId("i=78");
15165         refs.push_back(ref);
15166         }
15167         registry.AddReferences(refs);
15168         }
15169        
15170         {
15171         AddNodesItem node;
15172         node.RequestedNewNodeId = ToNodeId("i=2185");
15173         node.BrowseName = ToQualifiedName("RepublishMessageRequestCount");
15174         node.Class = NodeClass::Variable;
15175         node.ParentNodeId = ToNodeId("i=2172");
15176         node.ReferenceTypeId = ReferenceId::HasComponent;
15177         node.TypeDefinition = ToNodeId("i=63");
15178         VariableAttributes attrs;
15179         attrs.DisplayName = LocalizedText("RepublishMessageRequestCount");
15180         attrs.Type = ObjectId::UInt32;
15181         attrs.Rank = -1;
15182         node.Attributes = attrs;
15183         registry.AddNodes(std::vector<AddNodesItem>{node});
15184         std::vector<AddReferencesItem> refs;
15185         {
15186         AddReferencesItem ref;
15187         ref.IsForward = true;
15188         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
15189         ref.SourceNodeId = ToNodeId("i=2185");
15190         ref.TargetNodeClass = NodeClass::DataType;
15191         ref.TargetNodeId = ToNodeId("i=78");
15192         refs.push_back(ref);
15193         }
15194         registry.AddReferences(refs);
15195         }
15196        
15197         {
15198         AddNodesItem node;
15199         node.RequestedNewNodeId = ToNodeId("i=2186");
15200         node.BrowseName = ToQualifiedName("RepublishMessageCount");
15201         node.Class = NodeClass::Variable;
15202         node.ParentNodeId = ToNodeId("i=2172");
15203         node.ReferenceTypeId = ReferenceId::HasComponent;
15204         node.TypeDefinition = ToNodeId("i=63");
15205         VariableAttributes attrs;
15206         attrs.DisplayName = LocalizedText("RepublishMessageCount");
15207         attrs.Type = ObjectId::UInt32;
15208         attrs.Rank = -1;
15209         node.Attributes = attrs;
15210         registry.AddNodes(std::vector<AddNodesItem>{node});
15211         std::vector<AddReferencesItem> refs;
15212         {
15213         AddReferencesItem ref;
15214         ref.IsForward = true;
15215         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
15216         ref.SourceNodeId = ToNodeId("i=2186");
15217         ref.TargetNodeClass = NodeClass::DataType;
15218         ref.TargetNodeId = ToNodeId("i=78");
15219         refs.push_back(ref);
15220         }
15221         registry.AddReferences(refs);
15222         }
15223        
15224         {
15225         AddNodesItem node;
15226         node.RequestedNewNodeId = ToNodeId("i=2187");
15227         node.BrowseName = ToQualifiedName("TransferRequestCount");
15228         node.Class = NodeClass::Variable;
15229         node.ParentNodeId = ToNodeId("i=2172");
15230         node.ReferenceTypeId = ReferenceId::HasComponent;
15231         node.TypeDefinition = ToNodeId("i=63");
15232         VariableAttributes attrs;
15233         attrs.DisplayName = LocalizedText("TransferRequestCount");
15234         attrs.Type = ObjectId::UInt32;
15235         attrs.Rank = -1;
15236         node.Attributes = attrs;
15237         registry.AddNodes(std::vector<AddNodesItem>{node});
15238         std::vector<AddReferencesItem> refs;
15239         {
15240         AddReferencesItem ref;
15241         ref.IsForward = true;
15242         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
15243         ref.SourceNodeId = ToNodeId("i=2187");
15244         ref.TargetNodeClass = NodeClass::DataType;
15245         ref.TargetNodeId = ToNodeId("i=78");
15246         refs.push_back(ref);
15247         }
15248         registry.AddReferences(refs);
15249         }
15250        
15251         {
15252         AddNodesItem node;
15253         node.RequestedNewNodeId = ToNodeId("i=2188");
15254         node.BrowseName = ToQualifiedName("TransferredToAltClientCount");
15255         node.Class = NodeClass::Variable;
15256         node.ParentNodeId = ToNodeId("i=2172");
15257         node.ReferenceTypeId = ReferenceId::HasComponent;
15258         node.TypeDefinition = ToNodeId("i=63");
15259         VariableAttributes attrs;
15260         attrs.DisplayName = LocalizedText("TransferredToAltClientCount");
15261         attrs.Type = ObjectId::UInt32;
15262         attrs.Rank = -1;
15263         node.Attributes = attrs;
15264         registry.AddNodes(std::vector<AddNodesItem>{node});
15265         std::vector<AddReferencesItem> refs;
15266         {
15267         AddReferencesItem ref;
15268         ref.IsForward = true;
15269         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
15270         ref.SourceNodeId = ToNodeId("i=2188");
15271         ref.TargetNodeClass = NodeClass::DataType;
15272         ref.TargetNodeId = ToNodeId("i=78");
15273         refs.push_back(ref);
15274         }
15275         registry.AddReferences(refs);
15276         }
15277        
15278         {
15279         AddNodesItem node;
15280         node.RequestedNewNodeId = ToNodeId("i=2189");
15281         node.BrowseName = ToQualifiedName("TransferredToSameClientCount");
15282         node.Class = NodeClass::Variable;
15283         node.ParentNodeId = ToNodeId("i=2172");
15284         node.ReferenceTypeId = ReferenceId::HasComponent;
15285         node.TypeDefinition = ToNodeId("i=63");
15286         VariableAttributes attrs;
15287         attrs.DisplayName = LocalizedText("TransferredToSameClientCount");
15288         attrs.Type = ObjectId::UInt32;
15289         attrs.Rank = -1;
15290         node.Attributes = attrs;
15291         registry.AddNodes(std::vector<AddNodesItem>{node});
15292         std::vector<AddReferencesItem> refs;
15293         {
15294         AddReferencesItem ref;
15295         ref.IsForward = true;
15296         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
15297         ref.SourceNodeId = ToNodeId("i=2189");
15298         ref.TargetNodeClass = NodeClass::DataType;
15299         ref.TargetNodeId = ToNodeId("i=78");
15300         refs.push_back(ref);
15301         }
15302         registry.AddReferences(refs);
15303         }
15304        
15305         {
15306         AddNodesItem node;
15307         node.RequestedNewNodeId = ToNodeId("i=2190");
15308         node.BrowseName = ToQualifiedName("PublishRequestCount");
15309         node.Class = NodeClass::Variable;
15310         node.ParentNodeId = ToNodeId("i=2172");
15311         node.ReferenceTypeId = ReferenceId::HasComponent;
15312         node.TypeDefinition = ToNodeId("i=63");
15313         VariableAttributes attrs;
15314         attrs.DisplayName = LocalizedText("PublishRequestCount");
15315         attrs.Type = ObjectId::UInt32;
15316         attrs.Rank = -1;
15317         node.Attributes = attrs;
15318         registry.AddNodes(std::vector<AddNodesItem>{node});
15319         std::vector<AddReferencesItem> refs;
15320         {
15321         AddReferencesItem ref;
15322         ref.IsForward = true;
15323         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
15324         ref.SourceNodeId = ToNodeId("i=2190");
15325         ref.TargetNodeClass = NodeClass::DataType;
15326         ref.TargetNodeId = ToNodeId("i=78");
15327         refs.push_back(ref);
15328         }
15329         registry.AddReferences(refs);
15330         }
15331        
15332         {
15333         AddNodesItem node;
15334         node.RequestedNewNodeId = ToNodeId("i=2191");
15335         node.BrowseName = ToQualifiedName("DataChangeNotificationsCount");
15336         node.Class = NodeClass::Variable;
15337         node.ParentNodeId = ToNodeId("i=2172");
15338         node.ReferenceTypeId = ReferenceId::HasComponent;
15339         node.TypeDefinition = ToNodeId("i=63");
15340         VariableAttributes attrs;
15341         attrs.DisplayName = LocalizedText("DataChangeNotificationsCount");
15342         attrs.Type = ObjectId::UInt32;
15343         attrs.Rank = -1;
15344         node.Attributes = attrs;
15345         registry.AddNodes(std::vector<AddNodesItem>{node});
15346         std::vector<AddReferencesItem> refs;
15347         {
15348         AddReferencesItem ref;
15349         ref.IsForward = true;
15350         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
15351         ref.SourceNodeId = ToNodeId("i=2191");
15352         ref.TargetNodeClass = NodeClass::DataType;
15353         ref.TargetNodeId = ToNodeId("i=78");
15354         refs.push_back(ref);
15355         }
15356         registry.AddReferences(refs);
15357         }
15358        
15359         {
15360         AddNodesItem node;
15361         node.RequestedNewNodeId = ToNodeId("i=2998");
15362         node.BrowseName = ToQualifiedName("EventNotificationsCount");
15363         node.Class = NodeClass::Variable;
15364         node.ParentNodeId = ToNodeId("i=2172");
15365         node.ReferenceTypeId = ReferenceId::HasComponent;
15366         node.TypeDefinition = ToNodeId("i=63");
15367         VariableAttributes attrs;
15368         attrs.DisplayName = LocalizedText("EventNotificationsCount");
15369         attrs.Type = ObjectId::UInt32;
15370         attrs.Rank = -1;
15371         node.Attributes = attrs;
15372         registry.AddNodes(std::vector<AddNodesItem>{node});
15373         std::vector<AddReferencesItem> refs;
15374         {
15375         AddReferencesItem ref;
15376         ref.IsForward = true;
15377         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
15378         ref.SourceNodeId = ToNodeId("i=2998");
15379         ref.TargetNodeClass = NodeClass::DataType;
15380         ref.TargetNodeId = ToNodeId("i=78");
15381         refs.push_back(ref);
15382         }
15383         registry.AddReferences(refs);
15384         }
15385        
15386         {
15387         AddNodesItem node;
15388         node.RequestedNewNodeId = ToNodeId("i=2193");
15389         node.BrowseName = ToQualifiedName("NotificationsCount");
15390         node.Class = NodeClass::Variable;
15391         node.ParentNodeId = ToNodeId("i=2172");
15392         node.ReferenceTypeId = ReferenceId::HasComponent;
15393         node.TypeDefinition = ToNodeId("i=63");
15394         VariableAttributes attrs;
15395         attrs.DisplayName = LocalizedText("NotificationsCount");
15396         attrs.Type = ObjectId::UInt32;
15397         attrs.Rank = -1;
15398         node.Attributes = attrs;
15399         registry.AddNodes(std::vector<AddNodesItem>{node});
15400         std::vector<AddReferencesItem> refs;
15401         {
15402         AddReferencesItem ref;
15403         ref.IsForward = true;
15404         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
15405         ref.SourceNodeId = ToNodeId("i=2193");
15406         ref.TargetNodeClass = NodeClass::DataType;
15407         ref.TargetNodeId = ToNodeId("i=78");
15408         refs.push_back(ref);
15409         }
15410         registry.AddReferences(refs);
15411         }
15412        
15413         {
15414         AddNodesItem node;
15415         node.RequestedNewNodeId = ToNodeId("i=8889");
15416         node.BrowseName = ToQualifiedName("LatePublishRequestCount");
15417         node.Class = NodeClass::Variable;
15418         node.ParentNodeId = ToNodeId("i=2172");
15419         node.ReferenceTypeId = ReferenceId::HasComponent;
15420         node.TypeDefinition = ToNodeId("i=63");
15421         VariableAttributes attrs;
15422         attrs.DisplayName = LocalizedText("LatePublishRequestCount");
15423         attrs.Type = ObjectId::UInt32;
15424         attrs.Rank = -1;
15425         node.Attributes = attrs;
15426         registry.AddNodes(std::vector<AddNodesItem>{node});
15427         std::vector<AddReferencesItem> refs;
15428         {
15429         AddReferencesItem ref;
15430         ref.IsForward = true;
15431         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
15432         ref.SourceNodeId = ToNodeId("i=8889");
15433         ref.TargetNodeClass = NodeClass::DataType;
15434         ref.TargetNodeId = ToNodeId("i=78");
15435         refs.push_back(ref);
15436         }
15437         registry.AddReferences(refs);
15438         }
15439        
15440         {
15441         AddNodesItem node;
15442         node.RequestedNewNodeId = ToNodeId("i=8890");
15443         node.BrowseName = ToQualifiedName("CurrentKeepAliveCount");
15444         node.Class = NodeClass::Variable;
15445         node.ParentNodeId = ToNodeId("i=2172");
15446         node.ReferenceTypeId = ReferenceId::HasComponent;
15447         node.TypeDefinition = ToNodeId("i=63");
15448         VariableAttributes attrs;
15449         attrs.DisplayName = LocalizedText("CurrentKeepAliveCount");
15450         attrs.Type = ObjectId::UInt32;
15451         attrs.Rank = -1;
15452         node.Attributes = attrs;
15453         registry.AddNodes(std::vector<AddNodesItem>{node});
15454         std::vector<AddReferencesItem> refs;
15455         {
15456         AddReferencesItem ref;
15457         ref.IsForward = true;
15458         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
15459         ref.SourceNodeId = ToNodeId("i=8890");
15460         ref.TargetNodeClass = NodeClass::DataType;
15461         ref.TargetNodeId = ToNodeId("i=78");
15462         refs.push_back(ref);
15463         }
15464         registry.AddReferences(refs);
15465         }
15466        
15467         {
15468         AddNodesItem node;
15469         node.RequestedNewNodeId = ToNodeId("i=8891");
15470         node.BrowseName = ToQualifiedName("CurrentLifetimeCount");
15471         node.Class = NodeClass::Variable;
15472         node.ParentNodeId = ToNodeId("i=2172");
15473         node.ReferenceTypeId = ReferenceId::HasComponent;
15474         node.TypeDefinition = ToNodeId("i=63");
15475         VariableAttributes attrs;
15476         attrs.DisplayName = LocalizedText("CurrentLifetimeCount");
15477         attrs.Type = ObjectId::UInt32;
15478         attrs.Rank = -1;
15479         node.Attributes = attrs;
15480         registry.AddNodes(std::vector<AddNodesItem>{node});
15481         std::vector<AddReferencesItem> refs;
15482         {
15483         AddReferencesItem ref;
15484         ref.IsForward = true;
15485         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
15486         ref.SourceNodeId = ToNodeId("i=8891");
15487         ref.TargetNodeClass = NodeClass::DataType;
15488         ref.TargetNodeId = ToNodeId("i=78");
15489         refs.push_back(ref);
15490         }
15491         registry.AddReferences(refs);
15492         }
15493        
15494         {
15495         AddNodesItem node;
15496         node.RequestedNewNodeId = ToNodeId("i=8892");
15497         node.BrowseName = ToQualifiedName("UnacknowledgedMessageCount");
15498         node.Class = NodeClass::Variable;
15499         node.ParentNodeId = ToNodeId("i=2172");
15500         node.ReferenceTypeId = ReferenceId::HasComponent;
15501         node.TypeDefinition = ToNodeId("i=63");
15502         VariableAttributes attrs;
15503         attrs.DisplayName = LocalizedText("UnacknowledgedMessageCount");
15504         attrs.Type = ObjectId::UInt32;
15505         attrs.Rank = -1;
15506         node.Attributes = attrs;
15507         registry.AddNodes(std::vector<AddNodesItem>{node});
15508         std::vector<AddReferencesItem> refs;
15509         {
15510         AddReferencesItem ref;
15511         ref.IsForward = true;
15512         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
15513         ref.SourceNodeId = ToNodeId("i=8892");
15514         ref.TargetNodeClass = NodeClass::DataType;
15515         ref.TargetNodeId = ToNodeId("i=78");
15516         refs.push_back(ref);
15517         }
15518         registry.AddReferences(refs);
15519         }
15520        
15521         {
15522         AddNodesItem node;
15523         node.RequestedNewNodeId = ToNodeId("i=8893");
15524         node.BrowseName = ToQualifiedName("DiscardedMessageCount");
15525         node.Class = NodeClass::Variable;
15526         node.ParentNodeId = ToNodeId("i=2172");
15527         node.ReferenceTypeId = ReferenceId::HasComponent;
15528         node.TypeDefinition = ToNodeId("i=63");
15529         VariableAttributes attrs;
15530         attrs.DisplayName = LocalizedText("DiscardedMessageCount");
15531         attrs.Type = ObjectId::UInt32;
15532         attrs.Rank = -1;
15533         node.Attributes = attrs;
15534         registry.AddNodes(std::vector<AddNodesItem>{node});
15535         std::vector<AddReferencesItem> refs;
15536         {
15537         AddReferencesItem ref;
15538         ref.IsForward = true;
15539         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
15540         ref.SourceNodeId = ToNodeId("i=8893");
15541         ref.TargetNodeClass = NodeClass::DataType;
15542         ref.TargetNodeId = ToNodeId("i=78");
15543         refs.push_back(ref);
15544         }
15545         registry.AddReferences(refs);
15546         }
15547        
15548         {
15549         AddNodesItem node;
15550         node.RequestedNewNodeId = ToNodeId("i=8894");
15551         node.BrowseName = ToQualifiedName("MonitoredItemCount");
15552         node.Class = NodeClass::Variable;
15553         node.ParentNodeId = ToNodeId("i=2172");
15554         node.ReferenceTypeId = ReferenceId::HasComponent;
15555         node.TypeDefinition = ToNodeId("i=63");
15556         VariableAttributes attrs;
15557         attrs.DisplayName = LocalizedText("MonitoredItemCount");
15558         attrs.Type = ObjectId::UInt32;
15559         attrs.Rank = -1;
15560         node.Attributes = attrs;
15561         registry.AddNodes(std::vector<AddNodesItem>{node});
15562         std::vector<AddReferencesItem> refs;
15563         {
15564         AddReferencesItem ref;
15565         ref.IsForward = true;
15566         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
15567         ref.SourceNodeId = ToNodeId("i=8894");
15568         ref.TargetNodeClass = NodeClass::DataType;
15569         ref.TargetNodeId = ToNodeId("i=78");
15570         refs.push_back(ref);
15571         }
15572         registry.AddReferences(refs);
15573         }
15574        
15575         {
15576         AddNodesItem node;
15577         node.RequestedNewNodeId = ToNodeId("i=8895");
15578         node.BrowseName = ToQualifiedName("DisabledMonitoredItemCount");
15579         node.Class = NodeClass::Variable;
15580         node.ParentNodeId = ToNodeId("i=2172");
15581         node.ReferenceTypeId = ReferenceId::HasComponent;
15582         node.TypeDefinition = ToNodeId("i=63");
15583         VariableAttributes attrs;
15584         attrs.DisplayName = LocalizedText("DisabledMonitoredItemCount");
15585         attrs.Type = ObjectId::UInt32;
15586         attrs.Rank = -1;
15587         node.Attributes = attrs;
15588         registry.AddNodes(std::vector<AddNodesItem>{node});
15589         std::vector<AddReferencesItem> refs;
15590         {
15591         AddReferencesItem ref;
15592         ref.IsForward = true;
15593         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
15594         ref.SourceNodeId = ToNodeId("i=8895");
15595         ref.TargetNodeClass = NodeClass::DataType;
15596         ref.TargetNodeId = ToNodeId("i=78");
15597         refs.push_back(ref);
15598         }
15599         registry.AddReferences(refs);
15600         }
15601        
15602         {
15603         AddNodesItem node;
15604         node.RequestedNewNodeId = ToNodeId("i=8896");
15605         node.BrowseName = ToQualifiedName("MonitoringQueueOverflowCount");
15606         node.Class = NodeClass::Variable;
15607         node.ParentNodeId = ToNodeId("i=2172");
15608         node.ReferenceTypeId = ReferenceId::HasComponent;
15609         node.TypeDefinition = ToNodeId("i=63");
15610         VariableAttributes attrs;
15611         attrs.DisplayName = LocalizedText("MonitoringQueueOverflowCount");
15612         attrs.Type = ObjectId::UInt32;
15613         attrs.Rank = -1;
15614         node.Attributes = attrs;
15615         registry.AddNodes(std::vector<AddNodesItem>{node});
15616         std::vector<AddReferencesItem> refs;
15617         {
15618         AddReferencesItem ref;
15619         ref.IsForward = true;
15620         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
15621         ref.SourceNodeId = ToNodeId("i=8896");
15622         ref.TargetNodeClass = NodeClass::DataType;
15623         ref.TargetNodeId = ToNodeId("i=78");
15624         refs.push_back(ref);
15625         }
15626         registry.AddReferences(refs);
15627         }
15628        
15629         {
15630         AddNodesItem node;
15631         node.RequestedNewNodeId = ToNodeId("i=8897");
15632         node.BrowseName = ToQualifiedName("NextSequenceNumber");
15633         node.Class = NodeClass::Variable;
15634         node.ParentNodeId = ToNodeId("i=2172");
15635         node.ReferenceTypeId = ReferenceId::HasComponent;
15636         node.TypeDefinition = ToNodeId("i=63");
15637         VariableAttributes attrs;
15638         attrs.DisplayName = LocalizedText("NextSequenceNumber");
15639         attrs.Type = ObjectId::UInt32;
15640         attrs.Rank = -1;
15641         node.Attributes = attrs;
15642         registry.AddNodes(std::vector<AddNodesItem>{node});
15643         std::vector<AddReferencesItem> refs;
15644         {
15645         AddReferencesItem ref;
15646         ref.IsForward = true;
15647         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
15648         ref.SourceNodeId = ToNodeId("i=8897");
15649         ref.TargetNodeClass = NodeClass::DataType;
15650         ref.TargetNodeId = ToNodeId("i=78");
15651         refs.push_back(ref);
15652         }
15653         registry.AddReferences(refs);
15654         }
15655        
15656         {
15657         AddNodesItem node;
15658         node.RequestedNewNodeId = ToNodeId("i=8902");
15659         node.BrowseName = ToQualifiedName("EventQueueOverFlowCount");
15660         node.Class = NodeClass::Variable;
15661         node.ParentNodeId = ToNodeId("i=2172");
15662         node.ReferenceTypeId = ReferenceId::HasComponent;
15663         node.TypeDefinition = ToNodeId("i=63");
15664         VariableAttributes attrs;
15665         attrs.DisplayName = LocalizedText("EventQueueOverFlowCount");
15666         attrs.Type = ObjectId::UInt32;
15667         attrs.Rank = -1;
15668         node.Attributes = attrs;
15669         registry.AddNodes(std::vector<AddNodesItem>{node});
15670         std::vector<AddReferencesItem> refs;
15671         {
15672         AddReferencesItem ref;
15673         ref.IsForward = true;
15674         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
15675         ref.SourceNodeId = ToNodeId("i=8902");
15676         ref.TargetNodeClass = NodeClass::DataType;
15677         ref.TargetNodeId = ToNodeId("i=78");
15678         refs.push_back(ref);
15679         }
15680         registry.AddReferences(refs);
15681         }
15682        
15683         {
15684         AddNodesItem node;
15685         node.RequestedNewNodeId = ToNodeId("i=2196");
15686         node.BrowseName = ToQualifiedName("SessionDiagnosticsArrayType");
15687         node.Class = NodeClass::VariableType;
15688         node.ParentNodeId = ToNodeId("i=63");
15689         node.ReferenceTypeId = ReferenceId::HasSubtype;
15690         VariableTypeAttributes attrs;
15691         attrs.DisplayName = LocalizedText("SessionDiagnosticsArrayType");
15692         attrs.Type = ToNodeId("i=865");
15693         attrs.Rank = 1;
15694         attrs.IsAbstract = false;
15695         node.Attributes = attrs;
15696         registry.AddNodes(std::vector<AddNodesItem>{node});
15697         }
15698        
15699         {
15700         AddNodesItem node;
15701         node.RequestedNewNodeId = ToNodeId("i=2197");
15702         node.BrowseName = ToQualifiedName("SessionDiagnosticsVariableType");
15703         node.Class = NodeClass::VariableType;
15704         node.ParentNodeId = ToNodeId("i=63");
15705         node.ReferenceTypeId = ReferenceId::HasSubtype;
15706         VariableTypeAttributes attrs;
15707         attrs.DisplayName = LocalizedText("SessionDiagnosticsVariableType");
15708         attrs.Type = ToNodeId("i=865");
15709         attrs.Rank = -1;
15710         attrs.IsAbstract = false;
15711         node.Attributes = attrs;
15712         registry.AddNodes(std::vector<AddNodesItem>{node});
15713         std::vector<AddReferencesItem> refs;
15714         {
15715         AddReferencesItem ref;
15716         ref.IsForward = true;
15717         ref.ReferenceTypeId = ReferenceId::HasComponent;
15718         ref.SourceNodeId = ToNodeId("i=2197");
15719         ref.TargetNodeClass = NodeClass::DataType;
15720         ref.TargetNodeId = ToNodeId("i=2198");
15721         refs.push_back(ref);
15722         }
15723         {
15724         AddReferencesItem ref;
15725         ref.IsForward = true;
15726         ref.ReferenceTypeId = ReferenceId::HasComponent;
15727         ref.SourceNodeId = ToNodeId("i=2197");
15728         ref.TargetNodeClass = NodeClass::DataType;
15729         ref.TargetNodeId = ToNodeId("i=2199");
15730         refs.push_back(ref);
15731         }
15732         {
15733         AddReferencesItem ref;
15734         ref.IsForward = true;
15735         ref.ReferenceTypeId = ReferenceId::HasComponent;
15736         ref.SourceNodeId = ToNodeId("i=2197");
15737         ref.TargetNodeClass = NodeClass::DataType;
15738         ref.TargetNodeId = ToNodeId("i=2200");
15739         refs.push_back(ref);
15740         }
15741         {
15742         AddReferencesItem ref;
15743         ref.IsForward = true;
15744         ref.ReferenceTypeId = ReferenceId::HasComponent;
15745         ref.SourceNodeId = ToNodeId("i=2197");
15746         ref.TargetNodeClass = NodeClass::DataType;
15747         ref.TargetNodeId = ToNodeId("i=2201");
15748         refs.push_back(ref);
15749         }
15750         {
15751         AddReferencesItem ref;
15752         ref.IsForward = true;
15753         ref.ReferenceTypeId = ReferenceId::HasComponent;
15754         ref.SourceNodeId = ToNodeId("i=2197");
15755         ref.TargetNodeClass = NodeClass::DataType;
15756         ref.TargetNodeId = ToNodeId("i=2202");
15757         refs.push_back(ref);
15758         }
15759         {
15760         AddReferencesItem ref;
15761         ref.IsForward = true;
15762         ref.ReferenceTypeId = ReferenceId::HasComponent;
15763         ref.SourceNodeId = ToNodeId("i=2197");
15764         ref.TargetNodeClass = NodeClass::DataType;
15765         ref.TargetNodeId = ToNodeId("i=2203");
15766         refs.push_back(ref);
15767         }
15768         {
15769         AddReferencesItem ref;
15770         ref.IsForward = true;
15771         ref.ReferenceTypeId = ReferenceId::HasComponent;
15772         ref.SourceNodeId = ToNodeId("i=2197");
15773         ref.TargetNodeClass = NodeClass::DataType;
15774         ref.TargetNodeId = ToNodeId("i=2204");
15775         refs.push_back(ref);
15776         }
15777         {
15778         AddReferencesItem ref;
15779         ref.IsForward = true;
15780         ref.ReferenceTypeId = ReferenceId::HasComponent;
15781         ref.SourceNodeId = ToNodeId("i=2197");
15782         ref.TargetNodeClass = NodeClass::DataType;
15783         ref.TargetNodeId = ToNodeId("i=3050");
15784         refs.push_back(ref);
15785         }
15786         {
15787         AddReferencesItem ref;
15788         ref.IsForward = true;
15789         ref.ReferenceTypeId = ReferenceId::HasComponent;
15790         ref.SourceNodeId = ToNodeId("i=2197");
15791         ref.TargetNodeClass = NodeClass::DataType;
15792         ref.TargetNodeId = ToNodeId("i=2205");
15793         refs.push_back(ref);
15794         }
15795         {
15796         AddReferencesItem ref;
15797         ref.IsForward = true;
15798         ref.ReferenceTypeId = ReferenceId::HasComponent;
15799         ref.SourceNodeId = ToNodeId("i=2197");
15800         ref.TargetNodeClass = NodeClass::DataType;
15801         ref.TargetNodeId = ToNodeId("i=2206");
15802         refs.push_back(ref);
15803         }
15804         {
15805         AddReferencesItem ref;
15806         ref.IsForward = true;
15807         ref.ReferenceTypeId = ReferenceId::HasComponent;
15808         ref.SourceNodeId = ToNodeId("i=2197");
15809         ref.TargetNodeClass = NodeClass::DataType;
15810         ref.TargetNodeId = ToNodeId("i=2207");
15811         refs.push_back(ref);
15812         }
15813         {
15814         AddReferencesItem ref;
15815         ref.IsForward = true;
15816         ref.ReferenceTypeId = ReferenceId::HasComponent;
15817         ref.SourceNodeId = ToNodeId("i=2197");
15818         ref.TargetNodeClass = NodeClass::DataType;
15819         ref.TargetNodeId = ToNodeId("i=2208");
15820         refs.push_back(ref);
15821         }
15822         {
15823         AddReferencesItem ref;
15824         ref.IsForward = true;
15825         ref.ReferenceTypeId = ReferenceId::HasComponent;
15826         ref.SourceNodeId = ToNodeId("i=2197");
15827         ref.TargetNodeClass = NodeClass::DataType;
15828         ref.TargetNodeId = ToNodeId("i=2209");
15829         refs.push_back(ref);
15830         }
15831         {
15832         AddReferencesItem ref;
15833         ref.IsForward = true;
15834         ref.ReferenceTypeId = ReferenceId::HasComponent;
15835         ref.SourceNodeId = ToNodeId("i=2197");
15836         ref.TargetNodeClass = NodeClass::DataType;
15837         ref.TargetNodeId = ToNodeId("i=8900");
15838         refs.push_back(ref);
15839         }
15840         {
15841         AddReferencesItem ref;
15842         ref.IsForward = true;
15843         ref.ReferenceTypeId = ReferenceId::HasComponent;
15844         ref.SourceNodeId = ToNodeId("i=2197");
15845         ref.TargetNodeClass = NodeClass::DataType;
15846         ref.TargetNodeId = ToNodeId("i=11892");
15847         refs.push_back(ref);
15848         }
15849         {
15850         AddReferencesItem ref;
15851         ref.IsForward = true;
15852         ref.ReferenceTypeId = ReferenceId::HasComponent;
15853         ref.SourceNodeId = ToNodeId("i=2197");
15854         ref.TargetNodeClass = NodeClass::DataType;
15855         ref.TargetNodeId = ToNodeId("i=2217");
15856         refs.push_back(ref);
15857         }
15858         {
15859         AddReferencesItem ref;
15860         ref.IsForward = true;
15861         ref.ReferenceTypeId = ReferenceId::HasComponent;
15862         ref.SourceNodeId = ToNodeId("i=2197");
15863         ref.TargetNodeClass = NodeClass::DataType;
15864         ref.TargetNodeId = ToNodeId("i=2218");
15865         refs.push_back(ref);
15866         }
15867         {
15868         AddReferencesItem ref;
15869         ref.IsForward = true;
15870         ref.ReferenceTypeId = ReferenceId::HasComponent;
15871         ref.SourceNodeId = ToNodeId("i=2197");
15872         ref.TargetNodeClass = NodeClass::DataType;
15873         ref.TargetNodeId = ToNodeId("i=2219");
15874         refs.push_back(ref);
15875         }
15876         {
15877         AddReferencesItem ref;
15878         ref.IsForward = true;
15879         ref.ReferenceTypeId = ReferenceId::HasComponent;
15880         ref.SourceNodeId = ToNodeId("i=2197");
15881         ref.TargetNodeClass = NodeClass::DataType;
15882         ref.TargetNodeId = ToNodeId("i=2220");
15883         refs.push_back(ref);
15884         }
15885         {
15886         AddReferencesItem ref;
15887         ref.IsForward = true;
15888         ref.ReferenceTypeId = ReferenceId::HasComponent;
15889         ref.SourceNodeId = ToNodeId("i=2197");
15890         ref.TargetNodeClass = NodeClass::DataType;
15891         ref.TargetNodeId = ToNodeId("i=2221");
15892         refs.push_back(ref);
15893         }
15894         {
15895         AddReferencesItem ref;
15896         ref.IsForward = true;
15897         ref.ReferenceTypeId = ReferenceId::HasComponent;
15898         ref.SourceNodeId = ToNodeId("i=2197");
15899         ref.TargetNodeClass = NodeClass::DataType;
15900         ref.TargetNodeId = ToNodeId("i=2222");
15901         refs.push_back(ref);
15902         }
15903         {
15904         AddReferencesItem ref;
15905         ref.IsForward = true;
15906         ref.ReferenceTypeId = ReferenceId::HasComponent;
15907         ref.SourceNodeId = ToNodeId("i=2197");
15908         ref.TargetNodeClass = NodeClass::DataType;
15909         ref.TargetNodeId = ToNodeId("i=2223");
15910         refs.push_back(ref);
15911         }
15912         {
15913         AddReferencesItem ref;
15914         ref.IsForward = true;
15915         ref.ReferenceTypeId = ReferenceId::HasComponent;
15916         ref.SourceNodeId = ToNodeId("i=2197");
15917         ref.TargetNodeClass = NodeClass::DataType;
15918         ref.TargetNodeId = ToNodeId("i=2224");
15919         refs.push_back(ref);
15920         }
15921         {
15922         AddReferencesItem ref;
15923         ref.IsForward = true;
15924         ref.ReferenceTypeId = ReferenceId::HasComponent;
15925         ref.SourceNodeId = ToNodeId("i=2197");
15926         ref.TargetNodeClass = NodeClass::DataType;
15927         ref.TargetNodeId = ToNodeId("i=2225");
15928         refs.push_back(ref);
15929         }
15930         {
15931         AddReferencesItem ref;
15932         ref.IsForward = true;
15933         ref.ReferenceTypeId = ReferenceId::HasComponent;
15934         ref.SourceNodeId = ToNodeId("i=2197");
15935         ref.TargetNodeClass = NodeClass::DataType;
15936         ref.TargetNodeId = ToNodeId("i=2226");
15937         refs.push_back(ref);
15938         }
15939         {
15940         AddReferencesItem ref;
15941         ref.IsForward = true;
15942         ref.ReferenceTypeId = ReferenceId::HasComponent;
15943         ref.SourceNodeId = ToNodeId("i=2197");
15944         ref.TargetNodeClass = NodeClass::DataType;
15945         ref.TargetNodeId = ToNodeId("i=2227");
15946         refs.push_back(ref);
15947         }
15948         {
15949         AddReferencesItem ref;
15950         ref.IsForward = true;
15951         ref.ReferenceTypeId = ReferenceId::HasComponent;
15952         ref.SourceNodeId = ToNodeId("i=2197");
15953         ref.TargetNodeClass = NodeClass::DataType;
15954         ref.TargetNodeId = ToNodeId("i=2228");
15955         refs.push_back(ref);
15956         }
15957         {
15958         AddReferencesItem ref;
15959         ref.IsForward = true;
15960         ref.ReferenceTypeId = ReferenceId::HasComponent;
15961         ref.SourceNodeId = ToNodeId("i=2197");
15962         ref.TargetNodeClass = NodeClass::DataType;
15963         ref.TargetNodeId = ToNodeId("i=2229");
15964         refs.push_back(ref);
15965         }
15966         {
15967         AddReferencesItem ref;
15968         ref.IsForward = true;
15969         ref.ReferenceTypeId = ReferenceId::HasComponent;
15970         ref.SourceNodeId = ToNodeId("i=2197");
15971         ref.TargetNodeClass = NodeClass::DataType;
15972         ref.TargetNodeId = ToNodeId("i=2230");
15973         refs.push_back(ref);
15974         }
15975         {
15976         AddReferencesItem ref;
15977         ref.IsForward = true;
15978         ref.ReferenceTypeId = ReferenceId::HasComponent;
15979         ref.SourceNodeId = ToNodeId("i=2197");
15980         ref.TargetNodeClass = NodeClass::DataType;
15981         ref.TargetNodeId = ToNodeId("i=2231");
15982         refs.push_back(ref);
15983         }
15984         {
15985         AddReferencesItem ref;
15986         ref.IsForward = true;
15987         ref.ReferenceTypeId = ReferenceId::HasComponent;
15988         ref.SourceNodeId = ToNodeId("i=2197");
15989         ref.TargetNodeClass = NodeClass::DataType;
15990         ref.TargetNodeId = ToNodeId("i=2232");
15991         refs.push_back(ref);
15992         }
15993         {
15994         AddReferencesItem ref;
15995         ref.IsForward = true;
15996         ref.ReferenceTypeId = ReferenceId::HasComponent;
15997         ref.SourceNodeId = ToNodeId("i=2197");
15998         ref.TargetNodeClass = NodeClass::DataType;
15999         ref.TargetNodeId = ToNodeId("i=2233");
16000         refs.push_back(ref);
16001         }
16002         {
16003         AddReferencesItem ref;
16004         ref.IsForward = true;
16005         ref.ReferenceTypeId = ReferenceId::HasComponent;
16006         ref.SourceNodeId = ToNodeId("i=2197");
16007         ref.TargetNodeClass = NodeClass::DataType;
16008         ref.TargetNodeId = ToNodeId("i=2234");
16009         refs.push_back(ref);
16010         }
16011         {
16012         AddReferencesItem ref;
16013         ref.IsForward = true;
16014         ref.ReferenceTypeId = ReferenceId::HasComponent;
16015         ref.SourceNodeId = ToNodeId("i=2197");
16016         ref.TargetNodeClass = NodeClass::DataType;
16017         ref.TargetNodeId = ToNodeId("i=2235");
16018         refs.push_back(ref);
16019         }
16020         {
16021         AddReferencesItem ref;
16022         ref.IsForward = true;
16023         ref.ReferenceTypeId = ReferenceId::HasComponent;
16024         ref.SourceNodeId = ToNodeId("i=2197");
16025         ref.TargetNodeClass = NodeClass::DataType;
16026         ref.TargetNodeId = ToNodeId("i=2236");
16027         refs.push_back(ref);
16028         }
16029         {
16030         AddReferencesItem ref;
16031         ref.IsForward = true;
16032         ref.ReferenceTypeId = ReferenceId::HasComponent;
16033         ref.SourceNodeId = ToNodeId("i=2197");
16034         ref.TargetNodeClass = NodeClass::DataType;
16035         ref.TargetNodeId = ToNodeId("i=2237");
16036         refs.push_back(ref);
16037         }
16038         {
16039         AddReferencesItem ref;
16040         ref.IsForward = true;
16041         ref.ReferenceTypeId = ReferenceId::HasComponent;
16042         ref.SourceNodeId = ToNodeId("i=2197");
16043         ref.TargetNodeClass = NodeClass::DataType;
16044         ref.TargetNodeId = ToNodeId("i=2238");
16045         refs.push_back(ref);
16046         }
16047         {
16048         AddReferencesItem ref;
16049         ref.IsForward = true;
16050         ref.ReferenceTypeId = ReferenceId::HasComponent;
16051         ref.SourceNodeId = ToNodeId("i=2197");
16052         ref.TargetNodeClass = NodeClass::DataType;
16053         ref.TargetNodeId = ToNodeId("i=2239");
16054         refs.push_back(ref);
16055         }
16056         {
16057         AddReferencesItem ref;
16058         ref.IsForward = true;
16059         ref.ReferenceTypeId = ReferenceId::HasComponent;
16060         ref.SourceNodeId = ToNodeId("i=2197");
16061         ref.TargetNodeClass = NodeClass::DataType;
16062         ref.TargetNodeId = ToNodeId("i=2240");
16063         refs.push_back(ref);
16064         }
16065         {
16066         AddReferencesItem ref;
16067         ref.IsForward = true;
16068         ref.ReferenceTypeId = ReferenceId::HasComponent;
16069         ref.SourceNodeId = ToNodeId("i=2197");
16070         ref.TargetNodeClass = NodeClass::DataType;
16071         ref.TargetNodeId = ToNodeId("i=2241");
16072         refs.push_back(ref);
16073         }
16074         {
16075         AddReferencesItem ref;
16076         ref.IsForward = true;
16077         ref.ReferenceTypeId = ReferenceId::HasComponent;
16078         ref.SourceNodeId = ToNodeId("i=2197");
16079         ref.TargetNodeClass = NodeClass::DataType;
16080         ref.TargetNodeId = ToNodeId("i=2242");
16081         refs.push_back(ref);
16082         }
16083         {
16084         AddReferencesItem ref;
16085         ref.IsForward = true;
16086         ref.ReferenceTypeId = ReferenceId::HasComponent;
16087         ref.SourceNodeId = ToNodeId("i=2197");
16088         ref.TargetNodeClass = NodeClass::DataType;
16089         ref.TargetNodeId = ToNodeId("i=2730");
16090         refs.push_back(ref);
16091         }
16092         {
16093         AddReferencesItem ref;
16094         ref.IsForward = true;
16095         ref.ReferenceTypeId = ReferenceId::HasComponent;
16096         ref.SourceNodeId = ToNodeId("i=2197");
16097         ref.TargetNodeClass = NodeClass::DataType;
16098         ref.TargetNodeId = ToNodeId("i=2731");
16099         refs.push_back(ref);
16100         }
16101         registry.AddReferences(refs);
16102         }
16103        
16104         {
16105         AddNodesItem node;
16106         node.RequestedNewNodeId = ToNodeId("i=2198");
16107         node.BrowseName = ToQualifiedName("SessionId");
16108         node.Class = NodeClass::Variable;
16109         node.ParentNodeId = ToNodeId("i=2197");
16110         node.ReferenceTypeId = ReferenceId::HasComponent;
16111         node.TypeDefinition = ToNodeId("i=63");
16112         VariableAttributes attrs;
16113         attrs.DisplayName = LocalizedText("SessionId");
16114         attrs.Type = ObjectId::NodeId;
16115         attrs.Rank = -1;
16116         node.Attributes = attrs;
16117         registry.AddNodes(std::vector<AddNodesItem>{node});
16118         std::vector<AddReferencesItem> refs;
16119         {
16120         AddReferencesItem ref;
16121         ref.IsForward = true;
16122         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
16123         ref.SourceNodeId = ToNodeId("i=2198");
16124         ref.TargetNodeClass = NodeClass::DataType;
16125         ref.TargetNodeId = ToNodeId("i=78");
16126         refs.push_back(ref);
16127         }
16128         registry.AddReferences(refs);
16129         }
16130        
16131         {
16132         AddNodesItem node;
16133         node.RequestedNewNodeId = ToNodeId("i=2199");
16134         node.BrowseName = ToQualifiedName("SessionName");
16135         node.Class = NodeClass::Variable;
16136         node.ParentNodeId = ToNodeId("i=2197");
16137         node.ReferenceTypeId = ReferenceId::HasComponent;
16138         node.TypeDefinition = ToNodeId("i=63");
16139         VariableAttributes attrs;
16140         attrs.DisplayName = LocalizedText("SessionName");
16141         attrs.Type = ObjectId::String;
16142         attrs.Rank = -1;
16143         node.Attributes = attrs;
16144         registry.AddNodes(std::vector<AddNodesItem>{node});
16145         std::vector<AddReferencesItem> refs;
16146         {
16147         AddReferencesItem ref;
16148         ref.IsForward = true;
16149         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
16150         ref.SourceNodeId = ToNodeId("i=2199");
16151         ref.TargetNodeClass = NodeClass::DataType;
16152         ref.TargetNodeId = ToNodeId("i=78");
16153         refs.push_back(ref);
16154         }
16155         registry.AddReferences(refs);
16156         }
16157        
16158         {
16159         AddNodesItem node;
16160         node.RequestedNewNodeId = ToNodeId("i=2200");
16161         node.BrowseName = ToQualifiedName("ClientDescription");
16162         node.Class = NodeClass::Variable;
16163         node.ParentNodeId = ToNodeId("i=2197");
16164         node.ReferenceTypeId = ReferenceId::HasComponent;
16165         node.TypeDefinition = ToNodeId("i=63");
16166         VariableAttributes attrs;
16167         attrs.DisplayName = LocalizedText("ClientDescription");
16168         attrs.Type = ToNodeId("i=308");
16169         attrs.Rank = -1;
16170         node.Attributes = attrs;
16171         registry.AddNodes(std::vector<AddNodesItem>{node});
16172         std::vector<AddReferencesItem> refs;
16173         {
16174         AddReferencesItem ref;
16175         ref.IsForward = true;
16176         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
16177         ref.SourceNodeId = ToNodeId("i=2200");
16178         ref.TargetNodeClass = NodeClass::DataType;
16179         ref.TargetNodeId = ToNodeId("i=78");
16180         refs.push_back(ref);
16181         }
16182         registry.AddReferences(refs);
16183         }
16184        
16185         {
16186         AddNodesItem node;
16187         node.RequestedNewNodeId = ToNodeId("i=2201");
16188         node.BrowseName = ToQualifiedName("ServerUri");
16189         node.Class = NodeClass::Variable;
16190         node.ParentNodeId = ToNodeId("i=2197");
16191         node.ReferenceTypeId = ReferenceId::HasComponent;
16192         node.TypeDefinition = ToNodeId("i=63");
16193         VariableAttributes attrs;
16194         attrs.DisplayName = LocalizedText("ServerUri");
16195         attrs.Type = ObjectId::String;
16196         attrs.Rank = -1;
16197         node.Attributes = attrs;
16198         registry.AddNodes(std::vector<AddNodesItem>{node});
16199         std::vector<AddReferencesItem> refs;
16200         {
16201         AddReferencesItem ref;
16202         ref.IsForward = true;
16203         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
16204         ref.SourceNodeId = ToNodeId("i=2201");
16205         ref.TargetNodeClass = NodeClass::DataType;
16206         ref.TargetNodeId = ToNodeId("i=78");
16207         refs.push_back(ref);
16208         }
16209         registry.AddReferences(refs);
16210         }
16211        
16212         {
16213         AddNodesItem node;
16214         node.RequestedNewNodeId = ToNodeId("i=2202");
16215         node.BrowseName = ToQualifiedName("EndpointUrl");
16216         node.Class = NodeClass::Variable;
16217         node.ParentNodeId = ToNodeId("i=2197");
16218         node.ReferenceTypeId = ReferenceId::HasComponent;
16219         node.TypeDefinition = ToNodeId("i=63");
16220         VariableAttributes attrs;
16221         attrs.DisplayName = LocalizedText("EndpointUrl");
16222         attrs.Type = ObjectId::String;
16223         attrs.Rank = -1;
16224         node.Attributes = attrs;
16225         registry.AddNodes(std::vector<AddNodesItem>{node});
16226         std::vector<AddReferencesItem> refs;
16227         {
16228         AddReferencesItem ref;
16229         ref.IsForward = true;
16230         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
16231         ref.SourceNodeId = ToNodeId("i=2202");
16232         ref.TargetNodeClass = NodeClass::DataType;
16233         ref.TargetNodeId = ToNodeId("i=78");
16234         refs.push_back(ref);
16235         }
16236         registry.AddReferences(refs);
16237         }
16238        
16239         {
16240         AddNodesItem node;
16241         node.RequestedNewNodeId = ToNodeId("i=2203");
16242         node.BrowseName = ToQualifiedName("LocaleIds");
16243         node.Class = NodeClass::Variable;
16244         node.ParentNodeId = ToNodeId("i=2197");
16245         node.ReferenceTypeId = ReferenceId::HasComponent;
16246         node.TypeDefinition = ToNodeId("i=63");
16247         VariableAttributes attrs;
16248         attrs.DisplayName = LocalizedText("LocaleIds");
16249         attrs.Type = ToNodeId("i=295");
16250         attrs.Rank = 1;
16251         node.Attributes = attrs;
16252         registry.AddNodes(std::vector<AddNodesItem>{node});
16253         std::vector<AddReferencesItem> refs;
16254         {
16255         AddReferencesItem ref;
16256         ref.IsForward = true;
16257         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
16258         ref.SourceNodeId = ToNodeId("i=2203");
16259         ref.TargetNodeClass = NodeClass::DataType;
16260         ref.TargetNodeId = ToNodeId("i=78");
16261         refs.push_back(ref);
16262         }
16263         registry.AddReferences(refs);
16264         }
16265        
16266         {
16267         AddNodesItem node;
16268         node.RequestedNewNodeId = ToNodeId("i=2204");
16269         node.BrowseName = ToQualifiedName("ActualSessionTimeout");
16270         node.Class = NodeClass::Variable;
16271         node.ParentNodeId = ToNodeId("i=2197");
16272         node.ReferenceTypeId = ReferenceId::HasComponent;
16273         node.TypeDefinition = ToNodeId("i=63");
16274         VariableAttributes attrs;
16275         attrs.DisplayName = LocalizedText("ActualSessionTimeout");
16276         attrs.Type = ToNodeId("i=290");
16277         attrs.Rank = -1;
16278         node.Attributes = attrs;
16279         registry.AddNodes(std::vector<AddNodesItem>{node});
16280         std::vector<AddReferencesItem> refs;
16281         {
16282         AddReferencesItem ref;
16283         ref.IsForward = true;
16284         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
16285         ref.SourceNodeId = ToNodeId("i=2204");
16286         ref.TargetNodeClass = NodeClass::DataType;
16287         ref.TargetNodeId = ToNodeId("i=78");
16288         refs.push_back(ref);
16289         }
16290         registry.AddReferences(refs);
16291         }
16292        
16293         {
16294         AddNodesItem node;
16295         node.RequestedNewNodeId = ToNodeId("i=3050");
16296         node.BrowseName = ToQualifiedName("MaxResponseMessageSize");
16297         node.Class = NodeClass::Variable;
16298         node.ParentNodeId = ToNodeId("i=2197");
16299         node.ReferenceTypeId = ReferenceId::HasComponent;
16300         node.TypeDefinition = ToNodeId("i=63");
16301         VariableAttributes attrs;
16302         attrs.DisplayName = LocalizedText("MaxResponseMessageSize");
16303         attrs.Type = ObjectId::UInt32;
16304         attrs.Rank = -1;
16305         node.Attributes = attrs;
16306         registry.AddNodes(std::vector<AddNodesItem>{node});
16307         std::vector<AddReferencesItem> refs;
16308         {
16309         AddReferencesItem ref;
16310         ref.IsForward = true;
16311         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
16312         ref.SourceNodeId = ToNodeId("i=3050");
16313         ref.TargetNodeClass = NodeClass::DataType;
16314         ref.TargetNodeId = ToNodeId("i=78");
16315         refs.push_back(ref);
16316         }
16317         registry.AddReferences(refs);
16318         }
16319        
16320         {
16321         AddNodesItem node;
16322         node.RequestedNewNodeId = ToNodeId("i=2205");
16323         node.BrowseName = ToQualifiedName("ClientConnectionTime");
16324         node.Class = NodeClass::Variable;
16325         node.ParentNodeId = ToNodeId("i=2197");
16326         node.ReferenceTypeId = ReferenceId::HasComponent;
16327         node.TypeDefinition = ToNodeId("i=63");
16328         VariableAttributes attrs;
16329         attrs.DisplayName = LocalizedText("ClientConnectionTime");
16330         attrs.Type = ToNodeId("i=294");
16331         attrs.Rank = -1;
16332         node.Attributes = attrs;
16333         registry.AddNodes(std::vector<AddNodesItem>{node});
16334         std::vector<AddReferencesItem> refs;
16335         {
16336         AddReferencesItem ref;
16337         ref.IsForward = true;
16338         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
16339         ref.SourceNodeId = ToNodeId("i=2205");
16340         ref.TargetNodeClass = NodeClass::DataType;
16341         ref.TargetNodeId = ToNodeId("i=78");
16342         refs.push_back(ref);
16343         }
16344         registry.AddReferences(refs);
16345         }
16346        
16347         {
16348         AddNodesItem node;
16349         node.RequestedNewNodeId = ToNodeId("i=2206");
16350         node.BrowseName = ToQualifiedName("ClientLastContactTime");
16351         node.Class = NodeClass::Variable;
16352         node.ParentNodeId = ToNodeId("i=2197");
16353         node.ReferenceTypeId = ReferenceId::HasComponent;
16354         node.TypeDefinition = ToNodeId("i=63");
16355         VariableAttributes attrs;
16356         attrs.DisplayName = LocalizedText("ClientLastContactTime");
16357         attrs.Type = ToNodeId("i=294");
16358         attrs.Rank = -1;
16359         node.Attributes = attrs;
16360         registry.AddNodes(std::vector<AddNodesItem>{node});
16361         std::vector<AddReferencesItem> refs;
16362         {
16363         AddReferencesItem ref;
16364         ref.IsForward = true;
16365         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
16366         ref.SourceNodeId = ToNodeId("i=2206");
16367         ref.TargetNodeClass = NodeClass::DataType;
16368         ref.TargetNodeId = ToNodeId("i=78");
16369         refs.push_back(ref);
16370         }
16371         registry.AddReferences(refs);
16372         }
16373        
16374         {
16375         AddNodesItem node;
16376         node.RequestedNewNodeId = ToNodeId("i=2207");
16377         node.BrowseName = ToQualifiedName("CurrentSubscriptionsCount");
16378         node.Class = NodeClass::Variable;
16379         node.ParentNodeId = ToNodeId("i=2197");
16380         node.ReferenceTypeId = ReferenceId::HasComponent;
16381         node.TypeDefinition = ToNodeId("i=63");
16382         VariableAttributes attrs;
16383         attrs.DisplayName = LocalizedText("CurrentSubscriptionsCount");
16384         attrs.Type = ObjectId::UInt32;
16385         attrs.Rank = -1;
16386         node.Attributes = attrs;
16387         registry.AddNodes(std::vector<AddNodesItem>{node});
16388         std::vector<AddReferencesItem> refs;
16389         {
16390         AddReferencesItem ref;
16391         ref.IsForward = true;
16392         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
16393         ref.SourceNodeId = ToNodeId("i=2207");
16394         ref.TargetNodeClass = NodeClass::DataType;
16395         ref.TargetNodeId = ToNodeId("i=78");
16396         refs.push_back(ref);
16397         }
16398         registry.AddReferences(refs);
16399         }
16400        
16401         {
16402         AddNodesItem node;
16403         node.RequestedNewNodeId = ToNodeId("i=2208");
16404         node.BrowseName = ToQualifiedName("CurrentMonitoredItemsCount");
16405         node.Class = NodeClass::Variable;
16406         node.ParentNodeId = ToNodeId("i=2197");
16407         node.ReferenceTypeId = ReferenceId::HasComponent;
16408         node.TypeDefinition = ToNodeId("i=63");
16409         VariableAttributes attrs;
16410         attrs.DisplayName = LocalizedText("CurrentMonitoredItemsCount");
16411         attrs.Type = ObjectId::UInt32;
16412         attrs.Rank = -1;
16413         node.Attributes = attrs;
16414         registry.AddNodes(std::vector<AddNodesItem>{node});
16415         std::vector<AddReferencesItem> refs;
16416         {
16417         AddReferencesItem ref;
16418         ref.IsForward = true;
16419         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
16420         ref.SourceNodeId = ToNodeId("i=2208");
16421         ref.TargetNodeClass = NodeClass::DataType;
16422         ref.TargetNodeId = ToNodeId("i=78");
16423         refs.push_back(ref);
16424         }
16425         registry.AddReferences(refs);
16426         }
16427        
16428         {
16429         AddNodesItem node;
16430         node.RequestedNewNodeId = ToNodeId("i=2209");
16431         node.BrowseName = ToQualifiedName("CurrentPublishRequestsInQueue");
16432         node.Class = NodeClass::Variable;
16433         node.ParentNodeId = ToNodeId("i=2197");
16434         node.ReferenceTypeId = ReferenceId::HasComponent;
16435         node.TypeDefinition = ToNodeId("i=63");
16436         VariableAttributes attrs;
16437         attrs.DisplayName = LocalizedText("CurrentPublishRequestsInQueue");
16438         attrs.Type = ObjectId::UInt32;
16439         attrs.Rank = -1;
16440         node.Attributes = attrs;
16441         registry.AddNodes(std::vector<AddNodesItem>{node});
16442         std::vector<AddReferencesItem> refs;
16443         {
16444         AddReferencesItem ref;
16445         ref.IsForward = true;
16446         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
16447         ref.SourceNodeId = ToNodeId("i=2209");
16448         ref.TargetNodeClass = NodeClass::DataType;
16449         ref.TargetNodeId = ToNodeId("i=78");
16450         refs.push_back(ref);
16451         }
16452         registry.AddReferences(refs);
16453         }
16454        
16455         {
16456         AddNodesItem node;
16457         node.RequestedNewNodeId = ToNodeId("i=8900");
16458         node.BrowseName = ToQualifiedName("TotalRequestCount");
16459         node.Class = NodeClass::Variable;
16460         node.ParentNodeId = ToNodeId("i=2197");
16461         node.ReferenceTypeId = ReferenceId::HasComponent;
16462         node.TypeDefinition = ToNodeId("i=63");
16463         VariableAttributes attrs;
16464         attrs.DisplayName = LocalizedText("TotalRequestCount");
16465         attrs.Type = ToNodeId("i=871");
16466         attrs.Rank = -1;
16467         node.Attributes = attrs;
16468         registry.AddNodes(std::vector<AddNodesItem>{node});
16469         std::vector<AddReferencesItem> refs;
16470         {
16471         AddReferencesItem ref;
16472         ref.IsForward = true;
16473         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
16474         ref.SourceNodeId = ToNodeId("i=8900");
16475         ref.TargetNodeClass = NodeClass::DataType;
16476         ref.TargetNodeId = ToNodeId("i=78");
16477         refs.push_back(ref);
16478         }
16479         registry.AddReferences(refs);
16480         }
16481        
16482         {
16483         AddNodesItem node;
16484         node.RequestedNewNodeId = ToNodeId("i=11892");
16485         node.BrowseName = ToQualifiedName("UnauthorizedRequestCount");
16486         node.Class = NodeClass::Variable;
16487         node.ParentNodeId = ToNodeId("i=2197");
16488         node.ReferenceTypeId = ReferenceId::HasComponent;
16489         node.TypeDefinition = ToNodeId("i=63");
16490         VariableAttributes attrs;
16491         attrs.DisplayName = LocalizedText("UnauthorizedRequestCount");
16492         attrs.Type = ObjectId::UInt32;
16493         attrs.Rank = -1;
16494         node.Attributes = attrs;
16495         registry.AddNodes(std::vector<AddNodesItem>{node});
16496         std::vector<AddReferencesItem> refs;
16497         {
16498         AddReferencesItem ref;
16499         ref.IsForward = true;
16500         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
16501         ref.SourceNodeId = ToNodeId("i=11892");
16502         ref.TargetNodeClass = NodeClass::DataType;
16503         ref.TargetNodeId = ToNodeId("i=78");
16504         refs.push_back(ref);
16505         }
16506         registry.AddReferences(refs);
16507         }
16508        
16509         {
16510         AddNodesItem node;
16511         node.RequestedNewNodeId = ToNodeId("i=2217");
16512         node.BrowseName = ToQualifiedName("ReadCount");
16513         node.Class = NodeClass::Variable;
16514         node.ParentNodeId = ToNodeId("i=2197");
16515         node.ReferenceTypeId = ReferenceId::HasComponent;
16516         node.TypeDefinition = ToNodeId("i=63");
16517         VariableAttributes attrs;
16518         attrs.DisplayName = LocalizedText("ReadCount");
16519         attrs.Type = ToNodeId("i=871");
16520         attrs.Rank = -1;
16521         node.Attributes = attrs;
16522         registry.AddNodes(std::vector<AddNodesItem>{node});
16523         std::vector<AddReferencesItem> refs;
16524         {
16525         AddReferencesItem ref;
16526         ref.IsForward = true;
16527         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
16528         ref.SourceNodeId = ToNodeId("i=2217");
16529         ref.TargetNodeClass = NodeClass::DataType;
16530         ref.TargetNodeId = ToNodeId("i=78");
16531         refs.push_back(ref);
16532         }
16533         registry.AddReferences(refs);
16534         }
16535        
16536         {
16537         AddNodesItem node;
16538         node.RequestedNewNodeId = ToNodeId("i=2218");
16539         node.BrowseName = ToQualifiedName("HistoryReadCount");
16540         node.Class = NodeClass::Variable;
16541         node.ParentNodeId = ToNodeId("i=2197");
16542         node.ReferenceTypeId = ReferenceId::HasComponent;
16543         node.TypeDefinition = ToNodeId("i=63");
16544         VariableAttributes attrs;
16545         attrs.DisplayName = LocalizedText("HistoryReadCount");
16546         attrs.Type = ToNodeId("i=871");
16547         attrs.Rank = -1;
16548         node.Attributes = attrs;
16549         registry.AddNodes(std::vector<AddNodesItem>{node});
16550         std::vector<AddReferencesItem> refs;
16551         {
16552         AddReferencesItem ref;
16553         ref.IsForward = true;
16554         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
16555         ref.SourceNodeId = ToNodeId("i=2218");
16556         ref.TargetNodeClass = NodeClass::DataType;
16557         ref.TargetNodeId = ToNodeId("i=78");
16558         refs.push_back(ref);
16559         }
16560         registry.AddReferences(refs);
16561         }
16562        
16563         {
16564         AddNodesItem node;
16565         node.RequestedNewNodeId = ToNodeId("i=2219");
16566         node.BrowseName = ToQualifiedName("WriteCount");
16567         node.Class = NodeClass::Variable;
16568         node.ParentNodeId = ToNodeId("i=2197");
16569         node.ReferenceTypeId = ReferenceId::HasComponent;
16570         node.TypeDefinition = ToNodeId("i=63");
16571         VariableAttributes attrs;
16572         attrs.DisplayName = LocalizedText("WriteCount");
16573         attrs.Type = ToNodeId("i=871");
16574         attrs.Rank = -1;
16575         node.Attributes = attrs;
16576         registry.AddNodes(std::vector<AddNodesItem>{node});
16577         std::vector<AddReferencesItem> refs;
16578         {
16579         AddReferencesItem ref;
16580         ref.IsForward = true;
16581         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
16582         ref.SourceNodeId = ToNodeId("i=2219");
16583         ref.TargetNodeClass = NodeClass::DataType;
16584         ref.TargetNodeId = ToNodeId("i=78");
16585         refs.push_back(ref);
16586         }
16587         registry.AddReferences(refs);
16588         }
16589        
16590         {
16591         AddNodesItem node;
16592         node.RequestedNewNodeId = ToNodeId("i=2220");
16593         node.BrowseName = ToQualifiedName("HistoryUpdateCount");
16594         node.Class = NodeClass::Variable;
16595         node.ParentNodeId = ToNodeId("i=2197");
16596         node.ReferenceTypeId = ReferenceId::HasComponent;
16597         node.TypeDefinition = ToNodeId("i=63");
16598         VariableAttributes attrs;
16599         attrs.DisplayName = LocalizedText("HistoryUpdateCount");
16600         attrs.Type = ToNodeId("i=871");
16601         attrs.Rank = -1;
16602         node.Attributes = attrs;
16603         registry.AddNodes(std::vector<AddNodesItem>{node});
16604         std::vector<AddReferencesItem> refs;
16605         {
16606         AddReferencesItem ref;
16607         ref.IsForward = true;
16608         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
16609         ref.SourceNodeId = ToNodeId("i=2220");
16610         ref.TargetNodeClass = NodeClass::DataType;
16611         ref.TargetNodeId = ToNodeId("i=78");
16612         refs.push_back(ref);
16613         }
16614         registry.AddReferences(refs);
16615         }
16616        
16617         {
16618         AddNodesItem node;
16619         node.RequestedNewNodeId = ToNodeId("i=2221");
16620         node.BrowseName = ToQualifiedName("CallCount");
16621         node.Class = NodeClass::Variable;
16622         node.ParentNodeId = ToNodeId("i=2197");
16623         node.ReferenceTypeId = ReferenceId::HasComponent;
16624         node.TypeDefinition = ToNodeId("i=63");
16625         VariableAttributes attrs;
16626         attrs.DisplayName = LocalizedText("CallCount");
16627         attrs.Type = ToNodeId("i=871");
16628         attrs.Rank = -1;
16629         node.Attributes = attrs;
16630         registry.AddNodes(std::vector<AddNodesItem>{node});
16631         std::vector<AddReferencesItem> refs;
16632         {
16633         AddReferencesItem ref;
16634         ref.IsForward = true;
16635         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
16636         ref.SourceNodeId = ToNodeId("i=2221");
16637         ref.TargetNodeClass = NodeClass::DataType;
16638         ref.TargetNodeId = ToNodeId("i=78");
16639         refs.push_back(ref);
16640         }
16641         registry.AddReferences(refs);
16642         }
16643        
16644         {
16645         AddNodesItem node;
16646         node.RequestedNewNodeId = ToNodeId("i=2222");
16647         node.BrowseName = ToQualifiedName("CreateMonitoredItemsCount");
16648         node.Class = NodeClass::Variable;
16649         node.ParentNodeId = ToNodeId("i=2197");
16650         node.ReferenceTypeId = ReferenceId::HasComponent;
16651         node.TypeDefinition = ToNodeId("i=63");
16652         VariableAttributes attrs;
16653         attrs.DisplayName = LocalizedText("CreateMonitoredItemsCount");
16654         attrs.Type = ToNodeId("i=871");
16655         attrs.Rank = -1;
16656         node.Attributes = attrs;
16657         registry.AddNodes(std::vector<AddNodesItem>{node});
16658         std::vector<AddReferencesItem> refs;
16659         {
16660         AddReferencesItem ref;
16661         ref.IsForward = true;
16662         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
16663         ref.SourceNodeId = ToNodeId("i=2222");
16664         ref.TargetNodeClass = NodeClass::DataType;
16665         ref.TargetNodeId = ToNodeId("i=78");
16666         refs.push_back(ref);
16667         }
16668         registry.AddReferences(refs);
16669         }
16670        
16671         {
16672         AddNodesItem node;
16673         node.RequestedNewNodeId = ToNodeId("i=2223");
16674         node.BrowseName = ToQualifiedName("ModifyMonitoredItemsCount");
16675         node.Class = NodeClass::Variable;
16676         node.ParentNodeId = ToNodeId("i=2197");
16677         node.ReferenceTypeId = ReferenceId::HasComponent;
16678         node.TypeDefinition = ToNodeId("i=63");
16679         VariableAttributes attrs;
16680         attrs.DisplayName = LocalizedText("ModifyMonitoredItemsCount");
16681         attrs.Type = ToNodeId("i=871");
16682         attrs.Rank = -1;
16683         node.Attributes = attrs;
16684         registry.AddNodes(std::vector<AddNodesItem>{node});
16685         std::vector<AddReferencesItem> refs;
16686         {
16687         AddReferencesItem ref;
16688         ref.IsForward = true;
16689         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
16690         ref.SourceNodeId = ToNodeId("i=2223");
16691         ref.TargetNodeClass = NodeClass::DataType;
16692         ref.TargetNodeId = ToNodeId("i=78");
16693         refs.push_back(ref);
16694         }
16695         registry.AddReferences(refs);
16696         }
16697        
16698         {
16699         AddNodesItem node;
16700         node.RequestedNewNodeId = ToNodeId("i=2224");
16701         node.BrowseName = ToQualifiedName("SetMonitoringModeCount");
16702         node.Class = NodeClass::Variable;
16703         node.ParentNodeId = ToNodeId("i=2197");
16704         node.ReferenceTypeId = ReferenceId::HasComponent;
16705         node.TypeDefinition = ToNodeId("i=63");
16706         VariableAttributes attrs;
16707         attrs.DisplayName = LocalizedText("SetMonitoringModeCount");
16708         attrs.Type = ToNodeId("i=871");
16709         attrs.Rank = -1;
16710         node.Attributes = attrs;
16711         registry.AddNodes(std::vector<AddNodesItem>{node});
16712         std::vector<AddReferencesItem> refs;
16713         {
16714         AddReferencesItem ref;
16715         ref.IsForward = true;
16716         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
16717         ref.SourceNodeId = ToNodeId("i=2224");
16718         ref.TargetNodeClass = NodeClass::DataType;
16719         ref.TargetNodeId = ToNodeId("i=78");
16720         refs.push_back(ref);
16721         }
16722         registry.AddReferences(refs);
16723         }
16724        
16725         {
16726         AddNodesItem node;
16727         node.RequestedNewNodeId = ToNodeId("i=2225");
16728         node.BrowseName = ToQualifiedName("SetTriggeringCount");
16729         node.Class = NodeClass::Variable;
16730         node.ParentNodeId = ToNodeId("i=2197");
16731         node.ReferenceTypeId = ReferenceId::HasComponent;
16732         node.TypeDefinition = ToNodeId("i=63");
16733         VariableAttributes attrs;
16734         attrs.DisplayName = LocalizedText("SetTriggeringCount");
16735         attrs.Type = ToNodeId("i=871");
16736         attrs.Rank = -1;
16737         node.Attributes = attrs;
16738         registry.AddNodes(std::vector<AddNodesItem>{node});
16739         std::vector<AddReferencesItem> refs;
16740         {
16741         AddReferencesItem ref;
16742         ref.IsForward = true;
16743         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
16744         ref.SourceNodeId = ToNodeId("i=2225");
16745         ref.TargetNodeClass = NodeClass::DataType;
16746         ref.TargetNodeId = ToNodeId("i=78");
16747         refs.push_back(ref);
16748         }
16749         registry.AddReferences(refs);
16750         }
16751        
16752         {
16753         AddNodesItem node;
16754         node.RequestedNewNodeId = ToNodeId("i=2226");
16755         node.BrowseName = ToQualifiedName("DeleteMonitoredItemsCount");
16756         node.Class = NodeClass::Variable;
16757         node.ParentNodeId = ToNodeId("i=2197");
16758         node.ReferenceTypeId = ReferenceId::HasComponent;
16759         node.TypeDefinition = ToNodeId("i=63");
16760         VariableAttributes attrs;
16761         attrs.DisplayName = LocalizedText("DeleteMonitoredItemsCount");
16762         attrs.Type = ToNodeId("i=871");
16763         attrs.Rank = -1;
16764         node.Attributes = attrs;
16765         registry.AddNodes(std::vector<AddNodesItem>{node});
16766         std::vector<AddReferencesItem> refs;
16767         {
16768         AddReferencesItem ref;
16769         ref.IsForward = true;
16770         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
16771         ref.SourceNodeId = ToNodeId("i=2226");
16772         ref.TargetNodeClass = NodeClass::DataType;
16773         ref.TargetNodeId = ToNodeId("i=78");
16774         refs.push_back(ref);
16775         }
16776         registry.AddReferences(refs);
16777         }
16778        
16779         {
16780         AddNodesItem node;
16781         node.RequestedNewNodeId = ToNodeId("i=2227");
16782         node.BrowseName = ToQualifiedName("CreateSubscriptionCount");
16783         node.Class = NodeClass::Variable;
16784         node.ParentNodeId = ToNodeId("i=2197");
16785         node.ReferenceTypeId = ReferenceId::HasComponent;
16786         node.TypeDefinition = ToNodeId("i=63");
16787         VariableAttributes attrs;
16788         attrs.DisplayName = LocalizedText("CreateSubscriptionCount");
16789         attrs.Type = ToNodeId("i=871");
16790         attrs.Rank = -1;
16791         node.Attributes = attrs;
16792         registry.AddNodes(std::vector<AddNodesItem>{node});
16793         std::vector<AddReferencesItem> refs;
16794         {
16795         AddReferencesItem ref;
16796         ref.IsForward = true;
16797         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
16798         ref.SourceNodeId = ToNodeId("i=2227");
16799         ref.TargetNodeClass = NodeClass::DataType;
16800         ref.TargetNodeId = ToNodeId("i=78");
16801         refs.push_back(ref);
16802         }
16803         registry.AddReferences(refs);
16804         }
16805        
16806         {
16807         AddNodesItem node;
16808         node.RequestedNewNodeId = ToNodeId("i=2228");
16809         node.BrowseName = ToQualifiedName("ModifySubscriptionCount");
16810         node.Class = NodeClass::Variable;
16811         node.ParentNodeId = ToNodeId("i=2197");
16812         node.ReferenceTypeId = ReferenceId::HasComponent;
16813         node.TypeDefinition = ToNodeId("i=63");
16814         VariableAttributes attrs;
16815         attrs.DisplayName = LocalizedText("ModifySubscriptionCount");
16816         attrs.Type = ToNodeId("i=871");
16817         attrs.Rank = -1;
16818         node.Attributes = attrs;
16819         registry.AddNodes(std::vector<AddNodesItem>{node});
16820         std::vector<AddReferencesItem> refs;
16821         {
16822         AddReferencesItem ref;
16823         ref.IsForward = true;
16824         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
16825         ref.SourceNodeId = ToNodeId("i=2228");
16826         ref.TargetNodeClass = NodeClass::DataType;
16827         ref.TargetNodeId = ToNodeId("i=78");
16828         refs.push_back(ref);
16829         }
16830         registry.AddReferences(refs);
16831         }
16832        
16833         {
16834         AddNodesItem node;
16835         node.RequestedNewNodeId = ToNodeId("i=2229");
16836         node.BrowseName = ToQualifiedName("SetPublishingModeCount");
16837         node.Class = NodeClass::Variable;
16838         node.ParentNodeId = ToNodeId("i=2197");
16839         node.ReferenceTypeId = ReferenceId::HasComponent;
16840         node.TypeDefinition = ToNodeId("i=63");
16841         VariableAttributes attrs;
16842         attrs.DisplayName = LocalizedText("SetPublishingModeCount");
16843         attrs.Type = ToNodeId("i=871");
16844         attrs.Rank = -1;
16845         node.Attributes = attrs;
16846         registry.AddNodes(std::vector<AddNodesItem>{node});
16847         std::vector<AddReferencesItem> refs;
16848         {
16849         AddReferencesItem ref;
16850         ref.IsForward = true;
16851         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
16852         ref.SourceNodeId = ToNodeId("i=2229");
16853         ref.TargetNodeClass = NodeClass::DataType;
16854         ref.TargetNodeId = ToNodeId("i=78");
16855         refs.push_back(ref);
16856         }
16857         registry.AddReferences(refs);
16858         }
16859        
16860         {
16861         AddNodesItem node;
16862         node.RequestedNewNodeId = ToNodeId("i=2230");
16863         node.BrowseName = ToQualifiedName("PublishCount");
16864         node.Class = NodeClass::Variable;
16865         node.ParentNodeId = ToNodeId("i=2197");
16866         node.ReferenceTypeId = ReferenceId::HasComponent;
16867         node.TypeDefinition = ToNodeId("i=63");
16868         VariableAttributes attrs;
16869         attrs.DisplayName = LocalizedText("PublishCount");
16870         attrs.Type = ToNodeId("i=871");
16871         attrs.Rank = -1;
16872         node.Attributes = attrs;
16873         registry.AddNodes(std::vector<AddNodesItem>{node});
16874         std::vector<AddReferencesItem> refs;
16875         {
16876         AddReferencesItem ref;
16877         ref.IsForward = true;
16878         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
16879         ref.SourceNodeId = ToNodeId("i=2230");
16880         ref.TargetNodeClass = NodeClass::DataType;
16881         ref.TargetNodeId = ToNodeId("i=78");
16882         refs.push_back(ref);
16883         }
16884         registry.AddReferences(refs);
16885         }
16886        
16887         {
16888         AddNodesItem node;
16889         node.RequestedNewNodeId = ToNodeId("i=2231");
16890         node.BrowseName = ToQualifiedName("RepublishCount");
16891         node.Class = NodeClass::Variable;
16892         node.ParentNodeId = ToNodeId("i=2197");
16893         node.ReferenceTypeId = ReferenceId::HasComponent;
16894         node.TypeDefinition = ToNodeId("i=63");
16895         VariableAttributes attrs;
16896         attrs.DisplayName = LocalizedText("RepublishCount");
16897         attrs.Type = ToNodeId("i=871");
16898         attrs.Rank = -1;
16899         node.Attributes = attrs;
16900         registry.AddNodes(std::vector<AddNodesItem>{node});
16901         std::vector<AddReferencesItem> refs;
16902         {
16903         AddReferencesItem ref;
16904         ref.IsForward = true;
16905         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
16906         ref.SourceNodeId = ToNodeId("i=2231");
16907         ref.TargetNodeClass = NodeClass::DataType;
16908         ref.TargetNodeId = ToNodeId("i=78");
16909         refs.push_back(ref);
16910         }
16911         registry.AddReferences(refs);
16912         }
16913        
16914         {
16915         AddNodesItem node;
16916         node.RequestedNewNodeId = ToNodeId("i=2232");
16917         node.BrowseName = ToQualifiedName("TransferSubscriptionsCount");
16918         node.Class = NodeClass::Variable;
16919         node.ParentNodeId = ToNodeId("i=2197");
16920         node.ReferenceTypeId = ReferenceId::HasComponent;
16921         node.TypeDefinition = ToNodeId("i=63");
16922         VariableAttributes attrs;
16923         attrs.DisplayName = LocalizedText("TransferSubscriptionsCount");
16924         attrs.Type = ToNodeId("i=871");
16925         attrs.Rank = -1;
16926         node.Attributes = attrs;
16927         registry.AddNodes(std::vector<AddNodesItem>{node});
16928         std::vector<AddReferencesItem> refs;
16929         {
16930         AddReferencesItem ref;
16931         ref.IsForward = true;
16932         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
16933         ref.SourceNodeId = ToNodeId("i=2232");
16934         ref.TargetNodeClass = NodeClass::DataType;
16935         ref.TargetNodeId = ToNodeId("i=78");
16936         refs.push_back(ref);
16937         }
16938         registry.AddReferences(refs);
16939         }
16940        
16941         {
16942         AddNodesItem node;
16943         node.RequestedNewNodeId = ToNodeId("i=2233");
16944         node.BrowseName = ToQualifiedName("DeleteSubscriptionsCount");
16945         node.Class = NodeClass::Variable;
16946         node.ParentNodeId = ToNodeId("i=2197");
16947         node.ReferenceTypeId = ReferenceId::HasComponent;
16948         node.TypeDefinition = ToNodeId("i=63");
16949         VariableAttributes attrs;
16950         attrs.DisplayName = LocalizedText("DeleteSubscriptionsCount");
16951         attrs.Type = ToNodeId("i=871");
16952         attrs.Rank = -1;
16953         node.Attributes = attrs;
16954         registry.AddNodes(std::vector<AddNodesItem>{node});
16955         std::vector<AddReferencesItem> refs;
16956         {
16957         AddReferencesItem ref;
16958         ref.IsForward = true;
16959         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
16960         ref.SourceNodeId = ToNodeId("i=2233");
16961         ref.TargetNodeClass = NodeClass::DataType;
16962         ref.TargetNodeId = ToNodeId("i=78");
16963         refs.push_back(ref);
16964         }
16965         registry.AddReferences(refs);
16966         }
16967        
16968         {
16969         AddNodesItem node;
16970         node.RequestedNewNodeId = ToNodeId("i=2234");
16971         node.BrowseName = ToQualifiedName("AddNodesCount");
16972         node.Class = NodeClass::Variable;
16973         node.ParentNodeId = ToNodeId("i=2197");
16974         node.ReferenceTypeId = ReferenceId::HasComponent;
16975         node.TypeDefinition = ToNodeId("i=63");
16976         VariableAttributes attrs;
16977         attrs.DisplayName = LocalizedText("AddNodesCount");
16978         attrs.Type = ToNodeId("i=871");
16979         attrs.Rank = -1;
16980         node.Attributes = attrs;
16981         registry.AddNodes(std::vector<AddNodesItem>{node});
16982         std::vector<AddReferencesItem> refs;
16983         {
16984         AddReferencesItem ref;
16985         ref.IsForward = true;
16986         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
16987         ref.SourceNodeId = ToNodeId("i=2234");
16988         ref.TargetNodeClass = NodeClass::DataType;
16989         ref.TargetNodeId = ToNodeId("i=78");
16990         refs.push_back(ref);
16991         }
16992         registry.AddReferences(refs);
16993         }
16994        
16995         {
16996         AddNodesItem node;
16997         node.RequestedNewNodeId = ToNodeId("i=2235");
16998         node.BrowseName = ToQualifiedName("AddReferencesCount");
16999         node.Class = NodeClass::Variable;
17000         node.ParentNodeId = ToNodeId("i=2197");
17001         node.ReferenceTypeId = ReferenceId::HasComponent;
17002         node.TypeDefinition = ToNodeId("i=63");
17003         VariableAttributes attrs;
17004         attrs.DisplayName = LocalizedText("AddReferencesCount");
17005         attrs.Type = ToNodeId("i=871");
17006         attrs.Rank = -1;
17007         node.Attributes = attrs;
17008         registry.AddNodes(std::vector<AddNodesItem>{node});
17009         std::vector<AddReferencesItem> refs;
17010         {
17011         AddReferencesItem ref;
17012         ref.IsForward = true;
17013         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
17014         ref.SourceNodeId = ToNodeId("i=2235");
17015         ref.TargetNodeClass = NodeClass::DataType;
17016         ref.TargetNodeId = ToNodeId("i=78");
17017         refs.push_back(ref);
17018         }
17019         registry.AddReferences(refs);
17020         }
17021        
17022         {
17023         AddNodesItem node;
17024         node.RequestedNewNodeId = ToNodeId("i=2236");
17025         node.BrowseName = ToQualifiedName("DeleteNodesCount");
17026         node.Class = NodeClass::Variable;
17027         node.ParentNodeId = ToNodeId("i=2197");
17028         node.ReferenceTypeId = ReferenceId::HasComponent;
17029         node.TypeDefinition = ToNodeId("i=63");
17030         VariableAttributes attrs;
17031         attrs.DisplayName = LocalizedText("DeleteNodesCount");
17032         attrs.Type = ToNodeId("i=871");
17033         attrs.Rank = -1;
17034         node.Attributes = attrs;
17035         registry.AddNodes(std::vector<AddNodesItem>{node});
17036         std::vector<AddReferencesItem> refs;
17037         {
17038         AddReferencesItem ref;
17039         ref.IsForward = true;
17040         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
17041         ref.SourceNodeId = ToNodeId("i=2236");
17042         ref.TargetNodeClass = NodeClass::DataType;
17043         ref.TargetNodeId = ToNodeId("i=78");
17044         refs.push_back(ref);
17045         }
17046         registry.AddReferences(refs);
17047         }
17048        
17049         {
17050         AddNodesItem node;
17051         node.RequestedNewNodeId = ToNodeId("i=2237");
17052         node.BrowseName = ToQualifiedName("DeleteReferencesCount");
17053         node.Class = NodeClass::Variable;
17054         node.ParentNodeId = ToNodeId("i=2197");
17055         node.ReferenceTypeId = ReferenceId::HasComponent;
17056         node.TypeDefinition = ToNodeId("i=63");
17057         VariableAttributes attrs;
17058         attrs.DisplayName = LocalizedText("DeleteReferencesCount");
17059         attrs.Type = ToNodeId("i=871");
17060         attrs.Rank = -1;
17061         node.Attributes = attrs;
17062         registry.AddNodes(std::vector<AddNodesItem>{node});
17063         std::vector<AddReferencesItem> refs;
17064         {
17065         AddReferencesItem ref;
17066         ref.IsForward = true;
17067         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
17068         ref.SourceNodeId = ToNodeId("i=2237");
17069         ref.TargetNodeClass = NodeClass::DataType;
17070         ref.TargetNodeId = ToNodeId("i=78");
17071         refs.push_back(ref);
17072         }
17073         registry.AddReferences(refs);
17074         }
17075        
17076         {
17077         AddNodesItem node;
17078         node.RequestedNewNodeId = ToNodeId("i=2238");
17079         node.BrowseName = ToQualifiedName("BrowseCount");
17080         node.Class = NodeClass::Variable;
17081         node.ParentNodeId = ToNodeId("i=2197");
17082         node.ReferenceTypeId = ReferenceId::HasComponent;
17083         node.TypeDefinition = ToNodeId("i=63");
17084         VariableAttributes attrs;
17085         attrs.DisplayName = LocalizedText("BrowseCount");
17086         attrs.Type = ToNodeId("i=871");
17087         attrs.Rank = -1;
17088         node.Attributes = attrs;
17089         registry.AddNodes(std::vector<AddNodesItem>{node});
17090         std::vector<AddReferencesItem> refs;
17091         {
17092         AddReferencesItem ref;
17093         ref.IsForward = true;
17094         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
17095         ref.SourceNodeId = ToNodeId("i=2238");
17096         ref.TargetNodeClass = NodeClass::DataType;
17097         ref.TargetNodeId = ToNodeId("i=78");
17098         refs.push_back(ref);
17099         }
17100         registry.AddReferences(refs);
17101         }
17102        
17103         {
17104         AddNodesItem node;
17105         node.RequestedNewNodeId = ToNodeId("i=2239");
17106         node.BrowseName = ToQualifiedName("BrowseNextCount");
17107         node.Class = NodeClass::Variable;
17108         node.ParentNodeId = ToNodeId("i=2197");
17109         node.ReferenceTypeId = ReferenceId::HasComponent;
17110         node.TypeDefinition = ToNodeId("i=63");
17111         VariableAttributes attrs;
17112         attrs.DisplayName = LocalizedText("BrowseNextCount");
17113         attrs.Type = ToNodeId("i=871");
17114         attrs.Rank = -1;
17115         node.Attributes = attrs;
17116         registry.AddNodes(std::vector<AddNodesItem>{node});
17117         std::vector<AddReferencesItem> refs;
17118         {
17119         AddReferencesItem ref;
17120         ref.IsForward = true;
17121         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
17122         ref.SourceNodeId = ToNodeId("i=2239");
17123         ref.TargetNodeClass = NodeClass::DataType;
17124         ref.TargetNodeId = ToNodeId("i=78");
17125         refs.push_back(ref);
17126         }
17127         registry.AddReferences(refs);
17128         }
17129        
17130         {
17131         AddNodesItem node;
17132         node.RequestedNewNodeId = ToNodeId("i=2240");
17133         node.BrowseName = ToQualifiedName("TranslateBrowsePathsToNodeIdsCount");
17134         node.Class = NodeClass::Variable;
17135         node.ParentNodeId = ToNodeId("i=2197");
17136         node.ReferenceTypeId = ReferenceId::HasComponent;
17137         node.TypeDefinition = ToNodeId("i=63");
17138         VariableAttributes attrs;
17139         attrs.DisplayName = LocalizedText("TranslateBrowsePathsToNodeIdsCount");
17140         attrs.Type = ToNodeId("i=871");
17141         attrs.Rank = -1;
17142         node.Attributes = attrs;
17143         registry.AddNodes(std::vector<AddNodesItem>{node});
17144         std::vector<AddReferencesItem> refs;
17145         {
17146         AddReferencesItem ref;
17147         ref.IsForward = true;
17148         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
17149         ref.SourceNodeId = ToNodeId("i=2240");
17150         ref.TargetNodeClass = NodeClass::DataType;
17151         ref.TargetNodeId = ToNodeId("i=78");
17152         refs.push_back(ref);
17153         }
17154         registry.AddReferences(refs);
17155         }
17156        
17157         {
17158         AddNodesItem node;
17159         node.RequestedNewNodeId = ToNodeId("i=2241");
17160         node.BrowseName = ToQualifiedName("QueryFirstCount");
17161         node.Class = NodeClass::Variable;
17162         node.ParentNodeId = ToNodeId("i=2197");
17163         node.ReferenceTypeId = ReferenceId::HasComponent;
17164         node.TypeDefinition = ToNodeId("i=63");
17165         VariableAttributes attrs;
17166         attrs.DisplayName = LocalizedText("QueryFirstCount");
17167         attrs.Type = ToNodeId("i=871");
17168         attrs.Rank = -1;
17169         node.Attributes = attrs;
17170         registry.AddNodes(std::vector<AddNodesItem>{node});
17171         std::vector<AddReferencesItem> refs;
17172         {
17173         AddReferencesItem ref;
17174         ref.IsForward = true;
17175         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
17176         ref.SourceNodeId = ToNodeId("i=2241");
17177         ref.TargetNodeClass = NodeClass::DataType;
17178         ref.TargetNodeId = ToNodeId("i=78");
17179         refs.push_back(ref);
17180         }
17181         registry.AddReferences(refs);
17182         }
17183        
17184         {
17185         AddNodesItem node;
17186         node.RequestedNewNodeId = ToNodeId("i=2242");
17187         node.BrowseName = ToQualifiedName("QueryNextCount");
17188         node.Class = NodeClass::Variable;
17189         node.ParentNodeId = ToNodeId("i=2197");
17190         node.ReferenceTypeId = ReferenceId::HasComponent;
17191         node.TypeDefinition = ToNodeId("i=63");
17192         VariableAttributes attrs;
17193         attrs.DisplayName = LocalizedText("QueryNextCount");
17194         attrs.Type = ToNodeId("i=871");
17195         attrs.Rank = -1;
17196         node.Attributes = attrs;
17197         registry.AddNodes(std::vector<AddNodesItem>{node});
17198         std::vector<AddReferencesItem> refs;
17199         {
17200         AddReferencesItem ref;
17201         ref.IsForward = true;
17202         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
17203         ref.SourceNodeId = ToNodeId("i=2242");
17204         ref.TargetNodeClass = NodeClass::DataType;
17205         ref.TargetNodeId = ToNodeId("i=78");
17206         refs.push_back(ref);
17207         }
17208         registry.AddReferences(refs);
17209         }
17210        
17211         {
17212         AddNodesItem node;
17213         node.RequestedNewNodeId = ToNodeId("i=2730");
17214         node.BrowseName = ToQualifiedName("RegisterNodesCount");
17215         node.Class = NodeClass::Variable;
17216         node.ParentNodeId = ToNodeId("i=2197");
17217         node.ReferenceTypeId = ReferenceId::HasComponent;
17218         node.TypeDefinition = ToNodeId("i=63");
17219         VariableAttributes attrs;
17220         attrs.DisplayName = LocalizedText("RegisterNodesCount");
17221         attrs.Type = ToNodeId("i=871");
17222         attrs.Rank = -1;
17223         node.Attributes = attrs;
17224         registry.AddNodes(std::vector<AddNodesItem>{node});
17225         std::vector<AddReferencesItem> refs;
17226         {
17227         AddReferencesItem ref;
17228         ref.IsForward = true;
17229         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
17230         ref.SourceNodeId = ToNodeId("i=2730");
17231         ref.TargetNodeClass = NodeClass::DataType;
17232         ref.TargetNodeId = ToNodeId("i=78");
17233         refs.push_back(ref);
17234         }
17235         registry.AddReferences(refs);
17236         }
17237        
17238         {
17239         AddNodesItem node;
17240         node.RequestedNewNodeId = ToNodeId("i=2731");
17241         node.BrowseName = ToQualifiedName("UnregisterNodesCount");
17242         node.Class = NodeClass::Variable;
17243         node.ParentNodeId = ToNodeId("i=2197");
17244         node.ReferenceTypeId = ReferenceId::HasComponent;
17245         node.TypeDefinition = ToNodeId("i=63");
17246         VariableAttributes attrs;
17247         attrs.DisplayName = LocalizedText("UnregisterNodesCount");
17248         attrs.Type = ToNodeId("i=871");
17249         attrs.Rank = -1;
17250         node.Attributes = attrs;
17251         registry.AddNodes(std::vector<AddNodesItem>{node});
17252         std::vector<AddReferencesItem> refs;
17253         {
17254         AddReferencesItem ref;
17255         ref.IsForward = true;
17256         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
17257         ref.SourceNodeId = ToNodeId("i=2731");
17258         ref.TargetNodeClass = NodeClass::DataType;
17259         ref.TargetNodeId = ToNodeId("i=78");
17260         refs.push_back(ref);
17261         }
17262         registry.AddReferences(refs);
17263         }
17264        
17265         {
17266         AddNodesItem node;
17267         node.RequestedNewNodeId = ToNodeId("i=2243");
17268         node.BrowseName = ToQualifiedName("SessionSecurityDiagnosticsArrayType");
17269         node.Class = NodeClass::VariableType;
17270         node.ParentNodeId = ToNodeId("i=63");
17271         node.ReferenceTypeId = ReferenceId::HasSubtype;
17272         VariableTypeAttributes attrs;
17273         attrs.DisplayName = LocalizedText("SessionSecurityDiagnosticsArrayType");
17274         attrs.Type = ToNodeId("i=868");
17275         attrs.Rank = 1;
17276         attrs.IsAbstract = false;
17277         node.Attributes = attrs;
17278         registry.AddNodes(std::vector<AddNodesItem>{node});
17279         }
17280        
17281         {
17282         AddNodesItem node;
17283         node.RequestedNewNodeId = ToNodeId("i=2244");
17284         node.BrowseName = ToQualifiedName("SessionSecurityDiagnosticsType");
17285         node.Class = NodeClass::VariableType;
17286         node.ParentNodeId = ToNodeId("i=63");
17287         node.ReferenceTypeId = ReferenceId::HasSubtype;
17288         VariableTypeAttributes attrs;
17289         attrs.DisplayName = LocalizedText("SessionSecurityDiagnosticsType");
17290         attrs.Type = ToNodeId("i=868");
17291         attrs.Rank = -1;
17292         attrs.IsAbstract = false;
17293         node.Attributes = attrs;
17294         registry.AddNodes(std::vector<AddNodesItem>{node});
17295         std::vector<AddReferencesItem> refs;
17296         {
17297         AddReferencesItem ref;
17298         ref.IsForward = true;
17299         ref.ReferenceTypeId = ReferenceId::HasComponent;
17300         ref.SourceNodeId = ToNodeId("i=2244");
17301         ref.TargetNodeClass = NodeClass::DataType;
17302         ref.TargetNodeId = ToNodeId("i=2245");
17303         refs.push_back(ref);
17304         }
17305         {
17306         AddReferencesItem ref;
17307         ref.IsForward = true;
17308         ref.ReferenceTypeId = ReferenceId::HasComponent;
17309         ref.SourceNodeId = ToNodeId("i=2244");
17310         ref.TargetNodeClass = NodeClass::DataType;
17311         ref.TargetNodeId = ToNodeId("i=2246");
17312         refs.push_back(ref);
17313         }
17314         {
17315         AddReferencesItem ref;
17316         ref.IsForward = true;
17317         ref.ReferenceTypeId = ReferenceId::HasComponent;
17318         ref.SourceNodeId = ToNodeId("i=2244");
17319         ref.TargetNodeClass = NodeClass::DataType;
17320         ref.TargetNodeId = ToNodeId("i=2247");
17321         refs.push_back(ref);
17322         }
17323         {
17324         AddReferencesItem ref;
17325         ref.IsForward = true;
17326         ref.ReferenceTypeId = ReferenceId::HasComponent;
17327         ref.SourceNodeId = ToNodeId("i=2244");
17328         ref.TargetNodeClass = NodeClass::DataType;
17329         ref.TargetNodeId = ToNodeId("i=2248");
17330         refs.push_back(ref);
17331         }
17332         {
17333         AddReferencesItem ref;
17334         ref.IsForward = true;
17335         ref.ReferenceTypeId = ReferenceId::HasComponent;
17336         ref.SourceNodeId = ToNodeId("i=2244");
17337         ref.TargetNodeClass = NodeClass::DataType;
17338         ref.TargetNodeId = ToNodeId("i=2249");
17339         refs.push_back(ref);
17340         }
17341         {
17342         AddReferencesItem ref;
17343         ref.IsForward = true;
17344         ref.ReferenceTypeId = ReferenceId::HasComponent;
17345         ref.SourceNodeId = ToNodeId("i=2244");
17346         ref.TargetNodeClass = NodeClass::DataType;
17347         ref.TargetNodeId = ToNodeId("i=2250");
17348         refs.push_back(ref);
17349         }
17350         {
17351         AddReferencesItem ref;
17352         ref.IsForward = true;
17353         ref.ReferenceTypeId = ReferenceId::HasComponent;
17354         ref.SourceNodeId = ToNodeId("i=2244");
17355         ref.TargetNodeClass = NodeClass::DataType;
17356         ref.TargetNodeId = ToNodeId("i=2251");
17357         refs.push_back(ref);
17358         }
17359         {
17360         AddReferencesItem ref;
17361         ref.IsForward = true;
17362         ref.ReferenceTypeId = ReferenceId::HasComponent;
17363         ref.SourceNodeId = ToNodeId("i=2244");
17364         ref.TargetNodeClass = NodeClass::DataType;
17365         ref.TargetNodeId = ToNodeId("i=2252");
17366         refs.push_back(ref);
17367         }
17368         {
17369         AddReferencesItem ref;
17370         ref.IsForward = true;
17371         ref.ReferenceTypeId = ReferenceId::HasComponent;
17372         ref.SourceNodeId = ToNodeId("i=2244");
17373         ref.TargetNodeClass = NodeClass::DataType;
17374         ref.TargetNodeId = ToNodeId("i=3058");
17375         refs.push_back(ref);
17376         }
17377         registry.AddReferences(refs);
17378         }
17379        
17380         {
17381         AddNodesItem node;
17382         node.RequestedNewNodeId = ToNodeId("i=2245");
17383         node.BrowseName = ToQualifiedName("SessionId");
17384         node.Class = NodeClass::Variable;
17385         node.ParentNodeId = ToNodeId("i=2244");
17386         node.ReferenceTypeId = ReferenceId::HasComponent;
17387         node.TypeDefinition = ToNodeId("i=63");
17388         VariableAttributes attrs;
17389         attrs.DisplayName = LocalizedText("SessionId");
17390         attrs.Type = ObjectId::NodeId;
17391         attrs.Rank = -1;
17392         node.Attributes = attrs;
17393         registry.AddNodes(std::vector<AddNodesItem>{node});
17394         std::vector<AddReferencesItem> refs;
17395         {
17396         AddReferencesItem ref;
17397         ref.IsForward = true;
17398         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
17399         ref.SourceNodeId = ToNodeId("i=2245");
17400         ref.TargetNodeClass = NodeClass::DataType;
17401         ref.TargetNodeId = ToNodeId("i=78");
17402         refs.push_back(ref);
17403         }
17404         registry.AddReferences(refs);
17405         }
17406        
17407         {
17408         AddNodesItem node;
17409         node.RequestedNewNodeId = ToNodeId("i=2246");
17410         node.BrowseName = ToQualifiedName("ClientUserIdOfSession");
17411         node.Class = NodeClass::Variable;
17412         node.ParentNodeId = ToNodeId("i=2244");
17413         node.ReferenceTypeId = ReferenceId::HasComponent;
17414         node.TypeDefinition = ToNodeId("i=63");
17415         VariableAttributes attrs;
17416         attrs.DisplayName = LocalizedText("ClientUserIdOfSession");
17417         attrs.Type = ObjectId::String;
17418         attrs.Rank = -1;
17419         node.Attributes = attrs;
17420         registry.AddNodes(std::vector<AddNodesItem>{node});
17421         std::vector<AddReferencesItem> refs;
17422         {
17423         AddReferencesItem ref;
17424         ref.IsForward = true;
17425         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
17426         ref.SourceNodeId = ToNodeId("i=2246");
17427         ref.TargetNodeClass = NodeClass::DataType;
17428         ref.TargetNodeId = ToNodeId("i=78");
17429         refs.push_back(ref);
17430         }
17431         registry.AddReferences(refs);
17432         }
17433        
17434         {
17435         AddNodesItem node;
17436         node.RequestedNewNodeId = ToNodeId("i=2247");
17437         node.BrowseName = ToQualifiedName("ClientUserIdHistory");
17438         node.Class = NodeClass::Variable;
17439         node.ParentNodeId = ToNodeId("i=2244");
17440         node.ReferenceTypeId = ReferenceId::HasComponent;
17441         node.TypeDefinition = ToNodeId("i=63");
17442         VariableAttributes attrs;
17443         attrs.DisplayName = LocalizedText("ClientUserIdHistory");
17444         attrs.Type = ObjectId::String;
17445         attrs.Rank = 1;
17446         node.Attributes = attrs;
17447         registry.AddNodes(std::vector<AddNodesItem>{node});
17448         std::vector<AddReferencesItem> refs;
17449         {
17450         AddReferencesItem ref;
17451         ref.IsForward = true;
17452         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
17453         ref.SourceNodeId = ToNodeId("i=2247");
17454         ref.TargetNodeClass = NodeClass::DataType;
17455         ref.TargetNodeId = ToNodeId("i=78");
17456         refs.push_back(ref);
17457         }
17458         registry.AddReferences(refs);
17459         }
17460        
17461         {
17462         AddNodesItem node;
17463         node.RequestedNewNodeId = ToNodeId("i=2248");
17464         node.BrowseName = ToQualifiedName("AuthenticationMechanism");
17465         node.Class = NodeClass::Variable;
17466         node.ParentNodeId = ToNodeId("i=2244");
17467         node.ReferenceTypeId = ReferenceId::HasComponent;
17468         node.TypeDefinition = ToNodeId("i=63");
17469         VariableAttributes attrs;
17470         attrs.DisplayName = LocalizedText("AuthenticationMechanism");
17471         attrs.Type = ObjectId::String;
17472         attrs.Rank = -1;
17473         node.Attributes = attrs;
17474         registry.AddNodes(std::vector<AddNodesItem>{node});
17475         std::vector<AddReferencesItem> refs;
17476         {
17477         AddReferencesItem ref;
17478         ref.IsForward = true;
17479         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
17480         ref.SourceNodeId = ToNodeId("i=2248");
17481         ref.TargetNodeClass = NodeClass::DataType;
17482         ref.TargetNodeId = ToNodeId("i=78");
17483         refs.push_back(ref);
17484         }
17485         registry.AddReferences(refs);
17486         }
17487        
17488         {
17489         AddNodesItem node;
17490         node.RequestedNewNodeId = ToNodeId("i=2249");
17491         node.BrowseName = ToQualifiedName("Encoding");
17492         node.Class = NodeClass::Variable;
17493         node.ParentNodeId = ToNodeId("i=2244");
17494         node.ReferenceTypeId = ReferenceId::HasComponent;
17495         node.TypeDefinition = ToNodeId("i=63");
17496         VariableAttributes attrs;
17497         attrs.DisplayName = LocalizedText("Encoding");
17498         attrs.Type = ObjectId::String;
17499         attrs.Rank = -1;
17500         node.Attributes = attrs;
17501         registry.AddNodes(std::vector<AddNodesItem>{node});
17502         std::vector<AddReferencesItem> refs;
17503         {
17504         AddReferencesItem ref;
17505         ref.IsForward = true;
17506         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
17507         ref.SourceNodeId = ToNodeId("i=2249");
17508         ref.TargetNodeClass = NodeClass::DataType;
17509         ref.TargetNodeId = ToNodeId("i=78");
17510         refs.push_back(ref);
17511         }
17512         registry.AddReferences(refs);
17513         }
17514        
17515         {
17516         AddNodesItem node;
17517         node.RequestedNewNodeId = ToNodeId("i=2250");
17518         node.BrowseName = ToQualifiedName("TransportProtocol");
17519         node.Class = NodeClass::Variable;
17520         node.ParentNodeId = ToNodeId("i=2244");
17521         node.ReferenceTypeId = ReferenceId::HasComponent;
17522         node.TypeDefinition = ToNodeId("i=63");
17523         VariableAttributes attrs;
17524         attrs.DisplayName = LocalizedText("TransportProtocol");
17525         attrs.Type = ObjectId::String;
17526         attrs.Rank = -1;
17527         node.Attributes = attrs;
17528         registry.AddNodes(std::vector<AddNodesItem>{node});
17529         std::vector<AddReferencesItem> refs;
17530         {
17531         AddReferencesItem ref;
17532         ref.IsForward = true;
17533         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
17534         ref.SourceNodeId = ToNodeId("i=2250");
17535         ref.TargetNodeClass = NodeClass::DataType;
17536         ref.TargetNodeId = ToNodeId("i=78");
17537         refs.push_back(ref);
17538         }
17539         registry.AddReferences(refs);
17540         }
17541        
17542         {
17543         AddNodesItem node;
17544         node.RequestedNewNodeId = ToNodeId("i=2251");
17545         node.BrowseName = ToQualifiedName("SecurityMode");
17546         node.Class = NodeClass::Variable;
17547         node.ParentNodeId = ToNodeId("i=2244");
17548         node.ReferenceTypeId = ReferenceId::HasComponent;
17549         node.TypeDefinition = ToNodeId("i=63");
17550         VariableAttributes attrs;
17551         attrs.DisplayName = LocalizedText("SecurityMode");
17552         attrs.Type = ToNodeId("i=302");
17553         attrs.Rank = -1;
17554         node.Attributes = attrs;
17555         registry.AddNodes(std::vector<AddNodesItem>{node});
17556         std::vector<AddReferencesItem> refs;
17557         {
17558         AddReferencesItem ref;
17559         ref.IsForward = true;
17560         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
17561         ref.SourceNodeId = ToNodeId("i=2251");
17562         ref.TargetNodeClass = NodeClass::DataType;
17563         ref.TargetNodeId = ToNodeId("i=78");
17564         refs.push_back(ref);
17565         }
17566         registry.AddReferences(refs);
17567         }
17568        
17569         {
17570         AddNodesItem node;
17571         node.RequestedNewNodeId = ToNodeId("i=2252");
17572         node.BrowseName = ToQualifiedName("SecurityPolicyUri");
17573         node.Class = NodeClass::Variable;
17574         node.ParentNodeId = ToNodeId("i=2244");
17575         node.ReferenceTypeId = ReferenceId::HasComponent;
17576         node.TypeDefinition = ToNodeId("i=63");
17577         VariableAttributes attrs;
17578         attrs.DisplayName = LocalizedText("SecurityPolicyUri");
17579         attrs.Type = ObjectId::String;
17580         attrs.Rank = -1;
17581         node.Attributes = attrs;
17582         registry.AddNodes(std::vector<AddNodesItem>{node});
17583         std::vector<AddReferencesItem> refs;
17584         {
17585         AddReferencesItem ref;
17586         ref.IsForward = true;
17587         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
17588         ref.SourceNodeId = ToNodeId("i=2252");
17589         ref.TargetNodeClass = NodeClass::DataType;
17590         ref.TargetNodeId = ToNodeId("i=78");
17591         refs.push_back(ref);
17592         }
17593         registry.AddReferences(refs);
17594         }
17595        
17596         {
17597         AddNodesItem node;
17598         node.RequestedNewNodeId = ToNodeId("i=3058");
17599         node.BrowseName = ToQualifiedName("ClientCertificate");
17600         node.Class = NodeClass::Variable;
17601         node.ParentNodeId = ToNodeId("i=2244");
17602         node.ReferenceTypeId = ReferenceId::HasComponent;
17603         node.TypeDefinition = ToNodeId("i=63");
17604         VariableAttributes attrs;
17605         attrs.DisplayName = LocalizedText("ClientCertificate");
17606         attrs.Type = ObjectId::ByteString;
17607         attrs.Rank = -1;
17608         node.Attributes = attrs;
17609         registry.AddNodes(std::vector<AddNodesItem>{node});
17610         std::vector<AddReferencesItem> refs;
17611         {
17612         AddReferencesItem ref;
17613         ref.IsForward = true;
17614         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
17615         ref.SourceNodeId = ToNodeId("i=3058");
17616         ref.TargetNodeClass = NodeClass::DataType;
17617         ref.TargetNodeId = ToNodeId("i=78");
17618         refs.push_back(ref);
17619         }
17620         registry.AddReferences(refs);
17621         }
17622        
17623         {
17624         AddNodesItem node;
17625         node.RequestedNewNodeId = ToNodeId("i=11487");
17626         node.BrowseName = ToQualifiedName("OptionSetType");
17627         node.Class = NodeClass::VariableType;
17628         node.ParentNodeId = ToNodeId("i=63");
17629         node.ReferenceTypeId = ReferenceId::HasSubtype;
17630         VariableTypeAttributes attrs;
17631         attrs.DisplayName = LocalizedText("OptionSetType");
17632         attrs.Type = ObjectId::String;
17633         attrs.Rank = -1;
17634         attrs.IsAbstract = false;
17635         node.Attributes = attrs;
17636         registry.AddNodes(std::vector<AddNodesItem>{node});
17637         std::vector<AddReferencesItem> refs;
17638         {
17639         AddReferencesItem ref;
17640         ref.IsForward = true;
17641         ref.ReferenceTypeId = ReferenceId::HasProperty;
17642         ref.SourceNodeId = ToNodeId("i=11487");
17643         ref.TargetNodeClass = NodeClass::DataType;
17644         ref.TargetNodeId = ToNodeId("i=11488");
17645         refs.push_back(ref);
17646         }
17647         {
17648         AddReferencesItem ref;
17649         ref.IsForward = true;
17650         ref.ReferenceTypeId = ReferenceId::HasProperty;
17651         ref.SourceNodeId = ToNodeId("i=11487");
17652         ref.TargetNodeClass = NodeClass::DataType;
17653         ref.TargetNodeId = ToNodeId("i=11701");
17654         refs.push_back(ref);
17655         }
17656         registry.AddReferences(refs);
17657         }
17658        
17659         {
17660         AddNodesItem node;
17661         node.RequestedNewNodeId = ToNodeId("i=11488");
17662         node.BrowseName = ToQualifiedName("OptionSetValues");
17663         node.Class = NodeClass::Variable;
17664         node.ParentNodeId = ToNodeId("i=11487");
17665         node.ReferenceTypeId = ReferenceId::HasProperty;
17666         node.TypeDefinition = ToNodeId("i=68");
17667         VariableAttributes attrs;
17668         attrs.DisplayName = LocalizedText("OptionSetValues");
17669         attrs.Type = ObjectId::LocalizedText;
17670         attrs.Rank = 1;
17671         node.Attributes = attrs;
17672         registry.AddNodes(std::vector<AddNodesItem>{node});
17673         std::vector<AddReferencesItem> refs;
17674         {
17675         AddReferencesItem ref;
17676         ref.IsForward = true;
17677         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
17678         ref.SourceNodeId = ToNodeId("i=11488");
17679         ref.TargetNodeClass = NodeClass::DataType;
17680         ref.TargetNodeId = ToNodeId("i=78");
17681         refs.push_back(ref);
17682         }
17683         registry.AddReferences(refs);
17684         }
17685        
17686         {
17687         AddNodesItem node;
17688         node.RequestedNewNodeId = ToNodeId("i=11701");
17689         node.BrowseName = ToQualifiedName("BitMask");
17690         node.Class = NodeClass::Variable;
17691         node.ParentNodeId = ToNodeId("i=11487");
17692         node.ReferenceTypeId = ReferenceId::HasProperty;
17693         node.TypeDefinition = ToNodeId("i=68");
17694         VariableAttributes attrs;
17695         attrs.DisplayName = LocalizedText("BitMask");
17696         attrs.Type = ObjectId::Boolean;
17697         attrs.Rank = 1;
17698         node.Attributes = attrs;
17699         registry.AddNodes(std::vector<AddNodesItem>{node});
17700         std::vector<AddReferencesItem> refs;
17701         {
17702         AddReferencesItem ref;
17703         ref.IsForward = true;
17704         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
17705         ref.SourceNodeId = ToNodeId("i=11701");
17706         ref.TargetNodeClass = NodeClass::DataType;
17707         ref.TargetNodeId = ToNodeId("i=80");
17708         refs.push_back(ref);
17709         }
17710         registry.AddReferences(refs);
17711         }
17712        
17713         {
17714         AddNodesItem node;
17715         node.RequestedNewNodeId = ToNodeId("i=3048");
17716         node.BrowseName = ToQualifiedName("EventTypes");
17717         node.Class = NodeClass::Object;
17718         node.ParentNodeId = ToNodeId("i=86");
17719         node.ReferenceTypeId = ReferenceId::Organizes;
17720         node.TypeDefinition = ToNodeId("i=61");
17721         ObjectAttributes attrs;
17722         attrs.DisplayName = LocalizedText("EventTypes");
17723         attrs.EventNotifier = 0;
17724         node.Attributes = attrs;
17725         registry.AddNodes(std::vector<AddNodesItem>{node});
17726         std::vector<AddReferencesItem> refs;
17727         {
17728         AddReferencesItem ref;
17729         ref.IsForward = true;
17730         ref.ReferenceTypeId = ReferenceId::Organizes;
17731         ref.SourceNodeId = ToNodeId("i=3048");
17732         ref.TargetNodeClass = NodeClass::DataType;
17733         ref.TargetNodeId = ToNodeId("i=2041");
17734         refs.push_back(ref);
17735         }
17736         registry.AddReferences(refs);
17737         }
17738        
17739         {
17740         AddNodesItem node;
17741         node.RequestedNewNodeId = ToNodeId("i=2253");
17742         node.BrowseName = ToQualifiedName("Server");
17743         node.Class = NodeClass::Object;
17744         node.ParentNodeId = ToNodeId("i=85");
17745         node.ReferenceTypeId = ReferenceId::Organizes;
17746         node.TypeDefinition = ToNodeId("i=2004");
17747         ObjectAttributes attrs;
17748         attrs.DisplayName = LocalizedText("Server");
17749         attrs.EventNotifier = 1;
17750         node.Attributes = attrs;
17751         registry.AddNodes(std::vector<AddNodesItem>{node});
17752         std::vector<AddReferencesItem> refs;
17753         {
17754         AddReferencesItem ref;
17755         ref.IsForward = true;
17756         ref.ReferenceTypeId = ReferenceId::HasProperty;
17757         ref.SourceNodeId = ToNodeId("i=2253");
17758         ref.TargetNodeClass = NodeClass::DataType;
17759         ref.TargetNodeId = ToNodeId("i=2254");
17760         refs.push_back(ref);
17761         }
17762         {
17763         AddReferencesItem ref;
17764         ref.IsForward = true;
17765         ref.ReferenceTypeId = ReferenceId::HasProperty;
17766         ref.SourceNodeId = ToNodeId("i=2253");
17767         ref.TargetNodeClass = NodeClass::DataType;
17768         ref.TargetNodeId = ToNodeId("i=2255");
17769         refs.push_back(ref);
17770         }
17771         {
17772         AddReferencesItem ref;
17773         ref.IsForward = true;
17774         ref.ReferenceTypeId = ReferenceId::HasComponent;
17775         ref.SourceNodeId = ToNodeId("i=2253");
17776         ref.TargetNodeClass = NodeClass::DataType;
17777         ref.TargetNodeId = ToNodeId("i=2256");
17778         refs.push_back(ref);
17779         }
17780         {
17781         AddReferencesItem ref;
17782         ref.IsForward = true;
17783         ref.ReferenceTypeId = ReferenceId::HasProperty;
17784         ref.SourceNodeId = ToNodeId("i=2253");
17785         ref.TargetNodeClass = NodeClass::DataType;
17786         ref.TargetNodeId = ToNodeId("i=2267");
17787         refs.push_back(ref);
17788         }
17789         {
17790         AddReferencesItem ref;
17791         ref.IsForward = true;
17792         ref.ReferenceTypeId = ReferenceId::HasProperty;
17793         ref.SourceNodeId = ToNodeId("i=2253");
17794         ref.TargetNodeClass = NodeClass::DataType;
17795         ref.TargetNodeId = ToNodeId("i=2994");
17796         refs.push_back(ref);
17797         }
17798         {
17799         AddReferencesItem ref;
17800         ref.IsForward = true;
17801         ref.ReferenceTypeId = ReferenceId::HasComponent;
17802         ref.SourceNodeId = ToNodeId("i=2253");
17803         ref.TargetNodeClass = NodeClass::DataType;
17804         ref.TargetNodeId = ToNodeId("i=2268");
17805         refs.push_back(ref);
17806         }
17807         {
17808         AddReferencesItem ref;
17809         ref.IsForward = true;
17810         ref.ReferenceTypeId = ReferenceId::HasComponent;
17811         ref.SourceNodeId = ToNodeId("i=2253");
17812         ref.TargetNodeClass = NodeClass::DataType;
17813         ref.TargetNodeId = ToNodeId("i=2274");
17814         refs.push_back(ref);
17815         }
17816         {
17817         AddReferencesItem ref;
17818         ref.IsForward = true;
17819         ref.ReferenceTypeId = ReferenceId::HasComponent;
17820         ref.SourceNodeId = ToNodeId("i=2253");
17821         ref.TargetNodeClass = NodeClass::DataType;
17822         ref.TargetNodeId = ToNodeId("i=2295");
17823         refs.push_back(ref);
17824         }
17825         {
17826         AddReferencesItem ref;
17827         ref.IsForward = true;
17828         ref.ReferenceTypeId = ReferenceId::HasComponent;
17829         ref.SourceNodeId = ToNodeId("i=2253");
17830         ref.TargetNodeClass = NodeClass::DataType;
17831         ref.TargetNodeId = ToNodeId("i=2296");
17832         refs.push_back(ref);
17833         }
17834         {
17835         AddReferencesItem ref;
17836         ref.IsForward = true;
17837         ref.ReferenceTypeId = ReferenceId::HasComponent;
17838         ref.SourceNodeId = ToNodeId("i=2253");
17839         ref.TargetNodeClass = NodeClass::DataType;
17840         ref.TargetNodeId = ToNodeId("i=11715");
17841         refs.push_back(ref);
17842         }
17843         {
17844         AddReferencesItem ref;
17845         ref.IsForward = true;
17846         ref.ReferenceTypeId = ReferenceId::HasComponent;
17847         ref.SourceNodeId = ToNodeId("i=2253");
17848         ref.TargetNodeClass = NodeClass::DataType;
17849         ref.TargetNodeId = ToNodeId("i=11492");
17850         refs.push_back(ref);
17851         }
17852         registry.AddReferences(refs);
17853         }
17854        
17855         {
17856         AddNodesItem node;
17857         node.RequestedNewNodeId = ToNodeId("i=2254");
17858         node.BrowseName = ToQualifiedName("ServerArray");
17859         node.Class = NodeClass::Variable;
17860         node.ParentNodeId = ToNodeId("i=2253");
17861         node.ReferenceTypeId = ReferenceId::HasProperty;
17862         node.TypeDefinition = ToNodeId("i=68");
17863         VariableAttributes attrs;
17864         attrs.Description = LocalizedText("The list of server URIs used by the server.");
17865         attrs.DisplayName = LocalizedText("ServerArray");
17866         attrs.Type = ObjectId::String;
17867         attrs.Rank = 1;
17868         attrs.MinimumSamplingInterval = 1000;
17869         node.Attributes = attrs;
17870         registry.AddNodes(std::vector<AddNodesItem>{node});
17871         }
17872        
17873         {
17874         AddNodesItem node;
17875         node.RequestedNewNodeId = ToNodeId("i=2255");
17876         node.BrowseName = ToQualifiedName("NamespaceArray");
17877         node.Class = NodeClass::Variable;
17878         node.ParentNodeId = ToNodeId("i=2253");
17879         node.ReferenceTypeId = ReferenceId::HasProperty;
17880         node.TypeDefinition = ToNodeId("i=68");
17881         VariableAttributes attrs;
17882         attrs.Description = LocalizedText("The list of namespace URIs used by the server.");
17883         attrs.DisplayName = LocalizedText("NamespaceArray");
17884         attrs.Type = ObjectId::String;
17885         attrs.Rank = 1;
17886         attrs.MinimumSamplingInterval = 1000;
17887         node.Attributes = attrs;
17888         registry.AddNodes(std::vector<AddNodesItem>{node});
17889         }
17890        
17891         {
17892         AddNodesItem node;
17893         node.RequestedNewNodeId = ToNodeId("i=2256");
17894         node.BrowseName = ToQualifiedName("ServerStatus");
17895         node.Class = NodeClass::Variable;
17896         node.ParentNodeId = ToNodeId("i=2253");
17897         node.ReferenceTypeId = ReferenceId::HasComponent;
17898         node.TypeDefinition = ToNodeId("i=2138");
17899         VariableAttributes attrs;
17900         attrs.Description = LocalizedText("The current status of the server.");
17901         attrs.DisplayName = LocalizedText("ServerStatus");
17902         attrs.Type = ToNodeId("i=862");
17903         attrs.Rank = -1;
17904         attrs.MinimumSamplingInterval = 1000;
17905         node.Attributes = attrs;
17906         registry.AddNodes(std::vector<AddNodesItem>{node});
17907         std::vector<AddReferencesItem> refs;
17908         {
17909         AddReferencesItem ref;
17910         ref.IsForward = true;
17911         ref.ReferenceTypeId = ReferenceId::HasComponent;
17912         ref.SourceNodeId = ToNodeId("i=2256");
17913         ref.TargetNodeClass = NodeClass::DataType;
17914         ref.TargetNodeId = ToNodeId("i=2257");
17915         refs.push_back(ref);
17916         }
17917         {
17918         AddReferencesItem ref;
17919         ref.IsForward = true;
17920         ref.ReferenceTypeId = ReferenceId::HasComponent;
17921         ref.SourceNodeId = ToNodeId("i=2256");
17922         ref.TargetNodeClass = NodeClass::DataType;
17923         ref.TargetNodeId = ToNodeId("i=2258");
17924         refs.push_back(ref);
17925         }
17926         {
17927         AddReferencesItem ref;
17928         ref.IsForward = true;
17929         ref.ReferenceTypeId = ReferenceId::HasComponent;
17930         ref.SourceNodeId = ToNodeId("i=2256");
17931         ref.TargetNodeClass = NodeClass::DataType;
17932         ref.TargetNodeId = ToNodeId("i=2259");
17933         refs.push_back(ref);
17934         }
17935         {
17936         AddReferencesItem ref;
17937         ref.IsForward = true;
17938         ref.ReferenceTypeId = ReferenceId::HasComponent;
17939         ref.SourceNodeId = ToNodeId("i=2256");
17940         ref.TargetNodeClass = NodeClass::DataType;
17941         ref.TargetNodeId = ToNodeId("i=2260");
17942         refs.push_back(ref);
17943         }
17944         {
17945         AddReferencesItem ref;
17946         ref.IsForward = true;
17947         ref.ReferenceTypeId = ReferenceId::HasComponent;
17948         ref.SourceNodeId = ToNodeId("i=2256");
17949         ref.TargetNodeClass = NodeClass::DataType;
17950         ref.TargetNodeId = ToNodeId("i=2992");
17951         refs.push_back(ref);
17952         }
17953         {
17954         AddReferencesItem ref;
17955         ref.IsForward = true;
17956         ref.ReferenceTypeId = ReferenceId::HasComponent;
17957         ref.SourceNodeId = ToNodeId("i=2256");
17958         ref.TargetNodeClass = NodeClass::DataType;
17959         ref.TargetNodeId = ToNodeId("i=2993");
17960         refs.push_back(ref);
17961         }
17962         registry.AddReferences(refs);
17963         }
17964        
17965         {
17966         AddNodesItem node;
17967         node.RequestedNewNodeId = ToNodeId("i=2257");
17968         node.BrowseName = ToQualifiedName("StartTime");
17969         node.Class = NodeClass::Variable;
17970         node.ParentNodeId = ToNodeId("i=2256");
17971         node.ReferenceTypeId = ReferenceId::HasComponent;
17972         node.TypeDefinition = ToNodeId("i=63");
17973         VariableAttributes attrs;
17974         attrs.DisplayName = LocalizedText("StartTime");
17975         attrs.Type = ToNodeId("i=294");
17976         attrs.Rank = -1;
17977         node.Attributes = attrs;
17978         registry.AddNodes(std::vector<AddNodesItem>{node});
17979         }
17980        
17981         {
17982         AddNodesItem node;
17983         node.RequestedNewNodeId = ToNodeId("i=2258");
17984         node.BrowseName = ToQualifiedName("CurrentTime");
17985         node.Class = NodeClass::Variable;
17986         node.ParentNodeId = ToNodeId("i=2256");
17987         node.ReferenceTypeId = ReferenceId::HasComponent;
17988         node.TypeDefinition = ToNodeId("i=63");
17989         VariableAttributes attrs;
17990         attrs.DisplayName = LocalizedText("CurrentTime");
17991         attrs.Type = ToNodeId("i=294");
17992         attrs.Rank = -1;
17993         node.Attributes = attrs;
17994         registry.AddNodes(std::vector<AddNodesItem>{node});
17995         }
17996        
17997         {
17998         AddNodesItem node;
17999         node.RequestedNewNodeId = ToNodeId("i=2259");
18000         node.BrowseName = ToQualifiedName("State");
18001         node.Class = NodeClass::Variable;
18002         node.ParentNodeId = ToNodeId("i=2256");
18003         node.ReferenceTypeId = ReferenceId::HasComponent;
18004         node.TypeDefinition = ToNodeId("i=63");
18005         VariableAttributes attrs;
18006         attrs.DisplayName = LocalizedText("State");
18007         attrs.Type = ToNodeId("i=852");
18008         attrs.Rank = -1;
18009         node.Attributes = attrs;
18010         registry.AddNodes(std::vector<AddNodesItem>{node});
18011         }
18012        
18013         {
18014         AddNodesItem node;
18015         node.RequestedNewNodeId = ToNodeId("i=2260");
18016         node.BrowseName = ToQualifiedName("BuildInfo");
18017         node.Class = NodeClass::Variable;
18018         node.ParentNodeId = ToNodeId("i=2256");
18019         node.ReferenceTypeId = ReferenceId::HasComponent;
18020         node.TypeDefinition = ToNodeId("i=3051");
18021         VariableAttributes attrs;
18022         attrs.DisplayName = LocalizedText("BuildInfo");
18023         attrs.Type = ToNodeId("i=338");
18024         attrs.Rank = -1;
18025         node.Attributes = attrs;
18026         registry.AddNodes(std::vector<AddNodesItem>{node});
18027         std::vector<AddReferencesItem> refs;
18028         {
18029         AddReferencesItem ref;
18030         ref.IsForward = true;
18031         ref.ReferenceTypeId = ReferenceId::HasComponent;
18032         ref.SourceNodeId = ToNodeId("i=2260");
18033         ref.TargetNodeClass = NodeClass::DataType;
18034         ref.TargetNodeId = ToNodeId("i=2262");
18035         refs.push_back(ref);
18036         }
18037         {
18038         AddReferencesItem ref;
18039         ref.IsForward = true;
18040         ref.ReferenceTypeId = ReferenceId::HasComponent;
18041         ref.SourceNodeId = ToNodeId("i=2260");
18042         ref.TargetNodeClass = NodeClass::DataType;
18043         ref.TargetNodeId = ToNodeId("i=2263");
18044         refs.push_back(ref);
18045         }
18046         {
18047         AddReferencesItem ref;
18048         ref.IsForward = true;
18049         ref.ReferenceTypeId = ReferenceId::HasComponent;
18050         ref.SourceNodeId = ToNodeId("i=2260");
18051         ref.TargetNodeClass = NodeClass::DataType;
18052         ref.TargetNodeId = ToNodeId("i=2261");
18053         refs.push_back(ref);
18054         }
18055         {
18056         AddReferencesItem ref;
18057         ref.IsForward = true;
18058         ref.ReferenceTypeId = ReferenceId::HasComponent;
18059         ref.SourceNodeId = ToNodeId("i=2260");
18060         ref.TargetNodeClass = NodeClass::DataType;
18061         ref.TargetNodeId = ToNodeId("i=2264");
18062         refs.push_back(ref);
18063         }
18064         {
18065         AddReferencesItem ref;
18066         ref.IsForward = true;
18067         ref.ReferenceTypeId = ReferenceId::HasComponent;
18068         ref.SourceNodeId = ToNodeId("i=2260");
18069         ref.TargetNodeClass = NodeClass::DataType;
18070         ref.TargetNodeId = ToNodeId("i=2265");
18071         refs.push_back(ref);
18072         }
18073         {
18074         AddReferencesItem ref;
18075         ref.IsForward = true;
18076         ref.ReferenceTypeId = ReferenceId::HasComponent;
18077         ref.SourceNodeId = ToNodeId("i=2260");
18078         ref.TargetNodeClass = NodeClass::DataType;
18079         ref.TargetNodeId = ToNodeId("i=2266");
18080         refs.push_back(ref);
18081         }
18082         registry.AddReferences(refs);
18083         }
18084        
18085         {
18086         AddNodesItem node;
18087         node.RequestedNewNodeId = ToNodeId("i=2262");
18088         node.BrowseName = ToQualifiedName("ProductUri");
18089         node.Class = NodeClass::Variable;
18090         node.ParentNodeId = ToNodeId("i=2260");
18091         node.ReferenceTypeId = ReferenceId::HasComponent;
18092         node.TypeDefinition = ToNodeId("i=63");
18093         VariableAttributes attrs;
18094         attrs.DisplayName = LocalizedText("ProductUri");
18095         attrs.Type = ObjectId::String;
18096         attrs.Rank = -1;
18097         attrs.MinimumSamplingInterval = 1000;
18098         node.Attributes = attrs;
18099         registry.AddNodes(std::vector<AddNodesItem>{node});
18100         }
18101        
18102         {
18103         AddNodesItem node;
18104         node.RequestedNewNodeId = ToNodeId("i=2263");
18105         node.BrowseName = ToQualifiedName("ManufacturerName");
18106         node.Class = NodeClass::Variable;
18107         node.ParentNodeId = ToNodeId("i=2260");
18108         node.ReferenceTypeId = ReferenceId::HasComponent;
18109         node.TypeDefinition = ToNodeId("i=63");
18110         VariableAttributes attrs;
18111         attrs.DisplayName = LocalizedText("ManufacturerName");
18112         attrs.Type = ObjectId::String;
18113         attrs.Rank = -1;
18114         attrs.MinimumSamplingInterval = 1000;
18115         node.Attributes = attrs;
18116         registry.AddNodes(std::vector<AddNodesItem>{node});
18117         }
18118        
18119         {
18120         AddNodesItem node;
18121         node.RequestedNewNodeId = ToNodeId("i=2261");
18122         node.BrowseName = ToQualifiedName("ProductName");
18123         node.Class = NodeClass::Variable;
18124         node.ParentNodeId = ToNodeId("i=2260");
18125         node.ReferenceTypeId = ReferenceId::HasComponent;
18126         node.TypeDefinition = ToNodeId("i=63");
18127         VariableAttributes attrs;
18128         attrs.DisplayName = LocalizedText("ProductName");
18129         attrs.Type = ObjectId::String;
18130         attrs.Rank = -1;
18131         attrs.MinimumSamplingInterval = 1000;
18132         node.Attributes = attrs;
18133         registry.AddNodes(std::vector<AddNodesItem>{node});
18134         }
18135        
18136         {
18137         AddNodesItem node;
18138         node.RequestedNewNodeId = ToNodeId("i=2264");
18139         node.BrowseName = ToQualifiedName("SoftwareVersion");
18140         node.Class = NodeClass::Variable;
18141         node.ParentNodeId = ToNodeId("i=2260");
18142         node.ReferenceTypeId = ReferenceId::HasComponent;
18143         node.TypeDefinition = ToNodeId("i=63");
18144         VariableAttributes attrs;
18145         attrs.DisplayName = LocalizedText("SoftwareVersion");
18146         attrs.Type = ObjectId::String;
18147         attrs.Rank = -1;
18148         attrs.MinimumSamplingInterval = 1000;
18149         node.Attributes = attrs;
18150         registry.AddNodes(std::vector<AddNodesItem>{node});
18151         }
18152        
18153         {
18154         AddNodesItem node;
18155         node.RequestedNewNodeId = ToNodeId("i=2265");
18156         node.BrowseName = ToQualifiedName("BuildNumber");
18157         node.Class = NodeClass::Variable;
18158         node.ParentNodeId = ToNodeId("i=2260");
18159         node.ReferenceTypeId = ReferenceId::HasComponent;
18160         node.TypeDefinition = ToNodeId("i=63");
18161         VariableAttributes attrs;
18162         attrs.DisplayName = LocalizedText("BuildNumber");
18163         attrs.Type = ObjectId::String;
18164         attrs.Rank = -1;
18165         attrs.MinimumSamplingInterval = 1000;
18166         node.Attributes = attrs;
18167         registry.AddNodes(std::vector<AddNodesItem>{node});
18168         }
18169        
18170         {
18171         AddNodesItem node;
18172         node.RequestedNewNodeId = ToNodeId("i=2266");
18173         node.BrowseName = ToQualifiedName("BuildDate");
18174         node.Class = NodeClass::Variable;
18175         node.ParentNodeId = ToNodeId("i=2260");
18176         node.ReferenceTypeId = ReferenceId::HasComponent;
18177         node.TypeDefinition = ToNodeId("i=63");
18178         VariableAttributes attrs;
18179         attrs.DisplayName = LocalizedText("BuildDate");
18180         attrs.Type = ToNodeId("i=294");
18181         attrs.Rank = -1;
18182         attrs.MinimumSamplingInterval = 1000;
18183         node.Attributes = attrs;
18184         registry.AddNodes(std::vector<AddNodesItem>{node});
18185         }
18186        
18187         {
18188         AddNodesItem node;
18189         node.RequestedNewNodeId = ToNodeId("i=2992");
18190         node.BrowseName = ToQualifiedName("SecondsTillShutdown");
18191         node.Class = NodeClass::Variable;
18192         node.ParentNodeId = ToNodeId("i=2256");
18193         node.ReferenceTypeId = ReferenceId::HasComponent;
18194         node.TypeDefinition = ToNodeId("i=63");
18195         VariableAttributes attrs;
18196         attrs.DisplayName = LocalizedText("SecondsTillShutdown");
18197         attrs.Type = ObjectId::UInt32;
18198         attrs.Rank = -1;
18199         node.Attributes = attrs;
18200         registry.AddNodes(std::vector<AddNodesItem>{node});
18201         }
18202        
18203         {
18204         AddNodesItem node;
18205         node.RequestedNewNodeId = ToNodeId("i=2993");
18206         node.BrowseName = ToQualifiedName("ShutdownReason");
18207         node.Class = NodeClass::Variable;
18208         node.ParentNodeId = ToNodeId("i=2256");
18209         node.ReferenceTypeId = ReferenceId::HasComponent;
18210         node.TypeDefinition = ToNodeId("i=63");
18211         VariableAttributes attrs;
18212         attrs.DisplayName = LocalizedText("ShutdownReason");
18213         attrs.Type = ObjectId::LocalizedText;
18214         attrs.Rank = -1;
18215         node.Attributes = attrs;
18216         registry.AddNodes(std::vector<AddNodesItem>{node});
18217         }
18218        
18219         {
18220         AddNodesItem node;
18221         node.RequestedNewNodeId = ToNodeId("i=2267");
18222         node.BrowseName = ToQualifiedName("ServiceLevel");
18223         node.Class = NodeClass::Variable;
18224         node.ParentNodeId = ToNodeId("i=2253");
18225         node.ReferenceTypeId = ReferenceId::HasProperty;
18226         node.TypeDefinition = ToNodeId("i=68");
18227         VariableAttributes attrs;
18228         attrs.Description = LocalizedText("A value indicating the level of service the server can provide. 255 indicates the best.");
18229         attrs.DisplayName = LocalizedText("ServiceLevel");
18230         attrs.Type = ObjectId::Byte;
18231         attrs.Rank = -1;
18232         attrs.MinimumSamplingInterval = 1000;
18233         node.Attributes = attrs;
18234         registry.AddNodes(std::vector<AddNodesItem>{node});
18235         }
18236        
18237         {
18238         AddNodesItem node;
18239         node.RequestedNewNodeId = ToNodeId("i=2994");
18240         node.BrowseName = ToQualifiedName("Auditing");
18241         node.Class = NodeClass::Variable;
18242         node.ParentNodeId = ToNodeId("i=2253");
18243         node.ReferenceTypeId = ReferenceId::HasProperty;
18244         node.TypeDefinition = ToNodeId("i=68");
18245         VariableAttributes attrs;
18246         attrs.Description = LocalizedText("A flag indicating whether the server is currently generating audit events.");
18247         attrs.DisplayName = LocalizedText("Auditing");
18248         attrs.Type = ObjectId::Boolean;
18249         attrs.Rank = -1;
18250         attrs.MinimumSamplingInterval = 1000;
18251         node.Attributes = attrs;
18252         registry.AddNodes(std::vector<AddNodesItem>{node});
18253         }
18254        
18255         {
18256         AddNodesItem node;
18257         node.RequestedNewNodeId = ToNodeId("i=2268");
18258         node.BrowseName = ToQualifiedName("ServerCapabilities");
18259         node.Class = NodeClass::Object;
18260         node.ParentNodeId = ToNodeId("i=2253");
18261         node.ReferenceTypeId = ReferenceId::HasComponent;
18262         node.TypeDefinition = ToNodeId("i=2013");
18263         ObjectAttributes attrs;
18264         attrs.Description = LocalizedText("Describes capabilities supported by the server.");
18265         attrs.DisplayName = LocalizedText("ServerCapabilities");
18266         attrs.EventNotifier = 0;
18267         node.Attributes = attrs;
18268         registry.AddNodes(std::vector<AddNodesItem>{node});
18269         std::vector<AddReferencesItem> refs;
18270         {
18271         AddReferencesItem ref;
18272         ref.IsForward = true;
18273         ref.ReferenceTypeId = ReferenceId::HasProperty;
18274         ref.SourceNodeId = ToNodeId("i=2268");
18275         ref.TargetNodeClass = NodeClass::DataType;
18276         ref.TargetNodeId = ToNodeId("i=2269");
18277         refs.push_back(ref);
18278         }
18279         {
18280         AddReferencesItem ref;
18281         ref.IsForward = true;
18282         ref.ReferenceTypeId = ReferenceId::HasProperty;
18283         ref.SourceNodeId = ToNodeId("i=2268");
18284         ref.TargetNodeClass = NodeClass::DataType;
18285         ref.TargetNodeId = ToNodeId("i=2271");
18286         refs.push_back(ref);
18287         }
18288         {
18289         AddReferencesItem ref;
18290         ref.IsForward = true;
18291         ref.ReferenceTypeId = ReferenceId::HasProperty;
18292         ref.SourceNodeId = ToNodeId("i=2268");
18293         ref.TargetNodeClass = NodeClass::DataType;
18294         ref.TargetNodeId = ToNodeId("i=2272");
18295         refs.push_back(ref);
18296         }
18297         {
18298         AddReferencesItem ref;
18299         ref.IsForward = true;
18300         ref.ReferenceTypeId = ReferenceId::HasProperty;
18301         ref.SourceNodeId = ToNodeId("i=2268");
18302         ref.TargetNodeClass = NodeClass::DataType;
18303         ref.TargetNodeId = ToNodeId("i=2735");
18304         refs.push_back(ref);
18305         }
18306         {
18307         AddReferencesItem ref;
18308         ref.IsForward = true;
18309         ref.ReferenceTypeId = ReferenceId::HasProperty;
18310         ref.SourceNodeId = ToNodeId("i=2268");
18311         ref.TargetNodeClass = NodeClass::DataType;
18312         ref.TargetNodeId = ToNodeId("i=2736");
18313         refs.push_back(ref);
18314         }
18315         {
18316         AddReferencesItem ref;
18317         ref.IsForward = true;
18318         ref.ReferenceTypeId = ReferenceId::HasProperty;
18319         ref.SourceNodeId = ToNodeId("i=2268");
18320         ref.TargetNodeClass = NodeClass::DataType;
18321         ref.TargetNodeId = ToNodeId("i=2737");
18322         refs.push_back(ref);
18323         }
18324         {
18325         AddReferencesItem ref;
18326         ref.IsForward = true;
18327         ref.ReferenceTypeId = ReferenceId::HasProperty;
18328         ref.SourceNodeId = ToNodeId("i=2268");
18329         ref.TargetNodeClass = NodeClass::DataType;
18330         ref.TargetNodeId = ToNodeId("i=3704");
18331         refs.push_back(ref);
18332         }
18333         {
18334         AddReferencesItem ref;
18335         ref.IsForward = true;
18336         ref.ReferenceTypeId = ReferenceId::HasProperty;
18337         ref.SourceNodeId = ToNodeId("i=2268");
18338         ref.TargetNodeClass = NodeClass::DataType;
18339         ref.TargetNodeId = ToNodeId("i=11702");
18340         refs.push_back(ref);
18341         }
18342         {
18343         AddReferencesItem ref;
18344         ref.IsForward = true;
18345         ref.ReferenceTypeId = ReferenceId::HasProperty;
18346         ref.SourceNodeId = ToNodeId("i=2268");
18347         ref.TargetNodeClass = NodeClass::DataType;
18348         ref.TargetNodeId = ToNodeId("i=11703");
18349         refs.push_back(ref);
18350         }
18351         {
18352         AddReferencesItem ref;
18353         ref.IsForward = true;
18354         ref.ReferenceTypeId = ReferenceId::HasComponent;
18355         ref.SourceNodeId = ToNodeId("i=2268");
18356         ref.TargetNodeClass = NodeClass::DataType;
18357         ref.TargetNodeId = ToNodeId("i=11704");
18358         refs.push_back(ref);
18359         }
18360         {
18361         AddReferencesItem ref;
18362         ref.IsForward = true;
18363         ref.ReferenceTypeId = ReferenceId::HasComponent;
18364         ref.SourceNodeId = ToNodeId("i=2268");
18365         ref.TargetNodeClass = NodeClass::DataType;
18366         ref.TargetNodeId = ToNodeId("i=2996");
18367         refs.push_back(ref);
18368         }
18369         {
18370         AddReferencesItem ref;
18371         ref.IsForward = true;
18372         ref.ReferenceTypeId = ReferenceId::HasComponent;
18373         ref.SourceNodeId = ToNodeId("i=2268");
18374         ref.TargetNodeClass = NodeClass::DataType;
18375         ref.TargetNodeId = ToNodeId("i=2997");
18376         refs.push_back(ref);
18377         }
18378         registry.AddReferences(refs);
18379         }
18380        
18381         {
18382         AddNodesItem node;
18383         node.RequestedNewNodeId = ToNodeId("i=2269");
18384         node.BrowseName = ToQualifiedName("ServerProfileArray");
18385         node.Class = NodeClass::Variable;
18386         node.ParentNodeId = ToNodeId("i=2268");
18387         node.ReferenceTypeId = ReferenceId::HasProperty;
18388         node.TypeDefinition = ToNodeId("i=68");
18389         VariableAttributes attrs;
18390         attrs.Description = LocalizedText("A list of profiles supported by the server.");
18391         attrs.DisplayName = LocalizedText("ServerProfileArray");
18392         attrs.Type = ObjectId::String;
18393         attrs.Rank = 1;
18394         node.Attributes = attrs;
18395         registry.AddNodes(std::vector<AddNodesItem>{node});
18396         }
18397        
18398         {
18399         AddNodesItem node;
18400         node.RequestedNewNodeId = ToNodeId("i=2271");
18401         node.BrowseName = ToQualifiedName("LocaleIdArray");
18402         node.Class = NodeClass::Variable;
18403         node.ParentNodeId = ToNodeId("i=2268");
18404         node.ReferenceTypeId = ReferenceId::HasProperty;
18405         node.TypeDefinition = ToNodeId("i=68");
18406         VariableAttributes attrs;
18407         attrs.Description = LocalizedText("A list of locales supported by the server.");
18408         attrs.DisplayName = LocalizedText("LocaleIdArray");
18409         attrs.Type = ToNodeId("i=295");
18410         attrs.Rank = 1;
18411         node.Attributes = attrs;
18412         registry.AddNodes(std::vector<AddNodesItem>{node});
18413         }
18414        
18415         {
18416         AddNodesItem node;
18417         node.RequestedNewNodeId = ToNodeId("i=2272");
18418         node.BrowseName = ToQualifiedName("MinSupportedSampleRate");
18419         node.Class = NodeClass::Variable;
18420         node.ParentNodeId = ToNodeId("i=2268");
18421         node.ReferenceTypeId = ReferenceId::HasProperty;
18422         node.TypeDefinition = ToNodeId("i=68");
18423         VariableAttributes attrs;
18424         attrs.Description = LocalizedText("The minimum sampling interval supported by the server.");
18425         attrs.DisplayName = LocalizedText("MinSupportedSampleRate");
18426         attrs.Type = ToNodeId("i=290");
18427         attrs.Rank = -1;
18428         node.Attributes = attrs;
18429         registry.AddNodes(std::vector<AddNodesItem>{node});
18430         }
18431        
18432         {
18433         AddNodesItem node;
18434         node.RequestedNewNodeId = ToNodeId("i=2735");
18435         node.BrowseName = ToQualifiedName("MaxBrowseContinuationPoints");
18436         node.Class = NodeClass::Variable;
18437         node.ParentNodeId = ToNodeId("i=2268");
18438         node.ReferenceTypeId = ReferenceId::HasProperty;
18439         node.TypeDefinition = ToNodeId("i=68");
18440         VariableAttributes attrs;
18441         attrs.Description = LocalizedText("The maximum number of continuation points for Browse operations per session.");
18442         attrs.DisplayName = LocalizedText("MaxBrowseContinuationPoints");
18443         attrs.Type = ObjectId::UInt16;
18444         attrs.Rank = -1;
18445         node.Attributes = attrs;
18446         registry.AddNodes(std::vector<AddNodesItem>{node});
18447         }
18448        
18449         {
18450         AddNodesItem node;
18451         node.RequestedNewNodeId = ToNodeId("i=2736");
18452         node.BrowseName = ToQualifiedName("MaxQueryContinuationPoints");
18453         node.Class = NodeClass::Variable;
18454         node.ParentNodeId = ToNodeId("i=2268");
18455         node.ReferenceTypeId = ReferenceId::HasProperty;
18456         node.TypeDefinition = ToNodeId("i=68");
18457         VariableAttributes attrs;
18458         attrs.Description = LocalizedText("The maximum number of continuation points for Query operations per session.");
18459         attrs.DisplayName = LocalizedText("MaxQueryContinuationPoints");
18460         attrs.Type = ObjectId::UInt16;
18461         attrs.Rank = -1;
18462         node.Attributes = attrs;
18463         registry.AddNodes(std::vector<AddNodesItem>{node});
18464         }
18465        
18466         {
18467         AddNodesItem node;
18468         node.RequestedNewNodeId = ToNodeId("i=2737");
18469         node.BrowseName = ToQualifiedName("MaxHistoryContinuationPoints");
18470         node.Class = NodeClass::Variable;
18471         node.ParentNodeId = ToNodeId("i=2268");
18472         node.ReferenceTypeId = ReferenceId::HasProperty;
18473         node.TypeDefinition = ToNodeId("i=68");
18474         VariableAttributes attrs;
18475         attrs.Description = LocalizedText("The maximum number of continuation points for ReadHistory operations per session.");
18476         attrs.DisplayName = LocalizedText("MaxHistoryContinuationPoints");
18477         attrs.Type = ObjectId::UInt16;
18478         attrs.Rank = -1;
18479         node.Attributes = attrs;
18480         registry.AddNodes(std::vector<AddNodesItem>{node});
18481         }
18482        
18483         {
18484         AddNodesItem node;
18485         node.RequestedNewNodeId = ToNodeId("i=3704");
18486         node.BrowseName = ToQualifiedName("SoftwareCertificates");
18487         node.Class = NodeClass::Variable;
18488         node.ParentNodeId = ToNodeId("i=2268");
18489         node.ReferenceTypeId = ReferenceId::HasProperty;
18490         node.TypeDefinition = ToNodeId("i=68");
18491         VariableAttributes attrs;
18492         attrs.Description = LocalizedText("The software certificates owned by the server.");
18493         attrs.DisplayName = LocalizedText("SoftwareCertificates");
18494         attrs.Type = ToNodeId("i=344");
18495         attrs.Rank = 1;
18496         node.Attributes = attrs;
18497         registry.AddNodes(std::vector<AddNodesItem>{node});
18498         }
18499        
18500         {
18501         AddNodesItem node;
18502         node.RequestedNewNodeId = ToNodeId("i=11702");
18503         node.BrowseName = ToQualifiedName("MaxArrayLength");
18504         node.Class = NodeClass::Variable;
18505         node.ParentNodeId = ToNodeId("i=2268");
18506         node.ReferenceTypeId = ReferenceId::HasProperty;
18507         node.TypeDefinition = ToNodeId("i=68");
18508         VariableAttributes attrs;
18509         attrs.Description = LocalizedText("The maximum length for an array value supported by the server.");
18510         attrs.DisplayName = LocalizedText("MaxArrayLength");
18511         attrs.Type = ObjectId::UInt32;
18512         attrs.Rank = -1;
18513         node.Attributes = attrs;
18514         registry.AddNodes(std::vector<AddNodesItem>{node});
18515         }
18516        
18517         {
18518         AddNodesItem node;
18519         node.RequestedNewNodeId = ToNodeId("i=11703");
18520         node.BrowseName = ToQualifiedName("MaxStringLength");
18521         node.Class = NodeClass::Variable;
18522         node.ParentNodeId = ToNodeId("i=2268");
18523         node.ReferenceTypeId = ReferenceId::HasProperty;
18524         node.TypeDefinition = ToNodeId("i=68");
18525         VariableAttributes attrs;
18526         attrs.Description = LocalizedText("The maximum length for a string value supported by the server.");
18527         attrs.DisplayName = LocalizedText("MaxStringLength");
18528         attrs.Type = ObjectId::UInt32;
18529         attrs.Rank = -1;
18530         node.Attributes = attrs;
18531         registry.AddNodes(std::vector<AddNodesItem>{node});
18532         }
18533        
18534         {
18535         AddNodesItem node;
18536         node.RequestedNewNodeId = ToNodeId("i=11704");
18537         node.BrowseName = ToQualifiedName("OperationLimits");
18538         node.Class = NodeClass::Object;
18539         node.ParentNodeId = ToNodeId("i=2268");
18540         node.ReferenceTypeId = ReferenceId::HasComponent;
18541         node.TypeDefinition = ToNodeId("i=11564");
18542         ObjectAttributes attrs;
18543         attrs.Description = LocalizedText("Defines the limits supported by the server for different operations.");
18544         attrs.DisplayName = LocalizedText("OperationLimits");
18545         attrs.EventNotifier = 0;
18546         node.Attributes = attrs;
18547         registry.AddNodes(std::vector<AddNodesItem>{node});
18548         std::vector<AddReferencesItem> refs;
18549         {
18550         AddReferencesItem ref;
18551         ref.IsForward = true;
18552         ref.ReferenceTypeId = ReferenceId::HasProperty;
18553         ref.SourceNodeId = ToNodeId("i=11704");
18554         ref.TargetNodeClass = NodeClass::DataType;
18555         ref.TargetNodeId = ToNodeId("i=11705");
18556         refs.push_back(ref);
18557         }
18558         {
18559         AddReferencesItem ref;
18560         ref.IsForward = true;
18561         ref.ReferenceTypeId = ReferenceId::HasProperty;
18562         ref.SourceNodeId = ToNodeId("i=11704");
18563         ref.TargetNodeClass = NodeClass::DataType;
18564         ref.TargetNodeId = ToNodeId("i=12165");
18565         refs.push_back(ref);
18566         }
18567         {
18568         AddReferencesItem ref;
18569         ref.IsForward = true;
18570         ref.ReferenceTypeId = ReferenceId::HasProperty;
18571         ref.SourceNodeId = ToNodeId("i=11704");
18572         ref.TargetNodeClass = NodeClass::DataType;
18573         ref.TargetNodeId = ToNodeId("i=12166");
18574         refs.push_back(ref);
18575         }
18576         {
18577         AddReferencesItem ref;
18578         ref.IsForward = true;
18579         ref.ReferenceTypeId = ReferenceId::HasProperty;
18580         ref.SourceNodeId = ToNodeId("i=11704");
18581         ref.TargetNodeClass = NodeClass::DataType;
18582         ref.TargetNodeId = ToNodeId("i=11707");
18583         refs.push_back(ref);
18584         }
18585         {
18586         AddReferencesItem ref;
18587         ref.IsForward = true;
18588         ref.ReferenceTypeId = ReferenceId::HasProperty;
18589         ref.SourceNodeId = ToNodeId("i=11704");
18590         ref.TargetNodeClass = NodeClass::DataType;
18591         ref.TargetNodeId = ToNodeId("i=12167");
18592         refs.push_back(ref);
18593         }
18594         {
18595         AddReferencesItem ref;
18596         ref.IsForward = true;
18597         ref.ReferenceTypeId = ReferenceId::HasProperty;
18598         ref.SourceNodeId = ToNodeId("i=11704");
18599         ref.TargetNodeClass = NodeClass::DataType;
18600         ref.TargetNodeId = ToNodeId("i=12168");
18601         refs.push_back(ref);
18602         }
18603         {
18604         AddReferencesItem ref;
18605         ref.IsForward = true;
18606         ref.ReferenceTypeId = ReferenceId::HasProperty;
18607         ref.SourceNodeId = ToNodeId("i=11704");
18608         ref.TargetNodeClass = NodeClass::DataType;
18609         ref.TargetNodeId = ToNodeId("i=11709");
18610         refs.push_back(ref);
18611         }
18612         {
18613         AddReferencesItem ref;
18614         ref.IsForward = true;
18615         ref.ReferenceTypeId = ReferenceId::HasProperty;
18616         ref.SourceNodeId = ToNodeId("i=11704");
18617         ref.TargetNodeClass = NodeClass::DataType;
18618         ref.TargetNodeId = ToNodeId("i=11710");
18619         refs.push_back(ref);
18620         }
18621         {
18622         AddReferencesItem ref;
18623         ref.IsForward = true;
18624         ref.ReferenceTypeId = ReferenceId::HasProperty;
18625         ref.SourceNodeId = ToNodeId("i=11704");
18626         ref.TargetNodeClass = NodeClass::DataType;
18627         ref.TargetNodeId = ToNodeId("i=11711");
18628         refs.push_back(ref);
18629         }
18630         {
18631         AddReferencesItem ref;
18632         ref.IsForward = true;
18633         ref.ReferenceTypeId = ReferenceId::HasProperty;
18634         ref.SourceNodeId = ToNodeId("i=11704");
18635         ref.TargetNodeClass = NodeClass::DataType;
18636         ref.TargetNodeId = ToNodeId("i=11712");
18637         refs.push_back(ref);
18638         }
18639         {
18640         AddReferencesItem ref;
18641         ref.IsForward = true;
18642         ref.ReferenceTypeId = ReferenceId::HasProperty;
18643         ref.SourceNodeId = ToNodeId("i=11704");
18644         ref.TargetNodeClass = NodeClass::DataType;
18645         ref.TargetNodeId = ToNodeId("i=11713");
18646         refs.push_back(ref);
18647         }
18648         {
18649         AddReferencesItem ref;
18650         ref.IsForward = true;
18651         ref.ReferenceTypeId = ReferenceId::HasProperty;
18652         ref.SourceNodeId = ToNodeId("i=11704");
18653         ref.TargetNodeClass = NodeClass::DataType;
18654         ref.TargetNodeId = ToNodeId("i=11714");
18655         refs.push_back(ref);
18656         }
18657         registry.AddReferences(refs);
18658         }
18659        
18660         {
18661         AddNodesItem node;
18662         node.RequestedNewNodeId = ToNodeId("i=11705");
18663         node.BrowseName = ToQualifiedName("MaxNodesPerRead");
18664         node.Class = NodeClass::Variable;
18665         node.ParentNodeId = ToNodeId("i=11704");
18666         node.ReferenceTypeId = ReferenceId::HasProperty;
18667         node.TypeDefinition = ToNodeId("i=68");
18668         VariableAttributes attrs;
18669         attrs.Description = LocalizedText("The maximum number of operations in a single Read request.");
18670         attrs.DisplayName = LocalizedText("MaxNodesPerRead");
18671         attrs.Type = ObjectId::UInt32;
18672         attrs.Rank = -1;
18673         node.Attributes = attrs;
18674         registry.AddNodes(std::vector<AddNodesItem>{node});
18675         }
18676        
18677         {
18678         AddNodesItem node;
18679         node.RequestedNewNodeId = ToNodeId("i=12165");
18680         node.BrowseName = ToQualifiedName("MaxNodesPerHistoryReadData");
18681         node.Class = NodeClass::Variable;
18682         node.ParentNodeId = ToNodeId("i=11704");
18683         node.ReferenceTypeId = ReferenceId::HasProperty;
18684         node.TypeDefinition = ToNodeId("i=68");
18685         VariableAttributes attrs;
18686         attrs.Description = LocalizedText("The maximum number of operations in a single data HistoryRead request.");
18687         attrs.DisplayName = LocalizedText("MaxNodesPerHistoryReadData");
18688         attrs.Type = ObjectId::UInt32;
18689         attrs.Rank = -1;
18690         node.Attributes = attrs;
18691         registry.AddNodes(std::vector<AddNodesItem>{node});
18692         }
18693        
18694         {
18695         AddNodesItem node;
18696         node.RequestedNewNodeId = ToNodeId("i=12166");
18697         node.BrowseName = ToQualifiedName("MaxNodesPerHistoryReadEvents");
18698         node.Class = NodeClass::Variable;
18699         node.ParentNodeId = ToNodeId("i=11704");
18700         node.ReferenceTypeId = ReferenceId::HasProperty;
18701         node.TypeDefinition = ToNodeId("i=68");
18702         VariableAttributes attrs;
18703         attrs.Description = LocalizedText("The maximum number of operations in a single event HistoryRead request.");
18704         attrs.DisplayName = LocalizedText("MaxNodesPerHistoryReadEvents");
18705         attrs.Type = ObjectId::UInt32;
18706         attrs.Rank = -1;
18707         node.Attributes = attrs;
18708         registry.AddNodes(std::vector<AddNodesItem>{node});
18709         }
18710        
18711         {
18712         AddNodesItem node;
18713         node.RequestedNewNodeId = ToNodeId("i=11707");
18714         node.BrowseName = ToQualifiedName("MaxNodesPerWrite");
18715         node.Class = NodeClass::Variable;
18716         node.ParentNodeId = ToNodeId("i=11704");
18717         node.ReferenceTypeId = ReferenceId::HasProperty;
18718         node.TypeDefinition = ToNodeId("i=68");
18719         VariableAttributes attrs;
18720         attrs.Description = LocalizedText("The maximum number of operations in a single Write request.");
18721         attrs.DisplayName = LocalizedText("MaxNodesPerWrite");
18722         attrs.Type = ObjectId::UInt32;
18723         attrs.Rank = -1;
18724         node.Attributes = attrs;
18725         registry.AddNodes(std::vector<AddNodesItem>{node});
18726         }
18727        
18728         {
18729         AddNodesItem node;
18730         node.RequestedNewNodeId = ToNodeId("i=12167");
18731         node.BrowseName = ToQualifiedName("MaxNodesPerHistoryUpdateData");
18732         node.Class = NodeClass::Variable;
18733         node.ParentNodeId = ToNodeId("i=11704");
18734         node.ReferenceTypeId = ReferenceId::HasProperty;
18735         node.TypeDefinition = ToNodeId("i=68");
18736         VariableAttributes attrs;
18737         attrs.Description = LocalizedText("The maximum number of operations in a single data HistoryUpdate request.");
18738         attrs.DisplayName = LocalizedText("MaxNodesPerHistoryUpdateData");
18739         attrs.Type = ObjectId::UInt32;
18740         attrs.Rank = -1;
18741         node.Attributes = attrs;
18742         registry.AddNodes(std::vector<AddNodesItem>{node});
18743         }
18744        
18745         {
18746         AddNodesItem node;
18747         node.RequestedNewNodeId = ToNodeId("i=12168");
18748         node.BrowseName = ToQualifiedName("MaxNodesPerHistoryUpdateEvents");
18749         node.Class = NodeClass::Variable;
18750         node.ParentNodeId = ToNodeId("i=11704");
18751         node.ReferenceTypeId = ReferenceId::HasProperty;
18752         node.TypeDefinition = ToNodeId("i=68");
18753         VariableAttributes attrs;
18754         attrs.Description = LocalizedText("The maximum number of operations in a single event HistoryUpdate request.");
18755         attrs.DisplayName = LocalizedText("MaxNodesPerHistoryUpdateEvents");
18756         attrs.Type = ObjectId::UInt32;
18757         attrs.Rank = -1;
18758         node.Attributes = attrs;
18759         registry.AddNodes(std::vector<AddNodesItem>{node});
18760         }
18761        
18762         {
18763         AddNodesItem node;
18764         node.RequestedNewNodeId = ToNodeId("i=11709");
18765         node.BrowseName = ToQualifiedName("MaxNodesPerMethodCall");
18766         node.Class = NodeClass::Variable;
18767         node.ParentNodeId = ToNodeId("i=11704");
18768         node.ReferenceTypeId = ReferenceId::HasProperty;
18769         node.TypeDefinition = ToNodeId("i=68");
18770         VariableAttributes attrs;
18771         attrs.Description = LocalizedText("The maximum number of operations in a single Call request.");
18772         attrs.DisplayName = LocalizedText("MaxNodesPerMethodCall");
18773         attrs.Type = ObjectId::UInt32;
18774         attrs.Rank = -1;
18775         node.Attributes = attrs;
18776         registry.AddNodes(std::vector<AddNodesItem>{node});
18777         }
18778        
18779         {
18780         AddNodesItem node;
18781         node.RequestedNewNodeId = ToNodeId("i=11710");
18782         node.BrowseName = ToQualifiedName("MaxNodesPerBrowse");
18783         node.Class = NodeClass::Variable;
18784         node.ParentNodeId = ToNodeId("i=11704");
18785         node.ReferenceTypeId = ReferenceId::HasProperty;
18786         node.TypeDefinition = ToNodeId("i=68");
18787         VariableAttributes attrs;
18788         attrs.Description = LocalizedText("The maximum number of operations in a single Browse request.");
18789         attrs.DisplayName = LocalizedText("MaxNodesPerBrowse");
18790         attrs.Type = ObjectId::UInt32;
18791         attrs.Rank = -1;
18792         node.Attributes = attrs;
18793         registry.AddNodes(std::vector<AddNodesItem>{node});
18794         }
18795        
18796         {
18797         AddNodesItem node;
18798         node.RequestedNewNodeId = ToNodeId("i=11711");
18799         node.BrowseName = ToQualifiedName("MaxNodesPerRegisterNodes");
18800         node.Class = NodeClass::Variable;
18801         node.ParentNodeId = ToNodeId("i=11704");
18802         node.ReferenceTypeId = ReferenceId::HasProperty;
18803         node.TypeDefinition = ToNodeId("i=68");
18804         VariableAttributes attrs;
18805         attrs.Description = LocalizedText("The maximum number of operations in a single RegisterNodes request.");
18806         attrs.DisplayName = LocalizedText("MaxNodesPerRegisterNodes");
18807         attrs.Type = ObjectId::UInt32;
18808         attrs.Rank = -1;
18809         node.Attributes = attrs;
18810         registry.AddNodes(std::vector<AddNodesItem>{node});
18811         }
18812        
18813         {
18814         AddNodesItem node;
18815         node.RequestedNewNodeId = ToNodeId("i=11712");
18816         node.BrowseName = ToQualifiedName("MaxNodesPerTranslateBrowsePathsToNodeIds");
18817         node.Class = NodeClass::Variable;
18818         node.ParentNodeId = ToNodeId("i=11704");
18819         node.ReferenceTypeId = ReferenceId::HasProperty;
18820         node.TypeDefinition = ToNodeId("i=68");
18821         VariableAttributes attrs;
18822         attrs.Description = LocalizedText("The maximum number of operations in a single TranslateBrowsePathsToNodeIds request.");
18823         attrs.DisplayName = LocalizedText("MaxNodesPerTranslateBrowsePathsToNodeIds");
18824         attrs.Type = ObjectId::UInt32;
18825         attrs.Rank = -1;
18826         node.Attributes = attrs;
18827         registry.AddNodes(std::vector<AddNodesItem>{node});
18828         }
18829        
18830         {
18831         AddNodesItem node;
18832         node.RequestedNewNodeId = ToNodeId("i=11713");
18833         node.BrowseName = ToQualifiedName("MaxNodesPerNodeManagement");
18834         node.Class = NodeClass::Variable;
18835         node.ParentNodeId = ToNodeId("i=11704");
18836         node.ReferenceTypeId = ReferenceId::HasProperty;
18837         node.TypeDefinition = ToNodeId("i=68");
18838         VariableAttributes attrs;
18839         attrs.Description = LocalizedText("The maximum number of operations in a single AddNodes, AddReferences, DeleteNodes or DeleteReferences request.");
18840         attrs.DisplayName = LocalizedText("MaxNodesPerNodeManagement");
18841         attrs.Type = ObjectId::UInt32;
18842         attrs.Rank = -1;
18843         node.Attributes = attrs;
18844         registry.AddNodes(std::vector<AddNodesItem>{node});
18845         }
18846        
18847         {
18848         AddNodesItem node;
18849         node.RequestedNewNodeId = ToNodeId("i=11714");
18850         node.BrowseName = ToQualifiedName("MaxMonitoredItemsPerCall");
18851         node.Class = NodeClass::Variable;
18852         node.ParentNodeId = ToNodeId("i=11704");
18853         node.ReferenceTypeId = ReferenceId::HasProperty;
18854         node.TypeDefinition = ToNodeId("i=68");
18855         VariableAttributes attrs;
18856         attrs.Description = LocalizedText("The maximum number of operations in a single MonitoredItem related request.");
18857         attrs.DisplayName = LocalizedText("MaxMonitoredItemsPerCall");
18858         attrs.Type = ObjectId::UInt32;
18859         attrs.Rank = -1;
18860         node.Attributes = attrs;
18861         registry.AddNodes(std::vector<AddNodesItem>{node});
18862         }
18863        
18864         {
18865         AddNodesItem node;
18866         node.RequestedNewNodeId = ToNodeId("i=2996");
18867         node.BrowseName = ToQualifiedName("ModellingRules");
18868         node.Class = NodeClass::Object;
18869         node.ParentNodeId = ToNodeId("i=2268");
18870         node.ReferenceTypeId = ReferenceId::HasComponent;
18871         node.TypeDefinition = ToNodeId("i=61");
18872         ObjectAttributes attrs;
18873         attrs.Description = LocalizedText("A folder for the modelling rules supported by the server.");
18874         attrs.DisplayName = LocalizedText("ModellingRules");
18875         attrs.EventNotifier = 0;
18876         node.Attributes = attrs;
18877         registry.AddNodes(std::vector<AddNodesItem>{node});
18878         }
18879        
18880         {
18881         AddNodesItem node;
18882         node.RequestedNewNodeId = ToNodeId("i=2997");
18883         node.BrowseName = ToQualifiedName("AggregateFunctions");
18884         node.Class = NodeClass::Object;
18885         node.ParentNodeId = ToNodeId("i=2268");
18886         node.ReferenceTypeId = ReferenceId::HasComponent;
18887         node.TypeDefinition = ToNodeId("i=61");
18888         ObjectAttributes attrs;
18889         attrs.Description = LocalizedText("A folder for the real time aggregates supported by the server.");
18890         attrs.DisplayName = LocalizedText("AggregateFunctions");
18891         attrs.EventNotifier = 0;
18892         node.Attributes = attrs;
18893         registry.AddNodes(std::vector<AddNodesItem>{node});
18894         }
18895        
18896         {
18897         AddNodesItem node;
18898         node.RequestedNewNodeId = ToNodeId("i=2274");
18899         node.BrowseName = ToQualifiedName("ServerDiagnostics");
18900         node.Class = NodeClass::Object;
18901         node.ParentNodeId = ToNodeId("i=2253");
18902         node.ReferenceTypeId = ReferenceId::HasComponent;
18903         node.TypeDefinition = ToNodeId("i=2020");
18904         ObjectAttributes attrs;
18905         attrs.Description = LocalizedText("Reports diagnostics about the server.");
18906         attrs.DisplayName = LocalizedText("ServerDiagnostics");
18907         attrs.EventNotifier = 0;
18908         node.Attributes = attrs;
18909         registry.AddNodes(std::vector<AddNodesItem>{node});
18910         std::vector<AddReferencesItem> refs;
18911         {
18912         AddReferencesItem ref;
18913         ref.IsForward = true;
18914         ref.ReferenceTypeId = ReferenceId::HasComponent;
18915         ref.SourceNodeId = ToNodeId("i=2274");
18916         ref.TargetNodeClass = NodeClass::DataType;
18917         ref.TargetNodeId = ToNodeId("i=2275");
18918         refs.push_back(ref);
18919         }
18920         {
18921         AddReferencesItem ref;
18922         ref.IsForward = true;
18923         ref.ReferenceTypeId = ReferenceId::HasComponent;
18924         ref.SourceNodeId = ToNodeId("i=2274");
18925         ref.TargetNodeClass = NodeClass::DataType;
18926         ref.TargetNodeId = ToNodeId("i=2289");
18927         refs.push_back(ref);
18928         }
18929         {
18930         AddReferencesItem ref;
18931         ref.IsForward = true;
18932         ref.ReferenceTypeId = ReferenceId::HasComponent;
18933         ref.SourceNodeId = ToNodeId("i=2274");
18934         ref.TargetNodeClass = NodeClass::DataType;
18935         ref.TargetNodeId = ToNodeId("i=2290");
18936         refs.push_back(ref);
18937         }
18938         {
18939         AddReferencesItem ref;
18940         ref.IsForward = true;
18941         ref.ReferenceTypeId = ReferenceId::HasComponent;
18942         ref.SourceNodeId = ToNodeId("i=2274");
18943         ref.TargetNodeClass = NodeClass::DataType;
18944         ref.TargetNodeId = ToNodeId("i=3706");
18945         refs.push_back(ref);
18946         }
18947         {
18948         AddReferencesItem ref;
18949         ref.IsForward = true;
18950         ref.ReferenceTypeId = ReferenceId::HasProperty;
18951         ref.SourceNodeId = ToNodeId("i=2274");
18952         ref.TargetNodeClass = NodeClass::DataType;
18953         ref.TargetNodeId = ToNodeId("i=2294");
18954         refs.push_back(ref);
18955         }
18956         registry.AddReferences(refs);
18957         }
18958        
18959         {
18960         AddNodesItem node;
18961         node.RequestedNewNodeId = ToNodeId("i=2275");
18962         node.BrowseName = ToQualifiedName("ServerDiagnosticsSummary");
18963         node.Class = NodeClass::Variable;
18964         node.ParentNodeId = ToNodeId("i=2274");
18965         node.ReferenceTypeId = ReferenceId::HasComponent;
18966         node.TypeDefinition = ToNodeId("i=2150");
18967         VariableAttributes attrs;
18968         attrs.Description = LocalizedText("A summary of server level diagnostics.");
18969         attrs.DisplayName = LocalizedText("ServerDiagnosticsSummary");
18970         attrs.Type = ToNodeId("i=859");
18971         attrs.Rank = -1;
18972         node.Attributes = attrs;
18973         registry.AddNodes(std::vector<AddNodesItem>{node});
18974         std::vector<AddReferencesItem> refs;
18975         {
18976         AddReferencesItem ref;
18977         ref.IsForward = true;
18978         ref.ReferenceTypeId = ReferenceId::HasComponent;
18979         ref.SourceNodeId = ToNodeId("i=2275");
18980         ref.TargetNodeClass = NodeClass::DataType;
18981         ref.TargetNodeId = ToNodeId("i=2276");
18982         refs.push_back(ref);
18983         }
18984         {
18985         AddReferencesItem ref;
18986         ref.IsForward = true;
18987         ref.ReferenceTypeId = ReferenceId::HasComponent;
18988         ref.SourceNodeId = ToNodeId("i=2275");
18989         ref.TargetNodeClass = NodeClass::DataType;
18990         ref.TargetNodeId = ToNodeId("i=2277");
18991         refs.push_back(ref);
18992         }
18993         {
18994         AddReferencesItem ref;
18995         ref.IsForward = true;
18996         ref.ReferenceTypeId = ReferenceId::HasComponent;
18997         ref.SourceNodeId = ToNodeId("i=2275");
18998         ref.TargetNodeClass = NodeClass::DataType;
18999         ref.TargetNodeId = ToNodeId("i=2278");
19000         refs.push_back(ref);
19001         }
19002         {
19003         AddReferencesItem ref;
19004         ref.IsForward = true;
19005         ref.ReferenceTypeId = ReferenceId::HasComponent;
19006         ref.SourceNodeId = ToNodeId("i=2275");
19007         ref.TargetNodeClass = NodeClass::DataType;
19008         ref.TargetNodeId = ToNodeId("i=2279");
19009         refs.push_back(ref);
19010         }
19011         {
19012         AddReferencesItem ref;
19013         ref.IsForward = true;
19014         ref.ReferenceTypeId = ReferenceId::HasComponent;
19015         ref.SourceNodeId = ToNodeId("i=2275");
19016         ref.TargetNodeClass = NodeClass::DataType;
19017         ref.TargetNodeId = ToNodeId("i=3705");
19018         refs.push_back(ref);
19019         }
19020         {
19021         AddReferencesItem ref;
19022         ref.IsForward = true;
19023         ref.ReferenceTypeId = ReferenceId::HasComponent;
19024         ref.SourceNodeId = ToNodeId("i=2275");
19025         ref.TargetNodeClass = NodeClass::DataType;
19026         ref.TargetNodeId = ToNodeId("i=2281");
19027         refs.push_back(ref);
19028         }
19029         {
19030         AddReferencesItem ref;
19031         ref.IsForward = true;
19032         ref.ReferenceTypeId = ReferenceId::HasComponent;
19033         ref.SourceNodeId = ToNodeId("i=2275");
19034         ref.TargetNodeClass = NodeClass::DataType;
19035         ref.TargetNodeId = ToNodeId("i=2282");
19036         refs.push_back(ref);
19037         }
19038         {
19039         AddReferencesItem ref;
19040         ref.IsForward = true;
19041         ref.ReferenceTypeId = ReferenceId::HasComponent;
19042         ref.SourceNodeId = ToNodeId("i=2275");
19043         ref.TargetNodeClass = NodeClass::DataType;
19044         ref.TargetNodeId = ToNodeId("i=2284");
19045         refs.push_back(ref);
19046         }
19047         {
19048         AddReferencesItem ref;
19049         ref.IsForward = true;
19050         ref.ReferenceTypeId = ReferenceId::HasComponent;
19051         ref.SourceNodeId = ToNodeId("i=2275");
19052         ref.TargetNodeClass = NodeClass::DataType;
19053         ref.TargetNodeId = ToNodeId("i=2285");
19054         refs.push_back(ref);
19055         }
19056         {
19057         AddReferencesItem ref;
19058         ref.IsForward = true;
19059         ref.ReferenceTypeId = ReferenceId::HasComponent;
19060         ref.SourceNodeId = ToNodeId("i=2275");
19061         ref.TargetNodeClass = NodeClass::DataType;
19062         ref.TargetNodeId = ToNodeId("i=2286");
19063         refs.push_back(ref);
19064         }
19065         {
19066         AddReferencesItem ref;
19067         ref.IsForward = true;
19068         ref.ReferenceTypeId = ReferenceId::HasComponent;
19069         ref.SourceNodeId = ToNodeId("i=2275");
19070         ref.TargetNodeClass = NodeClass::DataType;
19071         ref.TargetNodeId = ToNodeId("i=2287");
19072         refs.push_back(ref);
19073         }
19074         {
19075         AddReferencesItem ref;
19076         ref.IsForward = true;
19077         ref.ReferenceTypeId = ReferenceId::HasComponent;
19078         ref.SourceNodeId = ToNodeId("i=2275");
19079         ref.TargetNodeClass = NodeClass::DataType;
19080         ref.TargetNodeId = ToNodeId("i=2288");
19081         refs.push_back(ref);
19082         }
19083         registry.AddReferences(refs);
19084         }
19085        
19086         {
19087         AddNodesItem node;
19088         node.RequestedNewNodeId = ToNodeId("i=2276");
19089         node.BrowseName = ToQualifiedName("ServerViewCount");
19090         node.Class = NodeClass::Variable;
19091         node.ParentNodeId = ToNodeId("i=2275");
19092         node.ReferenceTypeId = ReferenceId::HasComponent;
19093         node.TypeDefinition = ToNodeId("i=63");
19094         VariableAttributes attrs;
19095         attrs.DisplayName = LocalizedText("ServerViewCount");
19096         attrs.Type = ObjectId::UInt32;
19097         attrs.Rank = -1;
19098         node.Attributes = attrs;
19099         registry.AddNodes(std::vector<AddNodesItem>{node});
19100         }
19101        
19102         {
19103         AddNodesItem node;
19104         node.RequestedNewNodeId = ToNodeId("i=2277");
19105         node.BrowseName = ToQualifiedName("CurrentSessionCount");
19106         node.Class = NodeClass::Variable;
19107         node.ParentNodeId = ToNodeId("i=2275");
19108         node.ReferenceTypeId = ReferenceId::HasComponent;
19109         node.TypeDefinition = ToNodeId("i=63");
19110         VariableAttributes attrs;
19111         attrs.DisplayName = LocalizedText("CurrentSessionCount");
19112         attrs.Type = ObjectId::UInt32;
19113         attrs.Rank = -1;
19114         node.Attributes = attrs;
19115         registry.AddNodes(std::vector<AddNodesItem>{node});
19116         }
19117        
19118         {
19119         AddNodesItem node;
19120         node.RequestedNewNodeId = ToNodeId("i=2278");
19121         node.BrowseName = ToQualifiedName("CumulatedSessionCount");
19122         node.Class = NodeClass::Variable;
19123         node.ParentNodeId = ToNodeId("i=2275");
19124         node.ReferenceTypeId = ReferenceId::HasComponent;
19125         node.TypeDefinition = ToNodeId("i=63");
19126         VariableAttributes attrs;
19127         attrs.DisplayName = LocalizedText("CumulatedSessionCount");
19128         attrs.Type = ObjectId::UInt32;
19129         attrs.Rank = -1;
19130         node.Attributes = attrs;
19131         registry.AddNodes(std::vector<AddNodesItem>{node});
19132         }
19133        
19134         {
19135         AddNodesItem node;
19136         node.RequestedNewNodeId = ToNodeId("i=2279");
19137         node.BrowseName = ToQualifiedName("SecurityRejectedSessionCount");
19138         node.Class = NodeClass::Variable;
19139         node.ParentNodeId = ToNodeId("i=2275");
19140         node.ReferenceTypeId = ReferenceId::HasComponent;
19141         node.TypeDefinition = ToNodeId("i=63");
19142         VariableAttributes attrs;
19143         attrs.DisplayName = LocalizedText("SecurityRejectedSessionCount");
19144         attrs.Type = ObjectId::UInt32;
19145         attrs.Rank = -1;
19146         node.Attributes = attrs;
19147         registry.AddNodes(std::vector<AddNodesItem>{node});
19148         }
19149        
19150         {
19151         AddNodesItem node;
19152         node.RequestedNewNodeId = ToNodeId("i=3705");
19153         node.BrowseName = ToQualifiedName("RejectedSessionCount");
19154         node.Class = NodeClass::Variable;
19155         node.ParentNodeId = ToNodeId("i=2275");
19156         node.ReferenceTypeId = ReferenceId::HasComponent;
19157         node.TypeDefinition = ToNodeId("i=63");
19158         VariableAttributes attrs;
19159         attrs.DisplayName = LocalizedText("RejectedSessionCount");
19160         attrs.Type = ObjectId::UInt32;
19161         attrs.Rank = -1;
19162         node.Attributes = attrs;
19163         registry.AddNodes(std::vector<AddNodesItem>{node});
19164         }
19165        
19166         {
19167         AddNodesItem node;
19168         node.RequestedNewNodeId = ToNodeId("i=2281");
19169         node.BrowseName = ToQualifiedName("SessionTimeoutCount");
19170         node.Class = NodeClass::Variable;
19171         node.ParentNodeId = ToNodeId("i=2275");
19172         node.ReferenceTypeId = ReferenceId::HasComponent;
19173         node.TypeDefinition = ToNodeId("i=63");
19174         VariableAttributes attrs;
19175         attrs.DisplayName = LocalizedText("SessionTimeoutCount");
19176         attrs.Type = ObjectId::UInt32;
19177         attrs.Rank = -1;
19178         node.Attributes = attrs;
19179         registry.AddNodes(std::vector<AddNodesItem>{node});
19180         }
19181        
19182         {
19183         AddNodesItem node;
19184         node.RequestedNewNodeId = ToNodeId("i=2282");
19185         node.BrowseName = ToQualifiedName("SessionAbortCount");
19186         node.Class = NodeClass::Variable;
19187         node.ParentNodeId = ToNodeId("i=2275");
19188         node.ReferenceTypeId = ReferenceId::HasComponent;
19189         node.TypeDefinition = ToNodeId("i=63");
19190         VariableAttributes attrs;
19191         attrs.DisplayName = LocalizedText("SessionAbortCount");
19192         attrs.Type = ObjectId::UInt32;
19193         attrs.Rank = -1;
19194         node.Attributes = attrs;
19195         registry.AddNodes(std::vector<AddNodesItem>{node});
19196         }
19197        
19198         {
19199         AddNodesItem node;
19200         node.RequestedNewNodeId = ToNodeId("i=2284");
19201         node.BrowseName = ToQualifiedName("PublishingIntervalCount");
19202         node.Class = NodeClass::Variable;
19203         node.ParentNodeId = ToNodeId("i=2275");
19204         node.ReferenceTypeId = ReferenceId::HasComponent;
19205         node.TypeDefinition = ToNodeId("i=63");
19206         VariableAttributes attrs;
19207         attrs.DisplayName = LocalizedText("PublishingIntervalCount");
19208         attrs.Type = ObjectId::UInt32;
19209         attrs.Rank = -1;
19210         node.Attributes = attrs;
19211         registry.AddNodes(std::vector<AddNodesItem>{node});
19212         }
19213        
19214         {
19215         AddNodesItem node;
19216         node.RequestedNewNodeId = ToNodeId("i=2285");
19217         node.BrowseName = ToQualifiedName("CurrentSubscriptionCount");
19218         node.Class = NodeClass::Variable;
19219         node.ParentNodeId = ToNodeId("i=2275");
19220         node.ReferenceTypeId = ReferenceId::HasComponent;
19221         node.TypeDefinition = ToNodeId("i=63");
19222         VariableAttributes attrs;
19223         attrs.DisplayName = LocalizedText("CurrentSubscriptionCount");
19224         attrs.Type = ObjectId::UInt32;
19225         attrs.Rank = -1;
19226         node.Attributes = attrs;
19227         registry.AddNodes(std::vector<AddNodesItem>{node});
19228         }
19229        
19230         {
19231         AddNodesItem node;
19232         node.RequestedNewNodeId = ToNodeId("i=2286");
19233         node.BrowseName = ToQualifiedName("CumulatedSubscriptionCount");
19234         node.Class = NodeClass::Variable;
19235         node.ParentNodeId = ToNodeId("i=2275");
19236         node.ReferenceTypeId = ReferenceId::HasComponent;
19237         node.TypeDefinition = ToNodeId("i=63");
19238         VariableAttributes attrs;
19239         attrs.DisplayName = LocalizedText("CumulatedSubscriptionCount");
19240         attrs.Type = ObjectId::UInt32;
19241         attrs.Rank = -1;
19242         node.Attributes = attrs;
19243         registry.AddNodes(std::vector<AddNodesItem>{node});
19244         }
19245        
19246         {
19247         AddNodesItem node;
19248         node.RequestedNewNodeId = ToNodeId("i=2287");
19249         node.BrowseName = ToQualifiedName("SecurityRejectedRequestsCount");
19250         node.Class = NodeClass::Variable;
19251         node.ParentNodeId = ToNodeId("i=2275");
19252         node.ReferenceTypeId = ReferenceId::HasComponent;
19253         node.TypeDefinition = ToNodeId("i=63");
19254         VariableAttributes attrs;
19255         attrs.DisplayName = LocalizedText("SecurityRejectedRequestsCount");
19256         attrs.Type = ObjectId::UInt32;
19257         attrs.Rank = -1;
19258         node.Attributes = attrs;
19259         registry.AddNodes(std::vector<AddNodesItem>{node});
19260         }
19261        
19262         {
19263         AddNodesItem node;
19264         node.RequestedNewNodeId = ToNodeId("i=2288");
19265         node.BrowseName = ToQualifiedName("RejectedRequestsCount");
19266         node.Class = NodeClass::Variable;
19267         node.ParentNodeId = ToNodeId("i=2275");
19268         node.ReferenceTypeId = ReferenceId::HasComponent;
19269         node.TypeDefinition = ToNodeId("i=63");
19270         VariableAttributes attrs;
19271         attrs.DisplayName = LocalizedText("RejectedRequestsCount");
19272         attrs.Type = ObjectId::UInt32;
19273         attrs.Rank = -1;
19274         node.Attributes = attrs;
19275         registry.AddNodes(std::vector<AddNodesItem>{node});
19276         }
19277        
19278         {
19279         AddNodesItem node;
19280         node.RequestedNewNodeId = ToNodeId("i=2289");
19281         node.BrowseName = ToQualifiedName("SamplingIntervalDiagnosticsArray");
19282         node.Class = NodeClass::Variable;
19283         node.ParentNodeId = ToNodeId("i=2274");
19284         node.ReferenceTypeId = ReferenceId::HasComponent;
19285         node.TypeDefinition = ToNodeId("i=2164");
19286         VariableAttributes attrs;
19287         attrs.Description = LocalizedText("A list of diagnostics for each sampling interval supported by the server.");
19288         attrs.DisplayName = LocalizedText("SamplingIntervalDiagnosticsArray");
19289         attrs.Type = ToNodeId("i=856");
19290         attrs.Rank = 1;
19291         node.Attributes = attrs;
19292         registry.AddNodes(std::vector<AddNodesItem>{node});
19293         }
19294        
19295         {
19296         AddNodesItem node;
19297         node.RequestedNewNodeId = ToNodeId("i=2290");
19298         node.BrowseName = ToQualifiedName("SubscriptionDiagnosticsArray");
19299         node.Class = NodeClass::Variable;
19300         node.ParentNodeId = ToNodeId("i=2274");
19301         node.ReferenceTypeId = ReferenceId::HasComponent;
19302         node.TypeDefinition = ToNodeId("i=2171");
19303         VariableAttributes attrs;
19304         attrs.Description = LocalizedText("A list of diagnostics for each active subscription.");
19305         attrs.DisplayName = LocalizedText("SubscriptionDiagnosticsArray");
19306         attrs.Type = ToNodeId("i=874");
19307         attrs.Rank = 1;
19308         node.Attributes = attrs;
19309         registry.AddNodes(std::vector<AddNodesItem>{node});
19310         }
19311        
19312         {
19313         AddNodesItem node;
19314         node.RequestedNewNodeId = ToNodeId("i=3706");
19315         node.BrowseName = ToQualifiedName("SessionsDiagnosticsSummary");
19316         node.Class = NodeClass::Object;
19317         node.ParentNodeId = ToNodeId("i=2274");
19318         node.ReferenceTypeId = ReferenceId::HasComponent;
19319         node.TypeDefinition = ToNodeId("i=2026");
19320         ObjectAttributes attrs;
19321         attrs.Description = LocalizedText("A summary of session level diagnostics.");
19322         attrs.DisplayName = LocalizedText("SessionsDiagnosticsSummary");
19323         attrs.EventNotifier = 0;
19324         node.Attributes = attrs;
19325         registry.AddNodes(std::vector<AddNodesItem>{node});
19326         std::vector<AddReferencesItem> refs;
19327         {
19328         AddReferencesItem ref;
19329         ref.IsForward = true;
19330         ref.ReferenceTypeId = ReferenceId::HasComponent;
19331         ref.SourceNodeId = ToNodeId("i=3706");
19332         ref.TargetNodeClass = NodeClass::DataType;
19333         ref.TargetNodeId = ToNodeId("i=3707");
19334         refs.push_back(ref);
19335         }
19336         {
19337         AddReferencesItem ref;
19338         ref.IsForward = true;
19339         ref.ReferenceTypeId = ReferenceId::HasComponent;
19340         ref.SourceNodeId = ToNodeId("i=3706");
19341         ref.TargetNodeClass = NodeClass::DataType;
19342         ref.TargetNodeId = ToNodeId("i=3708");
19343         refs.push_back(ref);
19344         }
19345         registry.AddReferences(refs);
19346         }
19347        
19348         {
19349         AddNodesItem node;
19350         node.RequestedNewNodeId = ToNodeId("i=3707");
19351         node.BrowseName = ToQualifiedName("SessionDiagnosticsArray");
19352         node.Class = NodeClass::Variable;
19353         node.ParentNodeId = ToNodeId("i=3706");
19354         node.ReferenceTypeId = ReferenceId::HasComponent;
19355         node.TypeDefinition = ToNodeId("i=2196");
19356         VariableAttributes attrs;
19357         attrs.Description = LocalizedText("A list of diagnostics for each active session.");
19358         attrs.DisplayName = LocalizedText("SessionDiagnosticsArray");
19359         attrs.Type = ToNodeId("i=865");
19360         attrs.Rank = 1;
19361         node.Attributes = attrs;
19362         registry.AddNodes(std::vector<AddNodesItem>{node});
19363         }
19364        
19365         {
19366         AddNodesItem node;
19367         node.RequestedNewNodeId = ToNodeId("i=3708");
19368         node.BrowseName = ToQualifiedName("SessionSecurityDiagnosticsArray");
19369         node.Class = NodeClass::Variable;
19370         node.ParentNodeId = ToNodeId("i=3706");
19371         node.ReferenceTypeId = ReferenceId::HasComponent;
19372         node.TypeDefinition = ToNodeId("i=2243");
19373         VariableAttributes attrs;
19374         attrs.Description = LocalizedText("A list of security related diagnostics for each active session.");
19375         attrs.DisplayName = LocalizedText("SessionSecurityDiagnosticsArray");
19376         attrs.Type = ToNodeId("i=868");
19377         attrs.Rank = 1;
19378         node.Attributes = attrs;
19379         registry.AddNodes(std::vector<AddNodesItem>{node});
19380         }
19381        
19382         {
19383         AddNodesItem node;
19384         node.RequestedNewNodeId = ToNodeId("i=2294");
19385         node.BrowseName = ToQualifiedName("EnabledFlag");
19386         node.Class = NodeClass::Variable;
19387         node.ParentNodeId = ToNodeId("i=2274");
19388         node.ReferenceTypeId = ReferenceId::HasProperty;
19389         node.TypeDefinition = ToNodeId("i=68");
19390         VariableAttributes attrs;
19391         attrs.Description = LocalizedText("If TRUE the diagnostics collection is enabled.");
19392         attrs.DisplayName = LocalizedText("EnabledFlag");
19393         attrs.Type = ObjectId::Boolean;
19394         attrs.Rank = -1;
19395         attrs.AccessLevel = (VariableAccessLevel) 3;
19396         attrs.UserAccessLevel = (VariableAccessLevel) 3;
19397         node.Attributes = attrs;
19398         registry.AddNodes(std::vector<AddNodesItem>{node});
19399         }
19400        
19401         {
19402         AddNodesItem node;
19403         node.RequestedNewNodeId = ToNodeId("i=2295");
19404         node.BrowseName = ToQualifiedName("VendorServerInfo");
19405         node.Class = NodeClass::Object;
19406         node.ParentNodeId = ToNodeId("i=2253");
19407         node.ReferenceTypeId = ReferenceId::HasComponent;
19408         node.TypeDefinition = ToNodeId("i=2033");
19409         ObjectAttributes attrs;
19410         attrs.Description = LocalizedText("Server information provided by the vendor.");
19411         attrs.DisplayName = LocalizedText("VendorServerInfo");
19412         attrs.EventNotifier = 0;
19413         node.Attributes = attrs;
19414         registry.AddNodes(std::vector<AddNodesItem>{node});
19415         }
19416        
19417         {
19418         AddNodesItem node;
19419         node.RequestedNewNodeId = ToNodeId("i=2296");
19420         node.BrowseName = ToQualifiedName("ServerRedundancy");
19421         node.Class = NodeClass::Object;
19422         node.ParentNodeId = ToNodeId("i=2253");
19423         node.ReferenceTypeId = ReferenceId::HasComponent;
19424         node.TypeDefinition = ToNodeId("i=2034");
19425         ObjectAttributes attrs;
19426         attrs.Description = LocalizedText("Describes the redundancy capabilities of the server.");
19427         attrs.DisplayName = LocalizedText("ServerRedundancy");
19428         attrs.EventNotifier = 0;
19429         node.Attributes = attrs;
19430         registry.AddNodes(std::vector<AddNodesItem>{node});
19431         std::vector<AddReferencesItem> refs;
19432         {
19433         AddReferencesItem ref;
19434         ref.IsForward = true;
19435         ref.ReferenceTypeId = ReferenceId::HasProperty;
19436         ref.SourceNodeId = ToNodeId("i=2296");
19437         ref.TargetNodeClass = NodeClass::DataType;
19438         ref.TargetNodeId = ToNodeId("i=3709");
19439         refs.push_back(ref);
19440         }
19441         {
19442         AddReferencesItem ref;
19443         ref.IsForward = true;
19444         ref.ReferenceTypeId = ReferenceId::HasProperty;
19445         ref.SourceNodeId = ToNodeId("i=2296");
19446         ref.TargetNodeClass = NodeClass::DataType;
19447         ref.TargetNodeId = ToNodeId("i=11312");
19448         refs.push_back(ref);
19449         }
19450         {
19451         AddReferencesItem ref;
19452         ref.IsForward = true;
19453         ref.ReferenceTypeId = ReferenceId::HasProperty;
19454         ref.SourceNodeId = ToNodeId("i=2296");
19455         ref.TargetNodeClass = NodeClass::DataType;
19456         ref.TargetNodeId = ToNodeId("i=11313");
19457         refs.push_back(ref);
19458         }
19459         {
19460         AddReferencesItem ref;
19461         ref.IsForward = true;
19462         ref.ReferenceTypeId = ReferenceId::HasProperty;
19463         ref.SourceNodeId = ToNodeId("i=2296");
19464         ref.TargetNodeClass = NodeClass::DataType;
19465         ref.TargetNodeId = ToNodeId("i=11314");
19466         refs.push_back(ref);
19467         }
19468         registry.AddReferences(refs);
19469         }
19470        
19471         {
19472         AddNodesItem node;
19473         node.RequestedNewNodeId = ToNodeId("i=3709");
19474         node.BrowseName = ToQualifiedName("RedundancySupport");
19475         node.Class = NodeClass::Variable;
19476         node.ParentNodeId = ToNodeId("i=2296");
19477         node.ReferenceTypeId = ReferenceId::HasProperty;
19478         node.TypeDefinition = ToNodeId("i=68");
19479         VariableAttributes attrs;
19480         attrs.Description = LocalizedText("Indicates what style of redundancy is supported by the server.");
19481         attrs.DisplayName = LocalizedText("RedundancySupport");
19482         attrs.Type = ToNodeId("i=851");
19483         attrs.Rank = -1;
19484         node.Attributes = attrs;
19485         registry.AddNodes(std::vector<AddNodesItem>{node});
19486         }
19487        
19488         {
19489         AddNodesItem node;
19490         node.RequestedNewNodeId = ToNodeId("i=11312");
19491         node.BrowseName = ToQualifiedName("CurrentServerId");
19492         node.Class = NodeClass::Variable;
19493         node.ParentNodeId = ToNodeId("i=2296");
19494         node.ReferenceTypeId = ReferenceId::HasProperty;
19495         node.TypeDefinition = ToNodeId("i=68");
19496         VariableAttributes attrs;
19497         attrs.DisplayName = LocalizedText("CurrentServerId");
19498         attrs.Type = ObjectId::String;
19499         attrs.Rank = -1;
19500         node.Attributes = attrs;
19501         registry.AddNodes(std::vector<AddNodesItem>{node});
19502         }
19503        
19504         {
19505         AddNodesItem node;
19506         node.RequestedNewNodeId = ToNodeId("i=11313");
19507         node.BrowseName = ToQualifiedName("RedundantServerArray");
19508         node.Class = NodeClass::Variable;
19509         node.ParentNodeId = ToNodeId("i=2296");
19510         node.ReferenceTypeId = ReferenceId::HasProperty;
19511         node.TypeDefinition = ToNodeId("i=68");
19512         VariableAttributes attrs;
19513         attrs.DisplayName = LocalizedText("RedundantServerArray");
19514         attrs.Type = ToNodeId("i=853");
19515         attrs.Rank = 1;
19516         node.Attributes = attrs;
19517         registry.AddNodes(std::vector<AddNodesItem>{node});
19518         }
19519        
19520         {
19521         AddNodesItem node;
19522         node.RequestedNewNodeId = ToNodeId("i=11314");
19523         node.BrowseName = ToQualifiedName("ServerUriArray");
19524         node.Class = NodeClass::Variable;
19525         node.ParentNodeId = ToNodeId("i=2296");
19526         node.ReferenceTypeId = ReferenceId::HasProperty;
19527         node.TypeDefinition = ToNodeId("i=68");
19528         VariableAttributes attrs;
19529         attrs.DisplayName = LocalizedText("ServerUriArray");
19530         attrs.Type = ObjectId::String;
19531         attrs.Rank = 1;
19532         node.Attributes = attrs;
19533         registry.AddNodes(std::vector<AddNodesItem>{node});
19534         }
19535        
19536         {
19537         AddNodesItem node;
19538         node.RequestedNewNodeId = ToNodeId("i=11715");
19539         node.BrowseName = ToQualifiedName("Namespaces");
19540         node.Class = NodeClass::Object;
19541         node.ParentNodeId = ToNodeId("i=2253");
19542         node.ReferenceTypeId = ReferenceId::HasComponent;
19543         node.TypeDefinition = ToNodeId("i=11645");
19544         ObjectAttributes attrs;
19545         attrs.Description = LocalizedText("Describes the namespaces supported by the server.");
19546         attrs.DisplayName = LocalizedText("Namespaces");
19547         attrs.EventNotifier = 0;
19548         node.Attributes = attrs;
19549         registry.AddNodes(std::vector<AddNodesItem>{node});
19550         }
19551        
19552         {
19553         AddNodesItem node;
19554         node.RequestedNewNodeId = ToNodeId("i=11493");
19555         node.BrowseName = ToQualifiedName("InputArguments");
19556         node.Class = NodeClass::Variable;
19557         node.ParentNodeId = ToNodeId("i=11492");
19558         node.ReferenceTypeId = ReferenceId::HasProperty;
19559         node.TypeDefinition = ToNodeId("i=68");
19560         VariableAttributes attrs;
19561         attrs.DisplayName = LocalizedText("InputArguments");
19562         attrs.Type = ToNodeId("i=296");
19563         attrs.Rank = 1;
19564         node.Attributes = attrs;
19565         registry.AddNodes(std::vector<AddNodesItem>{node});
19566         }
19567        
19568         {
19569         AddNodesItem node;
19570         node.RequestedNewNodeId = ToNodeId("i=11494");
19571         node.BrowseName = ToQualifiedName("OutputArguments");
19572         node.Class = NodeClass::Variable;
19573         node.ParentNodeId = ToNodeId("i=11492");
19574         node.ReferenceTypeId = ReferenceId::HasProperty;
19575         node.TypeDefinition = ToNodeId("i=68");
19576         VariableAttributes attrs;
19577         attrs.DisplayName = LocalizedText("OutputArguments");
19578         attrs.Type = ToNodeId("i=296");
19579         attrs.Rank = 1;
19580         node.Attributes = attrs;
19581         registry.AddNodes(std::vector<AddNodesItem>{node});
19582         }
19583        
19584         {
19585         AddNodesItem node;
19586         node.RequestedNewNodeId = ToNodeId("i=11737");
19587         node.BrowseName = ToQualifiedName("BitFieldMaskDataType");
19588         node.Class = NodeClass::DataType;
19589         node.ParentNodeId = ToNodeId("i=9");
19590         node.ReferenceTypeId = ReferenceId::HasSubtype;
19591         DataTypeAttributes attrs;
19592         attrs.Description = LocalizedText("A mask of 32 bits that can be updated individually by using the top 32 bits as a mask.");
19593         attrs.DisplayName = LocalizedText("BitFieldMaskDataType");
19594         attrs.IsAbstract = false;
19595         node.Attributes = attrs;
19596         registry.AddNodes(std::vector<AddNodesItem>{node});
19597         }
19598        
19599         {
19600         AddNodesItem node;
19601         node.RequestedNewNodeId = ToNodeId("i=2299");
19602         node.BrowseName = ToQualifiedName("StateMachineType");
19603         node.Class = NodeClass::ObjectType;
19604         node.ParentNodeId = ToNodeId("i=58");
19605         node.ReferenceTypeId = ReferenceId::HasSubtype;
19606         ObjectTypeAttributes attrs;
19607         attrs.DisplayName = LocalizedText("StateMachineType");
19608         attrs.IsAbstract = false;
19609         node.Attributes = attrs;
19610         registry.AddNodes(std::vector<AddNodesItem>{node});
19611         std::vector<AddReferencesItem> refs;
19612         {
19613         AddReferencesItem ref;
19614         ref.IsForward = true;
19615         ref.ReferenceTypeId = ReferenceId::HasComponent;
19616         ref.SourceNodeId = ToNodeId("i=2299");
19617         ref.TargetNodeClass = NodeClass::DataType;
19618         ref.TargetNodeId = ToNodeId("i=2769");
19619         refs.push_back(ref);
19620         }
19621         {
19622         AddReferencesItem ref;
19623         ref.IsForward = true;
19624         ref.ReferenceTypeId = ReferenceId::HasComponent;
19625         ref.SourceNodeId = ToNodeId("i=2299");
19626         ref.TargetNodeClass = NodeClass::DataType;
19627         ref.TargetNodeId = ToNodeId("i=2770");
19628         refs.push_back(ref);
19629         }
19630         registry.AddReferences(refs);
19631         }
19632        
19633         {
19634         AddNodesItem node;
19635         node.RequestedNewNodeId = ToNodeId("i=2769");
19636         node.BrowseName = ToQualifiedName("CurrentState");
19637         node.Class = NodeClass::Variable;
19638         node.ParentNodeId = ToNodeId("i=2299");
19639         node.ReferenceTypeId = ReferenceId::HasComponent;
19640         node.TypeDefinition = ToNodeId("i=2755");
19641         VariableAttributes attrs;
19642         attrs.DisplayName = LocalizedText("CurrentState");
19643         attrs.Type = ObjectId::LocalizedText;
19644         attrs.Rank = -1;
19645         node.Attributes = attrs;
19646         registry.AddNodes(std::vector<AddNodesItem>{node});
19647         std::vector<AddReferencesItem> refs;
19648         {
19649         AddReferencesItem ref;
19650         ref.IsForward = true;
19651         ref.ReferenceTypeId = ReferenceId::HasProperty;
19652         ref.SourceNodeId = ToNodeId("i=2769");
19653         ref.TargetNodeClass = NodeClass::DataType;
19654         ref.TargetNodeId = ToNodeId("i=3720");
19655         refs.push_back(ref);
19656         }
19657         {
19658         AddReferencesItem ref;
19659         ref.IsForward = true;
19660         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
19661         ref.SourceNodeId = ToNodeId("i=2769");
19662         ref.TargetNodeClass = NodeClass::DataType;
19663         ref.TargetNodeId = ToNodeId("i=78");
19664         refs.push_back(ref);
19665         }
19666         registry.AddReferences(refs);
19667         }
19668        
19669         {
19670         AddNodesItem node;
19671         node.RequestedNewNodeId = ToNodeId("i=3720");
19672         node.BrowseName = ToQualifiedName("Id");
19673         node.Class = NodeClass::Variable;
19674         node.ParentNodeId = ToNodeId("i=2769");
19675         node.ReferenceTypeId = ReferenceId::HasProperty;
19676         node.TypeDefinition = ToNodeId("i=68");
19677         VariableAttributes attrs;
19678         attrs.DisplayName = LocalizedText("Id");
19679         attrs.Type = ObjectId::String;
19680         attrs.Rank = -1;
19681         node.Attributes = attrs;
19682         registry.AddNodes(std::vector<AddNodesItem>{node});
19683         std::vector<AddReferencesItem> refs;
19684         {
19685         AddReferencesItem ref;
19686         ref.IsForward = true;
19687         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
19688         ref.SourceNodeId = ToNodeId("i=3720");
19689         ref.TargetNodeClass = NodeClass::DataType;
19690         ref.TargetNodeId = ToNodeId("i=78");
19691         refs.push_back(ref);
19692         }
19693         registry.AddReferences(refs);
19694         }
19695        
19696         {
19697         AddNodesItem node;
19698         node.RequestedNewNodeId = ToNodeId("i=2770");
19699         node.BrowseName = ToQualifiedName("LastTransition");
19700         node.Class = NodeClass::Variable;
19701         node.ParentNodeId = ToNodeId("i=2299");
19702         node.ReferenceTypeId = ReferenceId::HasComponent;
19703         node.TypeDefinition = ToNodeId("i=2762");
19704         VariableAttributes attrs;
19705         attrs.DisplayName = LocalizedText("LastTransition");
19706         attrs.Type = ObjectId::LocalizedText;
19707         attrs.Rank = -1;
19708         node.Attributes = attrs;
19709         registry.AddNodes(std::vector<AddNodesItem>{node});
19710         std::vector<AddReferencesItem> refs;
19711         {
19712         AddReferencesItem ref;
19713         ref.IsForward = true;
19714         ref.ReferenceTypeId = ReferenceId::HasProperty;
19715         ref.SourceNodeId = ToNodeId("i=2770");
19716         ref.TargetNodeClass = NodeClass::DataType;
19717         ref.TargetNodeId = ToNodeId("i=3724");
19718         refs.push_back(ref);
19719         }
19720         {
19721         AddReferencesItem ref;
19722         ref.IsForward = true;
19723         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
19724         ref.SourceNodeId = ToNodeId("i=2770");
19725         ref.TargetNodeClass = NodeClass::DataType;
19726         ref.TargetNodeId = ToNodeId("i=80");
19727         refs.push_back(ref);
19728         }
19729         registry.AddReferences(refs);
19730         }
19731        
19732         {
19733         AddNodesItem node;
19734         node.RequestedNewNodeId = ToNodeId("i=3724");
19735         node.BrowseName = ToQualifiedName("Id");
19736         node.Class = NodeClass::Variable;
19737         node.ParentNodeId = ToNodeId("i=2770");
19738         node.ReferenceTypeId = ReferenceId::HasProperty;
19739         node.TypeDefinition = ToNodeId("i=68");
19740         VariableAttributes attrs;
19741         attrs.DisplayName = LocalizedText("Id");
19742         attrs.Type = ObjectId::String;
19743         attrs.Rank = -1;
19744         node.Attributes = attrs;
19745         registry.AddNodes(std::vector<AddNodesItem>{node});
19746         std::vector<AddReferencesItem> refs;
19747         {
19748         AddReferencesItem ref;
19749         ref.IsForward = true;
19750         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
19751         ref.SourceNodeId = ToNodeId("i=3724");
19752         ref.TargetNodeClass = NodeClass::DataType;
19753         ref.TargetNodeId = ToNodeId("i=78");
19754         refs.push_back(ref);
19755         }
19756         registry.AddReferences(refs);
19757         }
19758        
19759         {
19760         AddNodesItem node;
19761         node.RequestedNewNodeId = ToNodeId("i=2755");
19762         node.BrowseName = ToQualifiedName("StateVariableType");
19763         node.Class = NodeClass::VariableType;
19764         node.ParentNodeId = ToNodeId("i=63");
19765         node.ReferenceTypeId = ReferenceId::HasSubtype;
19766         VariableTypeAttributes attrs;
19767         attrs.DisplayName = LocalizedText("StateVariableType");
19768         attrs.Type = ObjectId::LocalizedText;
19769         attrs.Rank = -1;
19770         attrs.IsAbstract = false;
19771         node.Attributes = attrs;
19772         registry.AddNodes(std::vector<AddNodesItem>{node});
19773         std::vector<AddReferencesItem> refs;
19774         {
19775         AddReferencesItem ref;
19776         ref.IsForward = true;
19777         ref.ReferenceTypeId = ReferenceId::HasProperty;
19778         ref.SourceNodeId = ToNodeId("i=2755");
19779         ref.TargetNodeClass = NodeClass::DataType;
19780         ref.TargetNodeId = ToNodeId("i=2756");
19781         refs.push_back(ref);
19782         }
19783         {
19784         AddReferencesItem ref;
19785         ref.IsForward = true;
19786         ref.ReferenceTypeId = ReferenceId::HasProperty;
19787         ref.SourceNodeId = ToNodeId("i=2755");
19788         ref.TargetNodeClass = NodeClass::DataType;
19789         ref.TargetNodeId = ToNodeId("i=2757");
19790         refs.push_back(ref);
19791         }
19792         {
19793         AddReferencesItem ref;
19794         ref.IsForward = true;
19795         ref.ReferenceTypeId = ReferenceId::HasProperty;
19796         ref.SourceNodeId = ToNodeId("i=2755");
19797         ref.TargetNodeClass = NodeClass::DataType;
19798         ref.TargetNodeId = ToNodeId("i=2758");
19799         refs.push_back(ref);
19800         }
19801         {
19802         AddReferencesItem ref;
19803         ref.IsForward = true;
19804         ref.ReferenceTypeId = ReferenceId::HasProperty;
19805         ref.SourceNodeId = ToNodeId("i=2755");
19806         ref.TargetNodeClass = NodeClass::DataType;
19807         ref.TargetNodeId = ToNodeId("i=2759");
19808         refs.push_back(ref);
19809         }
19810         registry.AddReferences(refs);
19811         }
19812        
19813         {
19814         AddNodesItem node;
19815         node.RequestedNewNodeId = ToNodeId("i=2756");
19816         node.BrowseName = ToQualifiedName("Id");
19817         node.Class = NodeClass::Variable;
19818         node.ParentNodeId = ToNodeId("i=2755");
19819         node.ReferenceTypeId = ReferenceId::HasProperty;
19820         node.TypeDefinition = ToNodeId("i=68");
19821         VariableAttributes attrs;
19822         attrs.DisplayName = LocalizedText("Id");
19823         attrs.Type = ObjectId::String;
19824         attrs.Rank = -1;
19825         node.Attributes = attrs;
19826         registry.AddNodes(std::vector<AddNodesItem>{node});
19827         std::vector<AddReferencesItem> refs;
19828         {
19829         AddReferencesItem ref;
19830         ref.IsForward = true;
19831         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
19832         ref.SourceNodeId = ToNodeId("i=2756");
19833         ref.TargetNodeClass = NodeClass::DataType;
19834         ref.TargetNodeId = ToNodeId("i=78");
19835         refs.push_back(ref);
19836         }
19837         registry.AddReferences(refs);
19838         }
19839        
19840         {
19841         AddNodesItem node;
19842         node.RequestedNewNodeId = ToNodeId("i=2757");
19843         node.BrowseName = ToQualifiedName("Name");
19844         node.Class = NodeClass::Variable;
19845         node.ParentNodeId = ToNodeId("i=2755");
19846         node.ReferenceTypeId = ReferenceId::HasProperty;
19847         node.TypeDefinition = ToNodeId("i=68");
19848         VariableAttributes attrs;
19849         attrs.DisplayName = LocalizedText("Name");
19850         attrs.Type = ObjectId::QualifiedName;
19851         attrs.Rank = -1;
19852         node.Attributes = attrs;
19853         registry.AddNodes(std::vector<AddNodesItem>{node});
19854         std::vector<AddReferencesItem> refs;
19855         {
19856         AddReferencesItem ref;
19857         ref.IsForward = true;
19858         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
19859         ref.SourceNodeId = ToNodeId("i=2757");
19860         ref.TargetNodeClass = NodeClass::DataType;
19861         ref.TargetNodeId = ToNodeId("i=80");
19862         refs.push_back(ref);
19863         }
19864         registry.AddReferences(refs);
19865         }
19866        
19867         {
19868         AddNodesItem node;
19869         node.RequestedNewNodeId = ToNodeId("i=2758");
19870         node.BrowseName = ToQualifiedName("Number");
19871         node.Class = NodeClass::Variable;
19872         node.ParentNodeId = ToNodeId("i=2755");
19873         node.ReferenceTypeId = ReferenceId::HasProperty;
19874         node.TypeDefinition = ToNodeId("i=68");
19875         VariableAttributes attrs;
19876         attrs.DisplayName = LocalizedText("Number");
19877         attrs.Type = ObjectId::UInt32;
19878         attrs.Rank = -1;
19879         node.Attributes = attrs;
19880         registry.AddNodes(std::vector<AddNodesItem>{node});
19881         std::vector<AddReferencesItem> refs;
19882         {
19883         AddReferencesItem ref;
19884         ref.IsForward = true;
19885         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
19886         ref.SourceNodeId = ToNodeId("i=2758");
19887         ref.TargetNodeClass = NodeClass::DataType;
19888         ref.TargetNodeId = ToNodeId("i=80");
19889         refs.push_back(ref);
19890         }
19891         registry.AddReferences(refs);
19892         }
19893        
19894         {
19895         AddNodesItem node;
19896         node.RequestedNewNodeId = ToNodeId("i=2759");
19897         node.BrowseName = ToQualifiedName("EffectiveDisplayName");
19898         node.Class = NodeClass::Variable;
19899         node.ParentNodeId = ToNodeId("i=2755");
19900         node.ReferenceTypeId = ReferenceId::HasProperty;
19901         node.TypeDefinition = ToNodeId("i=68");
19902         VariableAttributes attrs;
19903         attrs.DisplayName = LocalizedText("EffectiveDisplayName");
19904         attrs.Type = ObjectId::LocalizedText;
19905         attrs.Rank = -1;
19906         node.Attributes = attrs;
19907         registry.AddNodes(std::vector<AddNodesItem>{node});
19908         std::vector<AddReferencesItem> refs;
19909         {
19910         AddReferencesItem ref;
19911         ref.IsForward = true;
19912         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
19913         ref.SourceNodeId = ToNodeId("i=2759");
19914         ref.TargetNodeClass = NodeClass::DataType;
19915         ref.TargetNodeId = ToNodeId("i=80");
19916         refs.push_back(ref);
19917         }
19918         registry.AddReferences(refs);
19919         }
19920        
19921         {
19922         AddNodesItem node;
19923         node.RequestedNewNodeId = ToNodeId("i=2762");
19924         node.BrowseName = ToQualifiedName("TransitionVariableType");
19925         node.Class = NodeClass::VariableType;
19926         node.ParentNodeId = ToNodeId("i=63");
19927         node.ReferenceTypeId = ReferenceId::HasSubtype;
19928         VariableTypeAttributes attrs;
19929         attrs.DisplayName = LocalizedText("TransitionVariableType");
19930         attrs.Type = ObjectId::LocalizedText;
19931         attrs.Rank = -1;
19932         attrs.IsAbstract = false;
19933         node.Attributes = attrs;
19934         registry.AddNodes(std::vector<AddNodesItem>{node});
19935         std::vector<AddReferencesItem> refs;
19936         {
19937         AddReferencesItem ref;
19938         ref.IsForward = true;
19939         ref.ReferenceTypeId = ReferenceId::HasProperty;
19940         ref.SourceNodeId = ToNodeId("i=2762");
19941         ref.TargetNodeClass = NodeClass::DataType;
19942         ref.TargetNodeId = ToNodeId("i=2763");
19943         refs.push_back(ref);
19944         }
19945         {
19946         AddReferencesItem ref;
19947         ref.IsForward = true;
19948         ref.ReferenceTypeId = ReferenceId::HasProperty;
19949         ref.SourceNodeId = ToNodeId("i=2762");
19950         ref.TargetNodeClass = NodeClass::DataType;
19951         ref.TargetNodeId = ToNodeId("i=2764");
19952         refs.push_back(ref);
19953         }
19954         {
19955         AddReferencesItem ref;
19956         ref.IsForward = true;
19957         ref.ReferenceTypeId = ReferenceId::HasProperty;
19958         ref.SourceNodeId = ToNodeId("i=2762");
19959         ref.TargetNodeClass = NodeClass::DataType;
19960         ref.TargetNodeId = ToNodeId("i=2765");
19961         refs.push_back(ref);
19962         }
19963         {
19964         AddReferencesItem ref;
19965         ref.IsForward = true;
19966         ref.ReferenceTypeId = ReferenceId::HasProperty;
19967         ref.SourceNodeId = ToNodeId("i=2762");
19968         ref.TargetNodeClass = NodeClass::DataType;
19969         ref.TargetNodeId = ToNodeId("i=2766");
19970         refs.push_back(ref);
19971         }
19972         {
19973         AddReferencesItem ref;
19974         ref.IsForward = true;
19975         ref.ReferenceTypeId = ReferenceId::HasProperty;
19976         ref.SourceNodeId = ToNodeId("i=2762");
19977         ref.TargetNodeClass = NodeClass::DataType;
19978         ref.TargetNodeId = ToNodeId("i=11456");
19979         refs.push_back(ref);
19980         }
19981         registry.AddReferences(refs);
19982         }
19983        
19984         {
19985         AddNodesItem node;
19986         node.RequestedNewNodeId = ToNodeId("i=2763");
19987         node.BrowseName = ToQualifiedName("Id");
19988         node.Class = NodeClass::Variable;
19989         node.ParentNodeId = ToNodeId("i=2762");
19990         node.ReferenceTypeId = ReferenceId::HasProperty;
19991         node.TypeDefinition = ToNodeId("i=68");
19992         VariableAttributes attrs;
19993         attrs.DisplayName = LocalizedText("Id");
19994         attrs.Type = ObjectId::String;
19995         attrs.Rank = -1;
19996         node.Attributes = attrs;
19997         registry.AddNodes(std::vector<AddNodesItem>{node});
19998         std::vector<AddReferencesItem> refs;
19999         {
20000         AddReferencesItem ref;
20001         ref.IsForward = true;
20002         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
20003         ref.SourceNodeId = ToNodeId("i=2763");
20004         ref.TargetNodeClass = NodeClass::DataType;
20005         ref.TargetNodeId = ToNodeId("i=78");
20006         refs.push_back(ref);
20007         }
20008         registry.AddReferences(refs);
20009         }
20010        
20011         {
20012         AddNodesItem node;
20013         node.RequestedNewNodeId = ToNodeId("i=2764");
20014         node.BrowseName = ToQualifiedName("Name");
20015         node.Class = NodeClass::Variable;
20016         node.ParentNodeId = ToNodeId("i=2762");
20017         node.ReferenceTypeId = ReferenceId::HasProperty;
20018         node.TypeDefinition = ToNodeId("i=68");
20019         VariableAttributes attrs;
20020         attrs.DisplayName = LocalizedText("Name");
20021         attrs.Type = ObjectId::QualifiedName;
20022         attrs.Rank = -1;
20023         node.Attributes = attrs;
20024         registry.AddNodes(std::vector<AddNodesItem>{node});
20025         std::vector<AddReferencesItem> refs;
20026         {
20027         AddReferencesItem ref;
20028         ref.IsForward = true;
20029         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
20030         ref.SourceNodeId = ToNodeId("i=2764");
20031         ref.TargetNodeClass = NodeClass::DataType;
20032         ref.TargetNodeId = ToNodeId("i=80");
20033         refs.push_back(ref);
20034         }
20035         registry.AddReferences(refs);
20036         }
20037        
20038         {
20039         AddNodesItem node;
20040         node.RequestedNewNodeId = ToNodeId("i=2765");
20041         node.BrowseName = ToQualifiedName("Number");
20042         node.Class = NodeClass::Variable;
20043         node.ParentNodeId = ToNodeId("i=2762");
20044         node.ReferenceTypeId = ReferenceId::HasProperty;
20045         node.TypeDefinition = ToNodeId("i=68");
20046         VariableAttributes attrs;
20047         attrs.DisplayName = LocalizedText("Number");
20048         attrs.Type = ObjectId::UInt32;
20049         attrs.Rank = -1;
20050         node.Attributes = attrs;
20051         registry.AddNodes(std::vector<AddNodesItem>{node});
20052         std::vector<AddReferencesItem> refs;
20053         {
20054         AddReferencesItem ref;
20055         ref.IsForward = true;
20056         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
20057         ref.SourceNodeId = ToNodeId("i=2765");
20058         ref.TargetNodeClass = NodeClass::DataType;
20059         ref.TargetNodeId = ToNodeId("i=80");
20060         refs.push_back(ref);
20061         }
20062         registry.AddReferences(refs);
20063         }
20064        
20065         {
20066         AddNodesItem node;
20067         node.RequestedNewNodeId = ToNodeId("i=2766");
20068         node.BrowseName = ToQualifiedName("TransitionTime");
20069         node.Class = NodeClass::Variable;
20070         node.ParentNodeId = ToNodeId("i=2762");
20071         node.ReferenceTypeId = ReferenceId::HasProperty;
20072         node.TypeDefinition = ToNodeId("i=68");
20073         VariableAttributes attrs;
20074         attrs.DisplayName = LocalizedText("TransitionTime");
20075         attrs.Type = ToNodeId("i=294");
20076         attrs.Rank = -1;
20077         node.Attributes = attrs;
20078         registry.AddNodes(std::vector<AddNodesItem>{node});
20079         std::vector<AddReferencesItem> refs;
20080         {
20081         AddReferencesItem ref;
20082         ref.IsForward = true;
20083         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
20084         ref.SourceNodeId = ToNodeId("i=2766");
20085         ref.TargetNodeClass = NodeClass::DataType;
20086         ref.TargetNodeId = ToNodeId("i=80");
20087         refs.push_back(ref);
20088         }
20089         registry.AddReferences(refs);
20090         }
20091        
20092         {
20093         AddNodesItem node;
20094         node.RequestedNewNodeId = ToNodeId("i=11456");
20095         node.BrowseName = ToQualifiedName("EffectiveTransitionTime");
20096         node.Class = NodeClass::Variable;
20097         node.ParentNodeId = ToNodeId("i=2762");
20098         node.ReferenceTypeId = ReferenceId::HasProperty;
20099         node.TypeDefinition = ToNodeId("i=68");
20100         VariableAttributes attrs;
20101         attrs.DisplayName = LocalizedText("EffectiveTransitionTime");
20102         attrs.Type = ToNodeId("i=294");
20103         attrs.Rank = -1;
20104         node.Attributes = attrs;
20105         registry.AddNodes(std::vector<AddNodesItem>{node});
20106         std::vector<AddReferencesItem> refs;
20107         {
20108         AddReferencesItem ref;
20109         ref.IsForward = true;
20110         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
20111         ref.SourceNodeId = ToNodeId("i=11456");
20112         ref.TargetNodeClass = NodeClass::DataType;
20113         ref.TargetNodeId = ToNodeId("i=80");
20114         refs.push_back(ref);
20115         }
20116         registry.AddReferences(refs);
20117         }
20118        
20119         {
20120         AddNodesItem node;
20121         node.RequestedNewNodeId = ToNodeId("i=2771");
20122         node.BrowseName = ToQualifiedName("FiniteStateMachineType");
20123         node.Class = NodeClass::ObjectType;
20124         node.ParentNodeId = ToNodeId("i=2299");
20125         node.ReferenceTypeId = ReferenceId::HasSubtype;
20126         ObjectTypeAttributes attrs;
20127         attrs.DisplayName = LocalizedText("FiniteStateMachineType");
20128         attrs.IsAbstract = false;
20129         node.Attributes = attrs;
20130         registry.AddNodes(std::vector<AddNodesItem>{node});
20131         std::vector<AddReferencesItem> refs;
20132         {
20133         AddReferencesItem ref;
20134         ref.IsForward = true;
20135         ref.ReferenceTypeId = ReferenceId::HasComponent;
20136         ref.SourceNodeId = ToNodeId("i=2771");
20137         ref.TargetNodeClass = NodeClass::DataType;
20138         ref.TargetNodeId = ToNodeId("i=2772");
20139         refs.push_back(ref);
20140         }
20141         {
20142         AddReferencesItem ref;
20143         ref.IsForward = true;
20144         ref.ReferenceTypeId = ReferenceId::HasComponent;
20145         ref.SourceNodeId = ToNodeId("i=2771");
20146         ref.TargetNodeClass = NodeClass::DataType;
20147         ref.TargetNodeId = ToNodeId("i=2773");
20148         refs.push_back(ref);
20149         }
20150         registry.AddReferences(refs);
20151         }
20152        
20153         {
20154         AddNodesItem node;
20155         node.RequestedNewNodeId = ToNodeId("i=2772");
20156         node.BrowseName = ToQualifiedName("CurrentState");
20157         node.Class = NodeClass::Variable;
20158         node.ParentNodeId = ToNodeId("i=2771");
20159         node.ReferenceTypeId = ReferenceId::HasComponent;
20160         node.TypeDefinition = ToNodeId("i=2760");
20161         VariableAttributes attrs;
20162         attrs.DisplayName = LocalizedText("CurrentState");
20163         attrs.Type = ObjectId::LocalizedText;
20164         attrs.Rank = -1;
20165         node.Attributes = attrs;
20166         registry.AddNodes(std::vector<AddNodesItem>{node});
20167         std::vector<AddReferencesItem> refs;
20168         {
20169         AddReferencesItem ref;
20170         ref.IsForward = true;
20171         ref.ReferenceTypeId = ReferenceId::HasProperty;
20172         ref.SourceNodeId = ToNodeId("i=2772");
20173         ref.TargetNodeClass = NodeClass::DataType;
20174         ref.TargetNodeId = ToNodeId("i=3728");
20175         refs.push_back(ref);
20176         }
20177         {
20178         AddReferencesItem ref;
20179         ref.IsForward = true;
20180         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
20181         ref.SourceNodeId = ToNodeId("i=2772");
20182         ref.TargetNodeClass = NodeClass::DataType;
20183         ref.TargetNodeId = ToNodeId("i=78");
20184         refs.push_back(ref);
20185         }
20186         registry.AddReferences(refs);
20187         }
20188        
20189         {
20190         AddNodesItem node;
20191         node.RequestedNewNodeId = ToNodeId("i=3728");
20192         node.BrowseName = ToQualifiedName("Id");
20193         node.Class = NodeClass::Variable;
20194         node.ParentNodeId = ToNodeId("i=2772");
20195         node.ReferenceTypeId = ReferenceId::HasProperty;
20196         node.TypeDefinition = ToNodeId("i=68");
20197         VariableAttributes attrs;
20198         attrs.DisplayName = LocalizedText("Id");
20199         attrs.Type = ObjectId::NodeId;
20200         attrs.Rank = -1;
20201         node.Attributes = attrs;
20202         registry.AddNodes(std::vector<AddNodesItem>{node});
20203         std::vector<AddReferencesItem> refs;
20204         {
20205         AddReferencesItem ref;
20206         ref.IsForward = true;
20207         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
20208         ref.SourceNodeId = ToNodeId("i=3728");
20209         ref.TargetNodeClass = NodeClass::DataType;
20210         ref.TargetNodeId = ToNodeId("i=78");
20211         refs.push_back(ref);
20212         }
20213         registry.AddReferences(refs);
20214         }
20215        
20216         {
20217         AddNodesItem node;
20218         node.RequestedNewNodeId = ToNodeId("i=2773");
20219         node.BrowseName = ToQualifiedName("LastTransition");
20220         node.Class = NodeClass::Variable;
20221         node.ParentNodeId = ToNodeId("i=2771");
20222         node.ReferenceTypeId = ReferenceId::HasComponent;
20223         node.TypeDefinition = ToNodeId("i=2767");
20224         VariableAttributes attrs;
20225         attrs.DisplayName = LocalizedText("LastTransition");
20226         attrs.Type = ObjectId::LocalizedText;
20227         attrs.Rank = -1;
20228         node.Attributes = attrs;
20229         registry.AddNodes(std::vector<AddNodesItem>{node});
20230         std::vector<AddReferencesItem> refs;
20231         {
20232         AddReferencesItem ref;
20233         ref.IsForward = true;
20234         ref.ReferenceTypeId = ReferenceId::HasProperty;
20235         ref.SourceNodeId = ToNodeId("i=2773");
20236         ref.TargetNodeClass = NodeClass::DataType;
20237         ref.TargetNodeId = ToNodeId("i=3732");
20238         refs.push_back(ref);
20239         }
20240         {
20241         AddReferencesItem ref;
20242         ref.IsForward = true;
20243         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
20244         ref.SourceNodeId = ToNodeId("i=2773");
20245         ref.TargetNodeClass = NodeClass::DataType;
20246         ref.TargetNodeId = ToNodeId("i=80");
20247         refs.push_back(ref);
20248         }
20249         registry.AddReferences(refs);
20250         }
20251        
20252         {
20253         AddNodesItem node;
20254         node.RequestedNewNodeId = ToNodeId("i=3732");
20255         node.BrowseName = ToQualifiedName("Id");
20256         node.Class = NodeClass::Variable;
20257         node.ParentNodeId = ToNodeId("i=2773");
20258         node.ReferenceTypeId = ReferenceId::HasProperty;
20259         node.TypeDefinition = ToNodeId("i=68");
20260         VariableAttributes attrs;
20261         attrs.DisplayName = LocalizedText("Id");
20262         attrs.Type = ObjectId::NodeId;
20263         attrs.Rank = -1;
20264         node.Attributes = attrs;
20265         registry.AddNodes(std::vector<AddNodesItem>{node});
20266         std::vector<AddReferencesItem> refs;
20267         {
20268         AddReferencesItem ref;
20269         ref.IsForward = true;
20270         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
20271         ref.SourceNodeId = ToNodeId("i=3732");
20272         ref.TargetNodeClass = NodeClass::DataType;
20273         ref.TargetNodeId = ToNodeId("i=78");
20274         refs.push_back(ref);
20275         }
20276         registry.AddReferences(refs);
20277         }
20278        
20279         {
20280         AddNodesItem node;
20281         node.RequestedNewNodeId = ToNodeId("i=2760");
20282         node.BrowseName = ToQualifiedName("FiniteStateVariableType");
20283         node.Class = NodeClass::VariableType;
20284         node.ParentNodeId = ToNodeId("i=2755");
20285         node.ReferenceTypeId = ReferenceId::HasSubtype;
20286         VariableTypeAttributes attrs;
20287         attrs.DisplayName = LocalizedText("FiniteStateVariableType");
20288         attrs.Type = ObjectId::LocalizedText;
20289         attrs.Rank = -1;
20290         attrs.IsAbstract = false;
20291         node.Attributes = attrs;
20292         registry.AddNodes(std::vector<AddNodesItem>{node});
20293         std::vector<AddReferencesItem> refs;
20294         {
20295         AddReferencesItem ref;
20296         ref.IsForward = true;
20297         ref.ReferenceTypeId = ReferenceId::HasProperty;
20298         ref.SourceNodeId = ToNodeId("i=2760");
20299         ref.TargetNodeClass = NodeClass::DataType;
20300         ref.TargetNodeId = ToNodeId("i=2761");
20301         refs.push_back(ref);
20302         }
20303         registry.AddReferences(refs);
20304         }
20305        
20306         {
20307         AddNodesItem node;
20308         node.RequestedNewNodeId = ToNodeId("i=2761");
20309         node.BrowseName = ToQualifiedName("Id");
20310         node.Class = NodeClass::Variable;
20311         node.ParentNodeId = ToNodeId("i=2760");
20312         node.ReferenceTypeId = ReferenceId::HasProperty;
20313         node.TypeDefinition = ToNodeId("i=68");
20314         VariableAttributes attrs;
20315         attrs.DisplayName = LocalizedText("Id");
20316         attrs.Type = ObjectId::NodeId;
20317         attrs.Rank = -1;
20318         node.Attributes = attrs;
20319         registry.AddNodes(std::vector<AddNodesItem>{node});
20320         std::vector<AddReferencesItem> refs;
20321         {
20322         AddReferencesItem ref;
20323         ref.IsForward = true;
20324         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
20325         ref.SourceNodeId = ToNodeId("i=2761");
20326         ref.TargetNodeClass = NodeClass::DataType;
20327         ref.TargetNodeId = ToNodeId("i=78");
20328         refs.push_back(ref);
20329         }
20330         registry.AddReferences(refs);
20331         }
20332        
20333         {
20334         AddNodesItem node;
20335         node.RequestedNewNodeId = ToNodeId("i=2767");
20336         node.BrowseName = ToQualifiedName("FiniteTransitionVariableType");
20337         node.Class = NodeClass::VariableType;
20338         node.ParentNodeId = ToNodeId("i=2762");
20339         node.ReferenceTypeId = ReferenceId::HasSubtype;
20340         VariableTypeAttributes attrs;
20341         attrs.DisplayName = LocalizedText("FiniteTransitionVariableType");
20342         attrs.Type = ObjectId::LocalizedText;
20343         attrs.Rank = -1;
20344         attrs.IsAbstract = false;
20345         node.Attributes = attrs;
20346         registry.AddNodes(std::vector<AddNodesItem>{node});
20347         std::vector<AddReferencesItem> refs;
20348         {
20349         AddReferencesItem ref;
20350         ref.IsForward = true;
20351         ref.ReferenceTypeId = ReferenceId::HasProperty;
20352         ref.SourceNodeId = ToNodeId("i=2767");
20353         ref.TargetNodeClass = NodeClass::DataType;
20354         ref.TargetNodeId = ToNodeId("i=2768");
20355         refs.push_back(ref);
20356         }
20357         registry.AddReferences(refs);
20358         }
20359        
20360         {
20361         AddNodesItem node;
20362         node.RequestedNewNodeId = ToNodeId("i=2768");
20363         node.BrowseName = ToQualifiedName("Id");
20364         node.Class = NodeClass::Variable;
20365         node.ParentNodeId = ToNodeId("i=2767");
20366         node.ReferenceTypeId = ReferenceId::HasProperty;
20367         node.TypeDefinition = ToNodeId("i=68");
20368         VariableAttributes attrs;
20369         attrs.DisplayName = LocalizedText("Id");
20370         attrs.Type = ObjectId::NodeId;
20371         attrs.Rank = -1;
20372         node.Attributes = attrs;
20373         registry.AddNodes(std::vector<AddNodesItem>{node});
20374         std::vector<AddReferencesItem> refs;
20375         {
20376         AddReferencesItem ref;
20377         ref.IsForward = true;
20378         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
20379         ref.SourceNodeId = ToNodeId("i=2768");
20380         ref.TargetNodeClass = NodeClass::DataType;
20381         ref.TargetNodeId = ToNodeId("i=78");
20382         refs.push_back(ref);
20383         }
20384         registry.AddReferences(refs);
20385         }
20386        
20387         {
20388         AddNodesItem node;
20389         node.RequestedNewNodeId = ToNodeId("i=2307");
20390         node.BrowseName = ToQualifiedName("StateType");
20391         node.Class = NodeClass::ObjectType;
20392         node.ParentNodeId = ToNodeId("i=58");
20393         node.ReferenceTypeId = ReferenceId::HasSubtype;
20394         ObjectTypeAttributes attrs;
20395         attrs.DisplayName = LocalizedText("StateType");
20396         attrs.IsAbstract = false;
20397         node.Attributes = attrs;
20398         registry.AddNodes(std::vector<AddNodesItem>{node});
20399         std::vector<AddReferencesItem> refs;
20400         {
20401         AddReferencesItem ref;
20402         ref.IsForward = true;
20403         ref.ReferenceTypeId = ReferenceId::HasProperty;
20404         ref.SourceNodeId = ToNodeId("i=2307");
20405         ref.TargetNodeClass = NodeClass::DataType;
20406         ref.TargetNodeId = ToNodeId("i=2308");
20407         refs.push_back(ref);
20408         }
20409         registry.AddReferences(refs);
20410         }
20411        
20412         {
20413         AddNodesItem node;
20414         node.RequestedNewNodeId = ToNodeId("i=2308");
20415         node.BrowseName = ToQualifiedName("StateNumber");
20416         node.Class = NodeClass::Variable;
20417         node.ParentNodeId = ToNodeId("i=2307");
20418         node.ReferenceTypeId = ReferenceId::HasProperty;
20419         node.TypeDefinition = ToNodeId("i=68");
20420         VariableAttributes attrs;
20421         attrs.DisplayName = LocalizedText("StateNumber");
20422         attrs.Type = ObjectId::UInt32;
20423         attrs.Rank = -1;
20424         node.Attributes = attrs;
20425         registry.AddNodes(std::vector<AddNodesItem>{node});
20426         std::vector<AddReferencesItem> refs;
20427         {
20428         AddReferencesItem ref;
20429         ref.IsForward = true;
20430         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
20431         ref.SourceNodeId = ToNodeId("i=2308");
20432         ref.TargetNodeClass = NodeClass::DataType;
20433         ref.TargetNodeId = ToNodeId("i=78");
20434         refs.push_back(ref);
20435         }
20436         registry.AddReferences(refs);
20437         }
20438        
20439         {
20440         AddNodesItem node;
20441         node.RequestedNewNodeId = ToNodeId("i=2309");
20442         node.BrowseName = ToQualifiedName("InitialStateType");
20443         node.Class = NodeClass::ObjectType;
20444         node.ParentNodeId = ToNodeId("i=2307");
20445         node.ReferenceTypeId = ReferenceId::HasSubtype;
20446         ObjectTypeAttributes attrs;
20447         attrs.DisplayName = LocalizedText("InitialStateType");
20448         attrs.IsAbstract = false;
20449         node.Attributes = attrs;
20450         registry.AddNodes(std::vector<AddNodesItem>{node});
20451         }
20452        
20453         {
20454         AddNodesItem node;
20455         node.RequestedNewNodeId = ToNodeId("i=2310");
20456         node.BrowseName = ToQualifiedName("TransitionType");
20457         node.Class = NodeClass::ObjectType;
20458         node.ParentNodeId = ToNodeId("i=58");
20459         node.ReferenceTypeId = ReferenceId::HasSubtype;
20460         ObjectTypeAttributes attrs;
20461         attrs.DisplayName = LocalizedText("TransitionType");
20462         attrs.IsAbstract = false;
20463         node.Attributes = attrs;
20464         registry.AddNodes(std::vector<AddNodesItem>{node});
20465         std::vector<AddReferencesItem> refs;
20466         {
20467         AddReferencesItem ref;
20468         ref.IsForward = true;
20469         ref.ReferenceTypeId = ReferenceId::HasProperty;
20470         ref.SourceNodeId = ToNodeId("i=2310");
20471         ref.TargetNodeClass = NodeClass::DataType;
20472         ref.TargetNodeId = ToNodeId("i=2312");
20473         refs.push_back(ref);
20474         }
20475         registry.AddReferences(refs);
20476         }
20477        
20478         {
20479         AddNodesItem node;
20480         node.RequestedNewNodeId = ToNodeId("i=2312");
20481         node.BrowseName = ToQualifiedName("TransitionNumber");
20482         node.Class = NodeClass::Variable;
20483         node.ParentNodeId = ToNodeId("i=2310");
20484         node.ReferenceTypeId = ReferenceId::HasProperty;
20485         node.TypeDefinition = ToNodeId("i=68");
20486         VariableAttributes attrs;
20487         attrs.DisplayName = LocalizedText("TransitionNumber");
20488         attrs.Type = ObjectId::UInt32;
20489         attrs.Rank = -1;
20490         node.Attributes = attrs;
20491         registry.AddNodes(std::vector<AddNodesItem>{node});
20492         std::vector<AddReferencesItem> refs;
20493         {
20494         AddReferencesItem ref;
20495         ref.IsForward = true;
20496         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
20497         ref.SourceNodeId = ToNodeId("i=2312");
20498         ref.TargetNodeClass = NodeClass::DataType;
20499         ref.TargetNodeId = ToNodeId("i=78");
20500         refs.push_back(ref);
20501         }
20502         registry.AddReferences(refs);
20503         }
20504        
20505         {
20506         AddNodesItem node;
20507         node.RequestedNewNodeId = ToNodeId("i=2311");
20508         node.BrowseName = ToQualifiedName("TransitionEventType");
20509         node.Class = NodeClass::ObjectType;
20510         node.ParentNodeId = ToNodeId("i=2041");
20511         node.ReferenceTypeId = ReferenceId::HasSubtype;
20512         ObjectTypeAttributes attrs;
20513         attrs.DisplayName = LocalizedText("TransitionEventType");
20514         attrs.IsAbstract = false;
20515         node.Attributes = attrs;
20516         registry.AddNodes(std::vector<AddNodesItem>{node});
20517         std::vector<AddReferencesItem> refs;
20518         {
20519         AddReferencesItem ref;
20520         ref.IsForward = true;
20521         ref.ReferenceTypeId = ReferenceId::HasComponent;
20522         ref.SourceNodeId = ToNodeId("i=2311");
20523         ref.TargetNodeClass = NodeClass::DataType;
20524         ref.TargetNodeId = ToNodeId("i=2774");
20525         refs.push_back(ref);
20526         }
20527         {
20528         AddReferencesItem ref;
20529         ref.IsForward = true;
20530         ref.ReferenceTypeId = ReferenceId::HasComponent;
20531         ref.SourceNodeId = ToNodeId("i=2311");
20532         ref.TargetNodeClass = NodeClass::DataType;
20533         ref.TargetNodeId = ToNodeId("i=2775");
20534         refs.push_back(ref);
20535         }
20536         {
20537         AddReferencesItem ref;
20538         ref.IsForward = true;
20539         ref.ReferenceTypeId = ReferenceId::HasComponent;
20540         ref.SourceNodeId = ToNodeId("i=2311");
20541         ref.TargetNodeClass = NodeClass::DataType;
20542         ref.TargetNodeId = ToNodeId("i=2776");
20543         refs.push_back(ref);
20544         }
20545         registry.AddReferences(refs);
20546         }
20547        
20548         {
20549         AddNodesItem node;
20550         node.RequestedNewNodeId = ToNodeId("i=2774");
20551         node.BrowseName = ToQualifiedName("Transition");
20552         node.Class = NodeClass::Variable;
20553         node.ParentNodeId = ToNodeId("i=2311");
20554         node.ReferenceTypeId = ReferenceId::HasComponent;
20555         node.TypeDefinition = ToNodeId("i=2762");
20556         VariableAttributes attrs;
20557         attrs.DisplayName = LocalizedText("Transition");
20558         attrs.Type = ObjectId::LocalizedText;
20559         attrs.Rank = -1;
20560         node.Attributes = attrs;
20561         registry.AddNodes(std::vector<AddNodesItem>{node});
20562         std::vector<AddReferencesItem> refs;
20563         {
20564         AddReferencesItem ref;
20565         ref.IsForward = true;
20566         ref.ReferenceTypeId = ReferenceId::HasProperty;
20567         ref.SourceNodeId = ToNodeId("i=2774");
20568         ref.TargetNodeClass = NodeClass::DataType;
20569         ref.TargetNodeId = ToNodeId("i=3754");
20570         refs.push_back(ref);
20571         }
20572         {
20573         AddReferencesItem ref;
20574         ref.IsForward = true;
20575         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
20576         ref.SourceNodeId = ToNodeId("i=2774");
20577         ref.TargetNodeClass = NodeClass::DataType;
20578         ref.TargetNodeId = ToNodeId("i=78");
20579         refs.push_back(ref);
20580         }
20581         registry.AddReferences(refs);
20582         }
20583        
20584         {
20585         AddNodesItem node;
20586         node.RequestedNewNodeId = ToNodeId("i=3754");
20587         node.BrowseName = ToQualifiedName("Id");
20588         node.Class = NodeClass::Variable;
20589         node.ParentNodeId = ToNodeId("i=2774");
20590         node.ReferenceTypeId = ReferenceId::HasProperty;
20591         node.TypeDefinition = ToNodeId("i=68");
20592         VariableAttributes attrs;
20593         attrs.DisplayName = LocalizedText("Id");
20594         attrs.Type = ObjectId::String;
20595         attrs.Rank = -1;
20596         node.Attributes = attrs;
20597         registry.AddNodes(std::vector<AddNodesItem>{node});
20598         std::vector<AddReferencesItem> refs;
20599         {
20600         AddReferencesItem ref;
20601         ref.IsForward = true;
20602         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
20603         ref.SourceNodeId = ToNodeId("i=3754");
20604         ref.TargetNodeClass = NodeClass::DataType;
20605         ref.TargetNodeId = ToNodeId("i=78");
20606         refs.push_back(ref);
20607         }
20608         registry.AddReferences(refs);
20609         }
20610        
20611         {
20612         AddNodesItem node;
20613         node.RequestedNewNodeId = ToNodeId("i=2775");
20614         node.BrowseName = ToQualifiedName("FromState");
20615         node.Class = NodeClass::Variable;
20616         node.ParentNodeId = ToNodeId("i=2311");
20617         node.ReferenceTypeId = ReferenceId::HasComponent;
20618         node.TypeDefinition = ToNodeId("i=2755");
20619         VariableAttributes attrs;
20620         attrs.DisplayName = LocalizedText("FromState");
20621         attrs.Type = ObjectId::LocalizedText;
20622         attrs.Rank = -1;
20623         node.Attributes = attrs;
20624         registry.AddNodes(std::vector<AddNodesItem>{node});
20625         std::vector<AddReferencesItem> refs;
20626         {
20627         AddReferencesItem ref;
20628         ref.IsForward = true;
20629         ref.ReferenceTypeId = ReferenceId::HasProperty;
20630         ref.SourceNodeId = ToNodeId("i=2775");
20631         ref.TargetNodeClass = NodeClass::DataType;
20632         ref.TargetNodeId = ToNodeId("i=3746");
20633         refs.push_back(ref);
20634         }
20635         {
20636         AddReferencesItem ref;
20637         ref.IsForward = true;
20638         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
20639         ref.SourceNodeId = ToNodeId("i=2775");
20640         ref.TargetNodeClass = NodeClass::DataType;
20641         ref.TargetNodeId = ToNodeId("i=78");
20642         refs.push_back(ref);
20643         }
20644         registry.AddReferences(refs);
20645         }
20646        
20647         {
20648         AddNodesItem node;
20649         node.RequestedNewNodeId = ToNodeId("i=3746");
20650         node.BrowseName = ToQualifiedName("Id");
20651         node.Class = NodeClass::Variable;
20652         node.ParentNodeId = ToNodeId("i=2775");
20653         node.ReferenceTypeId = ReferenceId::HasProperty;
20654         node.TypeDefinition = ToNodeId("i=68");
20655         VariableAttributes attrs;
20656         attrs.DisplayName = LocalizedText("Id");
20657         attrs.Type = ObjectId::String;
20658         attrs.Rank = -1;
20659         node.Attributes = attrs;
20660         registry.AddNodes(std::vector<AddNodesItem>{node});
20661         std::vector<AddReferencesItem> refs;
20662         {
20663         AddReferencesItem ref;
20664         ref.IsForward = true;
20665         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
20666         ref.SourceNodeId = ToNodeId("i=3746");
20667         ref.TargetNodeClass = NodeClass::DataType;
20668         ref.TargetNodeId = ToNodeId("i=78");
20669         refs.push_back(ref);
20670         }
20671         registry.AddReferences(refs);
20672         }
20673        
20674         {
20675         AddNodesItem node;
20676         node.RequestedNewNodeId = ToNodeId("i=2776");
20677         node.BrowseName = ToQualifiedName("ToState");
20678         node.Class = NodeClass::Variable;
20679         node.ParentNodeId = ToNodeId("i=2311");
20680         node.ReferenceTypeId = ReferenceId::HasComponent;
20681         node.TypeDefinition = ToNodeId("i=2755");
20682         VariableAttributes attrs;
20683         attrs.DisplayName = LocalizedText("ToState");
20684         attrs.Type = ObjectId::LocalizedText;
20685         attrs.Rank = -1;
20686         node.Attributes = attrs;
20687         registry.AddNodes(std::vector<AddNodesItem>{node});
20688         std::vector<AddReferencesItem> refs;
20689         {
20690         AddReferencesItem ref;
20691         ref.IsForward = true;
20692         ref.ReferenceTypeId = ReferenceId::HasProperty;
20693         ref.SourceNodeId = ToNodeId("i=2776");
20694         ref.TargetNodeClass = NodeClass::DataType;
20695         ref.TargetNodeId = ToNodeId("i=3750");
20696         refs.push_back(ref);
20697         }
20698         {
20699         AddReferencesItem ref;
20700         ref.IsForward = true;
20701         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
20702         ref.SourceNodeId = ToNodeId("i=2776");
20703         ref.TargetNodeClass = NodeClass::DataType;
20704         ref.TargetNodeId = ToNodeId("i=78");
20705         refs.push_back(ref);
20706         }
20707         registry.AddReferences(refs);
20708         }
20709        
20710         {
20711         AddNodesItem node;
20712         node.RequestedNewNodeId = ToNodeId("i=3750");
20713         node.BrowseName = ToQualifiedName("Id");
20714         node.Class = NodeClass::Variable;
20715         node.ParentNodeId = ToNodeId("i=2776");
20716         node.ReferenceTypeId = ReferenceId::HasProperty;
20717         node.TypeDefinition = ToNodeId("i=68");
20718         VariableAttributes attrs;
20719         attrs.DisplayName = LocalizedText("Id");
20720         attrs.Type = ObjectId::String;
20721         attrs.Rank = -1;
20722         node.Attributes = attrs;
20723         registry.AddNodes(std::vector<AddNodesItem>{node});
20724         std::vector<AddReferencesItem> refs;
20725         {
20726         AddReferencesItem ref;
20727         ref.IsForward = true;
20728         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
20729         ref.SourceNodeId = ToNodeId("i=3750");
20730         ref.TargetNodeClass = NodeClass::DataType;
20731         ref.TargetNodeId = ToNodeId("i=78");
20732         refs.push_back(ref);
20733         }
20734         registry.AddReferences(refs);
20735         }
20736        
20737         {
20738         AddNodesItem node;
20739         node.RequestedNewNodeId = ToNodeId("i=2315");
20740         node.BrowseName = ToQualifiedName("AuditUpdateStateEventType");
20741         node.Class = NodeClass::ObjectType;
20742         node.ParentNodeId = ToNodeId("i=2127");
20743         node.ReferenceTypeId = ReferenceId::HasSubtype;
20744         ObjectTypeAttributes attrs;
20745         attrs.DisplayName = LocalizedText("AuditUpdateStateEventType");
20746         attrs.IsAbstract = true;
20747         node.Attributes = attrs;
20748         registry.AddNodes(std::vector<AddNodesItem>{node});
20749         std::vector<AddReferencesItem> refs;
20750         {
20751         AddReferencesItem ref;
20752         ref.IsForward = true;
20753         ref.ReferenceTypeId = ReferenceId::HasProperty;
20754         ref.SourceNodeId = ToNodeId("i=2315");
20755         ref.TargetNodeClass = NodeClass::DataType;
20756         ref.TargetNodeId = ToNodeId("i=2777");
20757         refs.push_back(ref);
20758         }
20759         {
20760         AddReferencesItem ref;
20761         ref.IsForward = true;
20762         ref.ReferenceTypeId = ReferenceId::HasProperty;
20763         ref.SourceNodeId = ToNodeId("i=2315");
20764         ref.TargetNodeClass = NodeClass::DataType;
20765         ref.TargetNodeId = ToNodeId("i=2778");
20766         refs.push_back(ref);
20767         }
20768         registry.AddReferences(refs);
20769         }
20770        
20771         {
20772         AddNodesItem node;
20773         node.RequestedNewNodeId = ToNodeId("i=2777");
20774         node.BrowseName = ToQualifiedName("OldStateId");
20775         node.Class = NodeClass::Variable;
20776         node.ParentNodeId = ToNodeId("i=2315");
20777         node.ReferenceTypeId = ReferenceId::HasProperty;
20778         node.TypeDefinition = ToNodeId("i=68");
20779         VariableAttributes attrs;
20780         attrs.DisplayName = LocalizedText("OldStateId");
20781         attrs.Type = ObjectId::String;
20782         attrs.Rank = -1;
20783         node.Attributes = attrs;
20784         registry.AddNodes(std::vector<AddNodesItem>{node});
20785         std::vector<AddReferencesItem> refs;
20786         {
20787         AddReferencesItem ref;
20788         ref.IsForward = true;
20789         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
20790         ref.SourceNodeId = ToNodeId("i=2777");
20791         ref.TargetNodeClass = NodeClass::DataType;
20792         ref.TargetNodeId = ToNodeId("i=78");
20793         refs.push_back(ref);
20794         }
20795         registry.AddReferences(refs);
20796         }
20797        
20798         {
20799         AddNodesItem node;
20800         node.RequestedNewNodeId = ToNodeId("i=2778");
20801         node.BrowseName = ToQualifiedName("NewStateId");
20802         node.Class = NodeClass::Variable;
20803         node.ParentNodeId = ToNodeId("i=2315");
20804         node.ReferenceTypeId = ReferenceId::HasProperty;
20805         node.TypeDefinition = ToNodeId("i=68");
20806         VariableAttributes attrs;
20807         attrs.DisplayName = LocalizedText("NewStateId");
20808         attrs.Type = ObjectId::String;
20809         attrs.Rank = -1;
20810         node.Attributes = attrs;
20811         registry.AddNodes(std::vector<AddNodesItem>{node});
20812         std::vector<AddReferencesItem> refs;
20813         {
20814         AddReferencesItem ref;
20815         ref.IsForward = true;
20816         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
20817         ref.SourceNodeId = ToNodeId("i=2778");
20818         ref.TargetNodeClass = NodeClass::DataType;
20819         ref.TargetNodeId = ToNodeId("i=78");
20820         refs.push_back(ref);
20821         }
20822         registry.AddReferences(refs);
20823         }
20824        
20825         {
20826         AddNodesItem node;
20827         node.RequestedNewNodeId = ToNodeId("i=338");
20828         node.BrowseName = ToQualifiedName("BuildInfo");
20829         node.Class = NodeClass::DataType;
20830         node.ParentNodeId = ToNodeId("i=22");
20831         node.ReferenceTypeId = ReferenceId::HasSubtype;
20832         DataTypeAttributes attrs;
20833         attrs.DisplayName = LocalizedText("BuildInfo");
20834         attrs.IsAbstract = false;
20835         node.Attributes = attrs;
20836         registry.AddNodes(std::vector<AddNodesItem>{node});
20837         }
20838        
20839         {
20840         AddNodesItem node;
20841         node.RequestedNewNodeId = ToNodeId("i=851");
20842         node.BrowseName = ToQualifiedName("RedundancySupport");
20843         node.Class = NodeClass::DataType;
20844         node.ParentNodeId = ToNodeId("i=29");
20845         node.ReferenceTypeId = ReferenceId::HasSubtype;
20846         DataTypeAttributes attrs;
20847         attrs.DisplayName = LocalizedText("RedundancySupport");
20848         attrs.IsAbstract = false;
20849         node.Attributes = attrs;
20850         registry.AddNodes(std::vector<AddNodesItem>{node});
20851         std::vector<AddReferencesItem> refs;
20852         {
20853         AddReferencesItem ref;
20854         ref.IsForward = true;
20855         ref.ReferenceTypeId = ReferenceId::HasProperty;
20856         ref.SourceNodeId = ToNodeId("i=851");
20857         ref.TargetNodeClass = NodeClass::DataType;
20858         ref.TargetNodeId = ToNodeId("i=7611");
20859         refs.push_back(ref);
20860         }
20861         registry.AddReferences(refs);
20862         }
20863        
20864         {
20865         AddNodesItem node;
20866         node.RequestedNewNodeId = ToNodeId("i=7611");
20867         node.BrowseName = ToQualifiedName("EnumStrings");
20868         node.Class = NodeClass::Variable;
20869         node.ParentNodeId = ToNodeId("i=851");
20870         node.ReferenceTypeId = ReferenceId::HasProperty;
20871         node.TypeDefinition = ToNodeId("i=68");
20872         VariableAttributes attrs;
20873         attrs.DisplayName = LocalizedText("EnumStrings");
20874         attrs.Type = ObjectId::LocalizedText;
20875         attrs.Rank = 1;
20876         node.Attributes = attrs;
20877         registry.AddNodes(std::vector<AddNodesItem>{node});
20878         std::vector<AddReferencesItem> refs;
20879         {
20880         AddReferencesItem ref;
20881         ref.IsForward = true;
20882         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
20883         ref.SourceNodeId = ToNodeId("i=7611");
20884         ref.TargetNodeClass = NodeClass::DataType;
20885         ref.TargetNodeId = ToNodeId("i=78");
20886         refs.push_back(ref);
20887         }
20888         registry.AddReferences(refs);
20889         }
20890        
20891         {
20892         AddNodesItem node;
20893         node.RequestedNewNodeId = ToNodeId("i=852");
20894         node.BrowseName = ToQualifiedName("ServerState");
20895         node.Class = NodeClass::DataType;
20896         node.ParentNodeId = ToNodeId("i=29");
20897         node.ReferenceTypeId = ReferenceId::HasSubtype;
20898         DataTypeAttributes attrs;
20899         attrs.DisplayName = LocalizedText("ServerState");
20900         attrs.IsAbstract = false;
20901         node.Attributes = attrs;
20902         registry.AddNodes(std::vector<AddNodesItem>{node});
20903         std::vector<AddReferencesItem> refs;
20904         {
20905         AddReferencesItem ref;
20906         ref.IsForward = true;
20907         ref.ReferenceTypeId = ReferenceId::HasProperty;
20908         ref.SourceNodeId = ToNodeId("i=852");
20909         ref.TargetNodeClass = NodeClass::DataType;
20910         ref.TargetNodeId = ToNodeId("i=7612");
20911         refs.push_back(ref);
20912         }
20913         registry.AddReferences(refs);
20914         }
20915        
20916         {
20917         AddNodesItem node;
20918         node.RequestedNewNodeId = ToNodeId("i=7612");
20919         node.BrowseName = ToQualifiedName("EnumStrings");
20920         node.Class = NodeClass::Variable;
20921         node.ParentNodeId = ToNodeId("i=852");
20922         node.ReferenceTypeId = ReferenceId::HasProperty;
20923         node.TypeDefinition = ToNodeId("i=68");
20924         VariableAttributes attrs;
20925         attrs.DisplayName = LocalizedText("EnumStrings");
20926         attrs.Type = ObjectId::LocalizedText;
20927         attrs.Rank = 1;
20928         node.Attributes = attrs;
20929         registry.AddNodes(std::vector<AddNodesItem>{node});
20930         std::vector<AddReferencesItem> refs;
20931         {
20932         AddReferencesItem ref;
20933         ref.IsForward = true;
20934         ref.ReferenceTypeId = ReferenceId::HasModellingRule;
20935         ref.SourceNodeId = ToNodeId("i=7612");
20936         ref.TargetNodeClass = NodeClass::DataType;
20937         ref.TargetNodeId = ToNodeId("i=78");
20938         refs.push_back(ref);
20939         }
20940         registry.AddReferences(refs);
20941         }
20942        
20943         {
20944         AddNodesItem node;
20945         node.RequestedNewNodeId = ToNodeId("i=853");
20946         node.BrowseName = ToQualifiedName("RedundantServerDataType");
20947         node.Class = NodeClass::DataType;
20948         node.ParentNodeId = ToNodeId("i=22");
20949         node.ReferenceTypeId = ReferenceId::HasSubtype;
20950         DataTypeAttributes attrs;
20951         attrs.DisplayName = LocalizedText("RedundantServerDataType");
20952         attrs.IsAbstract = false;
20953         node.Attributes = attrs;
20954         registry.AddNodes(std::vector<AddNodesItem>{node});
20955         }
20956        
20957         {
20958         AddNodesItem node;
20959         node.RequestedNewNodeId = ToNodeId("i=11943");
20960         node.BrowseName = ToQualifiedName("EndpointUrlListDataType");
20961         node.Class = NodeClass::DataType;
20962         node.ParentNodeId = ToNodeId("i=22");
20963         node.ReferenceTypeId = ReferenceId::HasSubtype;
20964         DataTypeAttributes attrs;
20965         attrs.DisplayName = LocalizedText("EndpointUrlListDataType");
20966         attrs.IsAbstract = false;
20967         node.Attributes = attrs;
20968         registry.AddNodes(std::vector<AddNodesItem>{node});
20969         }
20970        
20971         {
20972         AddNodesItem node;
20973         node.RequestedNewNodeId = ToNodeId("i=11944");
20974         node.BrowseName = ToQualifiedName("NetworkGroupDataType");
20975         node.Class = NodeClass::DataType;
20976         node.ParentNodeId = ToNodeId("i=22");
20977         node.ReferenceTypeId = ReferenceId::HasSubtype;
20978         DataTypeAttributes attrs;
20979         attrs.DisplayName = LocalizedText("NetworkGroupDataType");
20980         attrs.IsAbstract = false;
20981         node.Attributes = attrs;
20982         registry.AddNodes(std::vector<AddNodesItem>{node});
20983         }
20984        
20985         {
20986         AddNodesItem node;
20987         node.RequestedNewNodeId = ToNodeId("i=856");
20988         node.BrowseName = ToQualifiedName("SamplingIntervalDiagnosticsDataType");
20989         node.Class = NodeClass::DataType;
20990         node.ParentNodeId = ToNodeId("i=22");
20991         node.ReferenceTypeId = ReferenceId::HasSubtype;
20992         DataTypeAttributes attrs;
20993         attrs.DisplayName = LocalizedText("SamplingIntervalDiagnosticsDataType");
20994         attrs.IsAbstract = false;
20995         node.Attributes = attrs;
20996         registry.AddNodes(std::vector<AddNodesItem>{node});
20997         }
20998        
20999         {
21000         AddNodesItem node;
21001         node.RequestedNewNodeId = ToNodeId("i=859");
21002         node.BrowseName = ToQualifiedName("ServerDiagnosticsSummaryDataType");
21003         node.Class = NodeClass::DataType;
21004         node.ParentNodeId = ToNodeId("i=22");
21005         node.ReferenceTypeId = ReferenceId::HasSubtype;
21006         DataTypeAttributes attrs;
21007         attrs.DisplayName = LocalizedText("ServerDiagnosticsSummaryDataType");
21008         attrs.IsAbstract = false;
21009         node.Attributes = attrs;
21010         registry.AddNodes(std::vector<AddNodesItem>{node});
21011         }
21012        
21013         {
21014         AddNodesItem node;
21015         node.RequestedNewNodeId = ToNodeId("i=862");
21016         node.BrowseName = ToQualifiedName("ServerStatusDataType");
21017         node.Class = NodeClass::DataType;
21018         node.ParentNodeId = ToNodeId("i=22");
21019         node.ReferenceTypeId = ReferenceId::HasSubtype;
21020         DataTypeAttributes attrs;
21021         attrs.DisplayName = LocalizedText("ServerStatusDataType");
21022         attrs.IsAbstract = false;
21023         node.Attributes = attrs;
21024         registry.AddNodes(std::vector<AddNodesItem>{node});
21025         }
21026        
21027         {
21028         AddNodesItem node;
21029         node.RequestedNewNodeId = ToNodeId("i=865");
21030         node.BrowseName = ToQualifiedName("SessionDiagnosticsDataType");
21031         node.Class = NodeClass::DataType;
21032         node.ParentNodeId = ToNodeId("i=22");
21033         node.ReferenceTypeId = ReferenceId::HasSubtype;
21034         DataTypeAttributes attrs;
21035         attrs.DisplayName = LocalizedText("SessionDiagnosticsDataType");
21036         attrs.IsAbstract = false;
21037         node.Attributes = attrs;
21038         registry.AddNodes(std::vector<AddNodesItem>{node});
21039         }
21040        
21041         {
21042         AddNodesItem node;
21043         node.RequestedNewNodeId = ToNodeId("i=868");
21044         node.BrowseName = ToQualifiedName("SessionSecurityDiagnosticsDataType");
21045         node.Class = NodeClass::DataType;
21046         node.ParentNodeId = ToNodeId("i=22");
21047         node.ReferenceTypeId = ReferenceId::HasSubtype;
21048         DataTypeAttributes attrs;
21049         attrs.DisplayName = LocalizedText("SessionSecurityDiagnosticsDataType");
21050         attrs.IsAbstract = false;
21051         node.Attributes = attrs;
21052         registry.AddNodes(std::vector<AddNodesItem>{node});
21053         }
21054        
21055         {
21056         AddNodesItem node;
21057         node.RequestedNewNodeId = ToNodeId("i=871");
21058         node.BrowseName = ToQualifiedName("ServiceCounterDataType");
21059         node.Class = NodeClass::DataType;
21060         node.ParentNodeId = ToNodeId("i=22");
21061         node.ReferenceTypeId = ReferenceId::HasSubtype;
21062         DataTypeAttributes attrs;
21063         attrs.DisplayName = LocalizedText("ServiceCounterDataType");
21064         attrs.IsAbstract = false;
21065         node.Attributes = attrs;
21066         registry.AddNodes(std::vector<AddNodesItem>{node});
21067         }
21068        
21069         {
21070         AddNodesItem node;
21071         node.RequestedNewNodeId = ToNodeId("i=299");
21072         node.BrowseName = ToQualifiedName("StatusResult");
21073         node.Class = NodeClass::DataType;
21074         node.ParentNodeId = ToNodeId("i=22");
21075         node.ReferenceTypeId = ReferenceId::HasSubtype;
21076         DataTypeAttributes attrs;
21077         attrs.DisplayName = LocalizedText("StatusResult");
21078         attrs.IsAbstract = false;
21079         node.Attributes = attrs;
21080         registry.AddNodes(std::vector<AddNodesItem>{node});
21081         }
21082        
21083         {
21084         AddNodesItem node;
21085         node.RequestedNewNodeId = ToNodeId("i=874");
21086         node.BrowseName = ToQualifiedName("SubscriptionDiagnosticsDataType");
21087         node.Class = NodeClass::DataType;
21088         node.ParentNodeId = ToNodeId("i=22");
21089         node.ReferenceTypeId = ReferenceId::HasSubtype;
21090         DataTypeAttributes attrs;
21091         attrs.DisplayName = LocalizedText("SubscriptionDiagnosticsDataType");
21092         attrs.IsAbstract = false;
21093         node.Attributes = attrs;
21094         registry.AddNodes(std::vector<AddNodesItem>{node});
21095         }
21096        
21097         {
21098         AddNodesItem node;
21099         node.RequestedNewNodeId = ToNodeId("i=877");
21100         node.BrowseName = ToQualifiedName("ModelChangeStructureDataType");
21101         node.Class = NodeClass::DataType;
21102         node.ParentNodeId = ToNodeId("i=22");
21103         node.ReferenceTypeId = ReferenceId::HasSubtype;
21104         DataTypeAttributes attrs;
21105         attrs.DisplayName = LocalizedText("ModelChangeStructureDataType");
21106         attrs.IsAbstract = false;
21107         node.Attributes = attrs;
21108         registry.AddNodes(std::vector<AddNodesItem>{node});
21109         }
21110        
21111         {
21112         AddNodesItem node;
21113         node.RequestedNewNodeId = ToNodeId("i=897");
21114         node.BrowseName = ToQualifiedName("SemanticChangeStructureDataType");
21115         node.Class = NodeClass::DataType;
21116         node.ParentNodeId = ToNodeId("i=22");
21117         node.ReferenceTypeId = ReferenceId::HasSubtype;
21118         DataTypeAttributes attrs;
21119         attrs.DisplayName = LocalizedText("SemanticChangeStructureDataType");
21120         attrs.IsAbstract = false;
21121         node.Attributes = attrs;
21122         registry.AddNodes(std::vector<AddNodesItem>{node});
21123         }
21124        
21125         {
21126         AddNodesItem node;
21127         node.RequestedNewNodeId = ToNodeId("i=339");
21128         node.BrowseName = ToQualifiedName("Default XML");
21129         node.Class = NodeClass::Object;
21130         node.ParentNodeId = ToNodeId("i=338");
21131         node.ReferenceTypeId = ReferenceId::HasEncoding;
21132         node.TypeDefinition = ToNodeId("i=76");
21133         ObjectAttributes attrs;
21134         attrs.DisplayName = LocalizedText("Default XML");
21135         attrs.EventNotifier = 0;
21136         node.Attributes = attrs;
21137         registry.AddNodes(std::vector<AddNodesItem>{node});
21138         std::vector<AddReferencesItem> refs;
21139         {
21140         AddReferencesItem ref;
21141         ref.IsForward = true;
21142         ref.ReferenceTypeId = ReferenceId::HasDescription;
21143         ref.SourceNodeId = ToNodeId("i=339");
21144         ref.TargetNodeClass = NodeClass::DataType;
21145         ref.TargetNodeId = ToNodeId("i=8327");
21146         refs.push_back(ref);
21147         }
21148         registry.AddReferences(refs);
21149         }
21150        
21151         {
21152         AddNodesItem node;
21153         node.RequestedNewNodeId = ToNodeId("i=854");
21154         node.BrowseName = ToQualifiedName("Default XML");
21155         node.Class = NodeClass::Object;
21156         node.ParentNodeId = ToNodeId("i=853");
21157         node.ReferenceTypeId = ReferenceId::HasEncoding;
21158         node.TypeDefinition = ToNodeId("i=76");
21159         ObjectAttributes attrs;
21160         attrs.DisplayName = LocalizedText("Default XML");
21161         attrs.EventNotifier = 0;
21162         node.Attributes = attrs;
21163         registry.AddNodes(std::vector<AddNodesItem>{node});
21164         std::vector<AddReferencesItem> refs;
21165         {
21166         AddReferencesItem ref;
21167         ref.IsForward = true;
21168         ref.ReferenceTypeId = ReferenceId::HasDescription;
21169         ref.SourceNodeId = ToNodeId("i=854");
21170         ref.TargetNodeClass = NodeClass::DataType;
21171         ref.TargetNodeId = ToNodeId("i=8843");
21172         refs.push_back(ref);
21173         }
21174         registry.AddReferences(refs);
21175         }
21176        
21177         {
21178         AddNodesItem node;
21179         node.RequestedNewNodeId = ToNodeId("i=11949");
21180         node.BrowseName = ToQualifiedName("Default XML");
21181         node.Class = NodeClass::Object;
21182         node.ParentNodeId = ToNodeId("i=11943");
21183         node.ReferenceTypeId = ReferenceId::HasEncoding;
21184         node.TypeDefinition = ToNodeId("i=76");
21185         ObjectAttributes attrs;
21186         attrs.DisplayName = LocalizedText("Default XML");
21187         attrs.EventNotifier = 0;
21188         node.Attributes = attrs;
21189         registry.AddNodes(std::vector<AddNodesItem>{node});
21190         std::vector<AddReferencesItem> refs;
21191         {
21192         AddReferencesItem ref;
21193         ref.IsForward = true;
21194         ref.ReferenceTypeId = ReferenceId::HasDescription;
21195         ref.SourceNodeId = ToNodeId("i=11949");
21196         ref.TargetNodeClass = NodeClass::DataType;
21197         ref.TargetNodeId = ToNodeId("i=11951");
21198         refs.push_back(ref);
21199         }
21200         registry.AddReferences(refs);
21201         }
21202        
21203         {
21204         AddNodesItem node;
21205         node.RequestedNewNodeId = ToNodeId("i=11950");
21206         node.BrowseName = ToQualifiedName("Default XML");
21207         node.Class = NodeClass::Object;
21208         node.ParentNodeId = ToNodeId("i=11944");
21209         node.ReferenceTypeId = ReferenceId::HasEncoding;
21210         node.TypeDefinition = ToNodeId("i=76");
21211         ObjectAttributes attrs;
21212         attrs.DisplayName = LocalizedText("Default XML");
21213         attrs.EventNotifier = 0;
21214         node.Attributes = attrs;
21215         registry.AddNodes(std::vector<AddNodesItem>{node});
21216         std::vector<AddReferencesItem> refs;
21217         {
21218         AddReferencesItem ref;
21219         ref.IsForward = true;
21220         ref.ReferenceTypeId = ReferenceId::HasDescription;
21221         ref.SourceNodeId = ToNodeId("i=11950");
21222         ref.TargetNodeClass = NodeClass::DataType;
21223         ref.TargetNodeId = ToNodeId("i=11954");
21224         refs.push_back(ref);
21225         }
21226         registry.AddReferences(refs);
21227         }
21228        
21229         {
21230         AddNodesItem node;
21231         node.RequestedNewNodeId = ToNodeId("i=857");
21232         node.BrowseName = ToQualifiedName("Default XML");
21233         node.Class = NodeClass::Object;
21234         node.ParentNodeId = ToNodeId("i=856");
21235         node.ReferenceTypeId = ReferenceId::HasEncoding;
21236         node.TypeDefinition = ToNodeId("i=76");
21237         ObjectAttributes attrs;
21238         attrs.DisplayName = LocalizedText("Default XML");
21239         attrs.EventNotifier = 0;
21240         node.Attributes = attrs;
21241         registry.AddNodes(std::vector<AddNodesItem>{node});
21242         std::vector<AddReferencesItem> refs;
21243         {
21244         AddReferencesItem ref;
21245         ref.IsForward = true;
21246         ref.ReferenceTypeId = ReferenceId::HasDescription;
21247         ref.SourceNodeId = ToNodeId("i=857");
21248         ref.TargetNodeClass = NodeClass::DataType;
21249         ref.TargetNodeId = ToNodeId("i=8846");
21250         refs.push_back(ref);
21251         }
21252         registry.AddReferences(refs);
21253         }
21254        
21255         {
21256         AddNodesItem node;
21257         node.RequestedNewNodeId = ToNodeId("i=860");
21258         node.BrowseName = ToQualifiedName("Default XML");
21259         node.Class = NodeClass::Object;
21260         node.ParentNodeId = ToNodeId("i=859");
21261         node.ReferenceTypeId = ReferenceId::HasEncoding;
21262         node.TypeDefinition = ToNodeId("i=76");
21263         ObjectAttributes attrs;
21264         attrs.DisplayName = LocalizedText("Default XML");
21265         attrs.EventNotifier = 0;
21266         node.Attributes = attrs;
21267         registry.AddNodes(std::vector<AddNodesItem>{node});
21268         std::vector<AddReferencesItem> refs;
21269         {
21270         AddReferencesItem ref;
21271         ref.IsForward = true;
21272         ref.ReferenceTypeId = ReferenceId::HasDescription;
21273         ref.SourceNodeId = ToNodeId("i=860");
21274         ref.TargetNodeClass = NodeClass::DataType;
21275         ref.TargetNodeId = ToNodeId("i=8849");
21276         refs.push_back(ref);
21277         }
21278         registry.AddReferences(refs);
21279         }
21280        
21281         {
21282         AddNodesItem node;
21283         node.RequestedNewNodeId = ToNodeId("i=863");
21284         node.BrowseName = ToQualifiedName("Default XML");
21285         node.Class = NodeClass::Object;
21286         node.ParentNodeId = ToNodeId("i=862");
21287         node.ReferenceTypeId = ReferenceId::HasEncoding;
21288         node.TypeDefinition = ToNodeId("i=76");
21289         ObjectAttributes attrs;
21290         attrs.DisplayName = LocalizedText("Default XML");
21291         attrs.EventNotifier = 0;
21292         node.Attributes = attrs;
21293         registry.AddNodes(std::vector<AddNodesItem>{node});
21294         std::vector<AddReferencesItem> refs;
21295         {
21296         AddReferencesItem ref;
21297         ref.IsForward = true;
21298         ref.ReferenceTypeId = ReferenceId::HasDescription;
21299         ref.SourceNodeId = ToNodeId("i=863");
21300         ref.TargetNodeClass = NodeClass::DataType;
21301         ref.TargetNodeId = ToNodeId("i=8852");
21302         refs.push_back(ref);
21303         }
21304         registry.AddReferences(refs);
21305         }
21306        
21307         {
21308         AddNodesItem node;
21309         node.RequestedNewNodeId = ToNodeId("i=866");
21310         node.BrowseName = ToQualifiedName("Default XML");
21311         node.Class = NodeClass::Object;
21312         node.ParentNodeId = ToNodeId("i=865");
21313         node.ReferenceTypeId = ReferenceId::HasEncoding;
21314         node.TypeDefinition = ToNodeId("i=76");
21315         ObjectAttributes attrs;
21316         attrs.DisplayName = LocalizedText("Default XML");
21317         attrs.EventNotifier = 0;
21318         node.Attributes = attrs;
21319         registry.AddNodes(std::vector<AddNodesItem>{node});
21320         std::vector<AddReferencesItem> refs;
21321         {
21322         AddReferencesItem ref;
21323         ref.IsForward = true;
21324         ref.ReferenceTypeId = ReferenceId::HasDescription;
21325         ref.SourceNodeId = ToNodeId("i=866");
21326         ref.TargetNodeClass = NodeClass::DataType;
21327         ref.TargetNodeId = ToNodeId("i=8855");
21328         refs.push_back(ref);
21329         }
21330         registry.AddReferences(refs);
21331         }
21332        
21333         {
21334         AddNodesItem node;
21335         node.RequestedNewNodeId = ToNodeId("i=869");
21336         node.BrowseName = ToQualifiedName("Default XML");
21337         node.Class = NodeClass::Object;
21338         node.ParentNodeId = ToNodeId("i=868");
21339         node.ReferenceTypeId = ReferenceId::HasEncoding;
21340         node.TypeDefinition = ToNodeId("i=76");
21341         ObjectAttributes attrs;
21342         attrs.DisplayName = LocalizedText("Default XML");
21343         attrs.EventNotifier = 0;
21344         node.Attributes = attrs;
21345         registry.AddNodes(std::vector<AddNodesItem>{node});
21346         std::vector<AddReferencesItem> refs;
21347         {
21348         AddReferencesItem ref;
21349         ref.IsForward = true;
21350         ref.ReferenceTypeId = ReferenceId::HasDescription;
21351         ref.SourceNodeId = ToNodeId("i=869");
21352         ref.TargetNodeClass = NodeClass::DataType;
21353         ref.TargetNodeId = ToNodeId("i=8858");
21354         refs.push_back(ref);
21355         }
21356         registry.AddReferences(refs);
21357         }
21358        
21359         {
21360         AddNodesItem node;
21361         node.RequestedNewNodeId = ToNodeId("i=872");
21362         node.BrowseName = ToQualifiedName("Default XML");
21363         node.Class = NodeClass::Object;
21364         node.ParentNodeId = ToNodeId("i=871");
21365         node.ReferenceTypeId = ReferenceId::HasEncoding;
21366         node.TypeDefinition = ToNodeId("i=76");
21367         ObjectAttributes attrs;
21368         attrs.DisplayName = LocalizedText("Default XML");
21369         attrs.EventNotifier = 0;
21370         node.Attributes = attrs;
21371         registry.AddNodes(std::vector<AddNodesItem>{node});
21372         std::vector<AddReferencesItem> refs;
21373         {
21374         AddReferencesItem ref;
21375         ref.IsForward = true;
21376         ref.ReferenceTypeId = ReferenceId::HasDescription;
21377         ref.SourceNodeId = ToNodeId("i=872");
21378         ref.TargetNodeClass = NodeClass::DataType;
21379         ref.TargetNodeId = ToNodeId("i=8861");
21380         refs.push_back(ref);
21381         }
21382         registry.AddReferences(refs);
21383         }
21384        
21385         {
21386         AddNodesItem node;
21387         node.RequestedNewNodeId = ToNodeId("i=300");
21388         node.BrowseName = ToQualifiedName("Default XML");
21389         node.Class = NodeClass::Object;
21390         node.ParentNodeId = ToNodeId("i=299");
21391         node.ReferenceTypeId = ReferenceId::HasEncoding;
21392         node.TypeDefinition = ToNodeId("i=76");
21393         ObjectAttributes attrs;
21394         attrs.DisplayName = LocalizedText("Default XML");
21395         attrs.EventNotifier = 0;
21396         node.Attributes = attrs;
21397         registry.AddNodes(std::vector<AddNodesItem>{node});
21398         std::vector<AddReferencesItem> refs;
21399         {
21400         AddReferencesItem ref;
21401         ref.IsForward = true;
21402         ref.ReferenceTypeId = ReferenceId::HasDescription;
21403         ref.SourceNodeId = ToNodeId("i=300");
21404         ref.TargetNodeClass = NodeClass::DataType;
21405         ref.TargetNodeId = ToNodeId("i=8294");
21406         refs.push_back(ref);
21407         }
21408         registry.AddReferences(refs);
21409         }
21410        
21411         {
21412         AddNodesItem node;
21413         node.RequestedNewNodeId = ToNodeId("i=875");
21414         node.BrowseName = ToQualifiedName("Default XML");
21415         node.Class = NodeClass::Object;
21416         node.ParentNodeId = ToNodeId("i=874");
21417         node.ReferenceTypeId = ReferenceId::HasEncoding;
21418         node.TypeDefinition = ToNodeId("i=76");
21419         ObjectAttributes attrs;
21420         attrs.DisplayName = LocalizedText("Default XML");
21421         attrs.EventNotifier = 0;
21422         node.Attributes = attrs;
21423         registry.AddNodes(std::vector<AddNodesItem>{node});
21424         std::vector<AddReferencesItem> refs;
21425         {
21426         AddReferencesItem ref;
21427         ref.IsForward = true;
21428         ref.ReferenceTypeId = ReferenceId::HasDescription;
21429         ref.SourceNodeId = ToNodeId("i=875");
21430         ref.TargetNodeClass = NodeClass::DataType;
21431         ref.TargetNodeId = ToNodeId("i=8864");
21432         refs.push_back(ref);
21433         }
21434         registry.AddReferences(refs);
21435         }
21436        
21437         {
21438         AddNodesItem node;
21439         node.RequestedNewNodeId = ToNodeId("i=878");
21440         node.BrowseName = ToQualifiedName("Default XML");
21441         node.Class = NodeClass::Object;
21442         node.ParentNodeId = ToNodeId("i=877");
21443         node.ReferenceTypeId = ReferenceId::HasEncoding;
21444         node.TypeDefinition = ToNodeId("i=76");
21445         ObjectAttributes attrs;
21446         attrs.DisplayName = LocalizedText("Default XML");
21447         attrs.EventNotifier = 0;
21448         node.Attributes = attrs;
21449         registry.AddNodes(std::vector<AddNodesItem>{node});
21450         std::vector<AddReferencesItem> refs;
21451         {
21452         AddReferencesItem ref;
21453         ref.IsForward = true;
21454         ref.ReferenceTypeId = ReferenceId::HasDescription;
21455         ref.SourceNodeId = ToNodeId("i=878");
21456         ref.TargetNodeClass = NodeClass::DataType;
21457         ref.TargetNodeId = ToNodeId("i=8867");
21458         refs.push_back(ref);
21459         }
21460         registry.AddReferences(refs);
21461         }
21462        
21463         {
21464         AddNodesItem node;
21465         node.RequestedNewNodeId = ToNodeId("i=898");
21466         node.BrowseName = ToQualifiedName("Default XML");
21467         node.Class = NodeClass::Object;
21468         node.ParentNodeId = ToNodeId("i=897");
21469         node.ReferenceTypeId = ReferenceId::HasEncoding;
21470         node.TypeDefinition = ToNodeId("i=76");
21471         ObjectAttributes attrs;
21472         attrs.DisplayName = LocalizedText("Default XML");
21473         attrs.EventNotifier = 0;
21474         node.Attributes = attrs;
21475         registry.AddNodes(std::vector<AddNodesItem>{node});
21476         std::vector<AddReferencesItem> refs;
21477         {
21478         AddReferencesItem ref;
21479         ref.IsForward = true;
21480         ref.ReferenceTypeId = ReferenceId::HasDescription;
21481         ref.SourceNodeId = ToNodeId("i=898");
21482         ref.TargetNodeClass = NodeClass::DataType;
21483         ref.TargetNodeId = ToNodeId("i=8870");
21484         refs.push_back(ref);
21485         }
21486         registry.AddReferences(refs);
21487         }
21488        
21489         {
21490         AddNodesItem node;
21491         node.RequestedNewNodeId = ToNodeId("i=8252");
21492         node.BrowseName = ToQualifiedName("Opc.Ua");
21493         node.Class = NodeClass::Variable;
21494         node.ParentNodeId = ToNodeId("i=92");
21495         node.ReferenceTypeId = ReferenceId::HasComponent;
21496         node.TypeDefinition = ToNodeId("i=72");
21497         VariableAttributes attrs;
21498         attrs.DisplayName = LocalizedText("Opc.Ua");
21499         attrs.Type = ObjectId::ByteString;
21500         attrs.Rank = -1;
21501         node.Attributes = attrs;
21502         registry.AddNodes(std::vector<AddNodesItem>{node});
21503         std::vector<AddReferencesItem> refs;
21504         {
21505         AddReferencesItem ref;
21506         ref.IsForward = true;
21507         ref.ReferenceTypeId = ReferenceId::HasProperty;
21508         ref.SourceNodeId = ToNodeId("i=8252");
21509         ref.TargetNodeClass = NodeClass::DataType;
21510         ref.TargetNodeId = ToNodeId("i=8254");
21511         refs.push_back(ref);
21512         }
21513         {
21514         AddReferencesItem ref;
21515         ref.IsForward = true;
21516         ref.ReferenceTypeId = ReferenceId::HasComponent;
21517         ref.SourceNodeId = ToNodeId("i=8252");
21518         ref.TargetNodeClass = NodeClass::DataType;
21519         ref.TargetNodeId = ToNodeId("i=8285");
21520         refs.push_back(ref);
21521         }
21522         {
21523         AddReferencesItem ref;
21524         ref.IsForward = true;
21525         ref.ReferenceTypeId = ReferenceId::HasComponent;
21526         ref.SourceNodeId = ToNodeId("i=8252");
21527         ref.TargetNodeClass = NodeClass::DataType;
21528         ref.TargetNodeId = ToNodeId("i=8291");
21529         refs.push_back(ref);
21530         }
21531         {
21532         AddReferencesItem ref;
21533         ref.IsForward = true;
21534         ref.ReferenceTypeId = ReferenceId::HasComponent;
21535         ref.SourceNodeId = ToNodeId("i=8252");
21536         ref.TargetNodeClass = NodeClass::DataType;
21537         ref.TargetNodeId = ToNodeId("i=8918");
21538         refs.push_back(ref);
21539         }
21540         {
21541         AddReferencesItem ref;
21542         ref.IsForward = true;
21543         ref.ReferenceTypeId = ReferenceId::HasComponent;
21544         ref.SourceNodeId = ToNodeId("i=8252");
21545         ref.TargetNodeClass = NodeClass::DataType;
21546         ref.TargetNodeId = ToNodeId("i=8300");
21547         refs.push_back(ref);
21548         }
21549         {
21550         AddReferencesItem ref;
21551         ref.IsForward = true;
21552         ref.ReferenceTypeId = ReferenceId::HasComponent;
21553         ref.SourceNodeId = ToNodeId("i=8252");
21554         ref.TargetNodeClass = NodeClass::DataType;
21555         ref.TargetNodeId = ToNodeId("i=8297");
21556         refs.push_back(ref);
21557         }
21558         {
21559         AddReferencesItem ref;
21560         ref.IsForward = true;
21561         ref.ReferenceTypeId = ReferenceId::HasComponent;
21562         ref.SourceNodeId = ToNodeId("i=8252");
21563         ref.TargetNodeClass = NodeClass::DataType;
21564         ref.TargetNodeId = ToNodeId("i=8303");
21565         refs.push_back(ref);
21566         }
21567         {
21568         AddReferencesItem ref;
21569         ref.IsForward = true;
21570         ref.ReferenceTypeId = ReferenceId::HasComponent;
21571         ref.SourceNodeId = ToNodeId("i=8252");
21572         ref.TargetNodeClass = NodeClass::DataType;
21573         ref.TargetNodeId = ToNodeId("i=8417");
21574         refs.push_back(ref);
21575         }
21576         {
21577         AddReferencesItem ref;
21578         ref.IsForward = true;
21579         ref.ReferenceTypeId = ReferenceId::HasComponent;
21580         ref.SourceNodeId = ToNodeId("i=8252");
21581         ref.TargetNodeClass = NodeClass::DataType;
21582         ref.TargetNodeId = ToNodeId("i=8333");
21583         refs.push_back(ref);
21584         }
21585         {
21586         AddReferencesItem ref;
21587         ref.IsForward = true;
21588         ref.ReferenceTypeId = ReferenceId::HasComponent;
21589         ref.SourceNodeId = ToNodeId("i=8252");
21590         ref.TargetNodeClass = NodeClass::DataType;
21591         ref.TargetNodeId = ToNodeId("i=8306");
21592         refs.push_back(ref);
21593         }
21594         {
21595         AddReferencesItem ref;
21596         ref.IsForward = true;
21597         ref.ReferenceTypeId = ReferenceId::HasComponent;
21598         ref.SourceNodeId = ToNodeId("i=8252");
21599         ref.TargetNodeClass = NodeClass::DataType;
21600         ref.TargetNodeId = ToNodeId("i=8309");
21601         refs.push_back(ref);
21602         }
21603         {
21604         AddReferencesItem ref;
21605         ref.IsForward = true;
21606         ref.ReferenceTypeId = ReferenceId::HasComponent;
21607         ref.SourceNodeId = ToNodeId("i=8252");
21608         ref.TargetNodeClass = NodeClass::DataType;
21609         ref.TargetNodeId = ToNodeId("i=8312");
21610         refs.push_back(ref);
21611         }
21612         {
21613         AddReferencesItem ref;
21614         ref.IsForward = true;
21615         ref.ReferenceTypeId = ReferenceId::HasComponent;
21616         ref.SourceNodeId = ToNodeId("i=8252");
21617         ref.TargetNodeClass = NodeClass::DataType;
21618         ref.TargetNodeId = ToNodeId("i=8315");
21619         refs.push_back(ref);
21620         }
21621         {
21622         AddReferencesItem ref;
21623         ref.IsForward = true;
21624         ref.ReferenceTypeId = ReferenceId::HasComponent;
21625         ref.SourceNodeId = ToNodeId("i=8252");
21626         ref.TargetNodeClass = NodeClass::DataType;
21627         ref.TargetNodeId = ToNodeId("i=8318");
21628         refs.push_back(ref);
21629         }
21630         {
21631         AddReferencesItem ref;
21632         ref.IsForward = true;
21633         ref.ReferenceTypeId = ReferenceId::HasComponent;
21634         ref.SourceNodeId = ToNodeId("i=8252");
21635         ref.TargetNodeClass = NodeClass::DataType;
21636         ref.TargetNodeId = ToNodeId("i=8363");
21637         refs.push_back(ref);
21638         }
21639         {
21640         AddReferencesItem ref;
21641         ref.IsForward = true;
21642         ref.ReferenceTypeId = ReferenceId::HasComponent;
21643         ref.SourceNodeId = ToNodeId("i=8252");
21644         ref.TargetNodeClass = NodeClass::DataType;
21645         ref.TargetNodeId = ToNodeId("i=8366");
21646         refs.push_back(ref);
21647         }
21648         {
21649         AddReferencesItem ref;
21650         ref.IsForward = true;
21651         ref.ReferenceTypeId = ReferenceId::HasComponent;
21652         ref.SourceNodeId = ToNodeId("i=8252");
21653         ref.TargetNodeClass = NodeClass::DataType;
21654         ref.TargetNodeId = ToNodeId("i=8369");
21655         refs.push_back(ref);
21656         }
21657         {
21658         AddReferencesItem ref;
21659         ref.IsForward = true;
21660         ref.ReferenceTypeId = ReferenceId::HasComponent;
21661         ref.SourceNodeId = ToNodeId("i=8252");
21662         ref.TargetNodeClass = NodeClass::DataType;
21663         ref.TargetNodeId = ToNodeId("i=8372");
21664         refs.push_back(ref);
21665         }
21666         {
21667         AddReferencesItem ref;
21668         ref.IsForward = true;
21669         ref.ReferenceTypeId = ReferenceId::HasComponent;
21670         ref.SourceNodeId = ToNodeId("i=8252");
21671         ref.TargetNodeClass = NodeClass::DataType;
21672         ref.TargetNodeId = ToNodeId("i=8321");
21673         refs.push_back(ref);
21674         }
21675         {
21676         AddReferencesItem ref;
21677         ref.IsForward = true;
21678         ref.ReferenceTypeId = ReferenceId::HasComponent;
21679         ref.SourceNodeId = ToNodeId("i=8252");
21680         ref.TargetNodeClass = NodeClass::DataType;
21681         ref.TargetNodeId = ToNodeId("i=8324");
21682         refs.push_back(ref);
21683         }
21684         {
21685         AddReferencesItem ref;
21686         ref.IsForward = true;
21687         ref.ReferenceTypeId = ReferenceId::HasComponent;
21688         ref.SourceNodeId = ToNodeId("i=8252");
21689         ref.TargetNodeClass = NodeClass::DataType;
21690         ref.TargetNodeId = ToNodeId("i=8330");
21691         refs.push_back(ref);
21692         }
21693         {
21694         AddReferencesItem ref;
21695         ref.IsForward = true;
21696         ref.ReferenceTypeId = ReferenceId::HasComponent;
21697         ref.SourceNodeId = ToNodeId("i=8252");
21698         ref.TargetNodeClass = NodeClass::DataType;
21699         ref.TargetNodeId = ToNodeId("i=8564");
21700         refs.push_back(ref);
21701         }
21702         {
21703         AddReferencesItem ref;
21704         ref.IsForward = true;
21705         ref.ReferenceTypeId = ReferenceId::HasComponent;
21706         ref.SourceNodeId = ToNodeId("i=8252");
21707         ref.TargetNodeClass = NodeClass::DataType;
21708         ref.TargetNodeId = ToNodeId("i=8567");
21709         refs.push_back(ref);
21710         }
21711         {
21712         AddReferencesItem ref;
21713         ref.IsForward = true;
21714         ref.ReferenceTypeId = ReferenceId::HasComponent;
21715         ref.SourceNodeId = ToNodeId("i=8252");
21716         ref.TargetNodeClass = NodeClass::DataType;
21717         ref.TargetNodeId = ToNodeId("i=8570");
21718         refs.push_back(ref);
21719         }
21720         {
21721         AddReferencesItem ref;
21722         ref.IsForward = true;
21723         ref.ReferenceTypeId = ReferenceId::HasComponent;
21724         ref.SourceNodeId = ToNodeId("i=8252");
21725         ref.TargetNodeClass = NodeClass::DataType;
21726         ref.TargetNodeId = ToNodeId("i=8573");
21727         refs.push_back(ref);
21728         }
21729         {
21730         AddReferencesItem ref;
21731         ref.IsForward = true;
21732         ref.ReferenceTypeId = ReferenceId::HasComponent;
21733         ref.SourceNodeId = ToNodeId("i=8252");
21734         ref.TargetNodeClass = NodeClass::DataType;
21735         ref.TargetNodeId = ToNodeId("i=8576");
21736         refs.push_back(ref);
21737         }
21738         {
21739         AddReferencesItem ref;
21740         ref.IsForward = true;
21741         ref.ReferenceTypeId = ReferenceId::HasComponent;
21742         ref.SourceNodeId = ToNodeId("i=8252");
21743         ref.TargetNodeClass = NodeClass::DataType;
21744         ref.TargetNodeId = ToNodeId("i=8579");
21745         refs.push_back(ref);
21746         }
21747         {
21748         AddReferencesItem ref;
21749         ref.IsForward = true;
21750         ref.ReferenceTypeId = ReferenceId::HasComponent;
21751         ref.SourceNodeId = ToNodeId("i=8252");
21752         ref.TargetNodeClass = NodeClass::DataType;
21753         ref.TargetNodeId = ToNodeId("i=8582");
21754         refs.push_back(ref);
21755         }
21756         {
21757         AddReferencesItem ref;
21758         ref.IsForward = true;
21759         ref.ReferenceTypeId = ReferenceId::HasComponent;
21760         ref.SourceNodeId = ToNodeId("i=8252");
21761         ref.TargetNodeClass = NodeClass::DataType;
21762         ref.TargetNodeId = ToNodeId("i=8639");
21763         refs.push_back(ref);
21764         }
21765         {
21766         AddReferencesItem ref;
21767         ref.IsForward = true;
21768         ref.ReferenceTypeId = ReferenceId::HasComponent;
21769         ref.SourceNodeId = ToNodeId("i=8252");
21770         ref.TargetNodeClass = NodeClass::DataType;
21771         ref.TargetNodeId = ToNodeId("i=8702");
21772         refs.push_back(ref);
21773         }
21774         {
21775         AddReferencesItem ref;
21776         ref.IsForward = true;
21777         ref.ReferenceTypeId = ReferenceId::HasComponent;
21778         ref.SourceNodeId = ToNodeId("i=8252");
21779         ref.TargetNodeClass = NodeClass::DataType;
21780         ref.TargetNodeId = ToNodeId("i=8708");
21781         refs.push_back(ref);
21782         }
21783         {
21784         AddReferencesItem ref;
21785         ref.IsForward = true;
21786         ref.ReferenceTypeId = ReferenceId::HasComponent;
21787         ref.SourceNodeId = ToNodeId("i=8252");
21788         ref.TargetNodeClass = NodeClass::DataType;
21789         ref.TargetNodeId = ToNodeId("i=8711");
21790         refs.push_back(ref);
21791         }
21792         {
21793         AddReferencesItem ref;
21794         ref.IsForward = true;
21795         ref.ReferenceTypeId = ReferenceId::HasComponent;
21796         ref.SourceNodeId = ToNodeId("i=8252");
21797         ref.TargetNodeClass = NodeClass::DataType;
21798         ref.TargetNodeId = ToNodeId("i=8807");
21799         refs.push_back(ref);
21800         }
21801         {
21802         AddReferencesItem ref;
21803         ref.IsForward = true;
21804         ref.ReferenceTypeId = ReferenceId::HasComponent;
21805         ref.SourceNodeId = ToNodeId("i=8252");
21806         ref.TargetNodeClass = NodeClass::DataType;
21807         ref.TargetNodeId = ToNodeId("i=8384");
21808         refs.push_back(ref);
21809         }
21810         {
21811         AddReferencesItem ref;
21812         ref.IsForward = true;
21813         ref.ReferenceTypeId = ReferenceId::HasComponent;
21814         ref.SourceNodeId = ToNodeId("i=8252");
21815         ref.TargetNodeClass = NodeClass::DataType;
21816         ref.TargetNodeId = ToNodeId("i=8387");
21817         refs.push_back(ref);
21818         }
21819         {
21820         AddReferencesItem ref;
21821         ref.IsForward = true;
21822         ref.ReferenceTypeId = ReferenceId::HasComponent;
21823         ref.SourceNodeId = ToNodeId("i=8252");
21824         ref.TargetNodeClass = NodeClass::DataType;
21825         ref.TargetNodeId = ToNodeId("i=8390");
21826         refs.push_back(ref);
21827         }
21828         {
21829         AddReferencesItem ref;
21830         ref.IsForward = true;
21831         ref.ReferenceTypeId = ReferenceId::HasComponent;
21832         ref.SourceNodeId = ToNodeId("i=8252");
21833         ref.TargetNodeClass = NodeClass::DataType;
21834         ref.TargetNodeId = ToNodeId("i=8327");
21835         refs.push_back(ref);
21836         }
21837         {
21838         AddReferencesItem ref;
21839         ref.IsForward = true;
21840         ref.ReferenceTypeId = ReferenceId::HasComponent;
21841         ref.SourceNodeId = ToNodeId("i=8252");
21842         ref.TargetNodeClass = NodeClass::DataType;
21843         ref.TargetNodeId = ToNodeId("i=8843");
21844         refs.push_back(ref);
21845         }
21846         {
21847         AddReferencesItem ref;
21848         ref.IsForward = true;
21849         ref.ReferenceTypeId = ReferenceId::HasComponent;
21850         ref.SourceNodeId = ToNodeId("i=8252");
21851         ref.TargetNodeClass = NodeClass::DataType;
21852         ref.TargetNodeId = ToNodeId("i=11951");
21853         refs.push_back(ref);
21854         }
21855         {
21856         AddReferencesItem ref;
21857         ref.IsForward = true;
21858         ref.ReferenceTypeId = ReferenceId::HasComponent;
21859         ref.SourceNodeId = ToNodeId("i=8252");
21860         ref.TargetNodeClass = NodeClass::DataType;
21861         ref.TargetNodeId = ToNodeId("i=11954");
21862         refs.push_back(ref);
21863         }
21864         {
21865         AddReferencesItem ref;
21866         ref.IsForward = true;
21867         ref.ReferenceTypeId = ReferenceId::HasComponent;
21868         ref.SourceNodeId = ToNodeId("i=8252");
21869         ref.TargetNodeClass = NodeClass::DataType;
21870         ref.TargetNodeId = ToNodeId("i=8846");
21871         refs.push_back(ref);
21872         }
21873         {
21874         AddReferencesItem ref;
21875         ref.IsForward = true;
21876         ref.ReferenceTypeId = ReferenceId::HasComponent;
21877         ref.SourceNodeId = ToNodeId("i=8252");
21878         ref.TargetNodeClass = NodeClass::DataType;
21879         ref.TargetNodeId = ToNodeId("i=8849");
21880         refs.push_back(ref);
21881         }
21882         {
21883         AddReferencesItem ref;
21884         ref.IsForward = true;
21885         ref.ReferenceTypeId = ReferenceId::HasComponent;
21886         ref.SourceNodeId = ToNodeId("i=8252");
21887         ref.TargetNodeClass = NodeClass::DataType;
21888         ref.TargetNodeId = ToNodeId("i=8852");
21889         refs.push_back(ref);
21890         }
21891         {
21892         AddReferencesItem ref;
21893         ref.IsForward = true;
21894         ref.ReferenceTypeId = ReferenceId::HasComponent;
21895         ref.SourceNodeId = ToNodeId("i=8252");
21896         ref.TargetNodeClass = NodeClass::DataType;
21897         ref.TargetNodeId = ToNodeId("i=8855");
21898         refs.push_back(ref);
21899         }
21900         {
21901         AddReferencesItem ref;
21902         ref.IsForward = true;
21903         ref.ReferenceTypeId = ReferenceId::HasComponent;
21904         ref.SourceNodeId = ToNodeId("i=8252");
21905         ref.TargetNodeClass = NodeClass::DataType;
21906         ref.TargetNodeId = ToNodeId("i=8858");
21907         refs.push_back(ref);
21908         }
21909         {
21910         AddReferencesItem ref;
21911         ref.IsForward = true;
21912         ref.ReferenceTypeId = ReferenceId::HasComponent;
21913         ref.SourceNodeId = ToNodeId("i=8252");
21914         ref.TargetNodeClass = NodeClass::DataType;
21915         ref.TargetNodeId = ToNodeId("i=8861");
21916         refs.push_back(ref);
21917         }
21918         {
21919         AddReferencesItem ref;
21920         ref.IsForward = true;
21921         ref.ReferenceTypeId = ReferenceId::HasComponent;
21922         ref.SourceNodeId = ToNodeId("i=8252");
21923         ref.TargetNodeClass = NodeClass::DataType;
21924         ref.TargetNodeId = ToNodeId("i=8294");
21925         refs.push_back(ref);
21926         }
21927         {
21928         AddReferencesItem ref;
21929         ref.IsForward = true;
21930         ref.ReferenceTypeId = ReferenceId::HasComponent;
21931         ref.SourceNodeId = ToNodeId("i=8252");
21932         ref.TargetNodeClass = NodeClass::DataType;
21933         ref.TargetNodeId = ToNodeId("i=8864");
21934         refs.push_back(ref);
21935         }
21936         {
21937         AddReferencesItem ref;
21938         ref.IsForward = true;
21939         ref.ReferenceTypeId = ReferenceId::HasComponent;
21940         ref.SourceNodeId = ToNodeId("i=8252");
21941         ref.TargetNodeClass = NodeClass::DataType;
21942         ref.TargetNodeId = ToNodeId("i=8867");
21943         refs.push_back(ref);
21944         }
21945         {
21946         AddReferencesItem ref;
21947         ref.IsForward = true;
21948         ref.ReferenceTypeId = ReferenceId::HasComponent;
21949         ref.SourceNodeId = ToNodeId("i=8252");
21950         ref.TargetNodeClass = NodeClass::DataType;
21951         ref.TargetNodeId = ToNodeId("i=8870");
21952         refs.push_back(ref);
21953         }
21954         {
21955         AddReferencesItem ref;
21956         ref.IsForward = true;
21957         ref.ReferenceTypeId = ReferenceId::HasComponent;
21958         ref.SourceNodeId = ToNodeId("i=8252");
21959         ref.TargetNodeClass = NodeClass::DataType;
21960         ref.TargetNodeId = ToNodeId("i=8873");
21961         refs.push_back(ref);
21962         }
21963         {
21964         AddReferencesItem ref;
21965         ref.IsForward = true;
21966         ref.ReferenceTypeId = ReferenceId::HasComponent;
21967         ref.SourceNodeId = ToNodeId("i=8252");
21968         ref.TargetNodeClass = NodeClass::DataType;
21969         ref.TargetNodeId = ToNodeId("i=8876");
21970         refs.push_back(ref);
21971         }
21972         {
21973         AddReferencesItem ref;
21974         ref.IsForward = true;
21975         ref.ReferenceTypeId = ReferenceId::HasComponent;
21976         ref.SourceNodeId = ToNodeId("i=8252");
21977         ref.TargetNodeClass = NodeClass::DataType;
21978         ref.TargetNodeId = ToNodeId("i=12175");
21979         refs.push_back(ref);
21980         }
21981         {
21982         AddReferencesItem ref;
21983         ref.IsForward = true;
21984         ref.ReferenceTypeId = ReferenceId::HasComponent;
21985         ref.SourceNodeId = ToNodeId("i=8252");
21986         ref.TargetNodeClass = NodeClass::DataType;
21987         ref.TargetNodeId = ToNodeId("i=12178");
21988         refs.push_back(ref);
21989         }
21990         {
21991         AddReferencesItem ref;
21992         ref.IsForward = true;
21993         ref.ReferenceTypeId = ReferenceId::HasComponent;
21994         ref.SourceNodeId = ToNodeId("i=8252");
21995         ref.TargetNodeClass = NodeClass::DataType;
21996         ref.TargetNodeId = ToNodeId("i=12083");
21997         refs.push_back(ref);
21998         }
21999         {
22000         AddReferencesItem ref;
22001         ref.IsForward = true;
22002         ref.ReferenceTypeId = ReferenceId::HasComponent;
22003         ref.SourceNodeId = ToNodeId("i=8252");
22004         ref.TargetNodeClass = NodeClass::DataType;
22005         ref.TargetNodeId = ToNodeId("i=12086");
22006         refs.push_back(ref);
22007         }
22008         {
22009         AddReferencesItem ref;
22010         ref.IsForward = true;
22011         ref.ReferenceTypeId = ReferenceId::HasComponent;
22012         ref.SourceNodeId = ToNodeId("i=8252");
22013         ref.TargetNodeClass = NodeClass::DataType;
22014         ref.TargetNodeId = ToNodeId("i=8882");
22015         refs.push_back(ref);
22016         }
22017         {
22018         AddReferencesItem ref;
22019         ref.IsForward = true;
22020         ref.ReferenceTypeId = ReferenceId::HasComponent;
22021         ref.SourceNodeId = ToNodeId("i=8252");
22022         ref.TargetNodeClass = NodeClass::DataType;
22023         ref.TargetNodeId = ToNodeId("i=8879");
22024         refs.push_back(ref);
22025         }
22026         registry.AddReferences(refs);
22027         }
22028        
22029         {
22030         AddNodesItem node;
22031         node.RequestedNewNodeId = ToNodeId("i=8254");
22032         node.BrowseName = ToQualifiedName("NamespaceUri");
22033         node.Class = NodeClass::Variable;
22034         node.ParentNodeId = ToNodeId("i=8252");
22035         node.ReferenceTypeId = ReferenceId::HasProperty;
22036         node.TypeDefinition = ToNodeId("i=68");
22037         VariableAttributes attrs;
22038         attrs.Description = LocalizedText("A URI that uniquely identifies the dictionary.");
22039         attrs.DisplayName = LocalizedText("NamespaceUri");
22040         attrs.Type = ObjectId::String;
22041         attrs.Value = +"http://opcfoundation.org/UA/2008/02/Types.xsd";
22042         attrs.Rank = -1;
22043         node.Attributes = attrs;
22044         registry.AddNodes(std::vector<AddNodesItem>{node});
22045         }
22046        
22047         {
22048         AddNodesItem node;
22049         node.RequestedNewNodeId = ToNodeId("i=8285");
22050         node.BrowseName = ToQualifiedName("Argument");
22051         node.Class = NodeClass::Variable;
22052         node.ParentNodeId = ToNodeId("i=8252");
22053         node.ReferenceTypeId = ReferenceId::HasComponent;
22054         node.TypeDefinition = ToNodeId("i=69");
22055         VariableAttributes attrs;
22056         attrs.DisplayName = LocalizedText("Argument");
22057         attrs.Type = ObjectId::String;
22058         attrs.Value = +"//xs:element[@name='Argument']";
22059         attrs.Rank = -1;
22060         node.Attributes = attrs;
22061         registry.AddNodes(std::vector<AddNodesItem>{node});
22062         }
22063        
22064         {
22065         AddNodesItem node;
22066         node.RequestedNewNodeId = ToNodeId("i=8291");
22067         node.BrowseName = ToQualifiedName("EnumValueType");
22068         node.Class = NodeClass::Variable;
22069         node.ParentNodeId = ToNodeId("i=8252");
22070         node.ReferenceTypeId = ReferenceId::HasComponent;
22071         node.TypeDefinition = ToNodeId("i=69");
22072         VariableAttributes attrs;
22073         attrs.DisplayName = LocalizedText("EnumValueType");
22074         attrs.Type = ObjectId::String;
22075         attrs.Value = +"//xs:element[@name='EnumValueType']";
22076         attrs.Rank = -1;
22077         node.Attributes = attrs;
22078         registry.AddNodes(std::vector<AddNodesItem>{node});
22079         }
22080        
22081         {
22082         AddNodesItem node;
22083         node.RequestedNewNodeId = ToNodeId("i=8918");
22084         node.BrowseName = ToQualifiedName("TimeZoneDataType");
22085         node.Class = NodeClass::Variable;
22086         node.ParentNodeId = ToNodeId("i=8252");
22087         node.ReferenceTypeId = ReferenceId::HasComponent;
22088         node.TypeDefinition = ToNodeId("i=69");
22089         VariableAttributes attrs;
22090         attrs.DisplayName = LocalizedText("TimeZoneDataType");
22091         attrs.Type = ObjectId::String;
22092         attrs.Value = +"//xs:element[@name='TimeZoneDataType']";
22093         attrs.Rank = -1;
22094         node.Attributes = attrs;
22095         registry.AddNodes(std::vector<AddNodesItem>{node});
22096         }
22097        
22098         {
22099         AddNodesItem node;
22100         node.RequestedNewNodeId = ToNodeId("i=8300");
22101         node.BrowseName = ToQualifiedName("ApplicationDescription");
22102         node.Class = NodeClass::Variable;
22103         node.ParentNodeId = ToNodeId("i=8252");
22104         node.ReferenceTypeId = ReferenceId::HasComponent;
22105         node.TypeDefinition = ToNodeId("i=69");
22106         VariableAttributes attrs;
22107         attrs.DisplayName = LocalizedText("ApplicationDescription");
22108         attrs.Type = ObjectId::String;
22109         attrs.Value = +"//xs:element[@name='ApplicationDescription']";
22110         attrs.Rank = -1;
22111         node.Attributes = attrs;
22112         registry.AddNodes(std::vector<AddNodesItem>{node});
22113         }
22114        
22115         {
22116         AddNodesItem node;
22117         node.RequestedNewNodeId = ToNodeId("i=8297");
22118         node.BrowseName = ToQualifiedName("UserTokenPolicy");
22119         node.Class = NodeClass::Variable;
22120         node.ParentNodeId = ToNodeId("i=8252");
22121         node.ReferenceTypeId = ReferenceId::HasComponent;
22122         node.TypeDefinition = ToNodeId("i=69");
22123         VariableAttributes attrs;
22124         attrs.DisplayName = LocalizedText("UserTokenPolicy");
22125         attrs.Type = ObjectId::String;
22126         attrs.Value = +"//xs:element[@name='UserTokenPolicy']";
22127         attrs.Rank = -1;
22128         node.Attributes = attrs;
22129         registry.AddNodes(std::vector<AddNodesItem>{node});
22130         }
22131        
22132         {
22133         AddNodesItem node;
22134         node.RequestedNewNodeId = ToNodeId("i=8303");
22135         node.BrowseName = ToQualifiedName("EndpointDescription");
22136         node.Class = NodeClass::Variable;
22137         node.ParentNodeId = ToNodeId("i=8252");
22138         node.ReferenceTypeId = ReferenceId::HasComponent;
22139         node.TypeDefinition = ToNodeId("i=69");
22140         VariableAttributes attrs;
22141         attrs.DisplayName = LocalizedText("EndpointDescription");
22142         attrs.Type = ObjectId::String;
22143         attrs.Value = +"//xs:element[@name='EndpointDescription']";
22144         attrs.Rank = -1;
22145         node.Attributes = attrs;
22146         registry.AddNodes(std::vector<AddNodesItem>{node});
22147         }
22148        
22149         {
22150         AddNodesItem node;
22151         node.RequestedNewNodeId = ToNodeId("i=8417");
22152         node.BrowseName = ToQualifiedName("RegisteredServer");
22153         node.Class = NodeClass::Variable;
22154         node.ParentNodeId = ToNodeId("i=8252");
22155         node.ReferenceTypeId = ReferenceId::HasComponent;
22156         node.TypeDefinition = ToNodeId("i=69");
22157         VariableAttributes attrs;
22158         attrs.DisplayName = LocalizedText("RegisteredServer");
22159         attrs.Type = ObjectId::String;
22160         attrs.Value = +"//xs:element[@name='RegisteredServer']";
22161         attrs.Rank = -1;
22162         node.Attributes = attrs;
22163         registry.AddNodes(std::vector<AddNodesItem>{node});
22164         }
22165        
22166         {
22167         AddNodesItem node;
22168         node.RequestedNewNodeId = ToNodeId("i=8333");
22169         node.BrowseName = ToQualifiedName("SignedSoftwareCertificate");
22170         node.Class = NodeClass::Variable;
22171         node.ParentNodeId = ToNodeId("i=8252");
22172         node.ReferenceTypeId = ReferenceId::HasComponent;
22173         node.TypeDefinition = ToNodeId("i=69");
22174         VariableAttributes attrs;
22175         attrs.DisplayName = LocalizedText("SignedSoftwareCertificate");
22176         attrs.Type = ObjectId::String;
22177         attrs.Value = +"//xs:element[@name='SignedSoftwareCertificate']";
22178         attrs.Rank = -1;
22179         node.Attributes = attrs;
22180         registry.AddNodes(std::vector<AddNodesItem>{node});
22181         }
22182        
22183         {
22184         AddNodesItem node;
22185         node.RequestedNewNodeId = ToNodeId("i=8306");
22186         node.BrowseName = ToQualifiedName("UserIdentityToken");
22187         node.Class = NodeClass::Variable;
22188         node.ParentNodeId = ToNodeId("i=8252");
22189         node.ReferenceTypeId = ReferenceId::HasComponent;
22190         node.TypeDefinition = ToNodeId("i=69");
22191         VariableAttributes attrs;
22192         attrs.DisplayName = LocalizedText("UserIdentityToken");
22193         attrs.Type = ObjectId::String;
22194         attrs.Value = +"//xs:element[@name='UserIdentityToken']";
22195         attrs.Rank = -1;
22196         node.Attributes = attrs;
22197         registry.AddNodes(std::vector<AddNodesItem>{node});
22198         }
22199        
22200         {
22201         AddNodesItem node;
22202         node.RequestedNewNodeId = ToNodeId("i=8309");
22203         node.BrowseName = ToQualifiedName("AnonymousIdentityToken");
22204         node.Class = NodeClass::Variable;
22205         node.ParentNodeId = ToNodeId("i=8252");
22206         node.ReferenceTypeId = ReferenceId::HasComponent;
22207         node.TypeDefinition = ToNodeId("i=69");
22208         VariableAttributes attrs;
22209         attrs.DisplayName = LocalizedText("AnonymousIdentityToken");
22210         attrs.Type = ObjectId::String;
22211         attrs.Value = +"//xs:element[@name='AnonymousIdentityToken']";
22212         attrs.Rank = -1;
22213         node.Attributes = attrs;
22214         registry.AddNodes(std::vector<AddNodesItem>{node});
22215         }
22216        
22217         {
22218         AddNodesItem node;
22219         node.RequestedNewNodeId = ToNodeId("i=8312");
22220         node.BrowseName = ToQualifiedName("UserNameIdentityToken");
22221         node.Class = NodeClass::Variable;
22222         node.ParentNodeId = ToNodeId("i=8252");
22223         node.ReferenceTypeId = ReferenceId::HasComponent;
22224         node.TypeDefinition = ToNodeId("i=69");
22225         VariableAttributes attrs;
22226         attrs.DisplayName = LocalizedText("UserNameIdentityToken");
22227         attrs.Type = ObjectId::String;
22228         attrs.Value = +"//xs:element[@name='UserNameIdentityToken']";
22229         attrs.Rank = -1;
22230         node.Attributes = attrs;
22231         registry.AddNodes(std::vector<AddNodesItem>{node});
22232         }
22233        
22234         {
22235         AddNodesItem node;
22236         node.RequestedNewNodeId = ToNodeId("i=8315");
22237         node.BrowseName = ToQualifiedName("X509IdentityToken");
22238         node.Class = NodeClass::Variable;
22239         node.ParentNodeId = ToNodeId("i=8252");
22240         node.ReferenceTypeId = ReferenceId::HasComponent;
22241         node.TypeDefinition = ToNodeId("i=69");
22242         VariableAttributes attrs;
22243         attrs.DisplayName = LocalizedText("X509IdentityToken");
22244         attrs.Type = ObjectId::String;
22245         attrs.Value = +"//xs:element[@name='X509IdentityToken']";
22246         attrs.Rank = -1;
22247         node.Attributes = attrs;
22248         registry.AddNodes(std::vector<AddNodesItem>{node});
22249         }
22250        
22251         {
22252         AddNodesItem node;
22253         node.RequestedNewNodeId = ToNodeId("i=8318");
22254         node.BrowseName = ToQualifiedName("IssuedIdentityToken");
22255         node.Class = NodeClass::Variable;
22256         node.ParentNodeId = ToNodeId("i=8252");
22257         node.ReferenceTypeId = ReferenceId::HasComponent;
22258         node.TypeDefinition = ToNodeId("i=69");
22259         VariableAttributes attrs;
22260         attrs.DisplayName = LocalizedText("IssuedIdentityToken");
22261         attrs.Type = ObjectId::String;
22262         attrs.Value = +"//xs:element[@name='IssuedIdentityToken']";
22263         attrs.Rank = -1;
22264         node.Attributes = attrs;
22265         registry.AddNodes(std::vector<AddNodesItem>{node});
22266         }
22267        
22268         {
22269         AddNodesItem node;
22270         node.RequestedNewNodeId = ToNodeId("i=8363");
22271         node.BrowseName = ToQualifiedName("AddNodesItem");
22272         node.Class = NodeClass::Variable;
22273         node.ParentNodeId = ToNodeId("i=8252");
22274         node.ReferenceTypeId = ReferenceId::HasComponent;
22275         node.TypeDefinition = ToNodeId("i=69");
22276         VariableAttributes attrs;
22277         attrs.DisplayName = LocalizedText("AddNodesItem");
22278         attrs.Type = ObjectId::String;
22279         attrs.Value = +"//xs:element[@name='AddNodesItem']";
22280         attrs.Rank = -1;
22281         node.Attributes = attrs;
22282         registry.AddNodes(std::vector<AddNodesItem>{node});
22283         }
22284        
22285         {
22286         AddNodesItem node;
22287         node.RequestedNewNodeId = ToNodeId("i=8366");
22288         node.BrowseName = ToQualifiedName("AddReferencesItem");
22289         node.Class = NodeClass::Variable;
22290         node.ParentNodeId = ToNodeId("i=8252");
22291         node.ReferenceTypeId = ReferenceId::HasComponent;
22292         node.TypeDefinition = ToNodeId("i=69");
22293         VariableAttributes attrs;
22294         attrs.DisplayName = LocalizedText("AddReferencesItem");
22295         attrs.Type = ObjectId::String;
22296         attrs.Value = +"//xs:element[@name='AddReferencesItem']";
22297         attrs.Rank = -1;
22298         node.Attributes = attrs;
22299         registry.AddNodes(std::vector<AddNodesItem>{node});
22300         }
22301        
22302         {
22303         AddNodesItem node;
22304         node.RequestedNewNodeId = ToNodeId("i=8369");
22305         node.BrowseName = ToQualifiedName("DeleteNodesItem");
22306         node.Class = NodeClass::Variable;
22307         node.ParentNodeId = ToNodeId("i=8252");
22308         node.ReferenceTypeId = ReferenceId::HasComponent;
22309         node.TypeDefinition = ToNodeId("i=69");
22310         VariableAttributes attrs;
22311         attrs.DisplayName = LocalizedText("DeleteNodesItem");
22312         attrs.Type = ObjectId::String;
22313         attrs.Value = +"//xs:element[@name='DeleteNodesItem']";
22314         attrs.Rank = -1;
22315         node.Attributes = attrs;
22316         registry.AddNodes(std::vector<AddNodesItem>{node});
22317         }
22318        
22319         {
22320         AddNodesItem node;
22321         node.RequestedNewNodeId = ToNodeId("i=8372");
22322         node.BrowseName = ToQualifiedName("DeleteReferencesItem");
22323         node.Class = NodeClass::Variable;
22324         node.ParentNodeId = ToNodeId("i=8252");
22325         node.ReferenceTypeId = ReferenceId::HasComponent;
22326         node.TypeDefinition = ToNodeId("i=69");
22327         VariableAttributes attrs;
22328         attrs.DisplayName = LocalizedText("DeleteReferencesItem");
22329         attrs.Type = ObjectId::String;
22330         attrs.Value = +"//xs:element[@name='DeleteReferencesItem']";
22331         attrs.Rank = -1;
22332         node.Attributes = attrs;
22333         registry.AddNodes(std::vector<AddNodesItem>{node});
22334         }
22335        
22336         {
22337         AddNodesItem node;
22338         node.RequestedNewNodeId = ToNodeId("i=8321");
22339         node.BrowseName = ToQualifiedName("EndpointConfiguration");
22340         node.Class = NodeClass::Variable;
22341         node.ParentNodeId = ToNodeId("i=8252");
22342         node.ReferenceTypeId = ReferenceId::HasComponent;
22343         node.TypeDefinition = ToNodeId("i=69");
22344         VariableAttributes attrs;
22345         attrs.DisplayName = LocalizedText("EndpointConfiguration");
22346         attrs.Type = ObjectId::String;
22347         attrs.Value = +"//xs:element[@name='EndpointConfiguration']";
22348         attrs.Rank = -1;
22349         node.Attributes = attrs;
22350         registry.AddNodes(std::vector<AddNodesItem>{node});
22351         }
22352        
22353         {
22354         AddNodesItem node;
22355         node.RequestedNewNodeId = ToNodeId("i=8324");
22356         node.BrowseName = ToQualifiedName("SupportedProfile");
22357         node.Class = NodeClass::Variable;
22358         node.ParentNodeId = ToNodeId("i=8252");
22359         node.ReferenceTypeId = ReferenceId::HasComponent;
22360         node.TypeDefinition = ToNodeId("i=69");
22361         VariableAttributes attrs;
22362         attrs.DisplayName = LocalizedText("SupportedProfile");
22363         attrs.Type = ObjectId::String;
22364         attrs.Value = +"//xs:element[@name='SupportedProfile']";
22365         attrs.Rank = -1;
22366         node.Attributes = attrs;
22367         registry.AddNodes(std::vector<AddNodesItem>{node});
22368         }
22369        
22370         {
22371         AddNodesItem node;
22372         node.RequestedNewNodeId = ToNodeId("i=8330");
22373         node.BrowseName = ToQualifiedName("SoftwareCertificate");
22374         node.Class = NodeClass::Variable;
22375         node.ParentNodeId = ToNodeId("i=8252");
22376         node.ReferenceTypeId = ReferenceId::HasComponent;
22377         node.TypeDefinition = ToNodeId("i=69");
22378         VariableAttributes attrs;
22379         attrs.DisplayName = LocalizedText("SoftwareCertificate");
22380         attrs.Type = ObjectId::String;
22381         attrs.Value = +"//xs:element[@name='SoftwareCertificate']";
22382         attrs.Rank = -1;
22383         node.Attributes = attrs;
22384         registry.AddNodes(std::vector<AddNodesItem>{node});
22385         }
22386        
22387         {
22388         AddNodesItem node;
22389         node.RequestedNewNodeId = ToNodeId("i=8564");
22390         node.BrowseName = ToQualifiedName("ContentFilterElement");
22391         node.Class = NodeClass::Variable;
22392         node.ParentNodeId = ToNodeId("i=8252");
22393         node.ReferenceTypeId = ReferenceId::HasComponent;
22394         node.TypeDefinition = ToNodeId("i=69");
22395         VariableAttributes attrs;
22396         attrs.DisplayName = LocalizedText("ContentFilterElement");
22397         attrs.Type = ObjectId::String;
22398         attrs.Value = +"//xs:element[@name='ContentFilterElement']";
22399         attrs.Rank = -1;
22400         node.Attributes = attrs;
22401         registry.AddNodes(std::vector<AddNodesItem>{node});
22402         }
22403        
22404         {
22405         AddNodesItem node;
22406         node.RequestedNewNodeId = ToNodeId("i=8567");
22407         node.BrowseName = ToQualifiedName("ContentFilter");
22408         node.Class = NodeClass::Variable;
22409         node.ParentNodeId = ToNodeId("i=8252");
22410         node.ReferenceTypeId = ReferenceId::HasComponent;
22411         node.TypeDefinition = ToNodeId("i=69");
22412         VariableAttributes attrs;
22413         attrs.DisplayName = LocalizedText("ContentFilter");
22414         attrs.Type = ObjectId::String;
22415         attrs.Value = +"//xs:element[@name='ContentFilter']";
22416         attrs.Rank = -1;
22417         node.Attributes = attrs;
22418         registry.AddNodes(std::vector<AddNodesItem>{node});
22419         }
22420        
22421         {
22422         AddNodesItem node;
22423         node.RequestedNewNodeId = ToNodeId("i=8570");
22424         node.BrowseName = ToQualifiedName("FilterOperand");
22425         node.Class = NodeClass::Variable;
22426         node.ParentNodeId = ToNodeId("i=8252");
22427         node.ReferenceTypeId = ReferenceId::HasComponent;
22428         node.TypeDefinition = ToNodeId("i=69");
22429         VariableAttributes attrs;
22430         attrs.DisplayName = LocalizedText("FilterOperand");
22431         attrs.Type = ObjectId::String;
22432         attrs.Value = +"//xs:element[@name='FilterOperand']";
22433         attrs.Rank = -1;
22434         node.Attributes = attrs;
22435         registry.AddNodes(std::vector<AddNodesItem>{node});
22436         }
22437        
22438         {
22439         AddNodesItem node;
22440         node.RequestedNewNodeId = ToNodeId("i=8573");
22441         node.BrowseName = ToQualifiedName("ElementOperand");
22442         node.Class = NodeClass::Variable;
22443         node.ParentNodeId = ToNodeId("i=8252");
22444         node.ReferenceTypeId = ReferenceId::HasComponent;
22445         node.TypeDefinition = ToNodeId("i=69");
22446         VariableAttributes attrs;
22447         attrs.DisplayName = LocalizedText("ElementOperand");
22448         attrs.Type = ObjectId::String;
22449         attrs.Value = +"//xs:element[@name='ElementOperand']";
22450         attrs.Rank = -1;
22451         node.Attributes = attrs;
22452         registry.AddNodes(std::vector<AddNodesItem>{node});
22453         }
22454        
22455         {
22456         AddNodesItem node;
22457         node.RequestedNewNodeId = ToNodeId("i=8576");
22458         node.BrowseName = ToQualifiedName("LiteralOperand");
22459         node.Class = NodeClass::Variable;
22460         node.ParentNodeId = ToNodeId("i=8252");
22461         node.ReferenceTypeId = ReferenceId::HasComponent;
22462         node.TypeDefinition = ToNodeId("i=69");
22463         VariableAttributes attrs;
22464         attrs.DisplayName = LocalizedText("LiteralOperand");
22465         attrs.Type = ObjectId::String;
22466         attrs.Value = +"//xs:element[@name='LiteralOperand']";
22467         attrs.Rank = -1;
22468         node.Attributes = attrs;
22469         registry.AddNodes(std::vector<AddNodesItem>{node});
22470         }
22471        
22472         {
22473         AddNodesItem node;
22474         node.RequestedNewNodeId = ToNodeId("i=8579");
22475         node.BrowseName = ToQualifiedName("AttributeOperand");
22476         node.Class = NodeClass::Variable;
22477         node.ParentNodeId = ToNodeId("i=8252");
22478         node.ReferenceTypeId = ReferenceId::HasComponent;
22479         node.TypeDefinition = ToNodeId("i=69");
22480         VariableAttributes attrs;
22481         attrs.DisplayName = LocalizedText("AttributeOperand");
22482         attrs.Type = ObjectId::String;
22483         attrs.Value = +"//xs:element[@name='AttributeOperand']";
22484         attrs.Rank = -1;
22485         node.Attributes = attrs;
22486         registry.AddNodes(std::vector<AddNodesItem>{node});
22487         }
22488        
22489         {
22490         AddNodesItem node;
22491         node.RequestedNewNodeId = ToNodeId("i=8582");
22492         node.BrowseName = ToQualifiedName("SimpleAttributeOperand");
22493         node.Class = NodeClass::Variable;
22494         node.ParentNodeId = ToNodeId("i=8252");
22495         node.ReferenceTypeId = ReferenceId::HasComponent;
22496         node.TypeDefinition = ToNodeId("i=69");
22497         VariableAttributes attrs;
22498         attrs.DisplayName = LocalizedText("SimpleAttributeOperand");
22499         attrs.Type = ObjectId::String;
22500         attrs.Value = +"//xs:element[@name='SimpleAttributeOperand']";
22501         attrs.Rank = -1;
22502         node.Attributes = attrs;
22503         registry.AddNodes(std::vector<AddNodesItem>{node});
22504         }
22505        
22506         {
22507         AddNodesItem node;
22508         node.RequestedNewNodeId = ToNodeId("i=8639");
22509         node.BrowseName = ToQualifiedName("HistoryEvent");
22510         node.Class = NodeClass::Variable;
22511         node.ParentNodeId = ToNodeId("i=8252");
22512         node.ReferenceTypeId = ReferenceId::HasComponent;
22513         node.TypeDefinition = ToNodeId("i=69");
22514         VariableAttributes attrs;
22515         attrs.DisplayName = LocalizedText("HistoryEvent");
22516         attrs.Type = ObjectId::String;
22517         attrs.Value = +"//xs:element[@name='HistoryEvent']";
22518         attrs.Rank = -1;
22519         node.Attributes = attrs;
22520         registry.AddNodes(std::vector<AddNodesItem>{node});
22521         }
22522        
22523         {
22524         AddNodesItem node;
22525         node.RequestedNewNodeId = ToNodeId("i=8702");
22526         node.BrowseName = ToQualifiedName("MonitoringFilter");
22527         node.Class = NodeClass::Variable;
22528         node.ParentNodeId = ToNodeId("i=8252");
22529         node.ReferenceTypeId = ReferenceId::HasComponent;
22530         node.TypeDefinition = ToNodeId("i=69");
22531         VariableAttributes attrs;
22532         attrs.DisplayName = LocalizedText("MonitoringFilter");
22533         attrs.Type = ObjectId::String;
22534         attrs.Value = +"//xs:element[@name='MonitoringFilter']";
22535         attrs.Rank = -1;
22536         node.Attributes = attrs;
22537         registry.AddNodes(std::vector<AddNodesItem>{node});
22538         }
22539        
22540         {
22541         AddNodesItem node;
22542         node.RequestedNewNodeId = ToNodeId("i=8708");
22543         node.BrowseName = ToQualifiedName("EventFilter");
22544         node.Class = NodeClass::Variable;
22545         node.ParentNodeId = ToNodeId("i=8252");
22546         node.ReferenceTypeId = ReferenceId::HasComponent;
22547         node.TypeDefinition = ToNodeId("i=69");
22548         VariableAttributes attrs;
22549         attrs.DisplayName = LocalizedText("EventFilter");
22550         attrs.Type = ObjectId::String;
22551         attrs.Value = +"//xs:element[@name='EventFilter']";
22552         attrs.Rank = -1;
22553         node.Attributes = attrs;
22554         registry.AddNodes(std::vector<AddNodesItem>{node});
22555         }
22556        
22557         {
22558         AddNodesItem node;
22559         node.RequestedNewNodeId = ToNodeId("i=8711");
22560         node.BrowseName = ToQualifiedName("AggregateConfiguration");
22561         node.Class = NodeClass::Variable;
22562         node.ParentNodeId = ToNodeId("i=8252");
22563         node.ReferenceTypeId = ReferenceId::HasComponent;
22564         node.TypeDefinition = ToNodeId("i=69");
22565         VariableAttributes attrs;
22566         attrs.DisplayName = LocalizedText("AggregateConfiguration");
22567         attrs.Type = ObjectId::String;
22568         attrs.Value = +"//xs:element[@name='AggregateConfiguration']";
22569         attrs.Rank = -1;
22570         node.Attributes = attrs;
22571         registry.AddNodes(std::vector<AddNodesItem>{node});
22572         }
22573        
22574         {
22575         AddNodesItem node;
22576         node.RequestedNewNodeId = ToNodeId("i=8807");
22577         node.BrowseName = ToQualifiedName("HistoryEventFieldList");
22578         node.Class = NodeClass::Variable;
22579         node.ParentNodeId = ToNodeId("i=8252");
22580         node.ReferenceTypeId = ReferenceId::HasComponent;
22581         node.TypeDefinition = ToNodeId("i=69");
22582         VariableAttributes attrs;
22583         attrs.DisplayName = LocalizedText("HistoryEventFieldList");
22584         attrs.Type = ObjectId::String;
22585         attrs.Value = +"//xs:element[@name='HistoryEventFieldList']";
22586         attrs.Rank = -1;
22587         node.Attributes = attrs;
22588         registry.AddNodes(std::vector<AddNodesItem>{node});
22589         }
22590        
22591         {
22592         AddNodesItem node;
22593         node.RequestedNewNodeId = ToNodeId("i=8384");
22594         node.BrowseName = ToQualifiedName("ScalarTestType");
22595         node.Class = NodeClass::Variable;
22596         node.ParentNodeId = ToNodeId("i=8252");
22597         node.ReferenceTypeId = ReferenceId::HasComponent;
22598         node.TypeDefinition = ToNodeId("i=69");
22599         VariableAttributes attrs;
22600         attrs.DisplayName = LocalizedText("ScalarTestType");
22601         attrs.Type = ObjectId::String;
22602         attrs.Value = +"//xs:element[@name='ScalarTestType']";
22603         attrs.Rank = -1;
22604         node.Attributes = attrs;
22605         registry.AddNodes(std::vector<AddNodesItem>{node});
22606         }
22607        
22608         {
22609         AddNodesItem node;
22610         node.RequestedNewNodeId = ToNodeId("i=8387");
22611         node.BrowseName = ToQualifiedName("ArrayTestType");
22612         node.Class = NodeClass::Variable;
22613         node.ParentNodeId = ToNodeId("i=8252");
22614         node.ReferenceTypeId = ReferenceId::HasComponent;
22615         node.TypeDefinition = ToNodeId("i=69");
22616         VariableAttributes attrs;
22617         attrs.DisplayName = LocalizedText("ArrayTestType");
22618         attrs.Type = ObjectId::String;
22619         attrs.Value = +"//xs:element[@name='ArrayTestType']";
22620         attrs.Rank = -1;
22621         node.Attributes = attrs;
22622         registry.AddNodes(std::vector<AddNodesItem>{node});
22623         }
22624        
22625         {
22626         AddNodesItem node;
22627         node.RequestedNewNodeId = ToNodeId("i=8390");
22628         node.BrowseName = ToQualifiedName("CompositeTestType");
22629         node.Class = NodeClass::Variable;
22630         node.ParentNodeId = ToNodeId("i=8252");
22631         node.ReferenceTypeId = ReferenceId::HasComponent;
22632         node.TypeDefinition = ToNodeId("i=69");
22633         VariableAttributes attrs;
22634         attrs.DisplayName = LocalizedText("CompositeTestType");
22635         attrs.Type = ObjectId::String;
22636         attrs.Value = +"//xs:element[@name='CompositeTestType']";
22637         attrs.Rank = -1;
22638         node.Attributes = attrs;
22639         registry.AddNodes(std::vector<AddNodesItem>{node});
22640         }
22641        
22642         {
22643         AddNodesItem node;
22644         node.RequestedNewNodeId = ToNodeId("i=8327");
22645         node.BrowseName = ToQualifiedName("BuildInfo");
22646         node.Class = NodeClass::Variable;
22647         node.ParentNodeId = ToNodeId("i=8252");
22648         node.ReferenceTypeId = ReferenceId::HasComponent;
22649         node.TypeDefinition = ToNodeId("i=69");
22650         VariableAttributes attrs;
22651         attrs.DisplayName = LocalizedText("BuildInfo");
22652         attrs.Type = ObjectId::String;
22653         attrs.Value = +"//xs:element[@name='BuildInfo']";
22654         attrs.Rank = -1;
22655         node.Attributes = attrs;
22656         registry.AddNodes(std::vector<AddNodesItem>{node});
22657         }
22658        
22659         {
22660         AddNodesItem node;
22661         node.RequestedNewNodeId = ToNodeId("i=8843");
22662         node.BrowseName = ToQualifiedName("RedundantServerDataType");
22663         node.Class = NodeClass::Variable;
22664         node.ParentNodeId = ToNodeId("i=8252");
22665         node.ReferenceTypeId = ReferenceId::HasComponent;
22666         node.TypeDefinition = ToNodeId("i=69");
22667         VariableAttributes attrs;
22668         attrs.DisplayName = LocalizedText("RedundantServerDataType");
22669         attrs.Type = ObjectId::String;
22670         attrs.Value = +"//xs:element[@name='RedundantServerDataType']";
22671         attrs.Rank = -1;
22672         node.Attributes = attrs;
22673         registry.AddNodes(std::vector<AddNodesItem>{node});
22674         }
22675        
22676         {
22677         AddNodesItem node;
22678         node.RequestedNewNodeId = ToNodeId("i=11951");
22679         node.BrowseName = ToQualifiedName("EndpointUrlListDataType");
22680         node.Class = NodeClass::Variable;
22681         node.ParentNodeId = ToNodeId("i=8252");
22682         node.ReferenceTypeId = ReferenceId::HasComponent;
22683         node.TypeDefinition = ToNodeId("i=69");
22684         VariableAttributes attrs;
22685         attrs.DisplayName = LocalizedText("EndpointUrlListDataType");
22686         attrs.Type = ObjectId::String;
22687         attrs.Value = +"//xs:element[@name='EndpointUrlListDataType']";
22688         attrs.Rank = -1;
22689         node.Attributes = attrs;
22690         registry.AddNodes(std::vector<AddNodesItem>{node});
22691         }
22692        
22693         {
22694         AddNodesItem node;
22695         node.RequestedNewNodeId = ToNodeId("i=11954");
22696         node.BrowseName = ToQualifiedName("NetworkGroupDataType");
22697         node.Class = NodeClass::Variable;
22698         node.ParentNodeId = ToNodeId("i=8252");
22699         node.ReferenceTypeId = ReferenceId::HasComponent;
22700         node.TypeDefinition = ToNodeId("i=69");
22701         VariableAttributes attrs;
22702         attrs.DisplayName = LocalizedText("NetworkGroupDataType");
22703         attrs.Type = ObjectId::String;
22704         attrs.Value = +"//xs:element[@name='NetworkGroupDataType']";
22705         attrs.Rank = -1;
22706         node.Attributes = attrs;
22707         registry.AddNodes(std::vector<AddNodesItem>{node});
22708         }
22709        
22710         {
22711         AddNodesItem node;
22712         node.RequestedNewNodeId = ToNodeId("i=8846");
22713         node.BrowseName = ToQualifiedName("SamplingIntervalDiagnosticsDataType");
22714         node.Class = NodeClass::Variable;
22715         node.ParentNodeId = ToNodeId("i=8252");
22716         node.ReferenceTypeId = ReferenceId::HasComponent;
22717         node.TypeDefinition = ToNodeId("i=69");
22718         VariableAttributes attrs;
22719         attrs.DisplayName = LocalizedText("SamplingIntervalDiagnosticsDataType");
22720         attrs.Type = ObjectId::String;
22721         attrs.Value = +"//xs:element[@name='SamplingIntervalDiagnosticsDataType']";
22722         attrs.Rank = -1;
22723         node.Attributes = attrs;
22724         registry.AddNodes(std::vector<AddNodesItem>{node});
22725         }
22726        
22727         {
22728         AddNodesItem node;
22729         node.RequestedNewNodeId = ToNodeId("i=8849");
22730         node.BrowseName = ToQualifiedName("ServerDiagnosticsSummaryDataType");
22731         node.Class = NodeClass::Variable;
22732         node.ParentNodeId = ToNodeId("i=8252");
22733         node.ReferenceTypeId = ReferenceId::HasComponent;
22734         node.TypeDefinition = ToNodeId("i=69");
22735         VariableAttributes attrs;
22736         attrs.DisplayName = LocalizedText("ServerDiagnosticsSummaryDataType");
22737         attrs.Type = ObjectId::String;
22738         attrs.Value = +"//xs:element[@name='ServerDiagnosticsSummaryDataType']";
22739         attrs.Rank = -1;
22740         node.Attributes = attrs;
22741         registry.AddNodes(std::vector<AddNodesItem>{node});
22742         }
22743        
22744         {
22745         AddNodesItem node;
22746         node.RequestedNewNodeId = ToNodeId("i=8852");
22747         node.BrowseName = ToQualifiedName("ServerStatusDataType");
22748         node.Class = NodeClass::Variable;
22749         node.ParentNodeId = ToNodeId("i=8252");
22750         node.ReferenceTypeId = ReferenceId::HasComponent;
22751         node.TypeDefinition = ToNodeId("i=69");
22752         VariableAttributes attrs;
22753         attrs.DisplayName = LocalizedText("ServerStatusDataType");
22754         attrs.Type = ObjectId::String;
22755         attrs.Value = +"//xs:element[@name='ServerStatusDataType']";
22756         attrs.Rank = -1;
22757         node.Attributes = attrs;
22758         registry.AddNodes(std::vector<AddNodesItem>{node});
22759         }
22760        
22761         {
22762         AddNodesItem node;
22763         node.RequestedNewNodeId = ToNodeId("i=8855");
22764         node.BrowseName = ToQualifiedName("SessionDiagnosticsDataType");
22765         node.Class = NodeClass::Variable;
22766         node.ParentNodeId = ToNodeId("i=8252");
22767         node.ReferenceTypeId = ReferenceId::HasComponent;
22768         node.TypeDefinition = ToNodeId("i=69");
22769         VariableAttributes attrs;
22770         attrs.DisplayName = LocalizedText("SessionDiagnosticsDataType");
22771         attrs.Type = ObjectId::String;
22772         attrs.Value = +"//xs:element[@name='SessionDiagnosticsDataType']";
22773         attrs.Rank = -1;
22774         node.Attributes = attrs;
22775         registry.AddNodes(std::vector<AddNodesItem>{node});
22776         }
22777        
22778         {
22779         AddNodesItem node;
22780         node.RequestedNewNodeId = ToNodeId("i=8858");
22781         node.BrowseName = ToQualifiedName("SessionSecurityDiagnosticsDataType");
22782         node.Class = NodeClass::Variable;
22783         node.ParentNodeId = ToNodeId("i=8252");
22784         node.ReferenceTypeId = ReferenceId::HasComponent;
22785         node.TypeDefinition = ToNodeId("i=69");
22786         VariableAttributes attrs;
22787         attrs.DisplayName = LocalizedText("SessionSecurityDiagnosticsDataType");
22788         attrs.Type = ObjectId::String;
22789         attrs.Value = +"//xs:element[@name='SessionSecurityDiagnosticsDataType']";
22790         attrs.Rank = -1;
22791         node.Attributes = attrs;
22792         registry.AddNodes(std::vector<AddNodesItem>{node});
22793         }
22794        
22795         {
22796         AddNodesItem node;
22797         node.RequestedNewNodeId = ToNodeId("i=8861");
22798         node.BrowseName = ToQualifiedName("ServiceCounterDataType");
22799         node.Class = NodeClass::Variable;
22800         node.ParentNodeId = ToNodeId("i=8252");
22801         node.ReferenceTypeId = ReferenceId::HasComponent;
22802         node.TypeDefinition = ToNodeId("i=69");
22803         VariableAttributes attrs;
22804         attrs.DisplayName = LocalizedText("ServiceCounterDataType");
22805         attrs.Type = ObjectId::String;
22806         attrs.Value = +"//xs:element[@name='ServiceCounterDataType']";
22807         attrs.Rank = -1;
22808         node.Attributes = attrs;
22809         registry.AddNodes(std::vector<AddNodesItem>{node});
22810         }
22811        
22812         {
22813         AddNodesItem node;
22814         node.RequestedNewNodeId = ToNodeId("i=8294");
22815         node.BrowseName = ToQualifiedName("StatusResult");
22816         node.Class = NodeClass::Variable;
22817         node.ParentNodeId = ToNodeId("i=8252");
22818         node.ReferenceTypeId = ReferenceId::HasComponent;
22819         node.TypeDefinition = ToNodeId("i=69");
22820         VariableAttributes attrs;
22821         attrs.DisplayName = LocalizedText("StatusResult");
22822         attrs.Type = ObjectId::String;
22823         attrs.Value = +"//xs:element[@name='StatusResult']";
22824         attrs.Rank = -1;
22825         node.Attributes = attrs;
22826         registry.AddNodes(std::vector<AddNodesItem>{node});
22827         }
22828        
22829         {
22830         AddNodesItem node;
22831         node.RequestedNewNodeId = ToNodeId("i=8864");
22832         node.BrowseName = ToQualifiedName("SubscriptionDiagnosticsDataType");
22833         node.Class = NodeClass::Variable;
22834         node.ParentNodeId = ToNodeId("i=8252");
22835         node.ReferenceTypeId = ReferenceId::HasComponent;
22836         node.TypeDefinition = ToNodeId("i=69");
22837         VariableAttributes attrs;
22838         attrs.DisplayName = LocalizedText("SubscriptionDiagnosticsDataType");
22839         attrs.Type = ObjectId::String;
22840         attrs.Value = +"//xs:element[@name='SubscriptionDiagnosticsDataType']";
22841         attrs.Rank = -1;
22842         node.Attributes = attrs;
22843         registry.AddNodes(std::vector<AddNodesItem>{node});
22844         }
22845        
22846         {
22847         AddNodesItem node;
22848         node.RequestedNewNodeId = ToNodeId("i=8867");
22849         node.BrowseName = ToQualifiedName("ModelChangeStructureDataType");
22850         node.Class = NodeClass::Variable;
22851         node.ParentNodeId = ToNodeId("i=8252");
22852         node.ReferenceTypeId = ReferenceId::HasComponent;
22853         node.TypeDefinition = ToNodeId("i=69");
22854         VariableAttributes attrs;
22855         attrs.DisplayName = LocalizedText("ModelChangeStructureDataType");
22856         attrs.Type = ObjectId::String;
22857         attrs.Value = +"//xs:element[@name='ModelChangeStructureDataType']";
22858         attrs.Rank = -1;
22859         node.Attributes = attrs;
22860         registry.AddNodes(std::vector<AddNodesItem>{node});
22861         }
22862        
22863         {
22864         AddNodesItem node;
22865         node.RequestedNewNodeId = ToNodeId("i=8870");
22866         node.BrowseName = ToQualifiedName("SemanticChangeStructureDataType");
22867         node.Class = NodeClass::Variable;
22868         node.ParentNodeId = ToNodeId("i=8252");
22869         node.ReferenceTypeId = ReferenceId::HasComponent;
22870         node.TypeDefinition = ToNodeId("i=69");
22871         VariableAttributes attrs;
22872         attrs.DisplayName = LocalizedText("SemanticChangeStructureDataType");
22873         attrs.Type = ObjectId::String;
22874         attrs.Value = +"//xs:element[@name='SemanticChangeStructureDataType']";
22875         attrs.Rank = -1;
22876         node.Attributes = attrs;
22877         registry.AddNodes(std::vector<AddNodesItem>{node});
22878         }
22879        
22880         {
22881         AddNodesItem node;
22882         node.RequestedNewNodeId = ToNodeId("i=8873");
22883         node.BrowseName = ToQualifiedName("Range");
22884         node.Class = NodeClass::Variable;
22885         node.ParentNodeId = ToNodeId("i=8252");
22886         node.ReferenceTypeId = ReferenceId::HasComponent;
22887         node.TypeDefinition = ToNodeId("i=69");
22888         VariableAttributes attrs;
22889         attrs.DisplayName = LocalizedText("Range");
22890         attrs.Type = ObjectId::String;
22891         attrs.Value = +"//xs:element[@name='Range']";
22892         attrs.Rank = -1;
22893         node.Attributes = attrs;
22894         registry.AddNodes(std::vector<AddNodesItem>{node});
22895         }
22896        
22897         {
22898         AddNodesItem node;
22899         node.RequestedNewNodeId = ToNodeId("i=8876");
22900         node.BrowseName = ToQualifiedName("EUInformation");
22901         node.Class = NodeClass::Variable;
22902         node.ParentNodeId = ToNodeId("i=8252");
22903         node.ReferenceTypeId = ReferenceId::HasComponent;
22904         node.TypeDefinition = ToNodeId("i=69");
22905         VariableAttributes attrs;
22906         attrs.DisplayName = LocalizedText("EUInformation");
22907         attrs.Type = ObjectId::String;
22908         attrs.Value = +"//xs:element[@name='EUInformation']";
22909         attrs.Rank = -1;
22910         node.Attributes = attrs;
22911         registry.AddNodes(std::vector<AddNodesItem>{node});
22912         }
22913        
22914         {
22915         AddNodesItem node;
22916         node.RequestedNewNodeId = ToNodeId("i=12175");
22917         node.BrowseName = ToQualifiedName("ComplexNumberType");
22918         node.Class = NodeClass::Variable;
22919         node.ParentNodeId = ToNodeId("i=8252");
22920         node.ReferenceTypeId = ReferenceId::HasComponent;
22921         node.TypeDefinition = ToNodeId("i=69");
22922         VariableAttributes attrs;
22923         attrs.DisplayName = LocalizedText("ComplexNumberType");
22924         attrs.Type = ObjectId::String;
22925         attrs.Value = +"//xs:element[@name='ComplexNumberType']";
22926         attrs.Rank = -1;
22927         node.Attributes = attrs;
22928         registry.AddNodes(std::vector<AddNodesItem>{node});
22929         }
22930        
22931         {
22932         AddNodesItem node;
22933         node.RequestedNewNodeId = ToNodeId("i=12178");
22934         node.BrowseName = ToQualifiedName("DoubleComplexNumberType");
22935         node.Class = NodeClass::Variable;
22936         node.ParentNodeId = ToNodeId("i=8252");
22937         node.ReferenceTypeId = ReferenceId::HasComponent;
22938         node.TypeDefinition = ToNodeId("i=69");
22939         VariableAttributes attrs;
22940         attrs.DisplayName = LocalizedText("DoubleComplexNumberType");
22941         attrs.Type = ObjectId::String;
22942         attrs.Value = +"//xs:element[@name='DoubleComplexNumberType']";
22943         attrs.Rank = -1;
22944         node.Attributes = attrs;
22945         registry.AddNodes(std::vector<AddNodesItem>{node});
22946         }
22947        
22948         {
22949         AddNodesItem node;
22950         node.RequestedNewNodeId = ToNodeId("i=12083");
22951         node.BrowseName = ToQualifiedName("AxisInformation");
22952         node.Class = NodeClass::Variable;
22953         node.ParentNodeId = ToNodeId("i=8252");
22954         node.ReferenceTypeId = ReferenceId::HasComponent;
22955         node.TypeDefinition = ToNodeId("i=69");
22956         VariableAttributes attrs;
22957         attrs.DisplayName = LocalizedText("AxisInformation");
22958         attrs.Type = ObjectId::String;
22959         attrs.Value = +"//xs:element[@name='AxisInformation']";
22960         attrs.Rank = -1;
22961         node.Attributes = attrs;
22962         registry.AddNodes(std::vector<AddNodesItem>{node});
22963         }
22964        
22965         {
22966         AddNodesItem node;
22967         node.RequestedNewNodeId = ToNodeId("i=12086");
22968         node.BrowseName = ToQualifiedName("XVType");
22969         node.Class = NodeClass::Variable;
22970         node.ParentNodeId = ToNodeId("i=8252");
22971         node.ReferenceTypeId = ReferenceId::HasComponent;
22972         node.TypeDefinition = ToNodeId("i=69");
22973         VariableAttributes attrs;
22974         attrs.DisplayName = LocalizedText("XVType");
22975         attrs.Type = ObjectId::String;
22976         attrs.Value = +"//xs:element[@name='XVType']";
22977         attrs.Rank = -1;
22978         node.Attributes = attrs;
22979         registry.AddNodes(std::vector<AddNodesItem>{node});
22980         }
22981        
22982         {
22983         AddNodesItem node;
22984         node.RequestedNewNodeId = ToNodeId("i=8882");
22985         node.BrowseName = ToQualifiedName("ProgramDiagnosticDataType");
22986         node.Class = NodeClass::Variable;
22987         node.ParentNodeId = ToNodeId("i=8252");
22988         node.ReferenceTypeId = ReferenceId::HasComponent;
22989         node.TypeDefinition = ToNodeId("i=69");
22990         VariableAttributes attrs;
22991         attrs.DisplayName = LocalizedText("ProgramDiagnosticDataType");
22992         attrs.Type = ObjectId::String;
22993         attrs.Value = +"//xs:element[@name='ProgramDiagnosticDataType']";
22994         attrs.Rank = -1;
22995         node.Attributes = attrs;
22996         registry.AddNodes(std::vector<AddNodesItem>{node});
22997         }
22998        
22999         {
23000         AddNodesItem node;
23001         node.RequestedNewNodeId = ToNodeId("i=8879");
23002         node.BrowseName = ToQualifiedName("Annotation");
23003         node.Class = NodeClass::Variable;
23004         node.ParentNodeId = ToNodeId("i=8252");
23005         node.ReferenceTypeId = ReferenceId::HasComponent;
23006         node.TypeDefinition = ToNodeId("i=69");
23007         VariableAttributes attrs;
23008         attrs.DisplayName = LocalizedText("Annotation");
23009         attrs.Type = ObjectId::String;
23010         attrs.Value = +"//xs:element[@name='Annotation']";
23011         attrs.Rank = -1;
23012         node.Attributes = attrs;
23013         registry.AddNodes(std::vector<AddNodesItem>{node});
23014         }
23015        
23016         {
23017         AddNodesItem node;
23018         node.RequestedNewNodeId = ToNodeId("i=340");
23019         node.BrowseName = ToQualifiedName("Default Binary");
23020         node.Class = NodeClass::Object;
23021         node.ParentNodeId = ToNodeId("i=338");
23022         node.ReferenceTypeId = ReferenceId::HasEncoding;
23023         node.TypeDefinition = ToNodeId("i=76");
23024         ObjectAttributes attrs;
23025         attrs.DisplayName = LocalizedText("Default Binary");
23026         attrs.EventNotifier = 0;
23027         node.Attributes = attrs;
23028         registry.AddNodes(std::vector<AddNodesItem>{node});
23029         std::vector<AddReferencesItem> refs;
23030         {
23031         AddReferencesItem ref;
23032         ref.IsForward = true;
23033         ref.ReferenceTypeId = ReferenceId::HasDescription;
23034         ref.SourceNodeId = ToNodeId("i=340");
23035         ref.TargetNodeClass = NodeClass::DataType;
23036         ref.TargetNodeId = ToNodeId("i=7692");
23037         refs.push_back(ref);
23038         }
23039         registry.AddReferences(refs);
23040         }
23041        
23042         {
23043         AddNodesItem node;
23044         node.RequestedNewNodeId = ToNodeId("i=855");
23045         node.BrowseName = ToQualifiedName("Default Binary");
23046         node.Class = NodeClass::Object;
23047         node.ParentNodeId = ToNodeId("i=853");
23048         node.ReferenceTypeId = ReferenceId::HasEncoding;
23049         node.TypeDefinition = ToNodeId("i=76");
23050         ObjectAttributes attrs;
23051         attrs.DisplayName = LocalizedText("Default Binary");
23052         attrs.EventNotifier = 0;
23053         node.Attributes = attrs;
23054         registry.AddNodes(std::vector<AddNodesItem>{node});
23055         std::vector<AddReferencesItem> refs;
23056         {
23057         AddReferencesItem ref;
23058         ref.IsForward = true;
23059         ref.ReferenceTypeId = ReferenceId::HasDescription;
23060         ref.SourceNodeId = ToNodeId("i=855");
23061         ref.TargetNodeClass = NodeClass::DataType;
23062         ref.TargetNodeId = ToNodeId("i=8208");
23063         refs.push_back(ref);
23064         }
23065         registry.AddReferences(refs);
23066         }
23067        
23068         {
23069         AddNodesItem node;
23070         node.RequestedNewNodeId = ToNodeId("i=11957");
23071         node.BrowseName = ToQualifiedName("Default Binary");
23072         node.Class = NodeClass::Object;
23073         node.ParentNodeId = ToNodeId("i=11943");
23074         node.ReferenceTypeId = ReferenceId::HasEncoding;
23075         node.TypeDefinition = ToNodeId("i=76");
23076         ObjectAttributes attrs;
23077         attrs.DisplayName = LocalizedText("Default Binary");
23078         attrs.EventNotifier = 0;
23079         node.Attributes = attrs;
23080         registry.AddNodes(std::vector<AddNodesItem>{node});
23081         std::vector<AddReferencesItem> refs;
23082         {
23083         AddReferencesItem ref;
23084         ref.IsForward = true;
23085         ref.ReferenceTypeId = ReferenceId::HasDescription;
23086         ref.SourceNodeId = ToNodeId("i=11957");
23087         ref.TargetNodeClass = NodeClass::DataType;
23088         ref.TargetNodeId = ToNodeId("i=11959");
23089         refs.push_back(ref);
23090         }
23091         registry.AddReferences(refs);
23092         }
23093        
23094         {
23095         AddNodesItem node;
23096         node.RequestedNewNodeId = ToNodeId("i=11958");
23097         node.BrowseName = ToQualifiedName("Default Binary");
23098         node.Class = NodeClass::Object;
23099         node.ParentNodeId = ToNodeId("i=11944");
23100         node.ReferenceTypeId = ReferenceId::HasEncoding;
23101         node.TypeDefinition = ToNodeId("i=76");
23102         ObjectAttributes attrs;
23103         attrs.DisplayName = LocalizedText("Default Binary");
23104         attrs.EventNotifier = 0;
23105         node.Attributes = attrs;
23106         registry.AddNodes(std::vector<AddNodesItem>{node});
23107         std::vector<AddReferencesItem> refs;
23108         {
23109         AddReferencesItem ref;
23110         ref.IsForward = true;
23111         ref.ReferenceTypeId = ReferenceId::HasDescription;
23112         ref.SourceNodeId = ToNodeId("i=11958");
23113         ref.TargetNodeClass = NodeClass::DataType;
23114         ref.TargetNodeId = ToNodeId("i=11962");
23115         refs.push_back(ref);
23116         }
23117         registry.AddReferences(refs);
23118         }
23119        
23120         {
23121         AddNodesItem node;
23122         node.RequestedNewNodeId = ToNodeId("i=858");
23123         node.BrowseName = ToQualifiedName("Default Binary");
23124         node.Class = NodeClass::Object;
23125         node.ParentNodeId = ToNodeId("i=856");
23126         node.ReferenceTypeId = ReferenceId::HasEncoding;
23127         node.TypeDefinition = ToNodeId("i=76");
23128         ObjectAttributes attrs;
23129         attrs.DisplayName = LocalizedText("Default Binary");
23130         attrs.EventNotifier = 0;
23131         node.Attributes = attrs;
23132         registry.AddNodes(std::vector<AddNodesItem>{node});
23133         std::vector<AddReferencesItem> refs;
23134         {
23135         AddReferencesItem ref;
23136         ref.IsForward = true;
23137         ref.ReferenceTypeId = ReferenceId::HasDescription;
23138         ref.SourceNodeId = ToNodeId("i=858");
23139         ref.TargetNodeClass = NodeClass::DataType;
23140         ref.TargetNodeId = ToNodeId("i=8211");
23141         refs.push_back(ref);
23142         }
23143         registry.AddReferences(refs);
23144         }
23145        
23146         {
23147         AddNodesItem node;
23148         node.RequestedNewNodeId = ToNodeId("i=861");
23149         node.BrowseName = ToQualifiedName("Default Binary");
23150         node.Class = NodeClass::Object;
23151         node.ParentNodeId = ToNodeId("i=859");
23152         node.ReferenceTypeId = ReferenceId::HasEncoding;
23153         node.TypeDefinition = ToNodeId("i=76");
23154         ObjectAttributes attrs;
23155         attrs.DisplayName = LocalizedText("Default Binary");
23156         attrs.EventNotifier = 0;
23157         node.Attributes = attrs;
23158         registry.AddNodes(std::vector<AddNodesItem>{node});
23159         std::vector<AddReferencesItem> refs;
23160         {
23161         AddReferencesItem ref;
23162         ref.IsForward = true;
23163         ref.ReferenceTypeId = ReferenceId::HasDescription;
23164         ref.SourceNodeId = ToNodeId("i=861");
23165         ref.TargetNodeClass = NodeClass::DataType;
23166         ref.TargetNodeId = ToNodeId("i=8214");
23167         refs.push_back(ref);
23168         }
23169         registry.AddReferences(refs);
23170         }
23171        
23172         {
23173         AddNodesItem node;
23174         node.RequestedNewNodeId = ToNodeId("i=864");
23175         node.BrowseName = ToQualifiedName("Default Binary");
23176         node.Class = NodeClass::Object;
23177         node.ParentNodeId = ToNodeId("i=862");
23178         node.ReferenceTypeId = ReferenceId::HasEncoding;
23179         node.TypeDefinition = ToNodeId("i=76");
23180         ObjectAttributes attrs;
23181         attrs.DisplayName = LocalizedText("Default Binary");
23182         attrs.EventNotifier = 0;
23183         node.Attributes = attrs;
23184         registry.AddNodes(std::vector<AddNodesItem>{node});
23185         std::vector<AddReferencesItem> refs;
23186         {
23187         AddReferencesItem ref;
23188         ref.IsForward = true;
23189         ref.ReferenceTypeId = ReferenceId::HasDescription;
23190         ref.SourceNodeId = ToNodeId("i=864");
23191         ref.TargetNodeClass = NodeClass::DataType;
23192         ref.TargetNodeId = ToNodeId("i=8217");
23193         refs.push_back(ref);
23194         }
23195         registry.AddReferences(refs);
23196         }
23197        
23198         {
23199         AddNodesItem node;
23200         node.RequestedNewNodeId = ToNodeId("i=867");
23201         node.BrowseName = ToQualifiedName("Default Binary");
23202         node.Class = NodeClass::Object;
23203         node.ParentNodeId = ToNodeId("i=865");
23204         node.ReferenceTypeId = ReferenceId::HasEncoding;
23205         node.TypeDefinition = ToNodeId("i=76");
23206         ObjectAttributes attrs;
23207         attrs.DisplayName = LocalizedText("Default Binary");
23208         attrs.EventNotifier = 0;
23209         node.Attributes = attrs;
23210         registry.AddNodes(std::vector<AddNodesItem>{node});
23211         std::vector<AddReferencesItem> refs;
23212         {
23213         AddReferencesItem ref;
23214         ref.IsForward = true;
23215         ref.ReferenceTypeId = ReferenceId::HasDescription;
23216         ref.SourceNodeId = ToNodeId("i=867");
23217         ref.TargetNodeClass = NodeClass::DataType;
23218         ref.TargetNodeId = ToNodeId("i=8220");
23219         refs.push_back(ref);
23220         }
23221         registry.AddReferences(refs);
23222         }
23223        
23224         {
23225         AddNodesItem node;
23226         node.RequestedNewNodeId = ToNodeId("i=870");
23227         node.BrowseName = ToQualifiedName("Default Binary");
23228         node.Class = NodeClass::Object;
23229         node.ParentNodeId = ToNodeId("i=868");
23230         node.ReferenceTypeId = ReferenceId::HasEncoding;
23231         node.TypeDefinition = ToNodeId("i=76");
23232         ObjectAttributes attrs;
23233         attrs.DisplayName = LocalizedText("Default Binary");
23234         attrs.EventNotifier = 0;
23235         node.Attributes = attrs;
23236         registry.AddNodes(std::vector<AddNodesItem>{node});
23237         std::vector<AddReferencesItem> refs;
23238         {
23239         AddReferencesItem ref;
23240         ref.IsForward = true;
23241         ref.ReferenceTypeId = ReferenceId::HasDescription;
23242         ref.SourceNodeId = ToNodeId("i=870");
23243         ref.TargetNodeClass = NodeClass::DataType;
23244         ref.TargetNodeId = ToNodeId("i=8223");
23245         refs.push_back(ref);
23246         }
23247         registry.AddReferences(refs);
23248         }
23249        
23250         {
23251         AddNodesItem node;
23252         node.RequestedNewNodeId = ToNodeId("i=873");
23253         node.BrowseName = ToQualifiedName("Default Binary");
23254         node.Class = NodeClass::Object;
23255         node.ParentNodeId = ToNodeId("i=871");
23256         node.ReferenceTypeId = ReferenceId::HasEncoding;
23257         node.TypeDefinition = ToNodeId("i=76");
23258         ObjectAttributes attrs;
23259         attrs.DisplayName = LocalizedText("Default Binary");
23260         attrs.EventNotifier = 0;
23261         node.Attributes = attrs;
23262         registry.AddNodes(std::vector<AddNodesItem>{node});
23263         std::vector<AddReferencesItem> refs;
23264         {
23265         AddReferencesItem ref;
23266         ref.IsForward = true;
23267         ref.ReferenceTypeId = ReferenceId::HasDescription;
23268         ref.SourceNodeId = ToNodeId("i=873");
23269         ref.TargetNodeClass = NodeClass::DataType;
23270         ref.TargetNodeId = ToNodeId("i=8226");
23271         refs.push_back(ref);
23272         }
23273         registry.AddReferences(refs);
23274         }
23275        
23276         {
23277         AddNodesItem node;
23278         node.RequestedNewNodeId = ToNodeId("i=301");
23279         node.BrowseName = ToQualifiedName("Default Binary");
23280         node.Class = NodeClass::Object;
23281         node.ParentNodeId = ToNodeId("i=299");
23282         node.ReferenceTypeId = ReferenceId::HasEncoding;
23283         node.TypeDefinition = ToNodeId("i=76");
23284         ObjectAttributes attrs;
23285         attrs.DisplayName = LocalizedText("Default Binary");
23286         attrs.EventNotifier = 0;
23287         node.Attributes = attrs;
23288         registry.AddNodes(std::vector<AddNodesItem>{node});
23289         std::vector<AddReferencesItem> refs;
23290         {
23291         AddReferencesItem ref;
23292         ref.IsForward = true;
23293         ref.ReferenceTypeId = ReferenceId::HasDescription;
23294         ref.SourceNodeId = ToNodeId("i=301");
23295         ref.TargetNodeClass = NodeClass::DataType;
23296         ref.TargetNodeId = ToNodeId("i=7659");
23297         refs.push_back(ref);
23298         }
23299         registry.AddReferences(refs);
23300         }
23301        
23302         {
23303         AddNodesItem node;
23304         node.RequestedNewNodeId = ToNodeId("i=876");
23305         node.BrowseName = ToQualifiedName("Default Binary");
23306         node.Class = NodeClass::Object;
23307         node.ParentNodeId = ToNodeId("i=874");
23308         node.ReferenceTypeId = ReferenceId::HasEncoding;
23309         node.TypeDefinition = ToNodeId("i=76");
23310         ObjectAttributes attrs;
23311         attrs.DisplayName = LocalizedText("Default Binary");
23312         attrs.EventNotifier = 0;
23313         node.Attributes = attrs;
23314         registry.AddNodes(std::vector<AddNodesItem>{node});
23315         std::vector<AddReferencesItem> refs;
23316         {
23317         AddReferencesItem ref;
23318         ref.IsForward = true;
23319         ref.ReferenceTypeId = ReferenceId::HasDescription;
23320         ref.SourceNodeId = ToNodeId("i=876");
23321         ref.TargetNodeClass = NodeClass::DataType;
23322         ref.TargetNodeId = ToNodeId("i=8229");
23323         refs.push_back(ref);
23324         }
23325         registry.AddReferences(refs);
23326         }
23327        
23328         {
23329         AddNodesItem node;
23330         node.RequestedNewNodeId = ToNodeId("i=879");
23331         node.BrowseName = ToQualifiedName("Default Binary");
23332         node.Class = NodeClass::Object;
23333         node.ParentNodeId = ToNodeId("i=877");
23334         node.ReferenceTypeId = ReferenceId::HasEncoding;
23335         node.TypeDefinition = ToNodeId("i=76");
23336         ObjectAttributes attrs;
23337         attrs.DisplayName = LocalizedText("Default Binary");
23338         attrs.EventNotifier = 0;
23339         node.Attributes = attrs;
23340         registry.AddNodes(std::vector<AddNodesItem>{node});
23341         std::vector<AddReferencesItem> refs;
23342         {
23343         AddReferencesItem ref;
23344         ref.IsForward = true;
23345         ref.ReferenceTypeId = ReferenceId::HasDescription;
23346         ref.SourceNodeId = ToNodeId("i=879");
23347         ref.TargetNodeClass = NodeClass::DataType;
23348         ref.TargetNodeId = ToNodeId("i=8232");
23349         refs.push_back(ref);
23350         }
23351         registry.AddReferences(refs);
23352         }
23353        
23354         {
23355         AddNodesItem node;
23356         node.RequestedNewNodeId = ToNodeId("i=899");
23357         node.BrowseName = ToQualifiedName("Default Binary");
23358         node.Class = NodeClass::Object;
23359         node.ParentNodeId = ToNodeId("i=897");
23360         node.ReferenceTypeId = ReferenceId::HasEncoding;
23361         node.TypeDefinition = ToNodeId("i=76");
23362         ObjectAttributes attrs;
23363         attrs.DisplayName = LocalizedText("Default Binary");
23364         attrs.EventNotifier = 0;
23365         node.Attributes = attrs;
23366         registry.AddNodes(std::vector<AddNodesItem>{node});
23367         std::vector<AddReferencesItem> refs;
23368         {
23369         AddReferencesItem ref;
23370         ref.IsForward = true;
23371         ref.ReferenceTypeId = ReferenceId::HasDescription;
23372         ref.SourceNodeId = ToNodeId("i=899");
23373         ref.TargetNodeClass = NodeClass::DataType;
23374         ref.TargetNodeId = ToNodeId("i=8235");
23375         refs.push_back(ref);
23376         }
23377         registry.AddReferences(refs);
23378         }
23379        
23380         {
23381         AddNodesItem node;
23382         node.RequestedNewNodeId = ToNodeId("i=7617");
23383         node.BrowseName = ToQualifiedName("Opc.Ua");
23384         node.Class = NodeClass::Variable;
23385         node.ParentNodeId = ToNodeId("i=93");
23386         node.ReferenceTypeId = ReferenceId::HasComponent;
23387         node.TypeDefinition = ToNodeId("i=72");
23388         VariableAttributes attrs;
23389         attrs.DisplayName = LocalizedText("Opc.Ua");
23390         attrs.Type = ObjectId::ByteString;
23391         attrs.Rank = -1;
23392         node.Attributes = attrs;
23393         registry.AddNodes(std::vector<AddNodesItem>{node});
23394         std::vector<AddReferencesItem> refs;
23395         {
23396         AddReferencesItem ref;
23397         ref.IsForward = true;
23398         ref.ReferenceTypeId = ReferenceId::HasProperty;
23399         ref.SourceNodeId = ToNodeId("i=7617");
23400         ref.TargetNodeClass = NodeClass::DataType;
23401         ref.TargetNodeId = ToNodeId("i=7619");
23402         refs.push_back(ref);
23403         }
23404         {
23405         AddReferencesItem ref;
23406         ref.IsForward = true;
23407         ref.ReferenceTypeId = ReferenceId::HasComponent;
23408         ref.SourceNodeId = ToNodeId("i=7617");
23409         ref.TargetNodeClass = NodeClass::DataType;
23410         ref.TargetNodeId = ToNodeId("i=7650");
23411         refs.push_back(ref);
23412         }
23413         {
23414         AddReferencesItem ref;
23415         ref.IsForward = true;
23416         ref.ReferenceTypeId = ReferenceId::HasComponent;
23417         ref.SourceNodeId = ToNodeId("i=7617");
23418         ref.TargetNodeClass = NodeClass::DataType;
23419         ref.TargetNodeId = ToNodeId("i=7656");
23420         refs.push_back(ref);
23421         }
23422         {
23423         AddReferencesItem ref;
23424         ref.IsForward = true;
23425         ref.ReferenceTypeId = ReferenceId::HasComponent;
23426         ref.SourceNodeId = ToNodeId("i=7617");
23427         ref.TargetNodeClass = NodeClass::DataType;
23428         ref.TargetNodeId = ToNodeId("i=8914");
23429         refs.push_back(ref);
23430         }
23431         {
23432         AddReferencesItem ref;
23433         ref.IsForward = true;
23434         ref.ReferenceTypeId = ReferenceId::HasComponent;
23435         ref.SourceNodeId = ToNodeId("i=7617");
23436         ref.TargetNodeClass = NodeClass::DataType;
23437         ref.TargetNodeId = ToNodeId("i=7665");
23438         refs.push_back(ref);
23439         }
23440         {
23441         AddReferencesItem ref;
23442         ref.IsForward = true;
23443         ref.ReferenceTypeId = ReferenceId::HasComponent;
23444         ref.SourceNodeId = ToNodeId("i=7617");
23445         ref.TargetNodeClass = NodeClass::DataType;
23446         ref.TargetNodeId = ToNodeId("i=7662");
23447         refs.push_back(ref);
23448         }
23449         {
23450         AddReferencesItem ref;
23451         ref.IsForward = true;
23452         ref.ReferenceTypeId = ReferenceId::HasComponent;
23453         ref.SourceNodeId = ToNodeId("i=7617");
23454         ref.TargetNodeClass = NodeClass::DataType;
23455         ref.TargetNodeId = ToNodeId("i=7668");
23456         refs.push_back(ref);
23457         }
23458         {
23459         AddReferencesItem ref;
23460         ref.IsForward = true;
23461         ref.ReferenceTypeId = ReferenceId::HasComponent;
23462         ref.SourceNodeId = ToNodeId("i=7617");
23463         ref.TargetNodeClass = NodeClass::DataType;
23464         ref.TargetNodeId = ToNodeId("i=7782");
23465         refs.push_back(ref);
23466         }
23467         {
23468         AddReferencesItem ref;
23469         ref.IsForward = true;
23470         ref.ReferenceTypeId = ReferenceId::HasComponent;
23471         ref.SourceNodeId = ToNodeId("i=7617");
23472         ref.TargetNodeClass = NodeClass::DataType;
23473         ref.TargetNodeId = ToNodeId("i=7698");
23474         refs.push_back(ref);
23475         }
23476         {
23477         AddReferencesItem ref;
23478         ref.IsForward = true;
23479         ref.ReferenceTypeId = ReferenceId::HasComponent;
23480         ref.SourceNodeId = ToNodeId("i=7617");
23481         ref.TargetNodeClass = NodeClass::DataType;
23482         ref.TargetNodeId = ToNodeId("i=7671");
23483         refs.push_back(ref);
23484         }
23485         {
23486         AddReferencesItem ref;
23487         ref.IsForward = true;
23488         ref.ReferenceTypeId = ReferenceId::HasComponent;
23489         ref.SourceNodeId = ToNodeId("i=7617");
23490         ref.TargetNodeClass = NodeClass::DataType;
23491         ref.TargetNodeId = ToNodeId("i=7674");
23492         refs.push_back(ref);
23493         }
23494         {
23495         AddReferencesItem ref;
23496         ref.IsForward = true;
23497         ref.ReferenceTypeId = ReferenceId::HasComponent;
23498         ref.SourceNodeId = ToNodeId("i=7617");
23499         ref.TargetNodeClass = NodeClass::DataType;
23500         ref.TargetNodeId = ToNodeId("i=7677");
23501         refs.push_back(ref);
23502         }
23503         {
23504         AddReferencesItem ref;
23505         ref.IsForward = true;
23506         ref.ReferenceTypeId = ReferenceId::HasComponent;
23507         ref.SourceNodeId = ToNodeId("i=7617");
23508         ref.TargetNodeClass = NodeClass::DataType;
23509         ref.TargetNodeId = ToNodeId("i=7680");
23510         refs.push_back(ref);
23511         }
23512         {
23513         AddReferencesItem ref;
23514         ref.IsForward = true;
23515         ref.ReferenceTypeId = ReferenceId::HasComponent;
23516         ref.SourceNodeId = ToNodeId("i=7617");
23517         ref.TargetNodeClass = NodeClass::DataType;
23518         ref.TargetNodeId = ToNodeId("i=7683");
23519         refs.push_back(ref);
23520         }
23521         {
23522         AddReferencesItem ref;
23523         ref.IsForward = true;
23524         ref.ReferenceTypeId = ReferenceId::HasComponent;
23525         ref.SourceNodeId = ToNodeId("i=7617");
23526         ref.TargetNodeClass = NodeClass::DataType;
23527         ref.TargetNodeId = ToNodeId("i=7728");
23528         refs.push_back(ref);
23529         }
23530         {
23531         AddReferencesItem ref;
23532         ref.IsForward = true;
23533         ref.ReferenceTypeId = ReferenceId::HasComponent;
23534         ref.SourceNodeId = ToNodeId("i=7617");
23535         ref.TargetNodeClass = NodeClass::DataType;
23536         ref.TargetNodeId = ToNodeId("i=7731");
23537         refs.push_back(ref);
23538         }
23539         {
23540         AddReferencesItem ref;
23541         ref.IsForward = true;
23542         ref.ReferenceTypeId = ReferenceId::HasComponent;
23543         ref.SourceNodeId = ToNodeId("i=7617");
23544         ref.TargetNodeClass = NodeClass::DataType;
23545         ref.TargetNodeId = ToNodeId("i=7734");
23546         refs.push_back(ref);
23547         }
23548         {
23549         AddReferencesItem ref;
23550         ref.IsForward = true;
23551         ref.ReferenceTypeId = ReferenceId::HasComponent;
23552         ref.SourceNodeId = ToNodeId("i=7617");
23553         ref.TargetNodeClass = NodeClass::DataType;
23554         ref.TargetNodeId = ToNodeId("i=7737");
23555         refs.push_back(ref);
23556         }
23557         {
23558         AddReferencesItem ref;
23559         ref.IsForward = true;
23560         ref.ReferenceTypeId = ReferenceId::HasComponent;
23561         ref.SourceNodeId = ToNodeId("i=7617");
23562         ref.TargetNodeClass = NodeClass::DataType;
23563         ref.TargetNodeId = ToNodeId("i=7686");
23564         refs.push_back(ref);
23565         }
23566         {
23567         AddReferencesItem ref;
23568         ref.IsForward = true;
23569         ref.ReferenceTypeId = ReferenceId::HasComponent;
23570         ref.SourceNodeId = ToNodeId("i=7617");
23571         ref.TargetNodeClass = NodeClass::DataType;
23572         ref.TargetNodeId = ToNodeId("i=7689");
23573         refs.push_back(ref);
23574         }
23575         {
23576         AddReferencesItem ref;
23577         ref.IsForward = true;
23578         ref.ReferenceTypeId = ReferenceId::HasComponent;
23579         ref.SourceNodeId = ToNodeId("i=7617");
23580         ref.TargetNodeClass = NodeClass::DataType;
23581         ref.TargetNodeId = ToNodeId("i=7695");
23582         refs.push_back(ref);
23583         }
23584         {
23585         AddReferencesItem ref;
23586         ref.IsForward = true;
23587         ref.ReferenceTypeId = ReferenceId::HasComponent;
23588         ref.SourceNodeId = ToNodeId("i=7617");
23589         ref.TargetNodeClass = NodeClass::DataType;
23590         ref.TargetNodeId = ToNodeId("i=7929");
23591         refs.push_back(ref);
23592         }
23593         {
23594         AddReferencesItem ref;
23595         ref.IsForward = true;
23596         ref.ReferenceTypeId = ReferenceId::HasComponent;
23597         ref.SourceNodeId = ToNodeId("i=7617");
23598         ref.TargetNodeClass = NodeClass::DataType;
23599         ref.TargetNodeId = ToNodeId("i=7932");
23600         refs.push_back(ref);
23601         }
23602         {
23603         AddReferencesItem ref;
23604         ref.IsForward = true;
23605         ref.ReferenceTypeId = ReferenceId::HasComponent;
23606         ref.SourceNodeId = ToNodeId("i=7617");
23607         ref.TargetNodeClass = NodeClass::DataType;
23608         ref.TargetNodeId = ToNodeId("i=7935");
23609         refs.push_back(ref);
23610         }
23611         {
23612         AddReferencesItem ref;
23613         ref.IsForward = true;
23614         ref.ReferenceTypeId = ReferenceId::HasComponent;
23615         ref.SourceNodeId = ToNodeId("i=7617");
23616         ref.TargetNodeClass = NodeClass::DataType;
23617         ref.TargetNodeId = ToNodeId("i=7938");
23618         refs.push_back(ref);
23619         }
23620         {
23621         AddReferencesItem ref;
23622         ref.IsForward = true;
23623         ref.ReferenceTypeId = ReferenceId::HasComponent;
23624         ref.SourceNodeId = ToNodeId("i=7617");
23625         ref.TargetNodeClass = NodeClass::DataType;
23626         ref.TargetNodeId = ToNodeId("i=7941");
23627         refs.push_back(ref);
23628         }
23629         {
23630         AddReferencesItem ref;
23631         ref.IsForward = true;
23632         ref.ReferenceTypeId = ReferenceId::HasComponent;
23633         ref.SourceNodeId = ToNodeId("i=7617");
23634         ref.TargetNodeClass = NodeClass::DataType;
23635         ref.TargetNodeId = ToNodeId("i=7944");
23636         refs.push_back(ref);
23637         }
23638         {
23639         AddReferencesItem ref;
23640         ref.IsForward = true;
23641         ref.ReferenceTypeId = ReferenceId::HasComponent;
23642         ref.SourceNodeId = ToNodeId("i=7617");
23643         ref.TargetNodeClass = NodeClass::DataType;
23644         ref.TargetNodeId = ToNodeId("i=7947");
23645         refs.push_back(ref);
23646         }
23647         {
23648         AddReferencesItem ref;
23649         ref.IsForward = true;
23650         ref.ReferenceTypeId = ReferenceId::HasComponent;
23651         ref.SourceNodeId = ToNodeId("i=7617");
23652         ref.TargetNodeClass = NodeClass::DataType;
23653         ref.TargetNodeId = ToNodeId("i=8004");
23654         refs.push_back(ref);
23655         }
23656         {
23657         AddReferencesItem ref;
23658         ref.IsForward = true;
23659         ref.ReferenceTypeId = ReferenceId::HasComponent;
23660         ref.SourceNodeId = ToNodeId("i=7617");
23661         ref.TargetNodeClass = NodeClass::DataType;
23662         ref.TargetNodeId = ToNodeId("i=8067");
23663         refs.push_back(ref);
23664         }
23665         {
23666         AddReferencesItem ref;
23667         ref.IsForward = true;
23668         ref.ReferenceTypeId = ReferenceId::HasComponent;
23669         ref.SourceNodeId = ToNodeId("i=7617");
23670         ref.TargetNodeClass = NodeClass::DataType;
23671         ref.TargetNodeId = ToNodeId("i=8073");
23672         refs.push_back(ref);
23673         }
23674         {
23675         AddReferencesItem ref;
23676         ref.IsForward = true;
23677         ref.ReferenceTypeId = ReferenceId::HasComponent;
23678         ref.SourceNodeId = ToNodeId("i=7617");
23679         ref.TargetNodeClass = NodeClass::DataType;
23680         ref.TargetNodeId = ToNodeId("i=8076");
23681         refs.push_back(ref);
23682         }
23683         {
23684         AddReferencesItem ref;
23685         ref.IsForward = true;
23686         ref.ReferenceTypeId = ReferenceId::HasComponent;
23687         ref.SourceNodeId = ToNodeId("i=7617");
23688         ref.TargetNodeClass = NodeClass::DataType;
23689         ref.TargetNodeId = ToNodeId("i=8172");
23690         refs.push_back(ref);
23691         }
23692         {
23693         AddReferencesItem ref;
23694         ref.IsForward = true;
23695         ref.ReferenceTypeId = ReferenceId::HasComponent;
23696         ref.SourceNodeId = ToNodeId("i=7617");
23697         ref.TargetNodeClass = NodeClass::DataType;
23698         ref.TargetNodeId = ToNodeId("i=7749");
23699         refs.push_back(ref);
23700         }
23701         {
23702         AddReferencesItem ref;
23703         ref.IsForward = true;
23704         ref.ReferenceTypeId = ReferenceId::HasComponent;
23705         ref.SourceNodeId = ToNodeId("i=7617");
23706         ref.TargetNodeClass = NodeClass::DataType;
23707         ref.TargetNodeId = ToNodeId("i=7752");
23708         refs.push_back(ref);
23709         }
23710         {
23711         AddReferencesItem ref;
23712         ref.IsForward = true;
23713         ref.ReferenceTypeId = ReferenceId::HasComponent;
23714         ref.SourceNodeId = ToNodeId("i=7617");
23715         ref.TargetNodeClass = NodeClass::DataType;
23716         ref.TargetNodeId = ToNodeId("i=7755");
23717         refs.push_back(ref);
23718         }
23719         {
23720         AddReferencesItem ref;
23721         ref.IsForward = true;
23722         ref.ReferenceTypeId = ReferenceId::HasComponent;
23723         ref.SourceNodeId = ToNodeId("i=7617");
23724         ref.TargetNodeClass = NodeClass::DataType;
23725         ref.TargetNodeId = ToNodeId("i=7692");
23726         refs.push_back(ref);
23727         }
23728         {
23729         AddReferencesItem ref;
23730         ref.IsForward = true;
23731         ref.ReferenceTypeId = ReferenceId::HasComponent;
23732         ref.SourceNodeId = ToNodeId("i=7617");
23733         ref.TargetNodeClass = NodeClass::DataType;
23734         ref.TargetNodeId = ToNodeId("i=8208");
23735         refs.push_back(ref);
23736         }
23737         {
23738         AddReferencesItem ref;
23739         ref.IsForward = true;
23740         ref.ReferenceTypeId = ReferenceId::HasComponent;
23741         ref.SourceNodeId = ToNodeId("i=7617");
23742         ref.TargetNodeClass = NodeClass::DataType;
23743         ref.TargetNodeId = ToNodeId("i=11959");
23744         refs.push_back(ref);
23745         }
23746         {
23747         AddReferencesItem ref;
23748         ref.IsForward = true;
23749         ref.ReferenceTypeId = ReferenceId::HasComponent;
23750         ref.SourceNodeId = ToNodeId("i=7617");
23751         ref.TargetNodeClass = NodeClass::DataType;
23752         ref.TargetNodeId = ToNodeId("i=11962");
23753         refs.push_back(ref);
23754         }
23755         {
23756         AddReferencesItem ref;
23757         ref.IsForward = true;
23758         ref.ReferenceTypeId = ReferenceId::HasComponent;
23759         ref.SourceNodeId = ToNodeId("i=7617");
23760         ref.TargetNodeClass = NodeClass::DataType;
23761         ref.TargetNodeId = ToNodeId("i=8211");
23762         refs.push_back(ref);
23763         }
23764         {
23765         AddReferencesItem ref;
23766         ref.IsForward = true;
23767         ref.ReferenceTypeId = ReferenceId::HasComponent;
23768         ref.SourceNodeId = ToNodeId("i=7617");
23769         ref.TargetNodeClass = NodeClass::DataType;
23770         ref.TargetNodeId = ToNodeId("i=8214");
23771         refs.push_back(ref);
23772         }
23773         {
23774         AddReferencesItem ref;
23775         ref.IsForward = true;
23776         ref.ReferenceTypeId = ReferenceId::HasComponent;
23777         ref.SourceNodeId = ToNodeId("i=7617");
23778         ref.TargetNodeClass = NodeClass::DataType;
23779         ref.TargetNodeId = ToNodeId("i=8217");
23780         refs.push_back(ref);
23781         }
23782         {
23783         AddReferencesItem ref;
23784         ref.IsForward = true;
23785         ref.ReferenceTypeId = ReferenceId::HasComponent;
23786         ref.SourceNodeId = ToNodeId("i=7617");
23787         ref.TargetNodeClass = NodeClass::DataType;
23788         ref.TargetNodeId = ToNodeId("i=8220");
23789         refs.push_back(ref);
23790         }
23791         {
23792         AddReferencesItem ref;
23793         ref.IsForward = true;
23794         ref.ReferenceTypeId = ReferenceId::HasComponent;
23795         ref.SourceNodeId = ToNodeId("i=7617");
23796         ref.TargetNodeClass = NodeClass::DataType;
23797         ref.TargetNodeId = ToNodeId("i=8223");
23798         refs.push_back(ref);
23799         }
23800         {
23801         AddReferencesItem ref;
23802         ref.IsForward = true;
23803         ref.ReferenceTypeId = ReferenceId::HasComponent;
23804         ref.SourceNodeId = ToNodeId("i=7617");
23805         ref.TargetNodeClass = NodeClass::DataType;
23806         ref.TargetNodeId = ToNodeId("i=8226");
23807         refs.push_back(ref);
23808         }
23809         {
23810         AddReferencesItem ref;
23811         ref.IsForward = true;
23812         ref.ReferenceTypeId = ReferenceId::HasComponent;
23813         ref.SourceNodeId = ToNodeId("i=7617");
23814         ref.TargetNodeClass = NodeClass::DataType;
23815         ref.TargetNodeId = ToNodeId("i=7659");
23816         refs.push_back(ref);
23817         }
23818         {
23819         AddReferencesItem ref;
23820         ref.IsForward = true;
23821         ref.ReferenceTypeId = ReferenceId::HasComponent;
23822         ref.SourceNodeId = ToNodeId("i=7617");
23823         ref.TargetNodeClass = NodeClass::DataType;
23824         ref.TargetNodeId = ToNodeId("i=8229");
23825         refs.push_back(ref);
23826         }
23827         {
23828         AddReferencesItem ref;
23829         ref.IsForward = true;
23830         ref.ReferenceTypeId = ReferenceId::HasComponent;
23831         ref.SourceNodeId = ToNodeId("i=7617");
23832         ref.TargetNodeClass = NodeClass::DataType;
23833         ref.TargetNodeId = ToNodeId("i=8232");
23834         refs.push_back(ref);
23835         }
23836         {
23837         AddReferencesItem ref;
23838         ref.IsForward = true;
23839         ref.ReferenceTypeId = ReferenceId::HasComponent;
23840         ref.SourceNodeId = ToNodeId("i=7617");
23841         ref.TargetNodeClass = NodeClass::DataType;
23842         ref.TargetNodeId = ToNodeId("i=8235");
23843         refs.push_back(ref);
23844         }
23845         {
23846         AddReferencesItem ref;
23847         ref.IsForward = true;
23848         ref.ReferenceTypeId = ReferenceId::HasComponent;
23849         ref.SourceNodeId = ToNodeId("i=7617");
23850         ref.TargetNodeClass = NodeClass::DataType;
23851         ref.TargetNodeId = ToNodeId("i=8238");
23852         refs.push_back(ref);
23853         }
23854         {
23855         AddReferencesItem ref;
23856         ref.IsForward = true;
23857         ref.ReferenceTypeId = ReferenceId::HasComponent;
23858         ref.SourceNodeId = ToNodeId("i=7617");
23859         ref.TargetNodeClass = NodeClass::DataType;
23860         ref.TargetNodeId = ToNodeId("i=8241");
23861         refs.push_back(ref);
23862         }
23863         {
23864         AddReferencesItem ref;
23865         ref.IsForward = true;
23866         ref.ReferenceTypeId = ReferenceId::HasComponent;
23867         ref.SourceNodeId = ToNodeId("i=7617");
23868         ref.TargetNodeClass = NodeClass::DataType;
23869         ref.TargetNodeId = ToNodeId("i=12183");
23870         refs.push_back(ref);
23871         }
23872         {
23873         AddReferencesItem ref;
23874         ref.IsForward = true;
23875         ref.ReferenceTypeId = ReferenceId::HasComponent;
23876         ref.SourceNodeId = ToNodeId("i=7617");
23877         ref.TargetNodeClass = NodeClass::DataType;
23878         ref.TargetNodeId = ToNodeId("i=12186");
23879         refs.push_back(ref);
23880         }
23881         {
23882         AddReferencesItem ref;
23883         ref.IsForward = true;
23884         ref.ReferenceTypeId = ReferenceId::HasComponent;
23885         ref.SourceNodeId = ToNodeId("i=7617");
23886         ref.TargetNodeClass = NodeClass::DataType;
23887         ref.TargetNodeId = ToNodeId("i=12091");
23888         refs.push_back(ref);
23889         }
23890         {
23891         AddReferencesItem ref;
23892         ref.IsForward = true;
23893         ref.ReferenceTypeId = ReferenceId::HasComponent;
23894         ref.SourceNodeId = ToNodeId("i=7617");
23895         ref.TargetNodeClass = NodeClass::DataType;
23896         ref.TargetNodeId = ToNodeId("i=12094");
23897         refs.push_back(ref);
23898         }
23899         {
23900         AddReferencesItem ref;
23901         ref.IsForward = true;
23902         ref.ReferenceTypeId = ReferenceId::HasComponent;
23903         ref.SourceNodeId = ToNodeId("i=7617");
23904         ref.TargetNodeClass = NodeClass::DataType;
23905         ref.TargetNodeId = ToNodeId("i=8247");
23906         refs.push_back(ref);
23907         }
23908         {
23909         AddReferencesItem ref;
23910         ref.IsForward = true;
23911         ref.ReferenceTypeId = ReferenceId::HasComponent;
23912         ref.SourceNodeId = ToNodeId("i=7617");
23913         ref.TargetNodeClass = NodeClass::DataType;
23914         ref.TargetNodeId = ToNodeId("i=8244");
23915         refs.push_back(ref);
23916         }
23917         registry.AddReferences(refs);
23918         }
23919        
23920         {
23921         AddNodesItem node;
23922         node.RequestedNewNodeId = ToNodeId("i=7619");
23923         node.BrowseName = ToQualifiedName("NamespaceUri");
23924         node.Class = NodeClass::Variable;
23925         node.ParentNodeId = ToNodeId("i=7617");
23926         node.ReferenceTypeId = ReferenceId::HasProperty;
23927         node.TypeDefinition = ToNodeId("i=68");
23928         VariableAttributes attrs;
23929         attrs.Description = LocalizedText("A URI that uniquely identifies the dictionary.");
23930         attrs.DisplayName = LocalizedText("NamespaceUri");
23931         attrs.Type = ObjectId::String;
23932         attrs.Value = +"http://opcfoundation.org/UA/";
23933         attrs.Rank = -1;
23934         node.Attributes = attrs;
23935         registry.AddNodes(std::vector<AddNodesItem>{node});
23936         }
23937        
23938         {
23939         AddNodesItem node;
23940         node.RequestedNewNodeId = ToNodeId("i=7650");
23941         node.BrowseName = ToQualifiedName("Argument");
23942         node.Class = NodeClass::Variable;
23943         node.ParentNodeId = ToNodeId("i=7617");
23944         node.ReferenceTypeId = ReferenceId::HasComponent;
23945         node.TypeDefinition = ToNodeId("i=69");
23946         VariableAttributes attrs;
23947         attrs.DisplayName = LocalizedText("Argument");
23948         attrs.Type = ObjectId::String;
23949         attrs.Value = +"Argument";
23950         attrs.Rank = -1;
23951         node.Attributes = attrs;
23952         registry.AddNodes(std::vector<AddNodesItem>{node});
23953         }
23954        
23955         {
23956         AddNodesItem node;
23957         node.RequestedNewNodeId = ToNodeId("i=7656");
23958         node.BrowseName = ToQualifiedName("EnumValueType");
23959         node.Class = NodeClass::Variable;
23960         node.ParentNodeId = ToNodeId("i=7617");
23961         node.ReferenceTypeId = ReferenceId::HasComponent;
23962         node.TypeDefinition = ToNodeId("i=69");
23963         VariableAttributes attrs;
23964         attrs.DisplayName = LocalizedText("EnumValueType");
23965         attrs.Type = ObjectId::String;
23966         attrs.Value = +"EnumValueType";
23967         attrs.Rank = -1;
23968         node.Attributes = attrs;
23969         registry.AddNodes(std::vector<AddNodesItem>{node});
23970         }
23971        
23972         {
23973         AddNodesItem node;
23974         node.RequestedNewNodeId = ToNodeId("i=8914");
23975         node.BrowseName = ToQualifiedName("TimeZoneDataType");
23976         node.Class = NodeClass::Variable;
23977         node.ParentNodeId = ToNodeId("i=7617");
23978         node.ReferenceTypeId = ReferenceId::HasComponent;
23979         node.TypeDefinition = ToNodeId("i=69");
23980         VariableAttributes attrs;
23981         attrs.DisplayName = LocalizedText("TimeZoneDataType");
23982         attrs.Type = ObjectId::String;
23983         attrs.Value = +"TimeZoneDataType";
23984         attrs.Rank = -1;
23985         node.Attributes = attrs;
23986         registry.AddNodes(std::vector<AddNodesItem>{node});
23987         }
23988        
23989         {
23990         AddNodesItem node;
23991         node.RequestedNewNodeId = ToNodeId("i=7665");
23992         node.BrowseName = ToQualifiedName("ApplicationDescription");
23993         node.Class = NodeClass::Variable;
23994         node.ParentNodeId = ToNodeId("i=7617");
23995         node.ReferenceTypeId = ReferenceId::HasComponent;
23996         node.TypeDefinition = ToNodeId("i=69");
23997         VariableAttributes attrs;
23998         attrs.DisplayName = LocalizedText("ApplicationDescription");
23999         attrs.Type = ObjectId::String;
24000         attrs.Value = +"ApplicationDescription";
24001         attrs.Rank = -1;
24002         node.Attributes = attrs;
24003         registry.AddNodes(std::vector<AddNodesItem>{node});
24004         }
24005        
24006         {
24007         AddNodesItem node;
24008         node.RequestedNewNodeId = ToNodeId("i=7662");
24009         node.BrowseName = ToQualifiedName("UserTokenPolicy");
24010         node.Class = NodeClass::Variable;
24011         node.ParentNodeId = ToNodeId("i=7617");
24012         node.ReferenceTypeId = ReferenceId::HasComponent;
24013         node.TypeDefinition = ToNodeId("i=69");
24014         VariableAttributes attrs;
24015         attrs.DisplayName = LocalizedText("UserTokenPolicy");
24016         attrs.Type = ObjectId::String;
24017         attrs.Value = +"UserTokenPolicy";
24018         attrs.Rank = -1;
24019         node.Attributes = attrs;
24020         registry.AddNodes(std::vector<AddNodesItem>{node});
24021         }
24022        
24023         {
24024         AddNodesItem node;
24025         node.RequestedNewNodeId = ToNodeId("i=7668");
24026         node.BrowseName = ToQualifiedName("EndpointDescription");
24027         node.Class = NodeClass::Variable;
24028         node.ParentNodeId = ToNodeId("i=7617");
24029         node.ReferenceTypeId = ReferenceId::HasComponent;
24030         node.TypeDefinition = ToNodeId("i=69");
24031         VariableAttributes attrs;
24032         attrs.DisplayName = LocalizedText("EndpointDescription");
24033         attrs.Type = ObjectId::String;
24034         attrs.Value = +"EndpointDescription";
24035         attrs.Rank = -1;
24036         node.Attributes = attrs;
24037         registry.AddNodes(std::vector<AddNodesItem>{node});
24038         }
24039        
24040         {
24041         AddNodesItem node;
24042         node.RequestedNewNodeId = ToNodeId("i=7782");
24043         node.BrowseName = ToQualifiedName("RegisteredServer");
24044         node.Class = NodeClass::Variable;
24045         node.ParentNodeId = ToNodeId("i=7617");
24046         node.ReferenceTypeId = ReferenceId::HasComponent;
24047         node.TypeDefinition = ToNodeId("i=69");
24048         VariableAttributes attrs;
24049         attrs.DisplayName = LocalizedText("RegisteredServer");
24050         attrs.Type = ObjectId::String;
24051         attrs.Value = +"RegisteredServer";
24052         attrs.Rank = -1;
24053         node.Attributes = attrs;
24054         registry.AddNodes(std::vector<AddNodesItem>{node});
24055         }
24056        
24057         {
24058         AddNodesItem node;
24059         node.RequestedNewNodeId = ToNodeId("i=7698");
24060         node.BrowseName = ToQualifiedName("SignedSoftwareCertificate");
24061         node.Class = NodeClass::Variable;
24062         node.ParentNodeId = ToNodeId("i=7617");
24063         node.ReferenceTypeId = ReferenceId::HasComponent;
24064         node.TypeDefinition = ToNodeId("i=69");
24065         VariableAttributes attrs;
24066         attrs.DisplayName = LocalizedText("SignedSoftwareCertificate");
24067         attrs.Type = ObjectId::String;
24068         attrs.Value = +"SignedSoftwareCertificate";
24069         attrs.Rank = -1;
24070         node.Attributes = attrs;
24071         registry.AddNodes(std::vector<AddNodesItem>{node});
24072         }
24073        
24074         {
24075         AddNodesItem node;
24076         node.RequestedNewNodeId = ToNodeId("i=7671");
24077         node.BrowseName = ToQualifiedName("UserIdentityToken");
24078         node.Class = NodeClass::Variable;
24079         node.ParentNodeId = ToNodeId("i=7617");
24080         node.ReferenceTypeId = ReferenceId::HasComponent;
24081         node.TypeDefinition = ToNodeId("i=69");
24082         VariableAttributes attrs;
24083         attrs.DisplayName = LocalizedText("UserIdentityToken");
24084         attrs.Type = ObjectId::String;
24085         attrs.Value = +"UserIdentityToken";
24086         attrs.Rank = -1;
24087         node.Attributes = attrs;
24088         registry.AddNodes(std::vector<AddNodesItem>{node});
24089         }
24090        
24091         {
24092         AddNodesItem node;
24093         node.RequestedNewNodeId = ToNodeId("i=7674");
24094         node.BrowseName = ToQualifiedName("AnonymousIdentityToken");
24095         node.Class = NodeClass::Variable;
24096         node.ParentNodeId = ToNodeId("i=7617");
24097         node.ReferenceTypeId = ReferenceId::HasComponent;
24098         node.TypeDefinition = ToNodeId("i=69");
24099         VariableAttributes attrs;
24100         attrs.DisplayName = LocalizedText("AnonymousIdentityToken");
24101         attrs.Type = ObjectId::String;
24102         attrs.Value = +"AnonymousIdentityToken";
24103         attrs.Rank = -1;
24104         node.Attributes = attrs;
24105         registry.AddNodes(std::vector<AddNodesItem>{node});
24106         }
24107        
24108         {
24109         AddNodesItem node;
24110         node.RequestedNewNodeId = ToNodeId("i=7677");
24111         node.BrowseName = ToQualifiedName("UserNameIdentityToken");
24112         node.Class = NodeClass::Variable;
24113         node.ParentNodeId = ToNodeId("i=7617");
24114         node.ReferenceTypeId = ReferenceId::HasComponent;
24115         node.TypeDefinition = ToNodeId("i=69");
24116         VariableAttributes attrs;
24117         attrs.DisplayName = LocalizedText("UserNameIdentityToken");
24118         attrs.Type = ObjectId::String;
24119         attrs.Value = +"UserNameIdentityToken";
24120         attrs.Rank = -1;
24121         node.Attributes = attrs;
24122         registry.AddNodes(std::vector<AddNodesItem>{node});
24123         }
24124        
24125         {
24126         AddNodesItem node;
24127         node.RequestedNewNodeId = ToNodeId("i=7680");
24128         node.BrowseName = ToQualifiedName("X509IdentityToken");
24129         node.Class = NodeClass::Variable;
24130         node.ParentNodeId = ToNodeId("i=7617");
24131         node.ReferenceTypeId = ReferenceId::HasComponent;
24132         node.TypeDefinition = ToNodeId("i=69");
24133         VariableAttributes attrs;
24134         attrs.DisplayName = LocalizedText("X509IdentityToken");
24135         attrs.Type = ObjectId::String;
24136         attrs.Value = +"X509IdentityToken";
24137         attrs.Rank = -1;
24138         node.Attributes = attrs;
24139         registry.AddNodes(std::vector<AddNodesItem>{node});
24140         }
24141        
24142         {
24143         AddNodesItem node;
24144         node.RequestedNewNodeId = ToNodeId("i=7683");
24145         node.BrowseName = ToQualifiedName("IssuedIdentityToken");
24146         node.Class = NodeClass::Variable;
24147         node.ParentNodeId = ToNodeId("i=7617");
24148         node.ReferenceTypeId = ReferenceId::HasComponent;
24149         node.TypeDefinition = ToNodeId("i=69");
24150         VariableAttributes attrs;
24151         attrs.DisplayName = LocalizedText("IssuedIdentityToken");
24152         attrs.Type = ObjectId::String;
24153         attrs.Value = +"IssuedIdentityToken";
24154         attrs.Rank = -1;
24155         node.Attributes = attrs;
24156         registry.AddNodes(std::vector<AddNodesItem>{node});
24157         }
24158        
24159         {
24160         AddNodesItem node;
24161         node.RequestedNewNodeId = ToNodeId("i=7728");
24162         node.BrowseName = ToQualifiedName("AddNodesItem");
24163         node.Class = NodeClass::Variable;
24164         node.ParentNodeId = ToNodeId("i=7617");
24165         node.ReferenceTypeId = ReferenceId::HasComponent;
24166         node.TypeDefinition = ToNodeId("i=69");
24167         VariableAttributes attrs;
24168         attrs.DisplayName = LocalizedText("AddNodesItem");
24169         attrs.Type = ObjectId::String;
24170         attrs.Value = +"AddNodesItem";
24171         attrs.Rank = -1;
24172         node.Attributes = attrs;
24173         registry.AddNodes(std::vector<AddNodesItem>{node});
24174         }
24175        
24176         {
24177         AddNodesItem node;
24178         node.RequestedNewNodeId = ToNodeId("i=7731");
24179         node.BrowseName = ToQualifiedName("AddReferencesItem");
24180         node.Class = NodeClass::Variable;
24181         node.ParentNodeId = ToNodeId("i=7617");
24182         node.ReferenceTypeId = ReferenceId::HasComponent;
24183         node.TypeDefinition = ToNodeId("i=69");
24184         VariableAttributes attrs;
24185         attrs.DisplayName = LocalizedText("AddReferencesItem");
24186         attrs.Type = ObjectId::String;
24187         attrs.Value = +"AddReferencesItem";
24188         attrs.Rank = -1;
24189         node.Attributes = attrs;
24190         registry.AddNodes(std::vector<AddNodesItem>{node});
24191         }
24192        
24193         {
24194         AddNodesItem node;
24195         node.RequestedNewNodeId = ToNodeId("i=7734");
24196         node.BrowseName = ToQualifiedName("DeleteNodesItem");
24197         node.Class = NodeClass::Variable;
24198         node.ParentNodeId = ToNodeId("i=7617");
24199         node.ReferenceTypeId = ReferenceId::HasComponent;
24200         node.TypeDefinition = ToNodeId("i=69");
24201         VariableAttributes attrs;
24202         attrs.DisplayName = LocalizedText("DeleteNodesItem");
24203         attrs.Type = ObjectId::String;
24204         attrs.Value = +"DeleteNodesItem";
24205         attrs.Rank = -1;
24206         node.Attributes = attrs;
24207         registry.AddNodes(std::vector<AddNodesItem>{node});
24208         }
24209        
24210         {
24211         AddNodesItem node;
24212         node.RequestedNewNodeId = ToNodeId("i=7737");
24213         node.BrowseName = ToQualifiedName("DeleteReferencesItem");
24214         node.Class = NodeClass::Variable;
24215         node.ParentNodeId = ToNodeId("i=7617");
24216         node.ReferenceTypeId = ReferenceId::HasComponent;
24217         node.TypeDefinition = ToNodeId("i=69");
24218         VariableAttributes attrs;
24219         attrs.DisplayName = LocalizedText("DeleteReferencesItem");
24220         attrs.Type = ObjectId::String;
24221         attrs.Value = +"DeleteReferencesItem";
24222         attrs.Rank = -1;
24223         node.Attributes = attrs;
24224         registry.AddNodes(std::vector<AddNodesItem>{node});
24225         }
24226        
24227         {
24228         AddNodesItem node;
24229         node.RequestedNewNodeId = ToNodeId("i=7686");
24230         node.BrowseName = ToQualifiedName("EndpointConfiguration");
24231         node.Class = NodeClass::Variable;
24232         node.ParentNodeId = ToNodeId("i=7617");
24233         node.ReferenceTypeId = ReferenceId::HasComponent;
24234         node.TypeDefinition = ToNodeId("i=69");
24235         VariableAttributes attrs;
24236         attrs.DisplayName = LocalizedText("EndpointConfiguration");
24237         attrs.Type = ObjectId::String;
24238         attrs.Value = +"EndpointConfiguration";
24239         attrs.Rank = -1;
24240         node.Attributes = attrs;
24241         registry.AddNodes(std::vector<AddNodesItem>{node});
24242         }
24243        
24244         {
24245         AddNodesItem node;
24246         node.RequestedNewNodeId = ToNodeId("i=7689");
24247         node.BrowseName = ToQualifiedName("SupportedProfile");
24248         node.Class = NodeClass::Variable;
24249         node.ParentNodeId = ToNodeId("i=7617");
24250         node.ReferenceTypeId = ReferenceId::HasComponent;
24251         node.TypeDefinition = ToNodeId("i=69");
24252         VariableAttributes attrs;
24253         attrs.DisplayName = LocalizedText("SupportedProfile");
24254         attrs.Type = ObjectId::String;
24255         attrs.Value = +"SupportedProfile";
24256         attrs.Rank = -1;
24257         node.Attributes = attrs;
24258         registry.AddNodes(std::vector<AddNodesItem>{node});
24259         }
24260        
24261         {
24262         AddNodesItem node;
24263         node.RequestedNewNodeId = ToNodeId("i=7695");
24264         node.BrowseName = ToQualifiedName("SoftwareCertificate");
24265         node.Class = NodeClass::Variable;
24266         node.ParentNodeId = ToNodeId("i=7617");
24267         node.ReferenceTypeId = ReferenceId::HasComponent;
24268         node.TypeDefinition = ToNodeId("i=69");
24269         VariableAttributes attrs;
24270         attrs.DisplayName = LocalizedText("SoftwareCertificate");
24271         attrs.Type = ObjectId::String;
24272         attrs.Value = +"SoftwareCertificate";
24273         attrs.Rank = -1;
24274         node.Attributes = attrs;
24275         registry.AddNodes(std::vector<AddNodesItem>{node});
24276         }
24277        
24278         {
24279         AddNodesItem node;
24280         node.RequestedNewNodeId = ToNodeId("i=7929");
24281         node.BrowseName = ToQualifiedName("ContentFilterElement");
24282         node.Class = NodeClass::Variable;
24283         node.ParentNodeId = ToNodeId("i=7617");
24284         node.ReferenceTypeId = ReferenceId::HasComponent;
24285         node.TypeDefinition = ToNodeId("i=69");
24286         VariableAttributes attrs;
24287         attrs.DisplayName = LocalizedText("ContentFilterElement");
24288         attrs.Type = ObjectId::String;
24289         attrs.Value = +"ContentFilterElement";
24290         attrs.Rank = -1;
24291         node.Attributes = attrs;
24292         registry.AddNodes(std::vector<AddNodesItem>{node});
24293         }
24294        
24295         {
24296         AddNodesItem node;
24297         node.RequestedNewNodeId = ToNodeId("i=7932");
24298         node.BrowseName = ToQualifiedName("ContentFilter");
24299         node.Class = NodeClass::Variable;
24300         node.ParentNodeId = ToNodeId("i=7617");
24301         node.ReferenceTypeId = ReferenceId::HasComponent;
24302         node.TypeDefinition = ToNodeId("i=69");
24303         VariableAttributes attrs;
24304         attrs.DisplayName = LocalizedText("ContentFilter");
24305         attrs.Type = ObjectId::String;
24306         attrs.Value = +"ContentFilter";
24307         attrs.Rank = -1;
24308         node.Attributes = attrs;
24309         registry.AddNodes(std::vector<AddNodesItem>{node});
24310         }
24311        
24312         {
24313         AddNodesItem node;
24314         node.RequestedNewNodeId = ToNodeId("i=7935");
24315         node.BrowseName = ToQualifiedName("FilterOperand");
24316         node.Class = NodeClass::Variable;
24317         node.ParentNodeId = ToNodeId("i=7617");
24318         node.ReferenceTypeId = ReferenceId::HasComponent;
24319         node.TypeDefinition = ToNodeId("i=69");
24320         VariableAttributes attrs;
24321         attrs.DisplayName = LocalizedText("FilterOperand");
24322         attrs.Type = ObjectId::String;
24323         attrs.Value = +"FilterOperand";
24324         attrs.Rank = -1;
24325         node.Attributes = attrs;
24326         registry.AddNodes(std::vector<AddNodesItem>{node});
24327         }
24328        
24329         {
24330         AddNodesItem node;
24331         node.RequestedNewNodeId = ToNodeId("i=7938");
24332         node.BrowseName = ToQualifiedName("ElementOperand");
24333         node.Class = NodeClass::Variable;
24334         node.ParentNodeId = ToNodeId("i=7617");
24335         node.ReferenceTypeId = ReferenceId::HasComponent;
24336         node.TypeDefinition = ToNodeId("i=69");
24337         VariableAttributes attrs;
24338         attrs.DisplayName = LocalizedText("ElementOperand");
24339         attrs.Type = ObjectId::String;
24340         attrs.Value = +"ElementOperand";
24341         attrs.Rank = -1;
24342         node.Attributes = attrs;
24343         registry.AddNodes(std::vector<AddNodesItem>{node});
24344         }
24345        
24346         {
24347         AddNodesItem node;
24348         node.RequestedNewNodeId = ToNodeId("i=7941");
24349         node.BrowseName = ToQualifiedName("LiteralOperand");
24350         node.Class = NodeClass::Variable;
24351         node.ParentNodeId = ToNodeId("i=7617");
24352         node.ReferenceTypeId = ReferenceId::HasComponent;
24353         node.TypeDefinition = ToNodeId("i=69");
24354         VariableAttributes attrs;
24355         attrs.DisplayName = LocalizedText("LiteralOperand");
24356         attrs.Type = ObjectId::String;
24357         attrs.Value = +"LiteralOperand";
24358         attrs.Rank = -1;
24359         node.Attributes = attrs;
24360         registry.AddNodes(std::vector<AddNodesItem>{node});
24361         }
24362        
24363         {
24364         AddNodesItem node;
24365         node.RequestedNewNodeId = ToNodeId("i=7944");
24366         node.BrowseName = ToQualifiedName("AttributeOperand");
24367         node.Class = NodeClass::Variable;
24368         node.ParentNodeId = ToNodeId("i=7617");
24369         node.ReferenceTypeId = ReferenceId::HasComponent;
24370         node.TypeDefinition = ToNodeId("i=69");
24371         VariableAttributes attrs;
24372         attrs.DisplayName = LocalizedText("AttributeOperand");
24373         attrs.Type = ObjectId::String;
24374         attrs.Value = +"AttributeOperand";
24375         attrs.Rank = -1;
24376         node.Attributes = attrs;
24377         registry.AddNodes(std::vector<AddNodesItem>{node});
24378         }
24379        
24380         {
24381         AddNodesItem node;
24382         node.RequestedNewNodeId = ToNodeId("i=7947");
24383         node.BrowseName = ToQualifiedName("SimpleAttributeOperand");
24384         node.Class = NodeClass::Variable;
24385         node.ParentNodeId = ToNodeId("i=7617");
24386         node.ReferenceTypeId = ReferenceId::HasComponent;
24387         node.TypeDefinition = ToNodeId("i=69");
24388         VariableAttributes attrs;
24389         attrs.DisplayName = LocalizedText("SimpleAttributeOperand");
24390         attrs.Type = ObjectId::String;
24391         attrs.Value = +"SimpleAttributeOperand";
24392         attrs.Rank = -1;
24393         node.Attributes = attrs;
24394         registry.AddNodes(std::vector<AddNodesItem>{node});
24395         }
24396        
24397         {
24398         AddNodesItem node;
24399         node.RequestedNewNodeId = ToNodeId("i=8004");
24400         node.BrowseName = ToQualifiedName("HistoryEvent");
24401         node.Class = NodeClass::Variable;
24402         node.ParentNodeId = ToNodeId("i=7617");
24403         node.ReferenceTypeId = ReferenceId::HasComponent;
24404         node.TypeDefinition = ToNodeId("i=69");
24405         VariableAttributes attrs;
24406         attrs.DisplayName = LocalizedText("HistoryEvent");
24407         attrs.Type = ObjectId::String;
24408         attrs.Value = +"HistoryEvent";
24409         attrs.Rank = -1;
24410         node.Attributes = attrs;
24411         registry.AddNodes(std::vector<AddNodesItem>{node});
24412         }
24413        
24414         {
24415         AddNodesItem node;
24416         node.RequestedNewNodeId = ToNodeId("i=8067");
24417         node.BrowseName = ToQualifiedName("MonitoringFilter");
24418         node.Class = NodeClass::Variable;
24419         node.ParentNodeId = ToNodeId("i=7617");
24420         node.ReferenceTypeId = ReferenceId::HasComponent;
24421         node.TypeDefinition = ToNodeId("i=69");
24422         VariableAttributes attrs;
24423         attrs.DisplayName = LocalizedText("MonitoringFilter");
24424         attrs.Type = ObjectId::String;
24425         attrs.Value = +"MonitoringFilter";
24426         attrs.Rank = -1;
24427         node.Attributes = attrs;
24428         registry.AddNodes(std::vector<AddNodesItem>{node});
24429         }
24430        
24431         {
24432         AddNodesItem node;
24433         node.RequestedNewNodeId = ToNodeId("i=8073");
24434         node.BrowseName = ToQualifiedName("EventFilter");
24435         node.Class = NodeClass::Variable;
24436         node.ParentNodeId = ToNodeId("i=7617");
24437         node.ReferenceTypeId = ReferenceId::HasComponent;
24438         node.TypeDefinition = ToNodeId("i=69");
24439         VariableAttributes attrs;
24440         attrs.DisplayName = LocalizedText("EventFilter");
24441         attrs.Type = ObjectId::String;
24442         attrs.Value = +"EventFilter";
24443         attrs.Rank = -1;
24444         node.Attributes = attrs;
24445         registry.AddNodes(std::vector<AddNodesItem>{node});
24446         }
24447        
24448         {
24449         AddNodesItem node;
24450         node.RequestedNewNodeId = ToNodeId("i=8076");
24451         node.BrowseName = ToQualifiedName("AggregateConfiguration");
24452         node.Class = NodeClass::Variable;
24453         node.ParentNodeId = ToNodeId("i=7617");
24454         node.ReferenceTypeId = ReferenceId::HasComponent;
24455         node.TypeDefinition = ToNodeId("i=69");
24456         VariableAttributes attrs;
24457         attrs.DisplayName = LocalizedText("AggregateConfiguration");
24458         attrs.Type = ObjectId::String;
24459         attrs.Value = +"AggregateConfiguration";
24460         attrs.Rank = -1;
24461         node.Attributes = attrs;
24462         registry.AddNodes(std::vector<AddNodesItem>{node});
24463         }
24464        
24465         {
24466         AddNodesItem node;
24467         node.RequestedNewNodeId = ToNodeId("i=8172");
24468         node.BrowseName = ToQualifiedName("HistoryEventFieldList");
24469         node.Class = NodeClass::Variable;
24470         node.ParentNodeId = ToNodeId("i=7617");
24471         node.ReferenceTypeId = ReferenceId::HasComponent;
24472         node.TypeDefinition = ToNodeId("i=69");
24473         VariableAttributes attrs;
24474         attrs.DisplayName = LocalizedText("HistoryEventFieldList");
24475         attrs.Type = ObjectId::String;
24476         attrs.Value = +"HistoryEventFieldList";
24477         attrs.Rank = -1;
24478         node.Attributes = attrs;
24479         registry.AddNodes(std::vector<AddNodesItem>{node});
24480         }
24481        
24482         {
24483         AddNodesItem node;
24484         node.RequestedNewNodeId = ToNodeId("i=7749");
24485         node.BrowseName = ToQualifiedName("ScalarTestType");
24486         node.Class = NodeClass::Variable;
24487         node.ParentNodeId = ToNodeId("i=7617");
24488         node.ReferenceTypeId = ReferenceId::HasComponent;
24489         node.TypeDefinition = ToNodeId("i=69");
24490         VariableAttributes attrs;
24491         attrs.DisplayName = LocalizedText("ScalarTestType");
24492         attrs.Type = ObjectId::String;
24493         attrs.Value = +"ScalarTestType";
24494         attrs.Rank = -1;
24495         node.Attributes = attrs;
24496         registry.AddNodes(std::vector<AddNodesItem>{node});
24497         }
24498        
24499         {
24500         AddNodesItem node;
24501         node.RequestedNewNodeId = ToNodeId("i=7752");
24502         node.BrowseName = ToQualifiedName("ArrayTestType");
24503         node.Class = NodeClass::Variable;
24504         node.ParentNodeId = ToNodeId("i=7617");
24505         node.ReferenceTypeId = ReferenceId::HasComponent;
24506         node.TypeDefinition = ToNodeId("i=69");
24507         VariableAttributes attrs;
24508         attrs.DisplayName = LocalizedText("ArrayTestType");
24509         attrs.Type = ObjectId::String;
24510         attrs.Value = +"ArrayTestType";
24511         attrs.Rank = -1;
24512         node.Attributes = attrs;
24513         registry.AddNodes(std::vector<AddNodesItem>{node});
24514         }
24515        
24516         {
24517         AddNodesItem node;
24518         node.RequestedNewNodeId = ToNodeId("i=7755");
24519         node.BrowseName = ToQualifiedName("CompositeTestType");
24520         node.Class = NodeClass::Variable;
24521         node.ParentNodeId = ToNodeId("i=7617");
24522         node.ReferenceTypeId = ReferenceId::HasComponent;
24523         node.TypeDefinition = ToNodeId("i=69");
24524         VariableAttributes attrs;
24525         attrs.DisplayName = LocalizedText("CompositeTestType");
24526         attrs.Type = ObjectId::String;
24527         attrs.Value = +"CompositeTestType";
24528         attrs.Rank = -1;
24529         node.Attributes = attrs;
24530         registry.AddNodes(std::vector<AddNodesItem>{node});
24531         }
24532        
24533         {
24534         AddNodesItem node;
24535         node.RequestedNewNodeId = ToNodeId("i=7692");
24536         node.BrowseName = ToQualifiedName("BuildInfo");
24537         node.Class = NodeClass::Variable;
24538         node.ParentNodeId = ToNodeId("i=7617");
24539         node.ReferenceTypeId = ReferenceId::HasComponent;
24540         node.TypeDefinition = ToNodeId("i=69");
24541         VariableAttributes attrs;
24542         attrs.DisplayName = LocalizedText("BuildInfo");
24543         attrs.Type = ObjectId::String;
24544         attrs.Value = +"BuildInfo";
24545         attrs.Rank = -1;
24546         node.Attributes = attrs;
24547         registry.AddNodes(std::vector<AddNodesItem>{node});
24548         }
24549        
24550         {
24551         AddNodesItem node;
24552         node.RequestedNewNodeId = ToNodeId("i=8208");
24553         node.BrowseName = ToQualifiedName("RedundantServerDataType");
24554         node.Class = NodeClass::Variable;
24555         node.ParentNodeId = ToNodeId("i=7617");
24556         node.ReferenceTypeId = ReferenceId::HasComponent;
24557         node.TypeDefinition = ToNodeId("i=69");
24558         VariableAttributes attrs;
24559         attrs.DisplayName = LocalizedText("RedundantServerDataType");
24560         attrs.Type = ObjectId::String;
24561         attrs.Value = +"RedundantServerDataType";
24562         attrs.Rank = -1;
24563         node.Attributes = attrs;
24564         registry.AddNodes(std::vector<AddNodesItem>{node});
24565         }
24566        
24567         {
24568         AddNodesItem node;
24569         node.RequestedNewNodeId = ToNodeId("i=11959");
24570         node.BrowseName = ToQualifiedName("EndpointUrlListDataType");
24571         node.Class = NodeClass::Variable;
24572         node.ParentNodeId = ToNodeId("i=7617");
24573         node.ReferenceTypeId = ReferenceId::HasComponent;
24574         node.TypeDefinition = ToNodeId("i=69");
24575         VariableAttributes attrs;
24576         attrs.DisplayName = LocalizedText("EndpointUrlListDataType");
24577         attrs.Type = ObjectId::String;
24578         attrs.Value = +"EndpointUrlListDataType";
24579         attrs.Rank = -1;
24580         node.Attributes = attrs;
24581         registry.AddNodes(std::vector<AddNodesItem>{node});
24582         }
24583        
24584         {
24585         AddNodesItem node;
24586         node.RequestedNewNodeId = ToNodeId("i=11962");
24587         node.BrowseName = ToQualifiedName("NetworkGroupDataType");
24588         node.Class = NodeClass::Variable;
24589         node.ParentNodeId = ToNodeId("i=7617");
24590         node.ReferenceTypeId = ReferenceId::HasComponent;
24591         node.TypeDefinition = ToNodeId("i=69");
24592         VariableAttributes attrs;
24593         attrs.DisplayName = LocalizedText("NetworkGroupDataType");
24594         attrs.Type = ObjectId::String;
24595         attrs.Value = +"NetworkGroupDataType";
24596         attrs.Rank = -1;
24597         node.Attributes = attrs;
24598         registry.AddNodes(std::vector<AddNodesItem>{node});
24599         }
24600        
24601         {
24602         AddNodesItem node;
24603         node.RequestedNewNodeId = ToNodeId("i=8211");
24604         node.BrowseName = ToQualifiedName("SamplingIntervalDiagnosticsDataType");
24605         node.Class = NodeClass::Variable;
24606         node.ParentNodeId = ToNodeId("i=7617");
24607         node.ReferenceTypeId = ReferenceId::HasComponent;
24608         node.TypeDefinition = ToNodeId("i=69");
24609         VariableAttributes attrs;
24610         attrs.DisplayName = LocalizedText("SamplingIntervalDiagnosticsDataType");
24611         attrs.Type = ObjectId::String;
24612         attrs.Value = +"SamplingIntervalDiagnosticsDataType";
24613         attrs.Rank = -1;
24614         node.Attributes = attrs;
24615         registry.AddNodes(std::vector<AddNodesItem>{node});
24616         }
24617        
24618         {
24619         AddNodesItem node;
24620         node.RequestedNewNodeId = ToNodeId("i=8214");
24621         node.BrowseName = ToQualifiedName("ServerDiagnosticsSummaryDataType");
24622         node.Class = NodeClass::Variable;
24623         node.ParentNodeId = ToNodeId("i=7617");
24624         node.ReferenceTypeId = ReferenceId::HasComponent;
24625         node.TypeDefinition = ToNodeId("i=69");
24626         VariableAttributes attrs;
24627         attrs.DisplayName = LocalizedText("ServerDiagnosticsSummaryDataType");
24628         attrs.Type = ObjectId::String;
24629         attrs.Value = +"ServerDiagnosticsSummaryDataType";
24630         attrs.Rank = -1;
24631         node.Attributes = attrs;
24632         registry.AddNodes(std::vector<AddNodesItem>{node});
24633         }
24634        
24635         {
24636         AddNodesItem node;
24637         node.RequestedNewNodeId = ToNodeId("i=8217");
24638         node.BrowseName = ToQualifiedName("ServerStatusDataType");
24639         node.Class = NodeClass::Variable;
24640         node.ParentNodeId = ToNodeId("i=7617");
24641         node.ReferenceTypeId = ReferenceId::HasComponent;
24642         node.TypeDefinition = ToNodeId("i=69");
24643         VariableAttributes attrs;
24644         attrs.DisplayName = LocalizedText("ServerStatusDataType");
24645         attrs.Type = ObjectId::String;
24646         attrs.Value = +"ServerStatusDataType";
24647         attrs.Rank = -1;
24648         node.Attributes = attrs;
24649         registry.AddNodes(std::vector<AddNodesItem>{node});
24650         }
24651        
24652         {
24653         AddNodesItem node;
24654         node.RequestedNewNodeId = ToNodeId("i=8220");
24655         node.BrowseName = ToQualifiedName("SessionDiagnosticsDataType");
24656         node.Class = NodeClass::Variable;
24657         node.ParentNodeId = ToNodeId("i=7617");
24658         node.ReferenceTypeId = ReferenceId::HasComponent;
24659         node.TypeDefinition = ToNodeId("i=69");
24660         VariableAttributes attrs;
24661         attrs.DisplayName = LocalizedText("SessionDiagnosticsDataType");
24662         attrs.Type = ObjectId::String;
24663         attrs.Value = +"SessionDiagnosticsDataType";
24664         attrs.Rank = -1;
24665         node.Attributes = attrs;
24666         registry.AddNodes(std::vector<AddNodesItem>{node});
24667         }
24668        
24669         {
24670         AddNodesItem node;
24671         node.RequestedNewNodeId = ToNodeId("i=8223");
24672         node.BrowseName = ToQualifiedName("SessionSecurityDiagnosticsDataType");
24673         node.Class = NodeClass::Variable;
24674         node.ParentNodeId = ToNodeId("i=7617");
24675         node.ReferenceTypeId = ReferenceId::HasComponent;
24676         node.TypeDefinition = ToNodeId("i=69");
24677         VariableAttributes attrs;
24678         attrs.DisplayName = LocalizedText("SessionSecurityDiagnosticsDataType");
24679         attrs.Type = ObjectId::String;
24680         attrs.Value = +"SessionSecurityDiagnosticsDataType";
24681         attrs.Rank = -1;
24682         node.Attributes = attrs;
24683         registry.AddNodes(std::vector<AddNodesItem>{node});
24684         }
24685        
24686         {
24687         AddNodesItem node;
24688         node.RequestedNewNodeId = ToNodeId("i=8226");
24689         node.BrowseName = ToQualifiedName("ServiceCounterDataType");
24690         node.Class = NodeClass::Variable;
24691         node.ParentNodeId = ToNodeId("i=7617");
24692         node.ReferenceTypeId = ReferenceId::HasComponent;
24693         node.TypeDefinition = ToNodeId("i=69");
24694         VariableAttributes attrs;
24695         attrs.DisplayName = LocalizedText("ServiceCounterDataType");
24696         attrs.Type = ObjectId::String;
24697         attrs.Value = +"ServiceCounterDataType";
24698         attrs.Rank = -1;
24699         node.Attributes = attrs;
24700         registry.AddNodes(std::vector<AddNodesItem>{node});
24701         }
24702        
24703         {
24704         AddNodesItem node;
24705         node.RequestedNewNodeId = ToNodeId("i=7659");
24706         node.BrowseName = ToQualifiedName("StatusResult");
24707         node.Class = NodeClass::Variable;
24708         node.ParentNodeId = ToNodeId("i=7617");
24709         node.ReferenceTypeId = ReferenceId::HasComponent;
24710         node.TypeDefinition = ToNodeId("i=69");
24711         VariableAttributes attrs;
24712         attrs.DisplayName = LocalizedText("StatusResult");
24713         attrs.Type = ObjectId::String;
24714         attrs.Value = +"StatusResult";
24715         attrs.Rank = -1;
24716         node.Attributes = attrs;
24717         registry.AddNodes(std::vector<AddNodesItem>{node});
24718         }
24719        
24720         {
24721         AddNodesItem node;
24722         node.RequestedNewNodeId = ToNodeId("i=8229");
24723         node.BrowseName = ToQualifiedName("SubscriptionDiagnosticsDataType");
24724         node.Class = NodeClass::Variable;
24725         node.ParentNodeId = ToNodeId("i=7617");
24726         node.ReferenceTypeId = ReferenceId::HasComponent;
24727         node.TypeDefinition = ToNodeId("i=69");
24728         VariableAttributes attrs;
24729         attrs.DisplayName = LocalizedText("SubscriptionDiagnosticsDataType");
24730         attrs.Type = ObjectId::String;
24731         attrs.Value = +"SubscriptionDiagnosticsDataType";
24732         attrs.Rank = -1;
24733         node.Attributes = attrs;
24734         registry.AddNodes(std::vector<AddNodesItem>{node});
24735         }
24736        
24737         {
24738         AddNodesItem node;
24739         node.RequestedNewNodeId = ToNodeId("i=8232");
24740         node.BrowseName = ToQualifiedName("ModelChangeStructureDataType");
24741         node.Class = NodeClass::Variable;
24742         node.ParentNodeId = ToNodeId("i=7617");
24743         node.ReferenceTypeId = ReferenceId::HasComponent;
24744         node.TypeDefinition = ToNodeId("i=69");
24745         VariableAttributes attrs;
24746         attrs.DisplayName = LocalizedText("ModelChangeStructureDataType");
24747         attrs.Type = ObjectId::String;
24748         attrs.Value = +"ModelChangeStructureDataType";
24749         attrs.Rank = -1;
24750         node.Attributes = attrs;
24751         registry.AddNodes(std::vector<AddNodesItem>{node});
24752         }
24753        
24754         {
24755         AddNodesItem node;
24756         node.RequestedNewNodeId = ToNodeId("i=8235");
24757         node.BrowseName = ToQualifiedName("SemanticChangeStructureDataType");
24758         node.Class = NodeClass::Variable;
24759         node.ParentNodeId = ToNodeId("i=7617");
24760         node.ReferenceTypeId = ReferenceId::HasComponent;
24761         node.TypeDefinition = ToNodeId("i=69");
24762         VariableAttributes attrs;
24763         attrs.DisplayName = LocalizedText("SemanticChangeStructureDataType");
24764         attrs.Type = ObjectId::String;
24765         attrs.Value = +"SemanticChangeStructureDataType";
24766         attrs.Rank = -1;
24767         node.Attributes = attrs;
24768         registry.AddNodes(std::vector<AddNodesItem>{node});
24769         }
24770        
24771         {
24772         AddNodesItem node;
24773         node.RequestedNewNodeId = ToNodeId("i=8238");
24774         node.BrowseName = ToQualifiedName("Range");
24775         node.Class = NodeClass::Variable;
24776         node.ParentNodeId = ToNodeId("i=7617");
24777         node.ReferenceTypeId = ReferenceId::HasComponent;
24778         node.TypeDefinition = ToNodeId("i=69");
24779         VariableAttributes attrs;
24780         attrs.DisplayName = LocalizedText("Range");
24781         attrs.Type = ObjectId::String;
24782         attrs.Value = +"Range";
24783         attrs.Rank = -1;
24784         node.Attributes = attrs;
24785         registry.AddNodes(std::vector<AddNodesItem>{node});
24786         }
24787        
24788         {
24789         AddNodesItem node;
24790         node.RequestedNewNodeId = ToNodeId("i=8241");
24791         node.BrowseName = ToQualifiedName("EUInformation");
24792         node.Class = NodeClass::Variable;
24793         node.ParentNodeId = ToNodeId("i=7617");
24794         node.ReferenceTypeId = ReferenceId::HasComponent;
24795         node.TypeDefinition = ToNodeId("i=69");
24796         VariableAttributes attrs;
24797         attrs.DisplayName = LocalizedText("EUInformation");
24798         attrs.Type = ObjectId::String;
24799         attrs.Value = +"EUInformation";
24800         attrs.Rank = -1;
24801         node.Attributes = attrs;
24802         registry.AddNodes(std::vector<AddNodesItem>{node});
24803         }
24804        
24805         {
24806         AddNodesItem node;
24807         node.RequestedNewNodeId = ToNodeId("i=12183");
24808         node.BrowseName = ToQualifiedName("ComplexNumberType");
24809         node.Class = NodeClass::Variable;
24810         node.ParentNodeId = ToNodeId("i=7617");
24811         node.ReferenceTypeId = ReferenceId::HasComponent;
24812         node.TypeDefinition = ToNodeId("i=69");
24813         VariableAttributes attrs;
24814         attrs.DisplayName = LocalizedText("ComplexNumberType");
24815         attrs.Type = ObjectId::String;
24816         attrs.Value = +"ComplexNumberType";
24817         attrs.Rank = -1;
24818         node.Attributes = attrs;
24819         registry.AddNodes(std::vector<AddNodesItem>{node});
24820         }
24821        
24822         {
24823         AddNodesItem node;
24824         node.RequestedNewNodeId = ToNodeId("i=12186");
24825         node.BrowseName = ToQualifiedName("DoubleComplexNumberType");
24826         node.Class = NodeClass::Variable;
24827         node.ParentNodeId = ToNodeId("i=7617");
24828         node.ReferenceTypeId = ReferenceId::HasComponent;
24829         node.TypeDefinition = ToNodeId("i=69");
24830         VariableAttributes attrs;
24831         attrs.DisplayName = LocalizedText("DoubleComplexNumberType");
24832         attrs.Type = ObjectId::String;
24833         attrs.Value = +"DoubleComplexNumberType";
24834         attrs.Rank = -1;
24835         node.Attributes = attrs;
24836         registry.AddNodes(std::vector<AddNodesItem>{node});
24837         }
24838        
24839         {
24840         AddNodesItem node;
24841         node.RequestedNewNodeId = ToNodeId("i=12091");
24842         node.BrowseName = ToQualifiedName("AxisInformation");
24843         node.Class = NodeClass::Variable;
24844         node.ParentNodeId = ToNodeId("i=7617");
24845         node.ReferenceTypeId = ReferenceId::HasComponent;
24846         node.TypeDefinition = ToNodeId("i=69");
24847         VariableAttributes attrs;
24848         attrs.DisplayName = LocalizedText("AxisInformation");
24849         attrs.Type = ObjectId::String;
24850         attrs.Value = +"AxisInformation";
24851         attrs.Rank = -1;
24852         node.Attributes = attrs;
24853         registry.AddNodes(std::vector<AddNodesItem>{node});
24854         }
24855        
24856         {
24857         AddNodesItem node;
24858         node.RequestedNewNodeId = ToNodeId("i=12094");
24859         node.BrowseName = ToQualifiedName("XVType");
24860         node.Class = NodeClass::Variable;
24861         node.ParentNodeId = ToNodeId("i=7617");
24862         node.ReferenceTypeId = ReferenceId::HasComponent;
24863         node.TypeDefinition = ToNodeId("i=69");
24864         VariableAttributes attrs;
24865         attrs.DisplayName = LocalizedText("XVType");
24866         attrs.Type = ObjectId::String;
24867         attrs.Value = +"XVType";
24868         attrs.Rank = -1;
24869         node.Attributes = attrs;
24870         registry.AddNodes(std::vector<AddNodesItem>{node});
24871         }
24872        
24873         {
24874         AddNodesItem node;
24875         node.RequestedNewNodeId = ToNodeId("i=8247");
24876         node.BrowseName = ToQualifiedName("ProgramDiagnosticDataType");
24877         node.Class = NodeClass::Variable;
24878         node.ParentNodeId = ToNodeId("i=7617");
24879         node.ReferenceTypeId = ReferenceId::HasComponent;
24880         node.TypeDefinition = ToNodeId("i=69");
24881         VariableAttributes attrs;
24882         attrs.DisplayName = LocalizedText("ProgramDiagnosticDataType");
24883         attrs.Type = ObjectId::String;
24884         attrs.Value = +"ProgramDiagnosticDataType";
24885         attrs.Rank = -1;
24886         node.Attributes = attrs;
24887         registry.AddNodes(std::vector<AddNodesItem>{node});
24888         }
24889        
24890         {
24891         AddNodesItem node;
24892         node.RequestedNewNodeId = ToNodeId("i=8244");
24893         node.BrowseName = ToQualifiedName("Annotation");
24894         node.Class = NodeClass::Variable;
24895         node.ParentNodeId = ToNodeId("i=7617");
24896         node.ReferenceTypeId = ReferenceId::HasComponent;
24897         node.TypeDefinition = ToNodeId("i=69");
24898         VariableAttributes attrs;
24899         attrs.DisplayName = LocalizedText("Annotation");
24900         attrs.Type = ObjectId::String;
24901         attrs.Value = +"Annotation";
24902         attrs.Rank = -1;
24903         node.Attributes = attrs;
24904         registry.AddNodes(std::vector<AddNodesItem>{node});
24905         }
24906 
24907    }
24908 
24909 } // namespace
24910     


ros_opcua_impl_freeopcua
Author(s): Denis Štogl
autogenerated on Sat Jun 8 2019 18:24:57