Encoding Library
Getting Started
This library is a loosely coupled part of the ReferenceApplication
described in the section Reference Application Graphical User Interface. The main purpose of this library is the interoperability testing and diagnostic.
It provides UAOOI.Networking.SemanticData.IEncodingFactory
limited 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 method doesn't support this functionality and left the property unassigned.
This library may be easily replaced by a custom one - change the composition contract in:
UAOOI.Networking.DataLogger.LoggerManagementSetup
UAOOI.Networking.SimulatorInteroperabilityTest.SimulatorDataManagementSetup
Current release
This library has been released as the NuGet package UAOOI.Networking.Encoding.
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.
Contributing
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
Consider expanding functionality in this library by implementing the methods in classes: UABinaryDecoderImplementation
and UABinaryEncoderImplementation
.
Running tests
The library is not Unit Tested.
See also
Last updated