00001 // DO NOT EDIT THIS FILE! 00002 // It is automatically generated from opcfoundation.org schemas. 00003 // 00004 00014 00015 #include "binary_serialization.h" 00016 #include <opc/ua/protocol/protocol.h> 00017 00018 #include <opc/ua/protocol/binary/stream.h> 00019 00020 namespace OpcUa 00021 { 00022 namespace Binary 00023 { 00024 00025 template<> 00026 void DataSerializer::Serialize<OpenFileMode>(const OpenFileMode& data) 00027 { 00028 *this << static_cast<uint32_t>(data); 00029 } 00030 00031 00032 template<> 00033 void DataSerializer::Serialize<NodeClass>(const NodeClass& data) 00034 { 00035 *this << static_cast<uint32_t>(data); 00036 } 00037 00038 00039 template<> 00040 void DataSerializer::Serialize<ApplicationType>(const ApplicationType& data) 00041 { 00042 *this << static_cast<uint32_t>(data); 00043 } 00044 00045 00046 template<> 00047 void DataSerializer::Serialize<MessageSecurityMode>(const MessageSecurityMode& data) 00048 { 00049 *this << static_cast<uint32_t>(data); 00050 } 00051 00052 00053 template<> 00054 void DataSerializer::Serialize<UserTokenType>(const UserTokenType& data) 00055 { 00056 *this << static_cast<uint32_t>(data); 00057 } 00058 00059 00060 template<> 00061 void DataSerializer::Serialize<SecurityTokenRequestType>(const SecurityTokenRequestType& data) 00062 { 00063 *this << static_cast<uint32_t>(data); 00064 } 00065 00066 00067 template<> 00068 void DataSerializer::Serialize<NodeAttributesMask>(const NodeAttributesMask& data) 00069 { 00070 *this << static_cast<uint32_t>(data); 00071 } 00072 00073 00074 template<> 00075 void DataSerializer::Serialize<AttributeWriteMask>(const AttributeWriteMask& data) 00076 { 00077 *this << static_cast<uint32_t>(data); 00078 } 00079 00080 00081 template<> 00082 void DataSerializer::Serialize<BrowseDirection>(const BrowseDirection& data) 00083 { 00084 *this << static_cast<uint32_t>(data); 00085 } 00086 00087 00088 template<> 00089 void DataSerializer::Serialize<BrowseResultMask>(const BrowseResultMask& data) 00090 { 00091 *this << static_cast<uint32_t>(data); 00092 } 00093 00094 00095 template<> 00096 void DataSerializer::Serialize<ComplianceLevel>(const ComplianceLevel& data) 00097 { 00098 *this << static_cast<uint32_t>(data); 00099 } 00100 00101 00102 template<> 00103 void DataSerializer::Serialize<FilterOperator>(const FilterOperator& data) 00104 { 00105 *this << static_cast<uint32_t>(data); 00106 } 00107 00108 00109 template<> 00110 void DataSerializer::Serialize<TimestampsToReturn>(const TimestampsToReturn& data) 00111 { 00112 *this << static_cast<uint32_t>(data); 00113 } 00114 00115 00116 template<> 00117 void DataSerializer::Serialize<HistoryUpdateType>(const HistoryUpdateType& data) 00118 { 00119 *this << static_cast<uint32_t>(data); 00120 } 00121 00122 00123 template<> 00124 void DataSerializer::Serialize<PerformUpdateType>(const PerformUpdateType& data) 00125 { 00126 *this << static_cast<uint32_t>(data); 00127 } 00128 00129 00130 template<> 00131 void DataSerializer::Serialize<MonitoringMode>(const MonitoringMode& data) 00132 { 00133 *this << static_cast<uint32_t>(data); 00134 } 00135 00136 00137 template<> 00138 void DataSerializer::Serialize<DataChangeTrigger>(const DataChangeTrigger& data) 00139 { 00140 *this << static_cast<uint32_t>(data); 00141 } 00142 00143 00144 template<> 00145 void DataSerializer::Serialize<DeadbandType>(const DeadbandType& data) 00146 { 00147 *this << static_cast<uint32_t>(data); 00148 } 00149 00150 00151 template<> 00152 void DataSerializer::Serialize<EnumeratedTestType>(const EnumeratedTestType& data) 00153 { 00154 *this << static_cast<uint32_t>(data); 00155 } 00156 00157 00158 template<> 00159 void DataSerializer::Serialize<RedundancySupport>(const RedundancySupport& data) 00160 { 00161 *this << static_cast<uint32_t>(data); 00162 } 00163 00164 00165 template<> 00166 void DataSerializer::Serialize<ServerState>(const ServerState& data) 00167 { 00168 *this << static_cast<uint32_t>(data); 00169 } 00170 00171 00172 template<> 00173 void DataSerializer::Serialize<ModelChangeStructureVerbMask>(const ModelChangeStructureVerbMask& data) 00174 { 00175 *this << static_cast<uint32_t>(data); 00176 } 00177 00178 00179 template<> 00180 void DataSerializer::Serialize<AxisScaleEnumeration>(const AxisScaleEnumeration& data) 00181 { 00182 *this << static_cast<uint32_t>(data); 00183 } 00184 00185 00186 template<> 00187 void DataSerializer::Serialize<ExceptionDeviationFormat>(const ExceptionDeviationFormat& data) 00188 { 00189 *this << static_cast<uint32_t>(data); 00190 } 00191 00192 00193 template<> 00194 void DataSerializer::Serialize<XmlElement>(const XmlElement& data) 00195 { 00196 *this << data.Length; 00197 SerializeContainer(*this, data.Value); 00198 } 00199 00200 00201 /* DISABLED 00202 00203 template<> 00204 void DataSerializer::Serialize<TwoByteNodeId>(const TwoByteNodeId& data) 00205 { 00206 *this << data.Identifier; 00207 } 00208 00209 */ 00210 00211 /* DISABLED 00212 00213 template<> 00214 void DataSerializer::Serialize<FourByteNodeId>(const FourByteNodeId& data) 00215 { 00216 *this << data.NamespaceIndex; 00217 *this << data.Identifier; 00218 } 00219 00220 */ 00221 00222 /* DISABLED 00223 00224 template<> 00225 void DataSerializer::Serialize<NumericNodeId>(const NumericNodeId& data) 00226 { 00227 *this << data.NamespaceIndex; 00228 *this << data.Identifier; 00229 } 00230 00231 */ 00232 00233 /* DISABLED 00234 00235 template<> 00236 void DataSerializer::Serialize<StringNodeId>(const StringNodeId& data) 00237 { 00238 *this << data.NamespaceIndex; 00239 *this << data.Identifier; 00240 } 00241 00242 */ 00243 00244 /* DISABLED 00245 00246 template<> 00247 void DataSerializer::Serialize<GuidNodeId>(const GuidNodeId& data) 00248 { 00249 *this << data.NamespaceIndex; 00250 *this << data.Identifier; 00251 } 00252 00253 */ 00254 00255 /* DISABLED 00256 00257 template<> 00258 void DataSerializer::Serialize<ByteStringNodeId>(const ByteStringNodeId& data) 00259 { 00260 *this << data.NamespaceIndex; 00261 *this << data.Identifier; 00262 } 00263 00264 */ 00265 00266 /* DISABLED 00267 00268 template<> 00269 void DataSerializer::Serialize<NodeId>(const NodeId& data) 00270 { 00271 *this << data.NodeIdType; 00272 if ((data.NodeIdType) & (1<<(0))) *this << data.TwoByte; 00273 if ((data.NodeIdType) & (1<<(1))) *this << data.FourByte; 00274 if ((data.NodeIdType) & (1<<(2))) *this << data.Numeric; 00275 if ((data.NodeIdType) & (1<<(3))) *this << data.String; 00276 if ((data.NodeIdType) & (1<<(4))) *this << data.Guid; 00277 if ((data.NodeIdType) & (1<<(5))) *this << data.ByteString; 00278 } 00279 00280 */ 00281 00282 template<> 00283 void DataSerializer::Serialize<ExtensionObject>(const ExtensionObject& data) 00284 { 00285 *this << data.TypeId; 00286 *this << data.Encoding; 00287 if ((data.Encoding) & (1<<(0))) *this << data.Body; 00288 } 00289 00290 00291 /* DISABLED 00292 00293 template<> 00294 void DataSerializer::Serialize<ExpandedNodeId>(const ExpandedNodeId& data) 00295 { 00296 *this << data.NodeIdType; 00297 if ((data.NodeIdType) & (1<<(0))) *this << data.TwoByte; 00298 if ((data.NodeIdType) & (1<<(1))) *this << data.FourByte; 00299 if ((data.NodeIdType) & (1<<(2))) *this << data.Numeric; 00300 if ((data.NodeIdType) & (1<<(3))) *this << data.String; 00301 if ((data.NodeIdType) & (1<<(4))) *this << data.Guid; 00302 if ((data.NodeIdType) & (1<<(5))) *this << data.ByteString; 00303 if ((data.NodeIdType) & (1<<(7))) *this << data.NamespaceURI; 00304 if ((data.NodeIdType) & (1<<(6))) *this << data.ServerIndex; 00305 } 00306 00307 */ 00308 00309 /* DISABLED 00310 00311 template<> 00312 void DataSerializer::Serialize<DiagnosticInfo>(const DiagnosticInfo& data) 00313 { 00314 *this << data.Encoding; 00315 if ((data.Encoding) & (1<<(0))) *this << data.SymbolicId; 00316 if ((data.Encoding) & (1<<(1))) *this << data.NamespaceURI; 00317 if ((data.Encoding) & (1<<(2))) *this << data.LocalizedText; 00318 if ((data.Encoding) & (1<<(4))) *this << data.AdditionalInfo; 00319 if ((data.Encoding) & (1<<(5))) *this << data.InnerStatusCode; 00320 if ((data.Encoding) & (1<<(6))) *this << data.InnerDiagnosticInfo; 00321 } 00322 00323 */ 00324 00325 /* DISABLED 00326 00327 template<> 00328 void DataSerializer::Serialize<QualifiedName>(const QualifiedName& data) 00329 { 00330 *this << data.NamespaceIndex; 00331 *this << data.Name; 00332 } 00333 00334 */ 00335 00336 /* DISABLED 00337 00338 template<> 00339 void DataSerializer::Serialize<LocalizedText>(const LocalizedText& data) 00340 { 00341 *this << data.Encoding; 00342 if ((data.Encoding) & (1<<(0))) *this << data.Locale; 00343 if ((data.Encoding) & (1<<(1))) *this << data.Text; 00344 } 00345 00346 */ 00347 00348 /* DISABLED 00349 00350 template<> 00351 void DataSerializer::Serialize<Variant>(const Variant& data) 00352 { 00353 *this << data.Encoding; 00354 if ((data.Encoding) & (1<<(7))) *this << data.ArrayLength; 00355 if ((data.VariantType) & (1<<(1))) SerializeContainer(*this, data.Boolean); 00356 if ((data.VariantType) & (1<<(2))) SerializeContainer(*this, data.SByte); 00357 if ((data.VariantType) & (1<<(3))) SerializeContainer(*this, data.Byte); 00358 if ((data.VariantType) & (1<<(4))) SerializeContainer(*this, data.Int16); 00359 if ((data.VariantType) & (1<<(5))) SerializeContainer(*this, data.UInt16); 00360 if ((data.VariantType) & (1<<(6))) SerializeContainer(*this, data.Int32); 00361 if ((data.VariantType) & (1<<(7))) SerializeContainer(*this, data.UInt32); 00362 if ((data.VariantType) & (1<<(8))) SerializeContainer(*this, data.Int64); 00363 if ((data.VariantType) & (1<<(9))) SerializeContainer(*this, data.UInt64); 00364 if ((data.VariantType) & (1<<(10))) SerializeContainer(*this, data.Float); 00365 if ((data.VariantType) & (1<<(11))) SerializeContainer(*this, data.Double); 00366 if ((data.VariantType) & (1<<(12))) SerializeContainer(*this, data.String); 00367 if ((data.VariantType) & (1<<(13))) SerializeContainer(*this, data.DateTime); 00368 if ((data.VariantType) & (1<<(14))) SerializeContainer(*this, data.Guid); 00369 if ((data.VariantType) & (1<<(15))) SerializeContainer(*this, data.ByteString); 00370 if ((data.VariantType) & (1<<(16))) SerializeContainer(*this, data.XmlElement); 00371 if ((data.VariantType) & (1<<(17))) SerializeContainer(*this, data.NodeId); 00372 if ((data.VariantType) & (1<<(18))) SerializeContainer(*this, data.ExpandedNodeId); 00373 if ((data.VariantType) & (1<<(19))) SerializeContainer(*this, data.Status); 00374 if ((data.VariantType) & (1<<(20))) SerializeContainer(*this, data.DiagnosticInfo); 00375 if ((data.VariantType) & (1<<(21))) SerializeContainer(*this, data.QualifiedName); 00376 if ((data.VariantType) & (1<<(22))) SerializeContainer(*this, data.LocalizedText); 00377 if ((data.VariantType) & (1<<(23))) SerializeContainer(*this, data.ExtensionObject); 00378 if ((data.VariantType) & (1<<(24))) SerializeContainer(*this, data.DataValue); 00379 if ((data.VariantType) & (1<<(25))) SerializeContainer(*this, data.Variant); 00380 } 00381 00382 */ 00383 00384 /* DISABLED 00385 00386 template<> 00387 void DataSerializer::Serialize<DataValue>(const DataValue& data) 00388 { 00389 *this << data.Encoding; 00390 if ((data.Encoding) & (1<<(0))) *this << data.Value; 00391 if ((data.Encoding) & (1<<(1))) *this << data.Status; 00392 if ((data.Encoding) & (1<<(2))) *this << data.SourceTimestamp; 00393 if ((data.Encoding) & (1<<(3))) *this << data.SourcePicoseconds; 00394 if ((data.Encoding) & (1<<(4))) *this << data.ServerTimestamp; 00395 if ((data.Encoding) & (1<<(5))) *this << data.ServerPicoseconds; 00396 } 00397 00398 */ 00399 00400 /* DISABLED 00401 00402 template<> 00403 void DataSerializer::Serialize<ReferenceNode>(const ReferenceNode& data) 00404 { 00405 *this << data.ReferenceTypeId; 00406 *this << data.IsInverse; 00407 *this << data.TargetId; 00408 } 00409 00410 */ 00411 00412 /* DISABLED 00413 00414 template<> 00415 void DataSerializer::Serialize<Node>(const Node& data) 00416 { 00417 *this << data.NodeId; 00418 *this << data.NodeClass; 00419 *this << data.BrowseName; 00420 *this << data.DisplayName; 00421 *this << data.Description; 00422 *this << data.WriteMask; 00423 *this << data.UserWriteMask; 00424 SerializeContainer(*this, data.References); 00425 } 00426 00427 */ 00428 00429 /* DISABLED 00430 00431 template<> 00432 void DataSerializer::Serialize<InstanceNode>(const InstanceNode& data) 00433 { 00434 *this << data.NodeId; 00435 *this << data.NodeClass; 00436 *this << data.BrowseName; 00437 *this << data.DisplayName; 00438 *this << data.Description; 00439 *this << data.WriteMask; 00440 *this << data.UserWriteMask; 00441 SerializeContainer(*this, data.References); 00442 } 00443 00444 */ 00445 00446 /* DISABLED 00447 00448 template<> 00449 void DataSerializer::Serialize<TypeNode>(const TypeNode& data) 00450 { 00451 *this << data.NodeId; 00452 *this << data.NodeClass; 00453 *this << data.BrowseName; 00454 *this << data.DisplayName; 00455 *this << data.Description; 00456 *this << data.WriteMask; 00457 *this << data.UserWriteMask; 00458 SerializeContainer(*this, data.References); 00459 } 00460 00461 */ 00462 00463 /* DISABLED 00464 00465 template<> 00466 void DataSerializer::Serialize<ObjectNode>(const ObjectNode& data) 00467 { 00468 *this << data.NodeId; 00469 *this << data.NodeClass; 00470 *this << data.BrowseName; 00471 *this << data.DisplayName; 00472 *this << data.Description; 00473 *this << data.WriteMask; 00474 *this << data.UserWriteMask; 00475 SerializeContainer(*this, data.References); 00476 *this << data.EventNotifier; 00477 } 00478 00479 */ 00480 00481 /* DISABLED 00482 00483 template<> 00484 void DataSerializer::Serialize<ObjectTypeNode>(const ObjectTypeNode& data) 00485 { 00486 *this << data.NodeId; 00487 *this << data.NodeClass; 00488 *this << data.BrowseName; 00489 *this << data.DisplayName; 00490 *this << data.Description; 00491 *this << data.WriteMask; 00492 *this << data.UserWriteMask; 00493 SerializeContainer(*this, data.References); 00494 *this << data.IsAbstract; 00495 } 00496 00497 */ 00498 00499 /* DISABLED 00500 00501 template<> 00502 void DataSerializer::Serialize<VariableNode>(const VariableNode& data) 00503 { 00504 *this << data.NodeId; 00505 *this << data.NodeClass; 00506 *this << data.BrowseName; 00507 *this << data.DisplayName; 00508 *this << data.Description; 00509 *this << data.WriteMask; 00510 *this << data.UserWriteMask; 00511 SerializeContainer(*this, data.References); 00512 *this << data.Value; 00513 *this << data.DataType; 00514 *this << data.ValueRank; 00515 SerializeContainer(*this, data.ArrayDimensions); 00516 *this << data.AccessLevel; 00517 *this << data.UserAccessLevel; 00518 *this << data.MinimumSamplingInterval; 00519 *this << data.Historizing; 00520 } 00521 00522 */ 00523 00524 /* DISABLED 00525 00526 template<> 00527 void DataSerializer::Serialize<VariableTypeNode>(const VariableTypeNode& data) 00528 { 00529 *this << data.NodeId; 00530 *this << data.NodeClass; 00531 *this << data.BrowseName; 00532 *this << data.DisplayName; 00533 *this << data.Description; 00534 *this << data.WriteMask; 00535 *this << data.UserWriteMask; 00536 SerializeContainer(*this, data.References); 00537 *this << data.Value; 00538 *this << data.DataType; 00539 *this << data.ValueRank; 00540 SerializeContainer(*this, data.ArrayDimensions); 00541 *this << data.IsAbstract; 00542 } 00543 00544 */ 00545 00546 /* DISABLED 00547 00548 template<> 00549 void DataSerializer::Serialize<ReferenceTypeNode>(const ReferenceTypeNode& data) 00550 { 00551 *this << data.NodeId; 00552 *this << data.NodeClass; 00553 *this << data.BrowseName; 00554 *this << data.DisplayName; 00555 *this << data.Description; 00556 *this << data.WriteMask; 00557 *this << data.UserWriteMask; 00558 SerializeContainer(*this, data.References); 00559 *this << data.IsAbstract; 00560 *this << data.Symmetric; 00561 *this << data.InverseName; 00562 } 00563 00564 */ 00565 00566 /* DISABLED 00567 00568 template<> 00569 void DataSerializer::Serialize<MethodNode>(const MethodNode& data) 00570 { 00571 *this << data.NodeId; 00572 *this << data.NodeClass; 00573 *this << data.BrowseName; 00574 *this << data.DisplayName; 00575 *this << data.Description; 00576 *this << data.WriteMask; 00577 *this << data.UserWriteMask; 00578 SerializeContainer(*this, data.References); 00579 *this << data.Executable; 00580 *this << data.UserExecutable; 00581 } 00582 00583 */ 00584 00585 /* DISABLED 00586 00587 template<> 00588 void DataSerializer::Serialize<ViewNode>(const ViewNode& data) 00589 { 00590 *this << data.NodeId; 00591 *this << data.NodeClass; 00592 *this << data.BrowseName; 00593 *this << data.DisplayName; 00594 *this << data.Description; 00595 *this << data.WriteMask; 00596 *this << data.UserWriteMask; 00597 SerializeContainer(*this, data.References); 00598 *this << data.ContainsNoLoops; 00599 *this << data.EventNotifier; 00600 } 00601 00602 */ 00603 00604 /* DISABLED 00605 00606 template<> 00607 void DataSerializer::Serialize<DataTypeNode>(const DataTypeNode& data) 00608 { 00609 *this << data.NodeId; 00610 *this << data.NodeClass; 00611 *this << data.BrowseName; 00612 *this << data.DisplayName; 00613 *this << data.Description; 00614 *this << data.WriteMask; 00615 *this << data.UserWriteMask; 00616 SerializeContainer(*this, data.References); 00617 *this << data.IsAbstract; 00618 } 00619 00620 */ 00621 00622 /* DISABLED 00623 00624 template<> 00625 void DataSerializer::Serialize<Argument>(const Argument& data) 00626 { 00627 *this << data.Name; 00628 *this << data.DataType; 00629 *this << data.ValueRank; 00630 SerializeContainer(*this, data.ArrayDimensions); 00631 *this << data.Description; 00632 } 00633 00634 */ 00635 00636 /* DISABLED 00637 00638 template<> 00639 void DataSerializer::Serialize<EnumValueType>(const EnumValueType& data) 00640 { 00641 *this << data.Value; 00642 *this << data.DisplayName; 00643 *this << data.Description; 00644 } 00645 00646 */ 00647 00648 /* DISABLED 00649 00650 template<> 00651 void DataSerializer::Serialize<TimeZoneDataType>(const TimeZoneDataType& data) 00652 { 00653 *this << data.Offset; 00654 *this << data.DaylightSavingInOffset; 00655 } 00656 00657 */ 00658 00659 template<> 00660 void DataSerializer::Serialize<ApplicationDescription>(const ApplicationDescription& data) 00661 { 00662 *this << data.ApplicationUri; 00663 *this << data.ProductUri; 00664 *this << data.ApplicationName; 00665 *this << data.ApplicationType; 00666 *this << data.GatewayServerUri; 00667 *this << data.DiscoveryProfileUri; 00668 SerializeContainer(*this, data.DiscoveryUrls); 00669 } 00670 00671 00672 /* DISABLED 00673 00674 template<> 00675 void DataSerializer::Serialize<RequestHeader>(const RequestHeader& data) 00676 { 00677 *this << data.AuthenticationToken; 00678 *this << data.Timestamp; 00679 *this << data.RequestHandle; 00680 *this << data.ReturnDiagnostics; 00681 *this << data.AuditEntryId; 00682 *this << data.TimeoutHint; 00683 *this << data.AdditionalHeader; 00684 } 00685 00686 */ 00687 00688 /* DISABLED 00689 00690 template<> 00691 void DataSerializer::Serialize<ResponseHeader>(const ResponseHeader& data) 00692 { 00693 *this << data.Timestamp; 00694 *this << data.RequestHandle; 00695 *this << data.ServiceResult; 00696 *this << data.ServiceDiagnostics; 00697 SerializeContainer(*this, data.StringTable); 00698 *this << data.AdditionalHeader; 00699 } 00700 00701 */ 00702 00703 /* DISABLED 00704 00705 template<> 00706 void DataSerializer::Serialize<ServiceFault>(const ServiceFault& data) 00707 { 00708 *this << data.TypeId; 00709 *this << data.Header; 00710 } 00711 00712 */ 00713 00714 /* DISABLED 00715 00716 template<> 00717 void DataSerializer::Serialize<FindServersParameters>(const FindServersParameters& data) 00718 { 00719 *this << data.EndpointUrl; 00720 SerializeContainer(*this, data.LocaleIds); 00721 SerializeContainer(*this, data.ServerUris); 00722 } 00723 00724 */ 00725 00726 /* DISABLED 00727 00728 template<> 00729 void DataSerializer::Serialize<FindServersRequest>(const FindServersRequest& data) 00730 { 00731 *this << data.TypeId; 00732 *this << data.Header; 00733 *this << data.Parameters; 00734 } 00735 00736 */ 00737 00738 /* DISABLED 00739 00740 template<> 00741 void DataSerializer::Serialize<FindServersResult>(const FindServersResult& data) 00742 { 00743 SerializeContainer(*this, data.Servers); 00744 } 00745 00746 */ 00747 00748 /* DISABLED 00749 00750 template<> 00751 void DataSerializer::Serialize<FindServersResponse>(const FindServersResponse& data) 00752 { 00753 *this << data.TypeId; 00754 *this << data.Header; 00755 *this << data.Parameters; 00756 } 00757 00758 */ 00759 00760 template<> 00761 void DataSerializer::Serialize<UserTokenPolicy>(const UserTokenPolicy& data) 00762 { 00763 *this << data.PolicyId; 00764 *this << data.TokenType; 00765 *this << data.IssuedTokenType; 00766 *this << data.IssuerEndpointUrl; 00767 *this << data.SecurityPolicyUri; 00768 } 00769 00770 00771 template<> 00772 void DataSerializer::Serialize<EndpointDescription>(const EndpointDescription& data) 00773 { 00774 *this << data.EndpointUrl; 00775 *this << data.Server; 00776 *this << data.ServerCertificate; 00777 *this << data.SecurityMode; 00778 *this << data.SecurityPolicyUri; 00779 SerializeContainer(*this, data.UserIdentityTokens); 00780 *this << data.TransportProfileUri; 00781 *this << data.SecurityLevel; 00782 } 00783 00784 00785 template<> 00786 void DataSerializer::Serialize<GetEndpointsParameters>(const GetEndpointsParameters& data) 00787 { 00788 *this << data.EndpointUrl; 00789 SerializeContainer(*this, data.LocaleIds); 00790 SerializeContainer(*this, data.ProfileUris); 00791 } 00792 00793 00794 template<> 00795 void DataSerializer::Serialize<GetEndpointsRequest>(const GetEndpointsRequest& data) 00796 { 00797 *this << data.TypeId; 00798 *this << data.Header; 00799 *this << data.Parameters; 00800 } 00801 00802 00803 template<> 00804 void DataSerializer::Serialize<GetEndpointsResponse>(const GetEndpointsResponse& data) 00805 { 00806 *this << data.TypeId; 00807 *this << data.Header; 00808 SerializeContainer(*this, data.Endpoints); 00809 } 00810 00811 00812 /* DISABLED 00813 00814 template<> 00815 void DataSerializer::Serialize<RegisteredServer>(const RegisteredServer& data) 00816 { 00817 *this << data.ServerUri; 00818 *this << data.ProductUri; 00819 SerializeContainer(*this, data.ServerNames); 00820 *this << data.ServerType; 00821 *this << data.GatewayServerUri; 00822 SerializeContainer(*this, data.DiscoveryUrls); 00823 *this << data.SemaphoreFilePath; 00824 *this << data.IsOnline; 00825 } 00826 00827 */ 00828 00829 /* DISABLED 00830 00831 template<> 00832 void DataSerializer::Serialize<RegisterServerParameters>(const RegisterServerParameters& data) 00833 { 00834 *this << data.Server; 00835 } 00836 00837 */ 00838 00839 /* DISABLED 00840 00841 template<> 00842 void DataSerializer::Serialize<RegisterServerRequest>(const RegisterServerRequest& data) 00843 { 00844 *this << data.TypeId; 00845 *this << data.Header; 00846 *this << data.Parameters; 00847 } 00848 00849 */ 00850 00851 /* DISABLED 00852 00853 template<> 00854 void DataSerializer::Serialize<RegisterServerResponse>(const RegisterServerResponse& data) 00855 { 00856 *this << data.TypeId; 00857 *this << data.Header; 00858 } 00859 00860 */ 00861 00862 /* DISABLED 00863 00864 template<> 00865 void DataSerializer::Serialize<ChannelSecurityToken>(const ChannelSecurityToken& data) 00866 { 00867 *this << data.ChannelId; 00868 *this << data.TokenId; 00869 *this << data.CreatedAt; 00870 *this << data.RevisedLifetime; 00871 } 00872 00873 */ 00874 00875 /* DISABLED 00876 00877 template<> 00878 void DataSerializer::Serialize<OpenSecureChannelParameters>(const OpenSecureChannelParameters& data) 00879 { 00880 *this << data.ClientProtocolVersion; 00881 *this << data.RequestType; 00882 *this << data.SecurityMode; 00883 *this << data.ClientNonce; 00884 *this << data.RequestedLifetime; 00885 } 00886 00887 */ 00888 00889 /* DISABLED 00890 00891 template<> 00892 void DataSerializer::Serialize<OpenSecureChannelRequest>(const OpenSecureChannelRequest& data) 00893 { 00894 *this << data.TypeId; 00895 *this << data.Header; 00896 *this << data.Parameters; 00897 } 00898 00899 */ 00900 00901 /* DISABLED 00902 00903 template<> 00904 void DataSerializer::Serialize<OpenSecureChannelResult>(const OpenSecureChannelResult& data) 00905 { 00906 *this << data.ServerProtocolVersion; 00907 *this << data.SecurityToken; 00908 *this << data.ServerNonce; 00909 } 00910 00911 */ 00912 00913 /* DISABLED 00914 00915 template<> 00916 void DataSerializer::Serialize<OpenSecureChannelResponse>(const OpenSecureChannelResponse& data) 00917 { 00918 *this << data.TypeId; 00919 *this << data.Header; 00920 *this << data.Parameters; 00921 } 00922 00923 */ 00924 00925 /* DISABLED 00926 00927 template<> 00928 void DataSerializer::Serialize<CloseSecureChannelRequest>(const CloseSecureChannelRequest& data) 00929 { 00930 *this << data.TypeId; 00931 *this << data.Header; 00932 } 00933 00934 */ 00935 00936 /* DISABLED 00937 00938 template<> 00939 void DataSerializer::Serialize<CloseSecureChannelResponse>(const CloseSecureChannelResponse& data) 00940 { 00941 *this << data.TypeId; 00942 *this << data.Header; 00943 } 00944 00945 */ 00946 00947 template<> 00948 void DataSerializer::Serialize<SignedSoftwareCertificate>(const SignedSoftwareCertificate& data) 00949 { 00950 *this << data.CertificateData; 00951 *this << data.Signature; 00952 } 00953 00954 00955 template<> 00956 void DataSerializer::Serialize<SignatureData>(const SignatureData& data) 00957 { 00958 *this << data.Algorithm; 00959 *this << data.Signature; 00960 } 00961 00962 00963 template<> 00964 void DataSerializer::Serialize<CreateSessionParameters>(const CreateSessionParameters& data) 00965 { 00966 *this << data.ClientDescription; 00967 *this << data.ServerUri; 00968 *this << data.EndpointUrl; 00969 *this << data.SessionName; 00970 *this << data.ClientNonce; 00971 *this << data.ClientCertificate; 00972 *this << data.RequestedSessionTimeout; 00973 *this << data.MaxResponseMessageSize; 00974 } 00975 00976 00977 template<> 00978 void DataSerializer::Serialize<CreateSessionRequest>(const CreateSessionRequest& data) 00979 { 00980 *this << data.TypeId; 00981 *this << data.Header; 00982 *this << data.Parameters; 00983 } 00984 00985 00986 template<> 00987 void DataSerializer::Serialize<CreateSessionResult>(const CreateSessionResult& data) 00988 { 00989 *this << data.SessionId; 00990 *this << data.AuthenticationToken; 00991 *this << data.RevisedSessionTimeout; 00992 *this << data.ServerNonce; 00993 *this << data.ServerCertificate; 00994 SerializeContainer(*this, data.ServerEndpoints); 00995 SerializeContainer(*this, data.ServerSoftwareCertificates); 00996 *this << data.ServerSignature; 00997 *this << data.MaxRequestMessageSize; 00998 } 00999 01000 01001 template<> 01002 void DataSerializer::Serialize<CreateSessionResponse>(const CreateSessionResponse& data) 01003 { 01004 *this << data.TypeId; 01005 *this << data.Header; 01006 *this << data.Parameters; 01007 } 01008 01009 01010 /* DISABLED 01011 01012 template<> 01013 void DataSerializer::Serialize<UserIdentityToken>(const UserIdentityToken& data) 01014 { 01015 *this << data.TypeId; 01016 *this << data.Encoding; 01017 *this << data.BodyLength; 01018 *this << data.PolicyId; 01019 } 01020 01021 */ 01022 01023 /* DISABLED 01024 01025 template<> 01026 void DataSerializer::Serialize<AnonymousIdentityToken>(const AnonymousIdentityToken& data) 01027 { 01028 *this << data.TypeId; 01029 *this << data.Encoding; 01030 *this << data.BodyLength; 01031 *this << data.PolicyId; 01032 } 01033 01034 */ 01035 01036 /* DISABLED 01037 01038 template<> 01039 void DataSerializer::Serialize<UserNameIdentityToken>(const UserNameIdentityToken& data) 01040 { 01041 *this << data.TypeId; 01042 *this << data.Encoding; 01043 *this << data.BodyLength; 01044 *this << data.PolicyId; 01045 *this << data.UserName; 01046 *this << data.Password; 01047 *this << data.EncryptionAlgorithm; 01048 } 01049 01050 */ 01051 01052 /* DISABLED 01053 01054 template<> 01055 void DataSerializer::Serialize<X509IdentityToken>(const X509IdentityToken& data) 01056 { 01057 *this << data.TypeId; 01058 *this << data.Encoding; 01059 *this << data.BodyLength; 01060 *this << data.PolicyId; 01061 *this << data.CertificateData; 01062 } 01063 01064 */ 01065 01066 /* DISABLED 01067 01068 template<> 01069 void DataSerializer::Serialize<IssuedIdentityToken>(const IssuedIdentityToken& data) 01070 { 01071 *this << data.TypeId; 01072 *this << data.Encoding; 01073 *this << data.BodyLength; 01074 *this << data.PolicyId; 01075 *this << data.TokenData; 01076 *this << data.EncryptionAlgorithm; 01077 } 01078 01079 */ 01080 01081 template<> 01082 void DataSerializer::Serialize<ActivateSessionParameters>(const ActivateSessionParameters& data) 01083 { 01084 *this << data.ClientSignature; 01085 SerializeContainer(*this, data.ClientSoftwareCertificates); 01086 SerializeContainer(*this, data.LocaleIds); 01087 *this << data.UserIdentityToken; 01088 *this << data.UserTokenSignature; 01089 } 01090 01091 01092 template<> 01093 void DataSerializer::Serialize<ActivateSessionRequest>(const ActivateSessionRequest& data) 01094 { 01095 *this << data.TypeId; 01096 *this << data.Header; 01097 *this << data.Parameters; 01098 } 01099 01100 01101 template<> 01102 void DataSerializer::Serialize<ActivateSessionResult>(const ActivateSessionResult& data) 01103 { 01104 *this << data.ServerNonce; 01105 SerializeContainer(*this, data.Results); 01106 SerializeContainer(*this, data.DiagnosticInfos); 01107 } 01108 01109 01110 template<> 01111 void DataSerializer::Serialize<ActivateSessionResponse>(const ActivateSessionResponse& data) 01112 { 01113 *this << data.TypeId; 01114 *this << data.Header; 01115 *this << data.Parameters; 01116 } 01117 01118 01119 /* DISABLED 01120 01121 template<> 01122 void DataSerializer::Serialize<CloseSessionRequest>(const CloseSessionRequest& data) 01123 { 01124 *this << data.TypeId; 01125 *this << data.Header; 01126 *this << data.DeleteSubscriptions; 01127 } 01128 01129 */ 01130 01131 /* DISABLED 01132 01133 template<> 01134 void DataSerializer::Serialize<CloseSessionResponse>(const CloseSessionResponse& data) 01135 { 01136 *this << data.TypeId; 01137 *this << data.Header; 01138 } 01139 01140 */ 01141 01142 /* DISABLED 01143 01144 template<> 01145 void DataSerializer::Serialize<CancelParameters>(const CancelParameters& data) 01146 { 01147 *this << data.RequestHandle; 01148 } 01149 01150 */ 01151 01152 /* DISABLED 01153 01154 template<> 01155 void DataSerializer::Serialize<CancelRequest>(const CancelRequest& data) 01156 { 01157 *this << data.TypeId; 01158 *this << data.Header; 01159 *this << data.Parameters; 01160 } 01161 01162 */ 01163 01164 /* DISABLED 01165 01166 template<> 01167 void DataSerializer::Serialize<CancelResult>(const CancelResult& data) 01168 { 01169 *this << data.CancelCount; 01170 } 01171 01172 */ 01173 01174 /* DISABLED 01175 01176 template<> 01177 void DataSerializer::Serialize<CancelResponse>(const CancelResponse& data) 01178 { 01179 *this << data.TypeId; 01180 *this << data.Header; 01181 *this << data.Parameters; 01182 } 01183 01184 */ 01185 01186 /* DISABLED 01187 01188 template<> 01189 void DataSerializer::Serialize<NodeAttributes>(const NodeAttributes& data) 01190 { 01191 *this << data.TypeId; 01192 *this << data.Encoding; 01193 *this << data.BodyLength; 01194 *this << data.SpecifiedAttributes; 01195 *this << data.DisplayName; 01196 *this << data.Description; 01197 *this << data.WriteMask; 01198 *this << data.UserWriteMask; 01199 } 01200 01201 */ 01202 01203 /* DISABLED 01204 01205 template<> 01206 void DataSerializer::Serialize<ObjectAttributes>(const ObjectAttributes& data) 01207 { 01208 *this << data.TypeId; 01209 *this << data.Encoding; 01210 *this << data.BodyLength; 01211 *this << data.SpecifiedAttributes; 01212 *this << data.DisplayName; 01213 *this << data.Description; 01214 *this << data.WriteMask; 01215 *this << data.UserWriteMask; 01216 *this << data.EventNotifier; 01217 } 01218 01219 */ 01220 01221 /* DISABLED 01222 01223 template<> 01224 void DataSerializer::Serialize<VariableAttributes>(const VariableAttributes& data) 01225 { 01226 *this << data.TypeId; 01227 *this << data.Encoding; 01228 *this << data.BodyLength; 01229 *this << data.SpecifiedAttributes; 01230 *this << data.DisplayName; 01231 *this << data.Description; 01232 *this << data.WriteMask; 01233 *this << data.UserWriteMask; 01234 *this << data.Value; 01235 *this << data.DataType; 01236 *this << data.ValueRank; 01237 SerializeContainer(*this, data.ArrayDimensions); 01238 *this << data.AccessLevel; 01239 *this << data.UserAccessLevel; 01240 *this << data.MinimumSamplingInterval; 01241 *this << data.Historizing; 01242 } 01243 01244 */ 01245 01246 /* DISABLED 01247 01248 template<> 01249 void DataSerializer::Serialize<MethodAttributes>(const MethodAttributes& data) 01250 { 01251 *this << data.TypeId; 01252 *this << data.Encoding; 01253 *this << data.BodyLength; 01254 *this << data.SpecifiedAttributes; 01255 *this << data.DisplayName; 01256 *this << data.Description; 01257 *this << data.WriteMask; 01258 *this << data.UserWriteMask; 01259 *this << data.Executable; 01260 *this << data.UserExecutable; 01261 } 01262 01263 */ 01264 01265 /* DISABLED 01266 01267 template<> 01268 void DataSerializer::Serialize<ObjectTypeAttributes>(const ObjectTypeAttributes& data) 01269 { 01270 *this << data.TypeId; 01271 *this << data.Encoding; 01272 *this << data.BodyLength; 01273 *this << data.SpecifiedAttributes; 01274 *this << data.DisplayName; 01275 *this << data.Description; 01276 *this << data.WriteMask; 01277 *this << data.UserWriteMask; 01278 *this << data.IsAbstract; 01279 } 01280 01281 */ 01282 01283 /* DISABLED 01284 01285 template<> 01286 void DataSerializer::Serialize<VariableTypeAttributes>(const VariableTypeAttributes& data) 01287 { 01288 *this << data.TypeId; 01289 *this << data.Encoding; 01290 *this << data.BodyLength; 01291 *this << data.SpecifiedAttributes; 01292 *this << data.DisplayName; 01293 *this << data.Description; 01294 *this << data.WriteMask; 01295 *this << data.UserWriteMask; 01296 *this << data.Value; 01297 *this << data.DataType; 01298 *this << data.ValueRank; 01299 SerializeContainer(*this, data.ArrayDimensions); 01300 *this << data.IsAbstract; 01301 } 01302 01303 */ 01304 01305 /* DISABLED 01306 01307 template<> 01308 void DataSerializer::Serialize<ReferenceTypeAttributes>(const ReferenceTypeAttributes& data) 01309 { 01310 *this << data.TypeId; 01311 *this << data.Encoding; 01312 *this << data.BodyLength; 01313 *this << data.SpecifiedAttributes; 01314 *this << data.DisplayName; 01315 *this << data.Description; 01316 *this << data.WriteMask; 01317 *this << data.UserWriteMask; 01318 *this << data.IsAbstract; 01319 *this << data.Symmetric; 01320 *this << data.InverseName; 01321 } 01322 01323 */ 01324 01325 /* DISABLED 01326 01327 template<> 01328 void DataSerializer::Serialize<DataTypeAttributes>(const DataTypeAttributes& data) 01329 { 01330 *this << data.TypeId; 01331 *this << data.Encoding; 01332 *this << data.BodyLength; 01333 *this << data.SpecifiedAttributes; 01334 *this << data.DisplayName; 01335 *this << data.Description; 01336 *this << data.WriteMask; 01337 *this << data.UserWriteMask; 01338 *this << data.IsAbstract; 01339 } 01340 01341 */ 01342 01343 /* DISABLED 01344 01345 template<> 01346 void DataSerializer::Serialize<ViewAttributes>(const ViewAttributes& data) 01347 { 01348 *this << data.TypeId; 01349 *this << data.Encoding; 01350 *this << data.BodyLength; 01351 *this << data.SpecifiedAttributes; 01352 *this << data.DisplayName; 01353 *this << data.Description; 01354 *this << data.WriteMask; 01355 *this << data.UserWriteMask; 01356 *this << data.ContainsNoLoops; 01357 *this << data.EventNotifier; 01358 } 01359 01360 */ 01361 01362 /* DISABLED 01363 01364 template<> 01365 void DataSerializer::Serialize<AddNodesItem>(const AddNodesItem& data) 01366 { 01367 *this << data.ParentNodeId; 01368 *this << data.ReferenceTypeId; 01369 *this << data.RequestedNewNodeId; 01370 *this << data.BrowseName; 01371 *this << data.NodeClass; 01372 *this << data.NodeAttributes; 01373 *this << data.TypeDefinition; 01374 } 01375 01376 */ 01377 01378 /* DISABLED 01379 01380 template<> 01381 void DataSerializer::Serialize<AddNodesResult>(const AddNodesResult& data) 01382 { 01383 *this << data.Status; 01384 *this << data.AddedNodeId; 01385 } 01386 01387 */ 01388 01389 /* DISABLED 01390 01391 template<> 01392 void DataSerializer::Serialize<AddNodesParameters>(const AddNodesParameters& data) 01393 { 01394 SerializeContainer(*this, data.NodesToAdd); 01395 } 01396 01397 */ 01398 01399 /* DISABLED 01400 01401 template<> 01402 void DataSerializer::Serialize<AddNodesRequest>(const AddNodesRequest& data) 01403 { 01404 *this << data.TypeId; 01405 *this << data.Header; 01406 *this << data.Parameters; 01407 } 01408 01409 */ 01410 01411 /* DISABLED 01412 01413 template<> 01414 void DataSerializer::Serialize<AddNodesResponse>(const AddNodesResponse& data) 01415 { 01416 *this << data.TypeId; 01417 *this << data.Header; 01418 SerializeContainer(*this, data.Results); 01419 SerializeContainer(*this, data.DiagnosticInfos); 01420 } 01421 01422 */ 01423 01424 /* DISABLED 01425 01426 template<> 01427 void DataSerializer::Serialize<AddReferencesItem>(const AddReferencesItem& data) 01428 { 01429 *this << data.SourceNodeId; 01430 *this << data.ReferenceTypeId; 01431 *this << data.IsForward; 01432 *this << data.TargetServerUri; 01433 *this << data.TargetNodeId; 01434 *this << data.TargetNodeClass; 01435 } 01436 01437 */ 01438 01439 /* DISABLED 01440 01441 template<> 01442 void DataSerializer::Serialize<AddReferencesRequest>(const AddReferencesRequest& data) 01443 { 01444 *this << data.TypeId; 01445 *this << data.Header; 01446 SerializeContainer(*this, data.ReferencesToAdd); 01447 } 01448 01449 */ 01450 01451 /* DISABLED 01452 01453 template<> 01454 void DataSerializer::Serialize<AddReferencesResponse>(const AddReferencesResponse& data) 01455 { 01456 *this << data.TypeId; 01457 *this << data.Header; 01458 SerializeContainer(*this, data.Results); 01459 SerializeContainer(*this, data.DiagnosticInfos); 01460 } 01461 01462 */ 01463 01464 template<> 01465 void DataSerializer::Serialize<DeleteNodesItem>(const DeleteNodesItem& data) 01466 { 01467 *this << data.NodeId; 01468 *this << data.DeleteTargetReferences; 01469 } 01470 01471 01472 template<> 01473 void DataSerializer::Serialize<DeleteNodesRequest>(const DeleteNodesRequest& data) 01474 { 01475 *this << data.TypeId; 01476 *this << data.Header; 01477 SerializeContainer(*this, data.NodesToDelete); 01478 } 01479 01480 01481 template<> 01482 void DataSerializer::Serialize<DeleteNodesResponse>(const DeleteNodesResponse& data) 01483 { 01484 *this << data.TypeId; 01485 *this << data.Header; 01486 SerializeContainer(*this, data.Results); 01487 SerializeContainer(*this, data.DiagnosticInfos); 01488 } 01489 01490 01491 /* DISABLED 01492 01493 template<> 01494 void DataSerializer::Serialize<DeleteReferencesItem>(const DeleteReferencesItem& data) 01495 { 01496 *this << data.SourceNodeId; 01497 *this << data.ReferenceTypeId; 01498 *this << data.IsForward; 01499 *this << data.TargetNodeId; 01500 *this << data.DeleteBidirectional; 01501 } 01502 01503 */ 01504 01505 /* DISABLED 01506 01507 template<> 01508 void DataSerializer::Serialize<DeleteReferencesParameters>(const DeleteReferencesParameters& data) 01509 { 01510 SerializeContainer(*this, data.ReferencesToDelete); 01511 } 01512 01513 */ 01514 01515 /* DISABLED 01516 01517 template<> 01518 void DataSerializer::Serialize<DeleteReferencesRequest>(const DeleteReferencesRequest& data) 01519 { 01520 *this << data.TypeId; 01521 *this << data.Header; 01522 *this << data.Parameters; 01523 } 01524 01525 */ 01526 01527 /* DISABLED 01528 01529 template<> 01530 void DataSerializer::Serialize<DeleteReferencesResult>(const DeleteReferencesResult& data) 01531 { 01532 SerializeContainer(*this, data.Results); 01533 SerializeContainer(*this, data.DiagnosticInfos); 01534 } 01535 01536 */ 01537 01538 /* DISABLED 01539 01540 template<> 01541 void DataSerializer::Serialize<DeleteReferencesResponse>(const DeleteReferencesResponse& data) 01542 { 01543 *this << data.TypeId; 01544 *this << data.Header; 01545 *this << data.Parameters; 01546 } 01547 01548 */ 01549 01550 /* DISABLED 01551 01552 template<> 01553 void DataSerializer::Serialize<ViewDescription>(const ViewDescription& data) 01554 { 01555 *this << data.ViewId; 01556 *this << data.Timestamp; 01557 *this << data.ViewVersion; 01558 } 01559 01560 */ 01561 01562 /* DISABLED 01563 01564 template<> 01565 void DataSerializer::Serialize<BrowseDescription>(const BrowseDescription& data) 01566 { 01567 *this << data.NodeId; 01568 *this << data.BrowseDirection; 01569 *this << data.ReferenceTypeId; 01570 *this << data.IncludeSubtypes; 01571 *this << data.NodeClassMask; 01572 *this << data.ResultMask; 01573 } 01574 01575 */ 01576 01577 /* DISABLED 01578 01579 template<> 01580 void DataSerializer::Serialize<ReferenceDescription>(const ReferenceDescription& data) 01581 { 01582 *this << data.ReferenceTypeId; 01583 *this << data.IsForward; 01584 *this << data.NodeId; 01585 *this << data.BrowseName; 01586 *this << data.DisplayName; 01587 *this << data.NodeClass; 01588 *this << data.TypeDefinition; 01589 } 01590 01591 */ 01592 01593 /* DISABLED 01594 01595 template<> 01596 void DataSerializer::Serialize<BrowseResult>(const BrowseResult& data) 01597 { 01598 *this << data.Status; 01599 *this << data.ContinuationPoint; 01600 SerializeContainer(*this, data.References); 01601 } 01602 01603 */ 01604 01605 /* DISABLED 01606 01607 template<> 01608 void DataSerializer::Serialize<BrowseParameters>(const BrowseParameters& data) 01609 { 01610 *this << data.View; 01611 *this << data.RequestedMaxReferencesPerNode; 01612 SerializeContainer(*this, data.NodesToBrowse); 01613 } 01614 01615 */ 01616 01617 /* DISABLED 01618 01619 template<> 01620 void DataSerializer::Serialize<BrowseRequest>(const BrowseRequest& data) 01621 { 01622 *this << data.TypeId; 01623 *this << data.Header; 01624 *this << data.Parameters; 01625 } 01626 01627 */ 01628 01629 /* DISABLED 01630 01631 template<> 01632 void DataSerializer::Serialize<BrowseResponse>(const BrowseResponse& data) 01633 { 01634 *this << data.TypeId; 01635 *this << data.Header; 01636 SerializeContainer(*this, data.Results); 01637 SerializeContainer(*this, data.DiagnosticInfos); 01638 } 01639 01640 */ 01641 01642 /* DISABLED 01643 01644 template<> 01645 void DataSerializer::Serialize<BrowseNextParameters>(const BrowseNextParameters& data) 01646 { 01647 *this << data.ReleaseContinuationPoints; 01648 SerializeContainer(*this, data.ContinuationPoints); 01649 } 01650 01651 */ 01652 01653 /* DISABLED 01654 01655 template<> 01656 void DataSerializer::Serialize<BrowseNextRequest>(const BrowseNextRequest& data) 01657 { 01658 *this << data.TypeId; 01659 *this << data.Header; 01660 *this << data.Parameters; 01661 } 01662 01663 */ 01664 01665 /* DISABLED 01666 01667 template<> 01668 void DataSerializer::Serialize<BrowseNextResult>(const BrowseNextResult& data) 01669 { 01670 SerializeContainer(*this, data.Results); 01671 SerializeContainer(*this, data.DiagnosticInfos); 01672 } 01673 01674 */ 01675 01676 /* DISABLED 01677 01678 template<> 01679 void DataSerializer::Serialize<BrowseNextResponse>(const BrowseNextResponse& data) 01680 { 01681 *this << data.TypeId; 01682 *this << data.Header; 01683 *this << data.Parameters; 01684 } 01685 01686 */ 01687 01688 /* DISABLED 01689 01690 template<> 01691 void DataSerializer::Serialize<RelativePathElement>(const RelativePathElement& data) 01692 { 01693 *this << data.ReferenceTypeId; 01694 *this << data.IsInverse; 01695 *this << data.IncludeSubtypes; 01696 *this << data.TargetName; 01697 } 01698 01699 */ 01700 01701 /* DISABLED 01702 01703 template<> 01704 void DataSerializer::Serialize<RelativePath>(const RelativePath& data) 01705 { 01706 SerializeContainer(*this, data.Elements); 01707 } 01708 01709 */ 01710 01711 /* DISABLED 01712 01713 template<> 01714 void DataSerializer::Serialize<BrowsePath>(const BrowsePath& data) 01715 { 01716 *this << data.StartingNode; 01717 *this << data.RelativePath; 01718 } 01719 01720 */ 01721 01722 /* DISABLED 01723 01724 template<> 01725 void DataSerializer::Serialize<BrowsePathTarget>(const BrowsePathTarget& data) 01726 { 01727 *this << data.TargetId; 01728 *this << data.RemainingPathIndex; 01729 } 01730 01731 */ 01732 01733 /* DISABLED 01734 01735 template<> 01736 void DataSerializer::Serialize<BrowsePathResult>(const BrowsePathResult& data) 01737 { 01738 *this << data.Status; 01739 SerializeContainer(*this, data.Targets); 01740 } 01741 01742 */ 01743 01744 /* DISABLED 01745 01746 template<> 01747 void DataSerializer::Serialize<TranslateBrowsePathsToNodeIdsParameters>(const TranslateBrowsePathsToNodeIdsParameters& data) 01748 { 01749 SerializeContainer(*this, data.BrowsePaths); 01750 } 01751 01752 */ 01753 01754 /* DISABLED 01755 01756 template<> 01757 void DataSerializer::Serialize<TranslateBrowsePathsToNodeIdsRequest>(const TranslateBrowsePathsToNodeIdsRequest& data) 01758 { 01759 *this << data.TypeId; 01760 *this << data.Header; 01761 *this << data.Parameters; 01762 } 01763 01764 */ 01765 01766 /* DISABLED 01767 01768 template<> 01769 void DataSerializer::Serialize<TranslateBrowsePathsToNodeIdsResponse>(const TranslateBrowsePathsToNodeIdsResponse& data) 01770 { 01771 *this << data.TypeId; 01772 *this << data.Header; 01773 SerializeContainer(*this, data.Results); 01774 SerializeContainer(*this, data.DiagnosticInfos); 01775 } 01776 01777 */ 01778 01779 /* DISABLED 01780 01781 template<> 01782 void DataSerializer::Serialize<RegisterNodesParameters>(const RegisterNodesParameters& data) 01783 { 01784 SerializeContainer(*this, data.NodesToRegister); 01785 } 01786 01787 */ 01788 01789 /* DISABLED 01790 01791 template<> 01792 void DataSerializer::Serialize<RegisterNodesRequest>(const RegisterNodesRequest& data) 01793 { 01794 *this << data.TypeId; 01795 *this << data.Header; 01796 *this << data.Parameters; 01797 } 01798 01799 */ 01800 01801 /* DISABLED 01802 01803 template<> 01804 void DataSerializer::Serialize<RegisterNodesResult>(const RegisterNodesResult& data) 01805 { 01806 SerializeContainer(*this, data.RegisteredNodeIds); 01807 } 01808 01809 */ 01810 01811 /* DISABLED 01812 01813 template<> 01814 void DataSerializer::Serialize<RegisterNodesResponse>(const RegisterNodesResponse& data) 01815 { 01816 *this << data.TypeId; 01817 *this << data.Header; 01818 *this << data.Parameters; 01819 } 01820 01821 */ 01822 01823 /* DISABLED 01824 01825 template<> 01826 void DataSerializer::Serialize<UnregisterNodesParameters>(const UnregisterNodesParameters& data) 01827 { 01828 SerializeContainer(*this, data.NodesToUnregister); 01829 } 01830 01831 */ 01832 01833 /* DISABLED 01834 01835 template<> 01836 void DataSerializer::Serialize<UnregisterNodesRequest>(const UnregisterNodesRequest& data) 01837 { 01838 *this << data.TypeId; 01839 *this << data.Header; 01840 *this << data.Parameters; 01841 } 01842 01843 */ 01844 01845 /* DISABLED 01846 01847 template<> 01848 void DataSerializer::Serialize<UnregisterNodesResponse>(const UnregisterNodesResponse& data) 01849 { 01850 *this << data.TypeId; 01851 *this << data.Header; 01852 } 01853 01854 */ 01855 01856 /* DISABLED 01857 01858 template<> 01859 void DataSerializer::Serialize<EndpointConfiguration>(const EndpointConfiguration& data) 01860 { 01861 *this << data.OperationTimeout; 01862 *this << data.UseBinaryEncoding; 01863 *this << data.MaxStringLength; 01864 *this << data.MaxByteStringLength; 01865 *this << data.MaxArrayLength; 01866 *this << data.MaxMessageSize; 01867 *this << data.MaxBufferSize; 01868 *this << data.ChannelLifetime; 01869 *this << data.SecurityTokenLifetime; 01870 } 01871 01872 */ 01873 01874 /* DISABLED 01875 01876 template<> 01877 void DataSerializer::Serialize<SupportedProfile>(const SupportedProfile& data) 01878 { 01879 *this << data.OrganizationUri; 01880 *this << data.ProfileId; 01881 *this << data.ComplianceTool; 01882 *this << data.ComplianceDate; 01883 *this << data.ComplianceLevel; 01884 SerializeContainer(*this, data.UnsupportedUnitIds); 01885 } 01886 01887 */ 01888 01889 /* DISABLED 01890 01891 template<> 01892 void DataSerializer::Serialize<SoftwareCertificate>(const SoftwareCertificate& data) 01893 { 01894 *this << data.ProductName; 01895 *this << data.ProductUri; 01896 *this << data.VendorName; 01897 *this << data.VendorProductCertificate; 01898 *this << data.SoftwareVersion; 01899 *this << data.BuildNumber; 01900 *this << data.BuildDate; 01901 *this << data.IssuedBy; 01902 *this << data.IssueDate; 01903 SerializeContainer(*this, data.SupportedProfiles); 01904 } 01905 01906 */ 01907 01908 /* DISABLED 01909 01910 template<> 01911 void DataSerializer::Serialize<QueryDataDescription>(const QueryDataDescription& data) 01912 { 01913 *this << data.RelativePath; 01914 *this << data.AttributeId; 01915 *this << data.IndexRange; 01916 } 01917 01918 */ 01919 01920 /* DISABLED 01921 01922 template<> 01923 void DataSerializer::Serialize<NodeTypeDescription>(const NodeTypeDescription& data) 01924 { 01925 *this << data.TypeDefinitionNode; 01926 *this << data.IncludeSubTypes; 01927 SerializeContainer(*this, data.DataToReturn); 01928 } 01929 01930 */ 01931 01932 /* DISABLED 01933 01934 template<> 01935 void DataSerializer::Serialize<QueryDataSet>(const QueryDataSet& data) 01936 { 01937 *this << data.NodeId; 01938 *this << data.TypeDefinitionNode; 01939 SerializeContainer(*this, data.Values); 01940 } 01941 01942 */ 01943 01944 /* DISABLED 01945 01946 template<> 01947 void DataSerializer::Serialize<NodeReference>(const NodeReference& data) 01948 { 01949 *this << data.NodeId; 01950 *this << data.ReferenceTypeId; 01951 *this << data.IsForward; 01952 SerializeContainer(*this, data.ReferencedNodeIds); 01953 } 01954 01955 */ 01956 01957 /* DISABLED 01958 01959 template<> 01960 void DataSerializer::Serialize<ContentFilterElement>(const ContentFilterElement& data) 01961 { 01962 *this << data.FilterOperator; 01963 SerializeContainer(*this, data.FilterOperands); 01964 } 01965 01966 */ 01967 01968 /* DISABLED 01969 01970 template<> 01971 void DataSerializer::Serialize<ContentFilter>(const ContentFilter& data) 01972 { 01973 SerializeContainer(*this, data.Elements); 01974 } 01975 01976 */ 01977 01978 /* DISABLED 01979 01980 template<> 01981 void DataSerializer::Serialize<FilterOperand>(const FilterOperand& data) 01982 { 01983 *this << data.TypeId; 01984 *this << data.Encoding; 01985 if ((data.Encoding) & (1<<(0))) *this << data.Body; 01986 } 01987 01988 */ 01989 01990 /* DISABLED 01991 01992 template<> 01993 void DataSerializer::Serialize<ElementOperand>(const ElementOperand& data) 01994 { 01995 *this << data.TypeId; 01996 *this << data.Encoding; 01997 *this << data.BodyLength; 01998 *this << data.Index; 01999 } 02000 02001 */ 02002 02003 /* DISABLED 02004 02005 template<> 02006 void DataSerializer::Serialize<LiteralOperand>(const LiteralOperand& data) 02007 { 02008 *this << data.TypeId; 02009 *this << data.Encoding; 02010 *this << data.BodyLength; 02011 *this << data.Value; 02012 } 02013 02014 */ 02015 02016 /* DISABLED 02017 02018 template<> 02019 void DataSerializer::Serialize<AttributeOperand>(const AttributeOperand& data) 02020 { 02021 *this << data.TypeId; 02022 *this << data.Encoding; 02023 *this << data.BodyLength; 02024 *this << data.NodeId; 02025 *this << data.Alias; 02026 *this << data.BrowsePath; 02027 *this << data.AttributeId; 02028 *this << data.IndexRange; 02029 } 02030 02031 */ 02032 02033 /* DISABLED 02034 02035 template<> 02036 void DataSerializer::Serialize<SimpleAttributeOperand>(const SimpleAttributeOperand& data) 02037 { 02038 *this << data.TypeId; 02039 *this << data.Encoding; 02040 *this << data.BodyLength; 02041 *this << data.TypeDefinitionId; 02042 SerializeContainer(*this, data.BrowsePath); 02043 *this << data.AttributeId; 02044 *this << data.IndexRange; 02045 } 02046 02047 */ 02048 02049 /* DISABLED 02050 02051 template<> 02052 void DataSerializer::Serialize<ContentFilterElementResult>(const ContentFilterElementResult& data) 02053 { 02054 *this << data.Status; 02055 SerializeContainer(*this, data.OperandStatusCodes); 02056 SerializeContainer(*this, data.OperandDiagnosticInfos); 02057 } 02058 02059 */ 02060 02061 /* DISABLED 02062 02063 template<> 02064 void DataSerializer::Serialize<ContentFilterResult>(const ContentFilterResult& data) 02065 { 02066 SerializeContainer(*this, data.ElementResults); 02067 SerializeContainer(*this, data.ElementDiagnosticInfos); 02068 } 02069 02070 */ 02071 02072 /* DISABLED 02073 02074 template<> 02075 void DataSerializer::Serialize<ParsingResult>(const ParsingResult& data) 02076 { 02077 *this << data.Status; 02078 SerializeContainer(*this, data.DataStatusCodes); 02079 SerializeContainer(*this, data.DataDiagnosticInfos); 02080 } 02081 02082 */ 02083 02084 /* DISABLED 02085 02086 template<> 02087 void DataSerializer::Serialize<QueryFirstParameters>(const QueryFirstParameters& data) 02088 { 02089 *this << data.View; 02090 SerializeContainer(*this, data.NodeTypes); 02091 *this << data.Filter; 02092 *this << data.MaxDataSetsToReturn; 02093 *this << data.MaxReferencesToReturn; 02094 } 02095 02096 */ 02097 02098 /* DISABLED 02099 02100 template<> 02101 void DataSerializer::Serialize<QueryFirstRequest>(const QueryFirstRequest& data) 02102 { 02103 *this << data.TypeId; 02104 *this << data.Header; 02105 *this << data.Parameters; 02106 } 02107 02108 */ 02109 02110 /* DISABLED 02111 02112 template<> 02113 void DataSerializer::Serialize<QueryFirstResult>(const QueryFirstResult& data) 02114 { 02115 SerializeContainer(*this, data.QueryDataSets); 02116 *this << data.ContinuationPoint; 02117 SerializeContainer(*this, data.ParsingResults); 02118 SerializeContainer(*this, data.DiagnosticInfos); 02119 *this << data.FilterResult; 02120 } 02121 02122 */ 02123 02124 /* DISABLED 02125 02126 template<> 02127 void DataSerializer::Serialize<QueryFirstResponse>(const QueryFirstResponse& data) 02128 { 02129 *this << data.TypeId; 02130 *this << data.Header; 02131 *this << data.Parameters; 02132 } 02133 02134 */ 02135 02136 /* DISABLED 02137 02138 template<> 02139 void DataSerializer::Serialize<QueryNextParameters>(const QueryNextParameters& data) 02140 { 02141 *this << data.ReleaseContinuationPoint; 02142 *this << data.ContinuationPoint; 02143 } 02144 02145 */ 02146 02147 /* DISABLED 02148 02149 template<> 02150 void DataSerializer::Serialize<QueryNextRequest>(const QueryNextRequest& data) 02151 { 02152 *this << data.TypeId; 02153 *this << data.Header; 02154 *this << data.Parameters; 02155 } 02156 02157 */ 02158 02159 /* DISABLED 02160 02161 template<> 02162 void DataSerializer::Serialize<QueryNextResult>(const QueryNextResult& data) 02163 { 02164 SerializeContainer(*this, data.QueryDataSets); 02165 *this << data.RevisedContinuationPoint; 02166 } 02167 02168 */ 02169 02170 /* DISABLED 02171 02172 template<> 02173 void DataSerializer::Serialize<QueryNextResponse>(const QueryNextResponse& data) 02174 { 02175 *this << data.TypeId; 02176 *this << data.Header; 02177 *this << data.Parameters; 02178 } 02179 02180 */ 02181 02182 template<> 02183 void DataSerializer::Serialize<ReadValueId>(const ReadValueId& data) 02184 { 02185 *this << data.NodeId; 02186 *this << data.AttributeId; 02187 *this << data.IndexRange; 02188 *this << data.DataEncoding; 02189 } 02190 02191 02192 template<> 02193 void DataSerializer::Serialize<ReadParameters>(const ReadParameters& data) 02194 { 02195 *this << data.MaxAge; 02196 *this << data.TimestampsToReturn; 02197 SerializeContainer(*this, data.AttributesToRead); 02198 } 02199 02200 02201 template<> 02202 void DataSerializer::Serialize<ReadRequest>(const ReadRequest& data) 02203 { 02204 *this << data.TypeId; 02205 *this << data.Header; 02206 *this << data.Parameters; 02207 } 02208 02209 02210 template<> 02211 void DataSerializer::Serialize<ReadResponse>(const ReadResponse& data) 02212 { 02213 *this << data.TypeId; 02214 *this << data.Header; 02215 SerializeContainer(*this, data.Results); 02216 SerializeContainer(*this, data.DiagnosticInfos); 02217 } 02218 02219 02220 /* DISABLED 02221 02222 template<> 02223 void DataSerializer::Serialize<HistoryReadValueId>(const HistoryReadValueId& data) 02224 { 02225 *this << data.NodeId; 02226 *this << data.IndexRange; 02227 *this << data.DataEncoding; 02228 *this << data.ContinuationPoint; 02229 } 02230 02231 */ 02232 02233 /* DISABLED 02234 02235 template<> 02236 void DataSerializer::Serialize<HistoryReadResult>(const HistoryReadResult& data) 02237 { 02238 *this << data.Status; 02239 *this << data.ContinuationPoint; 02240 *this << data.HistoryData; 02241 } 02242 02243 */ 02244 02245 /* DISABLED 02246 02247 template<> 02248 void DataSerializer::Serialize<HistoryReadDetails>(const HistoryReadDetails& data) 02249 { 02250 *this << data.TypeId; 02251 *this << data.Encoding; 02252 if ((data.Encoding) & (1<<(0))) *this << data.Body; 02253 } 02254 02255 */ 02256 02257 /* DISABLED 02258 02259 template<> 02260 void DataSerializer::Serialize<ReadRawModifiedDetails>(const ReadRawModifiedDetails& data) 02261 { 02262 *this << data.TypeId; 02263 *this << data.Encoding; 02264 *this << data.BodyLength; 02265 *this << data.IsReadModified; 02266 *this << data.StartTime; 02267 *this << data.EndTime; 02268 *this << data.NumValuesPerNode; 02269 *this << data.ReturnBounds; 02270 } 02271 02272 */ 02273 02274 /* DISABLED 02275 02276 template<> 02277 void DataSerializer::Serialize<ReadAtTimeDetails>(const ReadAtTimeDetails& data) 02278 { 02279 *this << data.TypeId; 02280 *this << data.Encoding; 02281 *this << data.BodyLength; 02282 SerializeContainer(*this, data.ReqTimes); 02283 *this << data.UseSimpleBounds; 02284 } 02285 02286 */ 02287 02288 /* DISABLED 02289 02290 template<> 02291 void DataSerializer::Serialize<HistoryData>(const HistoryData& data) 02292 { 02293 SerializeContainer(*this, data.DataValues); 02294 } 02295 02296 */ 02297 02298 /* DISABLED 02299 02300 template<> 02301 void DataSerializer::Serialize<ModificationInfo>(const ModificationInfo& data) 02302 { 02303 *this << data.ModificationTime; 02304 *this << data.UpdateType; 02305 *this << data.UserName; 02306 } 02307 02308 */ 02309 02310 /* DISABLED 02311 02312 template<> 02313 void DataSerializer::Serialize<HistoryModifiedData>(const HistoryModifiedData& data) 02314 { 02315 SerializeContainer(*this, data.DataValues); 02316 SerializeContainer(*this, data.ModificationInfos); 02317 } 02318 02319 */ 02320 02321 /* DISABLED 02322 02323 template<> 02324 void DataSerializer::Serialize<HistoryReadParameters>(const HistoryReadParameters& data) 02325 { 02326 *this << data.HistoryReadDetails; 02327 *this << data.TimestampsToReturn; 02328 *this << data.ReleaseContinuationPoints; 02329 SerializeContainer(*this, data.AttributesToRead); 02330 } 02331 02332 */ 02333 02334 /* DISABLED 02335 02336 template<> 02337 void DataSerializer::Serialize<HistoryReadRequest>(const HistoryReadRequest& data) 02338 { 02339 *this << data.TypeId; 02340 *this << data.Header; 02341 *this << data.Parameters; 02342 } 02343 02344 */ 02345 02346 /* DISABLED 02347 02348 template<> 02349 void DataSerializer::Serialize<HistoryReadResponse>(const HistoryReadResponse& data) 02350 { 02351 *this << data.TypeId; 02352 *this << data.Header; 02353 SerializeContainer(*this, data.Results); 02354 SerializeContainer(*this, data.DiagnosticInfos); 02355 } 02356 02357 */ 02358 02359 template<> 02360 void DataSerializer::Serialize<WriteValue>(const WriteValue& data) 02361 { 02362 *this << data.NodeId; 02363 *this << data.AttributeId; 02364 *this << data.IndexRange; 02365 *this << data.Value; 02366 } 02367 02368 02369 template<> 02370 void DataSerializer::Serialize<WriteParameters>(const WriteParameters& data) 02371 { 02372 SerializeContainer(*this, data.NodesToWrite); 02373 } 02374 02375 02376 template<> 02377 void DataSerializer::Serialize<WriteRequest>(const WriteRequest& data) 02378 { 02379 *this << data.TypeId; 02380 *this << data.Header; 02381 *this << data.Parameters; 02382 } 02383 02384 02385 template<> 02386 void DataSerializer::Serialize<WriteResponse>(const WriteResponse& data) 02387 { 02388 *this << data.TypeId; 02389 *this << data.Header; 02390 SerializeContainer(*this, data.Results); 02391 SerializeContainer(*this, data.DiagnosticInfos); 02392 } 02393 02394 02395 /* DISABLED 02396 02397 template<> 02398 void DataSerializer::Serialize<HistoryUpdateDetails>(const HistoryUpdateDetails& data) 02399 { 02400 *this << data.NodeId; 02401 } 02402 02403 */ 02404 02405 /* DISABLED 02406 02407 template<> 02408 void DataSerializer::Serialize<UpdateDataDetails>(const UpdateDataDetails& data) 02409 { 02410 *this << data.NodeId; 02411 *this << data.PerformInsertReplace; 02412 SerializeContainer(*this, data.UpdateValues); 02413 } 02414 02415 */ 02416 02417 /* DISABLED 02418 02419 template<> 02420 void DataSerializer::Serialize<UpdateStructureDataDetails>(const UpdateStructureDataDetails& data) 02421 { 02422 *this << data.NodeId; 02423 *this << data.PerformInsertReplace; 02424 SerializeContainer(*this, data.UpdateValues); 02425 } 02426 02427 */ 02428 02429 /* DISABLED 02430 02431 template<> 02432 void DataSerializer::Serialize<DeleteRawModifiedDetails>(const DeleteRawModifiedDetails& data) 02433 { 02434 *this << data.NodeId; 02435 *this << data.IsDeleteModified; 02436 *this << data.StartTime; 02437 *this << data.EndTime; 02438 } 02439 02440 */ 02441 02442 /* DISABLED 02443 02444 template<> 02445 void DataSerializer::Serialize<DeleteAtTimeDetails>(const DeleteAtTimeDetails& data) 02446 { 02447 *this << data.NodeId; 02448 SerializeContainer(*this, data.ReqTimes); 02449 } 02450 02451 */ 02452 02453 /* DISABLED 02454 02455 template<> 02456 void DataSerializer::Serialize<DeleteEventDetails>(const DeleteEventDetails& data) 02457 { 02458 *this << data.NodeId; 02459 SerializeContainer(*this, data.EventIds); 02460 } 02461 02462 */ 02463 02464 /* DISABLED 02465 02466 template<> 02467 void DataSerializer::Serialize<HistoryUpdateResult>(const HistoryUpdateResult& data) 02468 { 02469 *this << data.Status; 02470 SerializeContainer(*this, data.OperationResults); 02471 SerializeContainer(*this, data.DiagnosticInfos); 02472 } 02473 02474 */ 02475 02476 /* DISABLED 02477 02478 template<> 02479 void DataSerializer::Serialize<HistoryUpdateParameters>(const HistoryUpdateParameters& data) 02480 { 02481 SerializeContainer(*this, data.HistoryUpdateDetails); 02482 } 02483 02484 */ 02485 02486 /* DISABLED 02487 02488 template<> 02489 void DataSerializer::Serialize<HistoryUpdateRequest>(const HistoryUpdateRequest& data) 02490 { 02491 *this << data.TypeId; 02492 *this << data.Header; 02493 *this << data.Parameters; 02494 } 02495 02496 */ 02497 02498 /* DISABLED 02499 02500 template<> 02501 void DataSerializer::Serialize<HistoryUpdateResponse>(const HistoryUpdateResponse& data) 02502 { 02503 *this << data.TypeId; 02504 *this << data.Header; 02505 SerializeContainer(*this, data.Results); 02506 SerializeContainer(*this, data.DiagnosticInfos); 02507 } 02508 02509 */ 02510 02511 template<> 02512 void DataSerializer::Serialize<CallMethodRequest>(const CallMethodRequest& data) 02513 { 02514 *this << data.ObjectId; 02515 *this << data.MethodId; 02516 SerializeContainer(*this, data.InputArguments); 02517 } 02518 02519 02520 template<> 02521 void DataSerializer::Serialize<CallMethodResult>(const CallMethodResult& data) 02522 { 02523 *this << data.Status; 02524 SerializeContainer(*this, data.InputArgumentResults); 02525 SerializeContainer(*this, data.InputArgumentDiagnosticInfos); 02526 SerializeContainer(*this, data.OutputArguments); 02527 } 02528 02529 02530 template<> 02531 void DataSerializer::Serialize<CallRequest>(const CallRequest& data) 02532 { 02533 *this << data.TypeId; 02534 *this << data.Header; 02535 SerializeContainer(*this, data.MethodsToCall); 02536 } 02537 02538 02539 template<> 02540 void DataSerializer::Serialize<CallResponse>(const CallResponse& data) 02541 { 02542 *this << data.TypeId; 02543 *this << data.Header; 02544 SerializeContainer(*this, data.Results); 02545 SerializeContainer(*this, data.DiagnosticInfos); 02546 } 02547 02548 02549 /* DISABLED 02550 02551 template<> 02552 void DataSerializer::Serialize<MonitoringFilter>(const MonitoringFilter& data) 02553 { 02554 *this << data.TypeId; 02555 *this << data.Encoding; 02556 if ((data.Encoding) & (1<<(0))) *this << data.Body; 02557 } 02558 02559 */ 02560 02561 /* DISABLED 02562 02563 template<> 02564 void DataSerializer::Serialize<DataChangeFilter>(const DataChangeFilter& data) 02565 { 02566 *this << data.TypeId; 02567 *this << data.Encoding; 02568 *this << data.BodyLength; 02569 *this << data.Trigger; 02570 *this << data.DeadbandType; 02571 *this << data.DeadbandValue; 02572 } 02573 02574 */ 02575 02576 /* DISABLED 02577 02578 template<> 02579 void DataSerializer::Serialize<EventFilter>(const EventFilter& data) 02580 { 02581 *this << data.TypeId; 02582 *this << data.Encoding; 02583 *this << data.BodyLength; 02584 SerializeContainer(*this, data.SelectClauses); 02585 *this << data.WhereClause; 02586 } 02587 02588 */ 02589 02590 /* DISABLED 02591 02592 template<> 02593 void DataSerializer::Serialize<ReadEventDetails>(const ReadEventDetails& data) 02594 { 02595 *this << data.TypeId; 02596 *this << data.Encoding; 02597 *this << data.BodyLength; 02598 *this << data.NumValuesPerNode; 02599 *this << data.StartTime; 02600 *this << data.EndTime; 02601 *this << data.Filter; 02602 } 02603 02604 */ 02605 02606 /* DISABLED 02607 02608 template<> 02609 void DataSerializer::Serialize<AggregateConfiguration>(const AggregateConfiguration& data) 02610 { 02611 *this << data.UseServerCapabilitiesDefaults; 02612 *this << data.TreatUncertainAsBad; 02613 *this << data.PercentDataBad; 02614 *this << data.PercentDataGood; 02615 *this << data.UseSlopedExtrapolation; 02616 } 02617 02618 */ 02619 02620 /* DISABLED 02621 02622 template<> 02623 void DataSerializer::Serialize<ReadProcessedDetails>(const ReadProcessedDetails& data) 02624 { 02625 *this << data.TypeId; 02626 *this << data.Encoding; 02627 *this << data.BodyLength; 02628 *this << data.StartTime; 02629 *this << data.EndTime; 02630 *this << data.ProcessingInterval; 02631 SerializeContainer(*this, data.AggregateType); 02632 *this << data.AggregateConfiguration; 02633 } 02634 02635 */ 02636 02637 /* DISABLED 02638 02639 template<> 02640 void DataSerializer::Serialize<AggregateFilter>(const AggregateFilter& data) 02641 { 02642 *this << data.TypeId; 02643 *this << data.Encoding; 02644 *this << data.BodyLength; 02645 *this << data.StartTime; 02646 *this << data.AggregateType; 02647 *this << data.ProcessingInterval; 02648 *this << data.AggregateConfiguration; 02649 } 02650 02651 */ 02652 02653 /* DISABLED 02654 02655 template<> 02656 void DataSerializer::Serialize<MonitoringFilterResult>(const MonitoringFilterResult& data) 02657 { 02658 *this << data.TypeId; 02659 *this << data.Encoding; 02660 if ((data.Encoding) & (1<<(0))) *this << data.Body; 02661 } 02662 02663 */ 02664 02665 /* DISABLED 02666 02667 template<> 02668 void DataSerializer::Serialize<EventFilterResult>(const EventFilterResult& data) 02669 { 02670 *this << data.TypeId; 02671 *this << data.Encoding; 02672 *this << data.BodyLength; 02673 SerializeContainer(*this, data.SelectClauseResults); 02674 SerializeContainer(*this, data.SelectClauseDiagnosticInfos); 02675 *this << data.WhereClauseResult; 02676 } 02677 02678 */ 02679 02680 /* DISABLED 02681 02682 template<> 02683 void DataSerializer::Serialize<HistoryUpdateEventResult>(const HistoryUpdateEventResult& data) 02684 { 02685 *this << data.Status; 02686 *this << data.EventFilterResult; 02687 } 02688 02689 */ 02690 02691 /* DISABLED 02692 02693 template<> 02694 void DataSerializer::Serialize<AggregateFilterResult>(const AggregateFilterResult& data) 02695 { 02696 *this << data.TypeId; 02697 *this << data.Encoding; 02698 *this << data.BodyLength; 02699 *this << data.RevisedStartTime; 02700 *this << data.RevisedProcessingInterval; 02701 *this << data.RevisedAggregateConfiguration; 02702 } 02703 02704 */ 02705 02706 template<> 02707 void DataSerializer::Serialize<MonitoringParameters>(const MonitoringParameters& data) 02708 { 02709 *this << data.ClientHandle; 02710 *this << data.SamplingInterval; 02711 *this << data.Filter; 02712 *this << data.QueueSize; 02713 *this << data.DiscardOldest; 02714 } 02715 02716 02717 template<> 02718 void DataSerializer::Serialize<MonitoredItemCreateRequest>(const MonitoredItemCreateRequest& data) 02719 { 02720 *this << data.ItemToMonitor; 02721 *this << data.MonitoringMode; 02722 *this << data.RequestedParameters; 02723 } 02724 02725 02726 template<> 02727 void DataSerializer::Serialize<MonitoredItemCreateResult>(const MonitoredItemCreateResult& data) 02728 { 02729 *this << data.Status; 02730 *this << data.MonitoredItemId; 02731 *this << data.RevisedSamplingInterval; 02732 *this << data.RevisedQueueSize; 02733 *this << data.FilterResult; 02734 } 02735 02736 02737 template<> 02738 void DataSerializer::Serialize<MonitoredItemsParameters>(const MonitoredItemsParameters& data) 02739 { 02740 *this << data.SubscriptionId; 02741 *this << data.TimestampsToReturn; 02742 SerializeContainer(*this, data.ItemsToCreate); 02743 } 02744 02745 02746 template<> 02747 void DataSerializer::Serialize<CreateMonitoredItemsRequest>(const CreateMonitoredItemsRequest& data) 02748 { 02749 *this << data.TypeId; 02750 *this << data.Header; 02751 *this << data.Parameters; 02752 } 02753 02754 02755 template<> 02756 void DataSerializer::Serialize<CreateMonitoredItemsResponse>(const CreateMonitoredItemsResponse& data) 02757 { 02758 *this << data.TypeId; 02759 *this << data.Header; 02760 SerializeContainer(*this, data.Results); 02761 SerializeContainer(*this, data.DiagnosticInfos); 02762 } 02763 02764 02765 /* DISABLED 02766 02767 template<> 02768 void DataSerializer::Serialize<MonitoredItemModifyRequest>(const MonitoredItemModifyRequest& data) 02769 { 02770 *this << data.MonitoredItemId; 02771 *this << data.RequestedParameters; 02772 } 02773 02774 */ 02775 02776 /* DISABLED 02777 02778 template<> 02779 void DataSerializer::Serialize<MonitoredItemModifyResult>(const MonitoredItemModifyResult& data) 02780 { 02781 *this << data.Status; 02782 *this << data.RevisedSamplingInterval; 02783 *this << data.RevisedQueueSize; 02784 *this << data.FilterResult; 02785 } 02786 02787 */ 02788 02789 /* DISABLED 02790 02791 template<> 02792 void DataSerializer::Serialize<ModifyMonitoredItemsParameters>(const ModifyMonitoredItemsParameters& data) 02793 { 02794 *this << data.SubscriptionId; 02795 *this << data.TimestampsToReturn; 02796 SerializeContainer(*this, data.ItemsToModify); 02797 } 02798 02799 */ 02800 02801 /* DISABLED 02802 02803 template<> 02804 void DataSerializer::Serialize<ModifyMonitoredItemsRequest>(const ModifyMonitoredItemsRequest& data) 02805 { 02806 *this << data.TypeId; 02807 *this << data.Header; 02808 *this << data.Parameters; 02809 } 02810 02811 */ 02812 02813 /* DISABLED 02814 02815 template<> 02816 void DataSerializer::Serialize<ModifyMonitoredItemsResponse>(const ModifyMonitoredItemsResponse& data) 02817 { 02818 *this << data.TypeId; 02819 *this << data.Header; 02820 SerializeContainer(*this, data.Results); 02821 SerializeContainer(*this, data.DiagnosticInfos); 02822 } 02823 02824 */ 02825 02826 /* DISABLED 02827 02828 template<> 02829 void DataSerializer::Serialize<SetMonitoringModeParameters>(const SetMonitoringModeParameters& data) 02830 { 02831 *this << data.SubscriptionId; 02832 *this << data.MonitoringMode; 02833 SerializeContainer(*this, data.MonitoredItemIds); 02834 } 02835 02836 */ 02837 02838 /* DISABLED 02839 02840 template<> 02841 void DataSerializer::Serialize<SetMonitoringModeRequest>(const SetMonitoringModeRequest& data) 02842 { 02843 *this << data.TypeId; 02844 *this << data.Header; 02845 *this << data.Parameters; 02846 } 02847 02848 */ 02849 02850 /* DISABLED 02851 02852 template<> 02853 void DataSerializer::Serialize<SetMonitoringModeResult>(const SetMonitoringModeResult& data) 02854 { 02855 SerializeContainer(*this, data.Results); 02856 SerializeContainer(*this, data.DiagnosticInfos); 02857 } 02858 02859 */ 02860 02861 /* DISABLED 02862 02863 template<> 02864 void DataSerializer::Serialize<SetMonitoringModeResponse>(const SetMonitoringModeResponse& data) 02865 { 02866 *this << data.TypeId; 02867 *this << data.Header; 02868 *this << data.Parameters; 02869 } 02870 02871 */ 02872 02873 /* DISABLED 02874 02875 template<> 02876 void DataSerializer::Serialize<SetTriggeringParameters>(const SetTriggeringParameters& data) 02877 { 02878 *this << data.SubscriptionId; 02879 *this << data.TriggeringItemId; 02880 SerializeContainer(*this, data.LinksToAdd); 02881 SerializeContainer(*this, data.LinksToRemove); 02882 } 02883 02884 */ 02885 02886 /* DISABLED 02887 02888 template<> 02889 void DataSerializer::Serialize<SetTriggeringRequest>(const SetTriggeringRequest& data) 02890 { 02891 *this << data.TypeId; 02892 *this << data.Header; 02893 *this << data.Parameters; 02894 } 02895 02896 */ 02897 02898 /* DISABLED 02899 02900 template<> 02901 void DataSerializer::Serialize<SetTriggeringResult>(const SetTriggeringResult& data) 02902 { 02903 SerializeContainer(*this, data.AddResults); 02904 SerializeContainer(*this, data.AddDiagnosticInfos); 02905 SerializeContainer(*this, data.RemoveResults); 02906 SerializeContainer(*this, data.RemoveDiagnosticInfos); 02907 } 02908 02909 */ 02910 02911 /* DISABLED 02912 02913 template<> 02914 void DataSerializer::Serialize<SetTriggeringResponse>(const SetTriggeringResponse& data) 02915 { 02916 *this << data.TypeId; 02917 *this << data.Header; 02918 *this << data.Parameters; 02919 } 02920 02921 */ 02922 02923 template<> 02924 void DataSerializer::Serialize<DeleteMonitoredItemsParameters>(const DeleteMonitoredItemsParameters& data) 02925 { 02926 *this << data.SubscriptionId; 02927 SerializeContainer(*this, data.MonitoredItemIds); 02928 } 02929 02930 02931 template<> 02932 void DataSerializer::Serialize<DeleteMonitoredItemsRequest>(const DeleteMonitoredItemsRequest& data) 02933 { 02934 *this << data.TypeId; 02935 *this << data.Header; 02936 *this << data.Parameters; 02937 } 02938 02939 02940 template<> 02941 void DataSerializer::Serialize<DeleteMonitoredItemsResponse>(const DeleteMonitoredItemsResponse& data) 02942 { 02943 *this << data.TypeId; 02944 *this << data.Header; 02945 SerializeContainer(*this, data.Results); 02946 SerializeContainer(*this, data.DiagnosticInfos); 02947 } 02948 02949 02950 template<> 02951 void DataSerializer::Serialize<CreateSubscriptionParameters>(const CreateSubscriptionParameters& data) 02952 { 02953 *this << data.RequestedPublishingInterval; 02954 *this << data.RequestedLifetimeCount; 02955 *this << data.RequestedMaxKeepAliveCount; 02956 *this << data.MaxNotificationsPerPublish; 02957 *this << data.PublishingEnabled; 02958 *this << data.Priority; 02959 } 02960 02961 02962 template<> 02963 void DataSerializer::Serialize<CreateSubscriptionRequest>(const CreateSubscriptionRequest& data) 02964 { 02965 *this << data.TypeId; 02966 *this << data.Header; 02967 *this << data.Parameters; 02968 } 02969 02970 02971 template<> 02972 void DataSerializer::Serialize<SubscriptionData>(const SubscriptionData& data) 02973 { 02974 *this << data.SubscriptionId; 02975 *this << data.RevisedPublishingInterval; 02976 *this << data.RevisedLifetimeCount; 02977 *this << data.RevisedMaxKeepAliveCount; 02978 } 02979 02980 02981 template<> 02982 void DataSerializer::Serialize<CreateSubscriptionResponse>(const CreateSubscriptionResponse& data) 02983 { 02984 *this << data.TypeId; 02985 *this << data.Header; 02986 *this << data.Data; 02987 } 02988 02989 02990 /* DISABLED 02991 02992 template<> 02993 void DataSerializer::Serialize<ModifySubscriptionParameters>(const ModifySubscriptionParameters& data) 02994 { 02995 *this << data.SubscriptionId; 02996 *this << data.RequestedPublishingInterval; 02997 *this << data.RequestedLifetimeCount; 02998 *this << data.RequestedMaxKeepAliveCount; 02999 *this << data.MaxNotificationsPerPublish; 03000 *this << data.Priority; 03001 } 03002 03003 */ 03004 03005 /* DISABLED 03006 03007 template<> 03008 void DataSerializer::Serialize<ModifySubscriptionRequest>(const ModifySubscriptionRequest& data) 03009 { 03010 *this << data.TypeId; 03011 *this << data.Header; 03012 *this << data.Parameters; 03013 } 03014 03015 */ 03016 03017 /* DISABLED 03018 03019 template<> 03020 void DataSerializer::Serialize<ModifySubscriptionResult>(const ModifySubscriptionResult& data) 03021 { 03022 *this << data.RevisedPublishingInterval; 03023 *this << data.RevisedLifetimeCount; 03024 *this << data.RevisedMaxKeepAliveCount; 03025 } 03026 03027 */ 03028 03029 /* DISABLED 03030 03031 template<> 03032 void DataSerializer::Serialize<ModifySubscriptionResponse>(const ModifySubscriptionResponse& data) 03033 { 03034 *this << data.TypeId; 03035 *this << data.Header; 03036 *this << data.Parameters; 03037 } 03038 03039 */ 03040 03041 template<> 03042 void DataSerializer::Serialize<PublishingModeParameters>(const PublishingModeParameters& data) 03043 { 03044 *this << data.PublishingEnabled; 03045 SerializeContainer(*this, data.SubscriptionIds); 03046 } 03047 03048 03049 template<> 03050 void DataSerializer::Serialize<SetPublishingModeRequest>(const SetPublishingModeRequest& data) 03051 { 03052 *this << data.TypeId; 03053 *this << data.Header; 03054 *this << data.Parameters; 03055 } 03056 03057 03058 template<> 03059 void DataSerializer::Serialize<PublishingModeResult>(const PublishingModeResult& data) 03060 { 03061 SerializeContainer(*this, data.Results); 03062 SerializeContainer(*this, data.DiagnosticInfos); 03063 } 03064 03065 03066 template<> 03067 void DataSerializer::Serialize<SetPublishingModeResponse>(const SetPublishingModeResponse& data) 03068 { 03069 *this << data.TypeId; 03070 *this << data.Header; 03071 *this << data.Result; 03072 } 03073 03074 03075 template<> 03076 void DataSerializer::Serialize<NotificationMessage>(const NotificationMessage& data) 03077 { 03078 *this << data.SequenceNumber; 03079 *this << data.PublishTime; 03080 SerializeContainer(*this, data.NotificationData); 03081 } 03082 03083 03084 /* DISABLED 03085 03086 template<> 03087 void DataSerializer::Serialize<NotificationData>(const NotificationData& data) 03088 { 03089 *this << data.TypeId; 03090 *this << data.Encoding; 03091 if ((data.Encoding) & (1<<(0))) *this << data.Body; 03092 } 03093 03094 */ 03095 03096 /* DISABLED 03097 03098 template<> 03099 void DataSerializer::Serialize<MonitoredItemNotification>(const MonitoredItemNotification& data) 03100 { 03101 *this << data.ClientHandle; 03102 *this << data.Value; 03103 } 03104 03105 */ 03106 03107 /* DISABLED 03108 03109 template<> 03110 void DataSerializer::Serialize<DataChangeNotification>(const DataChangeNotification& data) 03111 { 03112 *this << data.TypeId; 03113 *this << data.Encoding; 03114 *this << data.BodyLength; 03115 SerializeContainer(*this, data.MonitoredItems); 03116 SerializeContainer(*this, data.DiagnosticInfos); 03117 } 03118 03119 */ 03120 03121 /* DISABLED 03122 03123 template<> 03124 void DataSerializer::Serialize<EventFieldList>(const EventFieldList& data) 03125 { 03126 *this << data.ClientHandle; 03127 SerializeContainer(*this, data.EventFields); 03128 } 03129 03130 */ 03131 03132 /* DISABLED 03133 03134 template<> 03135 void DataSerializer::Serialize<EventNotificationList>(const EventNotificationList& data) 03136 { 03137 *this << data.TypeId; 03138 *this << data.Encoding; 03139 *this << data.BodyLength; 03140 SerializeContainer(*this, data.Events); 03141 } 03142 03143 */ 03144 03145 /* DISABLED 03146 03147 template<> 03148 void DataSerializer::Serialize<HistoryEventFieldList>(const HistoryEventFieldList& data) 03149 { 03150 SerializeContainer(*this, data.EventFields); 03151 } 03152 03153 */ 03154 03155 /* DISABLED 03156 03157 template<> 03158 void DataSerializer::Serialize<HistoryEvent>(const HistoryEvent& data) 03159 { 03160 SerializeContainer(*this, data.Events); 03161 } 03162 03163 */ 03164 03165 /* DISABLED 03166 03167 template<> 03168 void DataSerializer::Serialize<UpdateEventDetails>(const UpdateEventDetails& data) 03169 { 03170 *this << data.NodeId; 03171 *this << data.PerformInsertReplace; 03172 *this << data.Filter; 03173 SerializeContainer(*this, data.EventData); 03174 } 03175 03176 */ 03177 03178 /* DISABLED 03179 03180 template<> 03181 void DataSerializer::Serialize<StatusChangeNotification>(const StatusChangeNotification& data) 03182 { 03183 *this << data.TypeId; 03184 *this << data.Encoding; 03185 *this << data.BodyLength; 03186 *this << data.Status; 03187 *this << data.DiagnosticInfo; 03188 } 03189 03190 */ 03191 03192 template<> 03193 void DataSerializer::Serialize<SubscriptionAcknowledgement>(const SubscriptionAcknowledgement& data) 03194 { 03195 *this << data.SubscriptionId; 03196 *this << data.SequenceNumber; 03197 } 03198 03199 03200 template<> 03201 void DataSerializer::Serialize<PublishRequest>(const PublishRequest& data) 03202 { 03203 *this << data.TypeId; 03204 *this << data.Header; 03205 SerializeContainer(*this, data.SubscriptionAcknowledgements); 03206 } 03207 03208 03209 template<> 03210 void DataSerializer::Serialize<PublishResult>(const PublishResult& data) 03211 { 03212 *this << data.SubscriptionId; 03213 SerializeContainer(*this, data.AvailableSequenceNumbers); 03214 *this << data.MoreNotifications; 03215 *this << data.NotificationMessage; 03216 SerializeContainer(*this, data.Results); 03217 SerializeContainer(*this, data.DiagnosticInfos); 03218 } 03219 03220 03221 template<> 03222 void DataSerializer::Serialize<PublishResponse>(const PublishResponse& data) 03223 { 03224 *this << data.TypeId; 03225 *this << data.Header; 03226 *this << data.Parameters; 03227 } 03228 03229 03230 template<> 03231 void DataSerializer::Serialize<RepublishParameters>(const RepublishParameters& data) 03232 { 03233 *this << data.SubscriptionId; 03234 *this << data.RetransmitSequenceNumber; 03235 } 03236 03237 03238 template<> 03239 void DataSerializer::Serialize<RepublishRequest>(const RepublishRequest& data) 03240 { 03241 *this << data.TypeId; 03242 *this << data.Header; 03243 *this << data.Parameters; 03244 } 03245 03246 03247 template<> 03248 void DataSerializer::Serialize<RepublishResponse>(const RepublishResponse& data) 03249 { 03250 *this << data.TypeId; 03251 *this << data.Header; 03252 *this << data.NotificationMessage; 03253 } 03254 03255 03256 /* DISABLED 03257 03258 template<> 03259 void DataSerializer::Serialize<TransferResult>(const TransferResult& data) 03260 { 03261 *this << data.Status; 03262 SerializeContainer(*this, data.AvailableSequenceNumbers); 03263 } 03264 03265 */ 03266 03267 /* DISABLED 03268 03269 template<> 03270 void DataSerializer::Serialize<TransferSubscriptionsParameters>(const TransferSubscriptionsParameters& data) 03271 { 03272 SerializeContainer(*this, data.SubscriptionIds); 03273 *this << data.SendInitialValues; 03274 } 03275 03276 */ 03277 03278 /* DISABLED 03279 03280 template<> 03281 void DataSerializer::Serialize<TransferSubscriptionsRequest>(const TransferSubscriptionsRequest& data) 03282 { 03283 *this << data.TypeId; 03284 *this << data.Header; 03285 *this << data.Parameters; 03286 } 03287 03288 */ 03289 03290 /* DISABLED 03291 03292 template<> 03293 void DataSerializer::Serialize<TransferSubscriptionsResult>(const TransferSubscriptionsResult& data) 03294 { 03295 SerializeContainer(*this, data.Results); 03296 SerializeContainer(*this, data.DiagnosticInfos); 03297 } 03298 03299 */ 03300 03301 /* DISABLED 03302 03303 template<> 03304 void DataSerializer::Serialize<TransferSubscriptionsResponse>(const TransferSubscriptionsResponse& data) 03305 { 03306 *this << data.TypeId; 03307 *this << data.Header; 03308 *this << data.Parameters; 03309 } 03310 03311 */ 03312 03313 template<> 03314 void DataSerializer::Serialize<DeleteSubscriptionsRequest>(const DeleteSubscriptionsRequest& data) 03315 { 03316 *this << data.TypeId; 03317 *this << data.Header; 03318 SerializeContainer(*this, data.SubscriptionIds); 03319 } 03320 03321 03322 template<> 03323 void DataSerializer::Serialize<DeleteSubscriptionsResponse>(const DeleteSubscriptionsResponse& data) 03324 { 03325 *this << data.TypeId; 03326 *this << data.Header; 03327 SerializeContainer(*this, data.Results); 03328 SerializeContainer(*this, data.DiagnosticInfos); 03329 } 03330 03331 03332 /* DISABLED 03333 03334 template<> 03335 void DataSerializer::Serialize<ScalarTestType>(const ScalarTestType& data) 03336 { 03337 *this << data.Boolean; 03338 *this << data.SByte; 03339 *this << data.Byte; 03340 *this << data.Int16; 03341 *this << data.UInt16; 03342 *this << data.Int32; 03343 *this << data.UInt32; 03344 *this << data.Int64; 03345 *this << data.UInt64; 03346 *this << data.Float; 03347 *this << data.Double; 03348 *this << data.String; 03349 *this << data.DateTime; 03350 *this << data.Guid; 03351 *this << data.ByteString; 03352 *this << data.XmlElement; 03353 *this << data.NodeId; 03354 *this << data.ExpandedNodeId; 03355 *this << data.Status; 03356 *this << data.DiagnosticInfo; 03357 *this << data.QualifiedName; 03358 *this << data.LocalizedText; 03359 *this << data.ExtensionObject; 03360 *this << data.DataValue; 03361 *this << data.EnumeratedValue; 03362 } 03363 03364 */ 03365 03366 /* DISABLED 03367 03368 template<> 03369 void DataSerializer::Serialize<ArrayTestType>(const ArrayTestType& data) 03370 { 03371 SerializeContainer(*this, data.Booleans); 03372 SerializeContainer(*this, data.SBytes); 03373 SerializeContainer(*this, data.Int16s); 03374 SerializeContainer(*this, data.UInt16s); 03375 SerializeContainer(*this, data.Int32s); 03376 SerializeContainer(*this, data.UInt32s); 03377 SerializeContainer(*this, data.Int64s); 03378 SerializeContainer(*this, data.UInt64s); 03379 SerializeContainer(*this, data.Floats); 03380 SerializeContainer(*this, data.Doubles); 03381 SerializeContainer(*this, data.Strings); 03382 SerializeContainer(*this, data.DateTimes); 03383 SerializeContainer(*this, data.Guids); 03384 SerializeContainer(*this, data.ByteStrings); 03385 SerializeContainer(*this, data.XmlElements); 03386 SerializeContainer(*this, data.NodeIds); 03387 SerializeContainer(*this, data.ExpandedNodeIds); 03388 SerializeContainer(*this, data.StatusCodes); 03389 SerializeContainer(*this, data.DiagnosticInfos); 03390 SerializeContainer(*this, data.QualifiedNames); 03391 SerializeContainer(*this, data.LocalizedTexts); 03392 SerializeContainer(*this, data.ExtensionObjects); 03393 SerializeContainer(*this, data.DataValues); 03394 SerializeContainer(*this, data.Variants); 03395 SerializeContainer(*this, data.EnumeratedValues); 03396 } 03397 03398 */ 03399 03400 /* DISABLED 03401 03402 template<> 03403 void DataSerializer::Serialize<CompositeTestType>(const CompositeTestType& data) 03404 { 03405 *this << data.Field1; 03406 *this << data.Field2; 03407 } 03408 03409 */ 03410 03411 /* DISABLED 03412 03413 template<> 03414 void DataSerializer::Serialize<TestStackParameters>(const TestStackParameters& data) 03415 { 03416 *this << data.TestId; 03417 *this << data.Iteration; 03418 *this << data.Input; 03419 } 03420 03421 */ 03422 03423 /* DISABLED 03424 03425 template<> 03426 void DataSerializer::Serialize<TestStackRequest>(const TestStackRequest& data) 03427 { 03428 *this << data.TypeId; 03429 *this << data.Header; 03430 *this << data.Parameters; 03431 } 03432 03433 */ 03434 03435 /* DISABLED 03436 03437 template<> 03438 void DataSerializer::Serialize<TestStackResult>(const TestStackResult& data) 03439 { 03440 *this << data.Output; 03441 } 03442 03443 */ 03444 03445 /* DISABLED 03446 03447 template<> 03448 void DataSerializer::Serialize<TestStackResponse>(const TestStackResponse& data) 03449 { 03450 *this << data.TypeId; 03451 *this << data.Header; 03452 *this << data.Parameters; 03453 } 03454 03455 */ 03456 03457 /* DISABLED 03458 03459 template<> 03460 void DataSerializer::Serialize<TestStackExParameters>(const TestStackExParameters& data) 03461 { 03462 *this << data.TestId; 03463 *this << data.Iteration; 03464 *this << data.Input; 03465 } 03466 03467 */ 03468 03469 /* DISABLED 03470 03471 template<> 03472 void DataSerializer::Serialize<TestStackExRequest>(const TestStackExRequest& data) 03473 { 03474 *this << data.TypeId; 03475 *this << data.Header; 03476 *this << data.Parameters; 03477 } 03478 03479 */ 03480 03481 /* DISABLED 03482 03483 template<> 03484 void DataSerializer::Serialize<TestStackExResult>(const TestStackExResult& data) 03485 { 03486 *this << data.Output; 03487 } 03488 03489 */ 03490 03491 /* DISABLED 03492 03493 template<> 03494 void DataSerializer::Serialize<TestStackExResponse>(const TestStackExResponse& data) 03495 { 03496 *this << data.TypeId; 03497 *this << data.Header; 03498 *this << data.Parameters; 03499 } 03500 03501 */ 03502 03503 /* DISABLED 03504 03505 template<> 03506 void DataSerializer::Serialize<BuildInfo>(const BuildInfo& data) 03507 { 03508 *this << data.ProductUri; 03509 *this << data.ManufacturerName; 03510 *this << data.ProductName; 03511 *this << data.SoftwareVersion; 03512 *this << data.BuildNumber; 03513 *this << data.BuildDate; 03514 } 03515 03516 */ 03517 03518 /* DISABLED 03519 03520 template<> 03521 void DataSerializer::Serialize<RedundantServerDataType>(const RedundantServerDataType& data) 03522 { 03523 *this << data.ServerId; 03524 *this << data.ServiceLevel; 03525 *this << data.ServerState; 03526 } 03527 03528 */ 03529 03530 /* DISABLED 03531 03532 template<> 03533 void DataSerializer::Serialize<EndpointUrlListDataType>(const EndpointUrlListDataType& data) 03534 { 03535 SerializeContainer(*this, data.EndpointUrlList); 03536 } 03537 03538 */ 03539 03540 /* DISABLED 03541 03542 template<> 03543 void DataSerializer::Serialize<NetworkGroupDataType>(const NetworkGroupDataType& data) 03544 { 03545 *this << data.ServerUri; 03546 SerializeContainer(*this, data.NetworkPaths); 03547 } 03548 03549 */ 03550 03551 /* DISABLED 03552 03553 template<> 03554 void DataSerializer::Serialize<SamplingIntervalDiagnosticsDataType>(const SamplingIntervalDiagnosticsDataType& data) 03555 { 03556 *this << data.SamplingInterval; 03557 *this << data.MonitoredItemCount; 03558 *this << data.MaxMonitoredItemCount; 03559 *this << data.DisabledMonitoredItemCount; 03560 } 03561 03562 */ 03563 03564 /* DISABLED 03565 03566 template<> 03567 void DataSerializer::Serialize<ServerDiagnosticsSummaryDataType>(const ServerDiagnosticsSummaryDataType& data) 03568 { 03569 *this << data.ServerViewCount; 03570 *this << data.CurrentSessionCount; 03571 *this << data.CumulatedSessionCount; 03572 *this << data.SecurityRejectedSessionCount; 03573 *this << data.RejectedSessionCount; 03574 *this << data.SessionTimeoutCount; 03575 *this << data.SessionAbortCount; 03576 *this << data.CurrentSubscriptionCount; 03577 *this << data.CumulatedSubscriptionCount; 03578 *this << data.PublishingIntervalCount; 03579 *this << data.SecurityRejectedRequestsCount; 03580 *this << data.RejectedRequestsCount; 03581 } 03582 03583 */ 03584 03585 /* DISABLED 03586 03587 template<> 03588 void DataSerializer::Serialize<ServerStatusDataType>(const ServerStatusDataType& data) 03589 { 03590 *this << data.StartTime; 03591 *this << data.CurrentTime; 03592 *this << data.State; 03593 *this << data.BuildInfo; 03594 *this << data.SecondsTillShutdown; 03595 *this << data.ShutdownReason; 03596 } 03597 03598 */ 03599 03600 /* DISABLED 03601 03602 template<> 03603 void DataSerializer::Serialize<SessionSecurityDiagnosticsDataType>(const SessionSecurityDiagnosticsDataType& data) 03604 { 03605 *this << data.SessionId; 03606 *this << data.ClientUserIdOfSession; 03607 SerializeContainer(*this, data.ClientUserIdHistory); 03608 *this << data.AuthenticationMechanism; 03609 *this << data.Encoding; 03610 *this << data.TransportProtocol; 03611 *this << data.SecurityMode; 03612 *this << data.SecurityPolicyUri; 03613 *this << data.ClientCertificate; 03614 } 03615 03616 */ 03617 03618 /* DISABLED 03619 03620 template<> 03621 void DataSerializer::Serialize<ServiceCounterDataType>(const ServiceCounterDataType& data) 03622 { 03623 *this << data.TotalCount; 03624 *this << data.ErrorCount; 03625 } 03626 03627 */ 03628 03629 /* DISABLED 03630 03631 template<> 03632 void DataSerializer::Serialize<SessionDiagnosticsDataType>(const SessionDiagnosticsDataType& data) 03633 { 03634 *this << data.SessionId; 03635 *this << data.SessionName; 03636 *this << data.ClientDescription; 03637 *this << data.ServerUri; 03638 *this << data.EndpointUrl; 03639 SerializeContainer(*this, data.LocaleIds); 03640 *this << data.ActualSessionTimeout; 03641 *this << data.MaxResponseMessageSize; 03642 *this << data.ClientConnectionTime; 03643 *this << data.ClientLastContactTime; 03644 *this << data.CurrentSubscriptionsCount; 03645 *this << data.CurrentMonitoredItemsCount; 03646 *this << data.CurrentPublishRequestsInQueue; 03647 *this << data.TotalRequestCount; 03648 *this << data.UnauthorizedRequestCount; 03649 *this << data.ReadCount; 03650 *this << data.HistoryReadCount; 03651 *this << data.WriteCount; 03652 *this << data.HistoryUpdateCount; 03653 *this << data.CallCount; 03654 *this << data.CreateMonitoredItemsCount; 03655 *this << data.ModifyMonitoredItemsCount; 03656 *this << data.SetMonitoringModeCount; 03657 *this << data.SetTriggeringCount; 03658 *this << data.DeleteMonitoredItemsCount; 03659 *this << data.CreateSubscriptionCount; 03660 *this << data.ModifySubscriptionCount; 03661 *this << data.SetPublishingModeCount; 03662 *this << data.PublishCount; 03663 *this << data.RepublishCount; 03664 *this << data.TransferSubscriptionsCount; 03665 *this << data.DeleteSubscriptionsCount; 03666 *this << data.AddNodesCount; 03667 *this << data.AddReferencesCount; 03668 *this << data.DeleteNodesCount; 03669 *this << data.DeleteReferencesCount; 03670 *this << data.BrowseCount; 03671 *this << data.BrowseNextCount; 03672 *this << data.TranslateBrowsePathsToNodeIdsCount; 03673 *this << data.QueryFirstCount; 03674 *this << data.QueryNextCount; 03675 *this << data.RegisterNodesCount; 03676 *this << data.UnregisterNodesCount; 03677 } 03678 03679 */ 03680 03681 /* DISABLED 03682 03683 template<> 03684 void DataSerializer::Serialize<StatusResult>(const StatusResult& data) 03685 { 03686 *this << data.Status; 03687 *this << data.DiagnosticInfo; 03688 } 03689 03690 */ 03691 03692 /* DISABLED 03693 03694 template<> 03695 void DataSerializer::Serialize<SubscriptionDiagnosticsDataType>(const SubscriptionDiagnosticsDataType& data) 03696 { 03697 *this << data.SessionId; 03698 *this << data.SubscriptionId; 03699 *this << data.Priority; 03700 *this << data.PublishingInterval; 03701 *this << data.MaxKeepAliveCount; 03702 *this << data.MaxLifetimeCount; 03703 *this << data.MaxNotificationsPerPublish; 03704 *this << data.PublishingEnabled; 03705 *this << data.ModifyCount; 03706 *this << data.EnableCount; 03707 *this << data.DisableCount; 03708 *this << data.RepublishRequestCount; 03709 *this << data.RepublishMessageRequestCount; 03710 *this << data.RepublishMessageCount; 03711 *this << data.TransferRequestCount; 03712 *this << data.TransferredToAltClientCount; 03713 *this << data.TransferredToSameClientCount; 03714 *this << data.PublishRequestCount; 03715 *this << data.DataChangeNotificationsCount; 03716 *this << data.EventNotificationsCount; 03717 *this << data.NotificationsCount; 03718 *this << data.LatePublishRequestCount; 03719 *this << data.CurrentKeepAliveCount; 03720 *this << data.CurrentLifetimeCount; 03721 *this << data.UnacknowledgedMessageCount; 03722 *this << data.DiscardedMessageCount; 03723 *this << data.MonitoredItemCount; 03724 *this << data.DisabledMonitoredItemCount; 03725 *this << data.MonitoringQueueOverflowCount; 03726 *this << data.NextSequenceNumber; 03727 *this << data.EventQueueOverFlowCount; 03728 } 03729 03730 */ 03731 03732 /* DISABLED 03733 03734 template<> 03735 void DataSerializer::Serialize<ModelChangeStructureDataType>(const ModelChangeStructureDataType& data) 03736 { 03737 *this << data.Affected; 03738 *this << data.AffectedType; 03739 *this << data.Verb; 03740 } 03741 03742 */ 03743 03744 /* DISABLED 03745 03746 template<> 03747 void DataSerializer::Serialize<SemanticChangeStructureDataType>(const SemanticChangeStructureDataType& data) 03748 { 03749 *this << data.Affected; 03750 *this << data.AffectedType; 03751 } 03752 03753 */ 03754 03755 /* DISABLED 03756 03757 template<> 03758 void DataSerializer::Serialize<Range>(const Range& data) 03759 { 03760 *this << data.Low; 03761 *this << data.High; 03762 } 03763 03764 */ 03765 03766 /* DISABLED 03767 03768 template<> 03769 void DataSerializer::Serialize<EUInformation>(const EUInformation& data) 03770 { 03771 *this << data.NamespaceUri; 03772 *this << data.UnitId; 03773 *this << data.DisplayName; 03774 *this << data.Description; 03775 } 03776 03777 */ 03778 03779 /* DISABLED 03780 03781 template<> 03782 void DataSerializer::Serialize<ComplexNumberType>(const ComplexNumberType& data) 03783 { 03784 *this << data.Real; 03785 *this << data.Imaginary; 03786 } 03787 03788 */ 03789 03790 /* DISABLED 03791 03792 template<> 03793 void DataSerializer::Serialize<DoubleComplexNumberType>(const DoubleComplexNumberType& data) 03794 { 03795 *this << data.Real; 03796 *this << data.Imaginary; 03797 } 03798 03799 */ 03800 03801 /* DISABLED 03802 03803 template<> 03804 void DataSerializer::Serialize<AxisInformation>(const AxisInformation& data) 03805 { 03806 *this << data.EngineeringUnits; 03807 *this << data.EURange; 03808 *this << data.Title; 03809 *this << data.AxisScaleType; 03810 SerializeContainer(*this, data.AxisSteps); 03811 } 03812 03813 */ 03814 03815 /* DISABLED 03816 03817 template<> 03818 void DataSerializer::Serialize<XVType>(const XVType& data) 03819 { 03820 *this << data.X; 03821 *this << data.Value; 03822 } 03823 03824 */ 03825 03826 /* DISABLED 03827 03828 template<> 03829 void DataSerializer::Serialize<ProgramDiagnosticDataType>(const ProgramDiagnosticDataType& data) 03830 { 03831 *this << data.CreateSessionId; 03832 *this << data.CreateClientName; 03833 *this << data.InvocationCreationTime; 03834 *this << data.LastTransitionTime; 03835 *this << data.LastMethodCall; 03836 *this << data.LastMethodSessionId; 03837 SerializeContainer(*this, data.LastMethodInputArguments); 03838 SerializeContainer(*this, data.LastMethodOutputArguments); 03839 *this << data.LastMethodCallTime; 03840 *this << data.LastMethodReturnStatus; 03841 } 03842 03843 */ 03844 03845 template<> 03846 void DataSerializer::Serialize<Annotation>(const Annotation& data) 03847 { 03848 *this << data.Message; 03849 *this << data.UserName; 03850 *this << data.AnnotationTime; 03851 } 03852 03853 03854 } 03855 03856 } // namespace 03857