Poco::RemotingNG

class RemoteObject

File Information

Library: RemotingNG
Package: ORB
Header: Poco/RemotingNG/RemoteObject.h

Description

A RemoteObject forwards method calls to the local service object.

For every service object, the RemotingNG code generator generates a RemoteObject that is a subclass of the service object's interface class.

Inheritance

Direct Base Classes: Identifiable

All Base Classes: Poco::RefCountedObject, Identifiable

Known Derived Classes: IoT::BtLE::PeripheralManagerRemoteObject, IoT::MQTT::MQTTClientRemoteObject, IoT::BtLE::PeripheralRemoteObject, IoT::Mailer::MailerServiceRemoteObject, IoT::BtLE::PeripheralBrowserRemoteObject, IoT::XBee::XBeeNodeRemoteObject, IoT::SMS::ShortMessageServiceRemoteObject, IoT::CAN::CANEndpointRemoteObject, IoT::S7PLC::S7PLCClientRemoteObject, IoT::UDP::UDPEndpointRemoteObject, IoT::MobileConnection::MobileConnectionServiceRemoteObject, IoT::DeviceStatus::DeviceStatusServiceRemoteObject, IoT::NetworkEnvironment::NetworkEnvironmentServiceRemoteObject, IoT::Settings::SettingsServiceRemoteObject, IoT::OPC::OPCClientRemoteObject, IoT::Devices::ScalarDatapointRemoteObject, IoT::Devices::SensorRemoteObject, IoT::WebEvent::WebEventNotifierRemoteObject, IoT::Modbus::ModbusMasterRemoteObject, IoT::Datapoints::DatapointFactoryRemoteObject, IoT::Devices::CameraRemoteObject, IoT::Devices::BooleanSensorRemoteObject, IoT::Devices::CompositeRemoteObject, IoT::Devices::CounterRemoteObject, IoT::Devices::FlagsDatapointRemoteObject, IoT::Devices::EnumDatapointRemoteObject, IoT::Devices::IORemoteObject, IoT::Devices::LEDRemoteObject, IoT::Devices::RotaryEncoderRemoteObject, IoT::Devices::GNSSSensorRemoteObject, IoT::Devices::DeviceTreeRemoteObject, IoT::Devices::SerialDeviceRemoteObject, IoT::Devices::BarcodeReaderRemoteObject, IoT::Devices::StringDatapointRemoteObject, IoT::Devices::VectorDatapointRemoteObject, IoT::Devices::AccelerometerRemoteObject, IoT::Devices::BooleanDatapointRemoteObject, IoT::Devices::CounterDatapointRemoteObject, IoT::Devices::DatapointRemoteObject, IoT::Devices::DeviceRemoteObject, IoT::Devices::GyroscopeRemoteObject, IoT::Devices::MagnetometerRemoteObject, IoT::Devices::SwitchRemoteObject, IoT::Devices::TriggerRemoteObject

Member Summary

Member Functions: mutex, remoting__enableRemoteEvents, remoting__hasEvents

Inherited Functions: duplicate, referenceCount, release, remoting__getURI, remoting__objectId, remoting__setURI, remoting__typeId

Types Aliases

Ptr

using Ptr = Poco::AutoPtr < RemoteObject >;

Constructors

RemoteObject

RemoteObject(
    const Poco::RemotingNG::Identifiable::ObjectId & oid
);

Creates a RemoteObject.

Destructor

~RemoteObject virtual

virtual ~RemoteObject();

Destroys the RemoteObject.

Member Functions

remoting__enableRemoteEvents virtual

virtual void remoting__enableRemoteEvents(
    const std::string & protocol
);

Enables remote events for the RemoteObject identified by the given URI.

Events will be delivered using the Transport for the given protocol. Can be called multiple times for the same URI with different protocols.

Must be overridden by subclasses if the service object has events. The default implementation does nothing.

remoting__hasEvents virtual

virtual bool remoting__hasEvents() const;

Returns true if the service object has events, false otherwise.

Must be overridden by subclasses if the service object has events. The default implementation always returns false.

mutex protected inline

Poco::FastMutex & mutex() const;

Securely control IoT edge devices from anywhere   Connect a Device