uatools 1.0.0-pre2
 
Loading...
Searching...
No Matches
eso::uatools::protocol::base::IComm Class Referenceabstract

#include <icomm_adapter_min_v1.hpp>

Inheritance diagram for eso::uatools::protocol::base::IComm:
eso::uatools::protocol::opcua::Open62541 MockOpen62541

Public Member Functions

virtual ~IComm ()=default
 
 IComm ()=default
 
 IComm (const IComm &)=delete
 
ICommoperator= (const IComm &)=delete
 
 IComm (IComm &&)=delete
 
ICommoperator= (IComm &&)=delete
 
virtual void Connect (const ClientConfig &cfg)=0
 
virtual void Disconnect () noexcept=0
 Safe to call when already disconnected.
 
virtual bool IsConnected () const noexcept=0
 
virtual DataValue Read (const std::string &node)=0
 
virtual std::vector< DataValueRead (const std::vector< std::string > &nodes)=0
 
virtual void Write (const std::string &node, const Variant &value)=0
 
virtual std::vector< StatusCodeWrite (const std::vector< std::pair< std::string, Variant > > &writes)=0
 
virtual std::vector< VariantCall (const std::string &object, const std::string &method, const std::vector< Variant > &args)=0
 
virtual SubscriptionHandle Subscribe (const std::string &node, DataCallback callback, const SubscriptionOpts &opts={})=0
 
virtual std::vector< SubscriptionHandleSubscribe (const std::vector< std::string > &nodes, DataCallback callback, const SubscriptionOpts &opts={})=0
 
virtual void Connect (const std::string &device, const std::string &address)=0
 
virtual void Read (VectorVariant &params)=0
 
virtual void Write (const VectorVariant &params)=0
 
virtual void Rpc (const std::string &obj, const std::string &proc, const VectorVariant &params, Variant &result)=0
 
virtual void Disconnect ()=0
 
virtual void StartMonitorItem (const std::string &item)=0
 
virtual void StartMonitorItems (const std::vector< std::string > &item_vector)=0
 
virtual void StopMonitorItem (const std::string &item)=0
 
virtual void RegisterCB (protocol::base::Dispatcher< protocol::base::VectorVariant & > &dispatcher, protocol::base::Dispatcher<> &failure, protocol::base::Dispatcher<> &normal)=0
 
virtual ~IComm ()
 

Constructor & Destructor Documentation

◆ ~IComm() [1/2]

virtual eso::uatools::protocol::base::IComm::~IComm ( )
virtualdefault

◆ IComm() [1/3]

eso::uatools::protocol::base::IComm::IComm ( )
default

◆ IComm() [2/3]

eso::uatools::protocol::base::IComm::IComm ( const IComm & )
delete

◆ IComm() [3/3]

eso::uatools::protocol::base::IComm::IComm ( IComm && )
delete

◆ ~IComm() [2/2]

virtual eso::uatools::protocol::base::IComm::~IComm ( )
inlinevirtual

Member Function Documentation

◆ Call()

virtual std::vector< Variant > eso::uatools::protocol::base::IComm::Call ( const std::string & object,
const std::string & method,
const std::vector< Variant > & args )
pure virtual

Call an OPC UA Method.

Parameters
objectNodeId of the object on which the method lives.
methodNodeId of the Method node itself.
argsInput arguments, in declaration order.
Returns
Output arguments, in declaration order. May be empty if the method declares no outputs (the previous fake short{0} synthesis is gone).
Exceptions
CallErroron failure.

◆ Connect() [1/2]

virtual void eso::uatools::protocol::base::IComm::Connect ( const ClientConfig & cfg)
pure virtual
Exceptions
ConnectErroron failure.

◆ Connect() [2/2]

virtual void eso::uatools::protocol::base::IComm::Connect ( const std::string & device,
const std::string & address )
pure virtual

◆ Disconnect() [1/2]

virtual void eso::uatools::protocol::base::IComm::Disconnect ( )
pure virtualnoexcept

Safe to call when already disconnected.

Implemented in eso::uatools::protocol::opcua::Open62541, and Open62541.

◆ Disconnect() [2/2]

virtual void eso::uatools::protocol::base::IComm::Disconnect ( )
pure virtual

◆ IsConnected()

virtual bool eso::uatools::protocol::base::IComm::IsConnected ( ) const
pure virtualnoexcept

Atomic snapshot. The answer may be stale by the time the caller acts on it; for race-free operation just call the data method and catch ConnectError.

◆ operator=() [1/2]

IComm & eso::uatools::protocol::base::IComm::operator= ( const IComm & )
delete

◆ operator=() [2/2]

IComm & eso::uatools::protocol::base::IComm::operator= ( IComm && )
delete

◆ Read() [1/3]

virtual DataValue eso::uatools::protocol::base::IComm::Read ( const std::string & node)
pure virtual
Exceptions
ReadErroron OPC UA failure.

◆ Read() [2/3]

virtual std::vector< DataValue > eso::uatools::protocol::base::IComm::Read ( const std::vector< std::string > & nodes)
pure virtual

Batch read. Per-node failures appear in the DataValue::status field; the call itself throws only on transport-level errors.

◆ Read() [3/3]

virtual void eso::uatools::protocol::base::IComm::Read ( VectorVariant & params)
pure virtual

◆ RegisterCB()

virtual void eso::uatools::protocol::base::IComm::RegisterCB ( protocol::base::Dispatcher< protocol::base::VectorVariant & > & dispatcher,
protocol::base::Dispatcher<> & failure,
protocol::base::Dispatcher<> & normal )
pure virtual

◆ Rpc()

virtual void eso::uatools::protocol::base::IComm::Rpc ( const std::string & obj,
const std::string & proc,
const VectorVariant & params,
Variant & result )
pure virtual

◆ StartMonitorItem()

virtual void eso::uatools::protocol::base::IComm::StartMonitorItem ( const std::string & item)
pure virtual

◆ StartMonitorItems()

virtual void eso::uatools::protocol::base::IComm::StartMonitorItems ( const std::vector< std::string > & item_vector)
pure virtual

◆ StopMonitorItem()

virtual void eso::uatools::protocol::base::IComm::StopMonitorItem ( const std::string & item)
pure virtual

◆ Subscribe() [1/2]

virtual SubscriptionHandle eso::uatools::protocol::base::IComm::Subscribe ( const std::string & node,
DataCallback callback,
const SubscriptionOpts & opts = {} )
pure virtual

Subscribe to data changes on node. Callback fires on the backend worker thread. The returned handle owns the subscription; destroy it (or call Reset()) to unsubscribe.

Exceptions
SubscriptionErrorif the server rejects the subscription.

◆ Subscribe() [2/2]

virtual std::vector< SubscriptionHandle > eso::uatools::protocol::base::IComm::Subscribe ( const std::vector< std::string > & nodes,
DataCallback callback,
const SubscriptionOpts & opts = {} )
pure virtual

Batch subscribe. One callback receives all updates; the node argument to the callback distinguishes them. Returns one handle per input node, same order.

◆ Write() [1/3]

virtual void eso::uatools::protocol::base::IComm::Write ( const std::string & node,
const Variant & value )
pure virtual
Exceptions
WriteErroron failure.

◆ Write() [2/3]

virtual std::vector< StatusCode > eso::uatools::protocol::base::IComm::Write ( const std::vector< std::pair< std::string, Variant > > & writes)
pure virtual

Batch write. Per-node statuses returned in order; call throws only on transport-level errors.

◆ Write() [3/3]

virtual void eso::uatools::protocol::base::IComm::Write ( const VectorVariant & params)
pure virtual

The documentation for this class was generated from the following files: