UAOOI.Networking.Encoding 4.0.2

This part provides implementation of the IEncodingFactory to lookup a dictionary containing value converters. The interface is used for late binding to inject dependency on the external library. This library provides IEncodingFactory functionality limited to encoding simple data types only for the testing purpose only.

Install-Package UAOOI.Networking.Encoding -Version 4.0.2
dotnet add package UAOOI.Networking.Encoding --version 4.0.2
<PackageReference Include="UAOOI.Networking.Encoding" Version="4.0.2" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add UAOOI.Networking.Encoding --version 4.0.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: UAOOI.Networking.Encoding, 4.0.2"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// Install UAOOI.Networking.Encoding as a Cake Addin
#addin nuget:?package=UAOOI.Networking.Encoding&version=4.0.2

// Install UAOOI.Networking.Encoding as a Cake Tool
#tool nuget:?package=UAOOI.Networking.Encoding&version=4.0.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Encoding Library

Getting Started

This library is a loosely coupled part of the ReferenceApplication described in the document Walk-through ReferenceApplication. The main purpose of this library is the interoperability testing and diagnostic. Check out the Source repository to get detailed description.

It provides UAOOI.Networking.SemanticData.IEncodingFactory implementation in the class EncodingFactoryBinarySimple. Using this implementation the library can encode/decode only simple data types. The ReferenceApplication uses implementation of this class for late binding to inject dependency on the encoding functionality.

The implementation of the UAOOI.Networking.SemanticData.Encoding.IUADecoder interface is provided by the UABinaryDecoderImplementation. The implementation of the UAOOI.Networking.SemanticData.Encoding.IUAEncoder interface is provided in the UABinaryEncoderImplementation;

This UpdateValueConverter method is responsible to lookup a dictionary containing value converters and if any assigns it to IBinding.Converter property.

This library may be easily replaced by a custom one - change the composition contract in:

  • UAOOI.Networking.DataLogger.LoggerManagementSetup
  • UAOOI.Networking.SimulatorInteroperabilityTest.SimulatorDataManagementSetup

Encoding Library

Getting Started

This library is a loosely coupled part of the ReferenceApplication described in the document Walk-through ReferenceApplication. The main purpose of this library is the interoperability testing and diagnostic. Check out the Source repository to get detailed description.

It provides UAOOI.Networking.SemanticData.IEncodingFactory implementation in the class EncodingFactoryBinarySimple. Using this implementation the library can encode/decode only simple data types. The ReferenceApplication uses implementation of this class for late binding to inject dependency on the encoding functionality.

The implementation of the UAOOI.Networking.SemanticData.Encoding.IUADecoder interface is provided by the UABinaryDecoderImplementation. The implementation of the UAOOI.Networking.SemanticData.Encoding.IUAEncoder interface is provided in the UABinaryEncoderImplementation;

This UpdateValueConverter method is responsible to lookup a dictionary containing value converters and if any assigns it to IBinding.Converter property.

This library may be easily replaced by a custom one - change the composition contract in:

  • UAOOI.Networking.DataLogger.LoggerManagementSetup
  • UAOOI.Networking.SimulatorInteroperabilityTest.SimulatorDataManagementSetup

Release Notes

Main purpose of this release is to support implementation of the interoperability tests defined by the OPC Foundation. In the production environment, you may simply replace this library by a custom one providing unlimited encoding functionality.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated
4.0.2 164 9/21/2020
4.0.1 366 2/1/2019