File Information
Library: IoT/Devices
Package: Generated
Header: IoT/Devices/EnumDatapointRemoteObject.h
Description
The base class for datapoints holding an enumeration value (based on an int).
An implementation should handle conversion between an integer value and the corresponding symbolic name.
In addition to the methods defined in this interface, a EnumDatapoint implementation should expose the following properties:
- displayValue (string, optional): The current value of the datapoint, formatted as string for display purposes.
Inheritance
Direct Base Classes: IEnumDatapoint, Poco::RemotingNG::RemoteObject
All Base Classes: IDatapoint, IDevice, IEnumDatapoint, Poco::OSP::Service, Poco::RefCountedObject, Poco::RemotingNG::Identifiable, Poco::RemotingNG::RemoteObject
Member Summary
Member Functions: definedValues, event__invalidated, event__statusChanged, event__validated, event__valueChanged, event__valueUpdated, getFeature, getPropertyBool, getPropertyDouble, getPropertyInt, getPropertyInt16, getPropertyInt64, getPropertyString, getPropertyTimestamp, hasFeature, hasProperty, invalidate, remoting__enableEvents, remoting__enableRemoteEvents, remoting__hasEvents, remoting__typeId, setFeature, setPropertyBool, setPropertyDouble, setPropertyInt, setPropertyInt16, setPropertyInt64, setPropertyString, setPropertyTimestamp, stringValue, update, updateString, valid, validStringValue, validValue, value
Inherited Functions: definedValues, duplicate, getFeature, getPropertyBool, getPropertyDouble, getPropertyInt, getPropertyInt16, getPropertyInt64, getPropertyString, getPropertyTimestamp, hasFeature, hasProperty, invalidate, isA, mutex, referenceCount, release, remoting__enableEvents, remoting__enableRemoteEvents, remoting__getURI, remoting__hasEvents, remoting__objectId, remoting__setURI, remoting__typeId, setFeature, setPropertyBool, setPropertyDouble, setPropertyInt, setPropertyInt16, setPropertyInt64, setPropertyString, setPropertyTimestamp, stringValue, type, update, updateString, valid, validStringValue, validValue, value
Types Aliases
Ptr
using Ptr = Poco::AutoPtr < EnumDatapointRemoteObject >;
Constructors
EnumDatapointRemoteObject
EnumDatapointRemoteObject(
const Poco::RemotingNG::Identifiable::ObjectId & oid,
Poco::SharedPtr < IoT::Devices::EnumDatapoint > pServiceObject
);
Creates a EnumDatapointRemoteObject.
Destructor
~EnumDatapointRemoteObject
virtual ~EnumDatapointRemoteObject();
Destroys the EnumDatapointRemoteObject.
Member Functions
definedValues
std::vector < IoT::Devices::EnumValue > definedValues() const;
Returns a vector containing the possible values and mappings to symbolic names.
getFeature
virtual bool getFeature(
const std::string & name
) const;
Returns true if the feature with the given name is enabled, or false otherwise.
See also: IoT::Devices::IDevice::getFeature()
getPropertyBool
virtual bool getPropertyBool(
const std::string & name
) const;
Returns the value of the device property with the given name.
Throws a Poco::NotFoundException if the property with the given name is unknown.
See also: IoT::Devices::IDevice::getPropertyBool()
getPropertyDouble
virtual double getPropertyDouble(
const std::string & name
) const;
Returns the value of the device property with the given name.
Throws a Poco::NotFoundException if the property with the given name is unknown.
getPropertyInt
virtual int getPropertyInt(
const std::string & name
) const;
Returns the value of the device property with the given name.
Throws a Poco::NotFoundException if the property with the given name is unknown.
See also: IoT::Devices::IDevice::getPropertyInt()
getPropertyInt16
virtual Poco::Int16 getPropertyInt16(
const std::string & name
) const;
Returns the value of the device property with the given name.
Throws a Poco::NotFoundException if the property with the given name is unknown.
getPropertyInt64
virtual Poco::Int64 getPropertyInt64(
const std::string & name
) const;
Returns the value of the device property with the given name.
Throws a Poco::NotFoundException if the property with the given name is unknown.
getPropertyString
virtual std::string getPropertyString(
const std::string & name
) const;
Returns the value of the device property with the given name.
Throws a Poco::NotFoundException if the property with the given name is unknown.
getPropertyTimestamp
virtual Poco::Timestamp getPropertyTimestamp(
const std::string & name
) const;
Returns the value of the device property with the given name.
Throws a Poco::NotFoundException if the property with the given name is unknown.
hasFeature
virtual bool hasFeature(
const std::string & name
) const;
Returns true if the feature with the given name is known, or false otherwise.
See also: IoT::Devices::IDevice::hasFeature()
hasProperty
virtual bool hasProperty(
const std::string & name
) const;
Returns true if the property with the given name exists, or false otherwise.
See also: IoT::Devices::IDevice::hasProperty()
invalidate
virtual void invalidate();
Invalidates the datapoint's value.
Subsequent calls to valid() will return false, until a new value has been set.
See also: IoT::Devices::IDatapoint::invalidate()
remoting__enableEvents
virtual std::string remoting__enableEvents(
Poco::RemotingNG::Listener::Ptr pListener,
bool enable = bool (true)
);
remoting__enableRemoteEvents
virtual void remoting__enableRemoteEvents(
const std::string & protocol
);
remoting__hasEvents
virtual bool remoting__hasEvents() const;
remoting__typeId
virtual const Poco::RemotingNG::Identifiable::TypeId & remoting__typeId() const;
setFeature
virtual void setFeature(
const std::string & name,
bool enable
);
Enables or disables the feature with the given name.
Which features are supported is defined by the actual device implementation.
See also: IoT::Devices::IDevice::setFeature()
setPropertyBool
virtual void setPropertyBool(
const std::string & name,
bool value
);
Sets a device property.
Which properties are supported is defined by the actual device implementation.
See also: IoT::Devices::IDevice::setPropertyBool()
setPropertyDouble
virtual void setPropertyDouble(
const std::string & name,
double value
);
Sets a device property.
Which properties are supported is defined by the actual device implementation.
setPropertyInt
virtual void setPropertyInt(
const std::string & name,
int value
);
Sets a device property.
Which properties are supported is defined by the actual device implementation.
See also: IoT::Devices::IDevice::setPropertyInt()
setPropertyInt16
virtual void setPropertyInt16(
const std::string & name,
Poco::Int16 value
);
Sets a device property.
Which properties are supported is defined by the actual device implementation.
setPropertyInt64
virtual void setPropertyInt64(
const std::string & name,
Poco::Int64 value
);
Sets a device property.
Which properties are supported is defined by the actual device implementation.
setPropertyString
virtual void setPropertyString(
const std::string & name,
const std::string & value
);
Sets a device property.
Which properties are supported is defined by the actual device implementation.
setPropertyTimestamp
virtual void setPropertyTimestamp(
const std::string & name,
Poco::Timestamp value
);
Sets a device property.
Which properties are supported is defined by the actual device implementation.
stringValue
virtual std::string stringValue() const;
Returns the symbolic name corresponding to the datapoint's current value, even if the datapoint has been invalidated.
Use validStringValue() to get a valid value only.
update
virtual void update(
int value
);
Updates the value of the enumeration.
Throws a Poco::InvalidArgumentException if the given value is not in the range of defined values.
See also: IoT::Devices::IEnumDatapoint::update()
updateString
virtual void updateString(
const std::string & symbolicName
);
Updates the value of the enumeration from the given symbolic name.
Throws a Poco::InvalidArgumentException if the given symbolicName is not in the range of defined values and their symbolic names.
valid
virtual bool valid() const;
Returns true if a valid value is available.
Note that between the time valid() is called and a subsequent call to value() or similar method, the validity may change. Use validValue() or similar methods of subclasses to atomically get validity and value.
See also: IoT::Devices::IDatapoint::valid()
validStringValue
Poco::Optional < std::string > validStringValue() const;
Returns the symbolic name corresponding to the datapoint's current value if the datapoint is valid, otherwise an empty value.
validValue
Poco::Optional < int > validValue() const;
Returns the current integer value of the datapoint if it is valid, otherwise an empty value.
value
virtual int value() const;
Returns the current integer value of the datapoint, even if the datapoint has been invalidated.
Use validValue() to get a valid value only.
See also: IoT::Devices::IEnumDatapoint::value()
event__invalidated
void event__invalidated();
event__statusChanged
void event__statusChanged(
const IoT::Devices::DeviceStatusChange & data
);
event__validated
void event__validated(
const int & data
);
event__valueChanged
void event__valueChanged(
const int & data
);
event__valueUpdated
void event__valueUpdated(
const int & data
);