beginTransaction/beginRead/etc hIOManagerContext

Questions regarding the use of the C++ SDK for Server or Client development or integration into customer products ...

Moderator: uasdkcpp

Post Reply
mrubio
Jr. Member
Jr. Member
Posts: 2
Joined: 05 Dec 2024, 09:41

beginTransaction/beginRead/etc hIOManagerContext

Post by mrubio »

I am analyzing the UA sdk, and am trying to do a custom implementation of the IOManager interface, since the 'external communication' to read/write data will block for some time.
For that reason, I have initially created a class that inherits from IOManagerUaNode and overrides the methods beginTransaction() and beginRead(). As a first step, I am recalling the base implementations of these methods and analyzing how they work.

Unfortunately, since I don't yet have the source code, I am struggling to find a reference to what class/type/struct/object is used for the parameter hIOManagerContext, which is set by beginTransaction() and passed to beginRead().

From the documentation, I read:
If the communication with the underlying system can block, the node must be stored in the context of the transaction and the communication with the underlying system must be started asynchronous in the finishTransaction method.
How can I store the Node information in the context of the transaction? How is this done in the base class IOManagerUaNode?

Any hints on the right direction where I can look for further information is welcome.

Thanks!

User avatar
Support Team
Hero Member
Hero Member
Posts: 3268
Joined: 18 Mar 2011, 15:09

Re: beginTransaction/beginRead/etc hIOManagerContext

Post by Support Team »

Hi,

You find an example for implementing your own IOManager here:
https://documentation.unified-automation.com/uasdkcpp/1.8.5/html/L2TutorialSdk.html

The complete source code of that example is delivered with the SDK (%SDK_INSTALL_FOLDER%/examples/server_sdk_tutorial)
Best regards
Unified Automation Support Team

mrubio
Jr. Member
Jr. Member
Posts: 2
Joined: 05 Dec 2024, 09:41

Re: beginTransaction/beginRead/etc hIOManagerContext

Post by mrubio »

How did I miss that?
Thanks a lot!

Post Reply