CDPProperty Class
The template class for storing a named value as a string or a numeric type. More...
Header: | #include <CDPSystem/Base/CDPProperty.h> |
Inherits: | CDPPropertyBase |
Public Functions
CDPProperty() | |
CDPProperty(const CDPPropertyBase &other) | |
CDPProperty(const CDPProperty<T> &other) | |
CDPProperty(const T &other) | |
~CDPProperty() override | |
const std::string | GetPropertySetting(std::string strSettingName) const |
virtual std::string | GetValueFromConfiguration() const |
T & | GetValueRef() |
const T & | GetValueRef() const |
bool | RemoveFromSyncIn() |
bool | RemoveFromSyncOut() |
void | SetPublishTypehintRouting(bool publishTypehintRouting) |
const std::string & | ToStdString() const |
virtual bool | empty() const |
std::string::size_type | length() |
std::string::size_type | size() |
operator T() const | |
CDPProperty<T> & | operator=(const CDPProperty<T> &rhs) |
CDPProperty<T> & | operator=(const XMLString &rhs) |
char | operator[](unsigned int nIndex) const |
Reimplemented Public Functions
virtual void | AddListener(CDPPropertyBase *pProperty) override |
virtual void | AddListenersToSyncInOnce() override |
virtual void | AddToSyncIn() override |
virtual void | AddToSyncInOnce() override |
virtual void | AddToSyncOut() override |
virtual void | AddToSyncOutOnce() override |
virtual void | ClearRoutedProperty() override |
virtual void | ClockIn() override |
virtual void | Configure(XMLPrimitive *pXMLPrimitive) override |
virtual void | Connect(std::string propertyRouting) override |
virtual void | ConnectToProperty(CDPPropertyBase *pProperty) override |
virtual void | Create(const char *pzName, CDP::StudioAPI::ICDPNode *pOwner, CDPPropertyBase::PropertyType_e ePropertyType = CDPPropertyBase::e_Attribute, CDPOBJECT_SETPROPERTY_HANDLER setPropertyHandler = nullptr, CDPOBJECT_VALIDATEPROPERTY_HANDLER validatePropertyHandler = nullptr) override |
virtual void | Create(XMLPrimitive *pXMLOwner, CDP::StudioAPI::ICDPNode *pOwner) override |
virtual void | Destroy() override |
virtual void | Disconnect() override |
virtual void | DisconnectAllListeners() override |
virtual void | DisconnectBackend(bool removeFromRoutedPropertyListener = true) override |
virtual void | FillNodeChildren(CDP::StudioAPI::NodeStream &serializer) const override |
virtual bool | GetDoSaveOnChange() const override |
virtual const char * | GetFullName() const override |
virtual unsigned int | GetInternalSize() const override |
virtual CDPPropertyBase::PropertyInternalType_e | GetInternalType() const override |
virtual double | GetInternalValue() const override |
virtual uint64_t | GetInternalValueUInt64() const override |
virtual std::string | GetKeepLastValueOnDisconnect() const override |
virtual bool | GetLogEventOnChange() const override |
virtual const char * | GetName() const override |
virtual CDP::StudioAPI::CDPNodeModeFlags | GetNodeModeFlags() const override |
virtual const std::string | GetNodeName() const override |
virtual CDP::StudioAPI::CDPNodeType | GetNodeType() const override |
virtual std::string | GetNodeTypeName() const override |
virtual CDP::StudioAPI::CDPValueType | GetNodeValueType() const override |
virtual CDPBaseObject * | GetOwner() const override |
virtual CDPObject * | GetParent() const override |
virtual CDPComponent * | GetParentComponent() const override |
virtual const PropertyListeners & | GetPropertyListeners() const override |
virtual CDPPropertyBase::RouteMethod_e | GetRouteMethod() const override |
virtual CDPPropertyBase * | GetRoutedProperty() override |
virtual const char * | GetRouting() const override |
virtual CDPPropertyBase::RoutingStatus_e | GetRoutingStatus() const override |
virtual int | GetSyncGroupId() const override |
virtual std::string | GetValue() const override |
virtual CDP::StudioAPI::CDPVariantValue | GetVariantValue() const override |
virtual XMLPrimitive * | GetXMLOwner() override |
virtual void | HandleKeepLastValueOnDisconnect() override |
virtual void | InvalidateListener(CDPPropertyBase *pProperty) override |
virtual bool | IsAutoCreated() const override |
virtual bool | IsConnected() const override |
virtual bool | IsDestroyed() const override |
virtual bool | IsNumeric() const override |
virtual bool | IsString() const override |
virtual void | PostProcess() override |
virtual void | PreProcess() override |
virtual void | RegisterRoutingChangeCallback(CDPOBJECT_SETPROPERTY_HANDLER handler) override |
virtual void | RegisterSetCallback(CDPOBJECT_SETPROPERTY_HANDLER handler) override |
virtual void | RegisterValidateCallback(CDPOBJECT_VALIDATEPROPERTY_HANDLER handler) override |
virtual void | RemoveListener(CDPPropertyBase *pProperty) override |
virtual void | RemoveListenerIfNotListening() override |
virtual void | SetAutoCreated() override |
virtual void | SetDoSaveOnChange(bool bSave) override |
virtual void | SetKeepLastValueOnDisconnect(const std::string &klvalue) override |
virtual void | SetLogEventOnChange(bool bLogEvent) override |
virtual void | SetName(const char *propertyName) override |
virtual void | SetOwner(CDPBaseObject *pBase) override |
virtual void | SetPropertyChangeHandler(const std::function<void( CDPPropertyBase * ) > &handler) override |
virtual bool | SetPropertySetting(std::string strPropertySetting, std::string strValue) override |
virtual void | SetPropertyValidateHandler(const std::function<bool( CDP::StudioAPI::CDPVariantValue &, CDPPropertyBase * ) > &) override |
virtual void | SetRouteMethod(CDPPropertyBase::RouteMethod_e eType) override |
virtual void | SetRoutingStatus(CDPPropertyBase::RoutingStatus_e newStatus) override |
virtual void | SetValue(const std::string &propertyValue) override |
virtual void | SetValueDontSave(const char *propertyValue) override |
virtual void | SetVariantValue(const CDP::StudioAPI::CDPVariantValue &value) override |
virtual void | SetXMLOwner(XMLPrimitive *pPrim) override |
virtual const char * | c_str() const override |
virtual CDPProperty<T> & | operator=(const std::string &rhs) override |
virtual CDPProperty<T> & | operator=(const char *rhs) override |
virtual CDPPropertyBase & | operator=(CDPPropertyBase const &rhs) override |
virtual CDPProperty<T> & | operator=(const double &rhs) override |
virtual CDPProperty<T> & | operator=(const float rhs) override |
virtual CDPProperty<T> & | operator=(const uint64_t &rhs) override |
virtual CDPProperty<T> & | operator=(const int64_t &rhs) override |
virtual CDPProperty<T> & | operator=(const unsigned int rhs) override |
virtual CDPProperty<T> & | operator=(const int rhs) override |
virtual CDPProperty<T> & | operator=(const unsigned short rhs) override |
virtual CDPProperty<T> & | operator=(const short rhs) override |
virtual CDPProperty<T> & | operator=(const unsigned char rhs) override |
virtual CDPProperty<T> & | operator=(const char rhs) override |
virtual CDPProperty<T> & | operator=(const bool rhs) override |
- 100 public functions inherited from CDPPropertyBase
- 26 public functions inherited from CDP::StudioAPI::CDPNode
- 22 public functions inherited from CDP::StudioAPI::ICDPNode
Protected Variables
Additional Inherited Members
- 8 static public members inherited from CDPPropertyBase
- 1 protected function inherited from CDPPropertyBase
- 1 protected function inherited from CDP::StudioAPI::CDPNode
Detailed Description
The template class for storing a named value as a string or a numeric type.
A CDPProperty is a named value that can be used as an ordinary variable. It can hold data as strings or as any of the standard numeric types. CDPProperty is used as the value carrier in a CDPSignal. CDPProperties are aggregated by CDPBaseObjects, and it is the model configuration in this parent object which specifies how a named CDPProperty is configured.
Type
The property can have any of the supported types string, double, uint64_t, int64_t, float, unsigned int, int, unsigned short, short, unsigned char, char and bool.
Routing
The CDPProperty can retrieve its value from another CDPProperty by specifying Routing to the CDPProperty to retrieve the value from. The CDPProperty types can be different. For the transfer of routed values, there is a possibility to set if the values should be sent using events or a periodic transfer. Periodic transfer means values are propagated each cycle in the local application and if possible each remote application subscriber cycle. Event-based transfer means values are propagated only when changed, but this should be used only for seldom changing properties.
SetRouteMethod is used to specify the RouteMethod of a property to be either an Event or a Periodic transfer.
Note: String type properties are always event-based between applications regardless of set SetRouteMethod
Event reporting
A property can be set up to generate events through the SetLogEventOnChange.
Validate Callback
The property can call validation code before the property is set, to prohibit setting the property to an invalid value. RegisterValidateCallback is used to set the ValidateCallback handler.
Set Callback
The property can call a callback when the property is set, so that dependent changes can be applied. RegisterSetCallback is used to register the Set-Callback handler.
Adding a CDPProperty in code
To add a CDPProperty in code mode, use the context-menu and select CDP, then Add. From the dialog that pops up, fill in Type, Name and set the other fields as wanted. The field Declare As specifies how the property is stored in the configuration, and should just be set to 'Element' for now.
Usage in code:
In the code it is used as a normal variable:
myProperty = 1.0*someOtherProperty;
except when using CDPMessage/printf and similar; The CDPProperty must then be cast to its type:
CDPProperty<int> myIntProperty; ... myIntProperty = 12; ... CDPMessage("The value is %u\n",static_cast<int>(myIntProperty));
CDPProperty Validation / callback
If you chose to add a validation callback to the CDPProperty, then the following happens whenever the CDPProperty is attempted changed:
First the coded validation-handler is called, and if it succeeds, then the set handler is called.
The CDPObject::ValidatePropertyHandler is called before setting the value, and allows you to modify the property value before setting it, or disallowing the set alltogether:
bool MyComponent::ValidatePropertyHandler(string& strNewValue, CDPPropertyBase* pProperty) { if(pProperty==&myProperty) // check address of property instead of name, for speed reasons { if(strNewValue!=allowedValue) return false; // don't allow changing the value else { if(strNewValue=="0") // 0 is not a valid value, change it to '1' instead strNewValue = "1"; // change the value to set. } } return true; }
The CDPObject::SetPropertyHandler is called for a property after a property has been set:
void MyComponent::SetPropertyHandler(CDPPropertyBase* pProperty) { if(pProperty==&myProperty) // verify this is called for correct property { m_nTheMeaningOfLifeAndEverything = 40+2; // whenever myProperty is set, recompute some dependency } }
The handlers are set up when you create the property. If you have already added the property, you can modify it by right-clicking the property to bring up the CDP context menu, then click Change. The property configuration will the show, and you can add or remove settings for the property.
See also CDPSignal, CDPPropertyBase, CDPPropertyBase::PropertyInternalType_e, CDPBaseObject, CDPObject::ValidatePropertyHandler, and CDPObject::SetPropertyHandler.
Member Function Documentation
CDPProperty::CDPProperty()
Plain constructor, sets m_ValueInternal to 0
CDPProperty::CDPProperty(const CDPPropertyBase &other)
Constructor from a CDPPropertyBase. Sets m_ValueInternal from other
CDPProperty::CDPProperty(const CDPProperty<T> &other)
Creates a property by copying from another.
CDPProperty::CDPProperty(const T &other)
Constructor from type T. Sets m_ValueInternal from other
CDPProperty::~CDPProperty()
Destructor
[override virtual]
void CDPProperty::AddListener(CDPPropertyBase *pProperty)
Reimplemented from CDPPropertyBase::AddListener().
[override virtual]
void CDPProperty::AddListenersToSyncInOnce()
Reimplemented from CDPPropertyBase::AddListenersToSyncInOnce().
[override virtual]
void CDPProperty::AddToSyncIn()
Reimplemented from CDPPropertyBase::AddToSyncIn().
Also calls SetRoutingStatus(CDPPropertyBase::e_Routed)
[override virtual]
void CDPProperty::AddToSyncInOnce()
Reimplemented from CDPPropertyBase::AddToSyncInOnce().
Also calls SetRoutingStatus(CDPPropertyBase::e_Routed)
[override virtual]
void CDPProperty::AddToSyncOut()
Reimplemented from CDPPropertyBase::AddToSyncOut().
[override virtual]
void CDPProperty::AddToSyncOutOnce()
Reimplemented from CDPPropertyBase::AddToSyncOutOnce().
Also calls SetRoutingStatus(CDPPropertyBase::e_Routed)
[override virtual]
void CDPProperty::ClearRoutedProperty()
Reimplemented from CDPPropertyBase::ClearRoutedProperty().
[override virtual]
void CDPProperty::ClockIn()
Reimplemented from CDPPropertyBase::ClockIn().
[override virtual]
void CDPProperty::Configure(XMLPrimitive *pXMLPrimitive)
Reimplemented from CDPPropertyBase::Configure().
The primitive sent in must be either an XMLElementEx* or an XMLAttribute*
[override virtual]
void CDPProperty::Connect(std::string propertyRouting)
[override virtual]
void CDPProperty::ConnectToProperty(CDPPropertyBase *pProperty)
Reimplemented from CDPPropertyBase::ConnectToProperty().
Connects pProperty to this property, so that whenever pProperty changes, the changed value will propagate to this property.
[override virtual]
void CDPProperty::Create(const char *pzName, CDP::StudioAPI::ICDPNode *pOwner, CDPPropertyBase::PropertyType_e ePropertyType = CDPPropertyBase::e_Attribute, CDPOBJECT_SETPROPERTY_HANDLER setPropertyHandler = nullptr, CDPOBJECT_VALIDATEPROPERTY_HANDLER validatePropertyHandler = nullptr)
Reimplemented from CDPPropertyBase::Create().
[override virtual]
void CDPProperty::Create(XMLPrimitive *pXMLOwner, CDP::StudioAPI::ICDPNode *pOwner)
Reimplemented from CDPPropertyBase::Create().
Creates the property from the XMLPrimitive and bind it to an object. pXMLOwner is either an XMLAttribute or an XMLElementEx.
pOwner is the owner CDPObject pointer
[override virtual]
void CDPProperty::Destroy()
Reimplemented from CDPPropertyBase::Destroy().
Disconnects the CDPProperty if connected, sets RoutingStatus to CDPPropertyBase::e_NotRouted and removes the property from SyncIn and SyncOut lists. To reuse the object, Create() must be called.
Note: Dynamically created property can not be deleted using C++ delete, because it can still be pointed by other recently connected properties. Use Application::DeferredNodeDelete(CDPNode* node) to delete the property safely.
[override virtual]
void CDPProperty::Disconnect()
Reimplemented from CDPPropertyBase::Disconnect().
Disconnects any routed property that has been set in this property. Note that owner components memberaccess mutex must be locked when this is called!
[override virtual]
void CDPProperty::DisconnectAllListeners()
Reimplemented from CDPPropertyBase::DisconnectAllListeners().
[override virtual]
void CDPProperty::DisconnectBackend(bool removeFromRoutedPropertyListener = true)
Reimplemented from CDPPropertyBase::DisconnectBackend().
[override virtual]
void CDPProperty::FillNodeChildren(CDP::StudioAPI::NodeStream &serializer) const
Reimplemented from CDPNode::FillNodeChildren().
Fills serializer with internal members.
[override virtual]
bool CDPProperty::GetDoSaveOnChange() const
Reimplemented from CDPPropertyBase::GetDoSaveOnChange().
[override virtual]
const char *CDPProperty::GetFullName() const
Reimplemented from CDPPropertyBase::GetFullName().
[override virtual]
unsigned int CDPProperty::GetInternalSize() const
Reimplemented from CDPPropertyBase::GetInternalSize().
[override virtual]
CDPPropertyBase::PropertyInternalType_e CDPProperty::GetInternalType() const
Reimplemented from CDPPropertyBase::GetInternalType().
[override virtual]
double CDPProperty::GetInternalValue() const
Reimplemented from CDPPropertyBase::GetInternalValue().
[override virtual]
uint64_t CDPProperty::GetInternalValueUInt64() const
Reimplemented from CDPPropertyBase::GetInternalValueUInt64().
[override virtual]
std::string CDPProperty::GetKeepLastValueOnDisconnect() const
Reimplemented from CDPPropertyBase::GetKeepLastValueOnDisconnect().
[override virtual]
bool CDPProperty::GetLogEventOnChange() const
Reimplemented from CDPPropertyBase::GetLogEventOnChange().
[override virtual]
const char *CDPProperty::GetName() const
Reimplemented from CDPPropertyBase::GetName().
[override virtual]
CDP::StudioAPI::CDPNodeModeFlags CDPProperty::GetNodeModeFlags() const
Reimplemented from ICDPNode::GetNodeModeFlags().
Returns the CDPNodeModeFlags of this CDPProperty.
[override virtual]
const std::string CDPProperty::GetNodeName() const
Reimplemented from ICDPNode::GetNodeName().
Returns the name of this property.
[override virtual]
CDP::StudioAPI::CDPNodeType CDPProperty::GetNodeType() const
Reimplemented from ICDPNode::GetNodeType().
Returns CDP::StudioAPI::eCDP_PROPERTY_NODE
[override virtual]
std::string CDPProperty::GetNodeTypeName() const
Reimplemented from ICDPNode::GetNodeTypeName().
Returns "CDPProperty"
[override virtual]
CDP::StudioAPI::CDPValueType CDPProperty::GetNodeValueType() const
Reimplemented from ICDPNode::GetNodeValueType().
Returns the CDP::StudioAPI::CDPValueType of this CDPProperty
[override virtual]
CDPBaseObject *CDPProperty::GetOwner() const
Reimplemented from CDPPropertyBase::GetOwner().
[override virtual]
CDPObject *CDPProperty::GetParent() const
Reimplemented from CDPPropertyBase::GetParent().
[override virtual]
CDPComponent *CDPProperty::GetParentComponent() const
Reimplemented from CDPPropertyBase::GetParentComponent().
[override virtual]
const PropertyListeners &CDPProperty::GetPropertyListeners() const
Reimplemented from CDPPropertyBase::GetPropertyListeners().
const std::string CDPProperty::GetPropertySetting(std::string strSettingName) const
Gets the behavior of a property. The following properties can be retrieved:
Routing | Gets the routing for this property |
SaveOnChange | Gets if this property should save itself to disk on change. Returns "1" or "0". |
LogEventOnChange | Gets if this property should generate PropertyChanged events on change. Returns "1" or "0". |
RouteMethod | Gets the route method (e_RouteEvent or e_RoutePeriodic) for this property |
KeepLastValueOnDisconnect | Gets the KeepLastValueOnDisconnect value for this property. Returns "", "Default", "0" or "1". |
SyncGroupId | Gets the sync group id for this property. |
[override virtual]
CDPPropertyBase::RouteMethod_e CDPProperty::GetRouteMethod() const
Reimplemented from CDPPropertyBase::GetRouteMethod().
[override virtual]
CDPPropertyBase *CDPProperty::GetRoutedProperty()
Reimplemented from CDPPropertyBase::GetRoutedProperty().
Note: Use this function with caution, as the returned CDPProperty may be owned by another CDPObject.
[override virtual]
const char *CDPProperty::GetRouting() const
Reimplemented from CDPPropertyBase::GetRouting().
Returns the routing for this property, or "" if no routing is set
[override virtual]
CDPPropertyBase::RoutingStatus_e CDPProperty::GetRoutingStatus() const
Reimplemented from CDPPropertyBase::GetRoutingStatus().
[override virtual]
int CDPProperty::GetSyncGroupId() const
Reimplemented from CDPPropertyBase::GetSyncGroupId().
[override virtual]
std::string CDPProperty::GetValue() const
Reimplemented from CDPPropertyBase::GetValue().
Converts the value from a numeric value to a string.
[virtual]
std::string CDPProperty::GetValueFromConfiguration() const
T &CDPProperty::GetValueRef()
const T &CDPProperty::GetValueRef() const
[override virtual]
CDP::StudioAPI::CDPVariantValue CDPProperty::GetVariantValue() const
Reimplemented from ICDPNode::GetVariantValue().
Returns the CDPVariantValue of m_ValueInternal.
[override virtual]
XMLPrimitive *CDPProperty::GetXMLOwner()
Reimplemented from CDPPropertyBase::GetXMLOwner().
[override virtual]
void CDPProperty::HandleKeepLastValueOnDisconnect()
Reimplemented from CDPPropertyBase::HandleKeepLastValueOnDisconnect().
[override virtual]
void CDPProperty::InvalidateListener(CDPPropertyBase *pProperty)
Reimplemented from CDPPropertyBase::InvalidateListener().
[override virtual]
bool CDPProperty::IsAutoCreated() const
Reimplemented from CDPPropertyBase::IsAutoCreated().
[override virtual]
bool CDPProperty::IsConnected() const
Reimplemented from CDPPropertyBase::IsConnected().
[override virtual]
bool CDPProperty::IsDestroyed() const
Reimplemented from CDPPropertyBase::IsDestroyed().
[override virtual]
bool CDPProperty::IsNumeric() const
Reimplemented from CDPPropertyBase::IsNumeric().
[override virtual]
bool CDPProperty::IsString() const
Reimplemented from CDPPropertyBase::IsString().
[override virtual]
void CDPProperty::PostProcess()
[override virtual]
void CDPProperty::PreProcess()
[override virtual]
void CDPProperty::RegisterRoutingChangeCallback(CDPOBJECT_SETPROPERTY_HANDLER handler)
Reimplemented from CDPPropertyBase::RegisterRoutingChangeCallback().
[override virtual]
void CDPProperty::RegisterSetCallback(CDPOBJECT_SETPROPERTY_HANDLER handler)
Reimplemented from CDPPropertyBase::RegisterSetCallback().
Input to the callback function is a pointer to the property (can f.i. be used for comparison when handling multiple properties in one callback). The callback is typically sent in as '(CDPOBJECT_SETPROPERTY_HANDLER)&MyObject::MyCallbackName'. The pParent object pointer must be set for the callback to be called.
[override virtual]
void CDPProperty::RegisterValidateCallback(CDPOBJECT_VALIDATEPROPERTY_HANDLER handler)
Reimplemented from CDPPropertyBase::RegisterValidateCallback().
The validation callback will supply the string for the new property value along with a pointer to the property. If you return false from the callback, the property is NOT changed. If the callback returns true, then the string returned out from the handler is used as the new propertyValue. The callback is typically sent in as '(CDPOBJECT_VALIDATEPROPERTY_HANDLER)&MyObject::MyCallbackName' The pParent object pointer must be set for the callback to be called.
bool CDPProperty::RemoveFromSyncIn()
Removes this property from parent list of properties to call ClockIn() on.
Returns true if property was removed from any SyncIn list.
bool CDPProperty::RemoveFromSyncOut()
Removes this property from parent list of properties to call ClockOut() on
Returns true if property was removed from any SyncOut list.
[override virtual]
void CDPProperty::RemoveListener(CDPPropertyBase *pProperty)
Reimplemented from CDPPropertyBase::RemoveListener().
[override virtual]
void CDPProperty::RemoveListenerIfNotListening()
Reimplemented from CDPPropertyBase::RemoveListenerIfNotListening().
[override virtual]
void CDPProperty::SetAutoCreated()
Reimplemented from CDPPropertyBase::SetAutoCreated().
Calling this function will also turn off logging of events.
[override virtual]
void CDPProperty::SetDoSaveOnChange(bool bSave)
Reimplemented from CDPPropertyBase::SetDoSaveOnChange().
[override virtual]
void CDPProperty::SetKeepLastValueOnDisconnect(const std::string &klvalue)
Reimplemented from CDPPropertyBase::SetKeepLastValueOnDisconnect().
[override virtual]
void CDPProperty::SetLogEventOnChange(bool bLogEvent)
Reimplemented from CDPPropertyBase::SetLogEventOnChange().
[override virtual]
void CDPProperty::SetName(const char *propertyName)
Reimplemented from CDPPropertyBase::SetName().
Re-Registers with the parent on name-change.
[override virtual]
void CDPProperty::SetOwner(CDPBaseObject *pBase)
Reimplemented from CDPPropertyBase::SetOwner().
[override virtual]
void CDPProperty::SetPropertyChangeHandler(const std::function<void( CDPPropertyBase * ) > &handler)
Reimplemented from CDPPropertyBase::SetPropertyChangeHandler().
The argument to the callback is a base class pointer to the property (can be used for comparison when handling multiple properties in one callback). The method stores a copy of provided function object. If the lifetime of the owner of bound function object is shorter than the property's, then set with empty function object {} need to be called in the scope end of the owner.
[override virtual]
bool CDPProperty::SetPropertySetting(std::string strPropertySetting, std::string strValue)
Reimplemented from CDPPropertyBase::SetPropertySetting().
[override virtual]
void CDPProperty::SetPropertyValidateHandler(const std::function<bool( CDP::StudioAPI::CDPVariantValue &, CDPPropertyBase * ) > &)
void CDPProperty::SetPublishTypehintRouting(bool publishTypehintRouting)
Control typehint routing publish behavior to CDP Routing table.
[override virtual]
void CDPProperty::SetRouteMethod(CDPPropertyBase::RouteMethod_e eType)
Reimplemented from CDPPropertyBase::SetRouteMethod().
Possible values are:
e_RouteEvent | Routes this property asynchronously using the eventmanager system (Note that setting RouteMethod=e_RouteEvent will also set LogEventOnChange="1") |
e_RoutePeriodic | Routes this property through messengerIOServer (not possible for string type properties). Note that setting RouteMethod=e_RoutePeriodic will also set LogEventOnChange="0" |
[override virtual]
void CDPProperty::SetRoutingStatus(CDPPropertyBase::RoutingStatus_e newStatus)
Reimplemented from CDPPropertyBase::SetRoutingStatus().
Calls the RoutingChangedHandler if set.
[override virtual]
void CDPProperty::SetValue(const std::string &propertyValue)
Reimplemented from CDPPropertyBase::SetValue().
Calls registered validator callback if set, and if approved, changes the value.
[override virtual]
void CDPProperty::SetValueDontSave(const char *propertyValue)
Reimplemented from CDPPropertyBase::SetValueDontSave().
Sets the property value (m_ValueInternal), but does not save it to configuration.
[override virtual]
void CDPProperty::SetVariantValue(const CDP::StudioAPI::CDPVariantValue &value)
Reimplemented from CDPNode::SetVariantValue().
Sets the CDPVariantValue of m_ValueInternal.
[override virtual]
void CDPProperty::SetXMLOwner(XMLPrimitive *pPrim)
Reimplemented from CDPPropertyBase::SetXMLOwner().
This function can be called with nullptr if the XML owner is no longer valid
const std::string &CDPProperty::ToStdString() const
[override virtual]
const char *CDPProperty::c_str() const
Reimplemented from CDPPropertyBase::c_str().
[virtual]
bool CDPProperty::empty() const
Returns true if property string is empty (string compatibility function)
std::string::size_type CDPProperty::length()
Return the length of the Value Return the length of the Value (string compatibility function)
std::string::size_type CDPProperty::size()
Returns the length of the Value Return the size (length) of the Value (string compatibility function)
CDPProperty::operator T() const
Typecasts m_ValueInternal to type T
CDPProperty<T> &CDPProperty::operator=(const CDPProperty<T> &rhs)
Assigns m_ValueInternal from rhs.
CDPProperty<T> &CDPProperty::operator=(const XMLString &rhs)
Assigns string value from rhs
[override virtual]
CDPProperty<T> &CDPProperty::operator=(const std::string &rhs)
[override virtual]
CDPProperty<T> &CDPProperty::operator=(const char *rhs)
Reimplemented from CDPPropertyBase::operator=().
Assigns string value from rhs
[override virtual]
CDPPropertyBase &CDPProperty::operator=(CDPPropertyBase const &rhs)
Reimplemented from CDPPropertyBase::operator=().
Assigns m_ValueInternal from rhs
[override virtual]
CDPProperty<T> &CDPProperty::operator=(const double &rhs)
Reimplemented from CDPPropertyBase::operator=().
Assigns the value from rhs
[override virtual]
CDPProperty<T> &CDPProperty::operator=(const float rhs)
Reimplemented from CDPPropertyBase::operator=().
Assigns the value from rhs.
[override virtual]
CDPProperty<T> &CDPProperty::operator=(const uint64_t &rhs)
Reimplemented from CDPPropertyBase::operator=().
Assigns the value from rhs
[override virtual]
CDPProperty<T> &CDPProperty::operator=(const int64_t &rhs)
Reimplemented from CDPPropertyBase::operator=().
Assigns the value from rhs
[override virtual]
CDPProperty<T> &CDPProperty::operator=(const unsigned int rhs)
Reimplemented from CDPPropertyBase::operator=().
Assigns the value from rhs
[override virtual]
CDPProperty<T> &CDPProperty::operator=(const int rhs)
Reimplemented from CDPPropertyBase::operator=().
Assigns the value from rhs
[override virtual]
CDPProperty<T> &CDPProperty::operator=(const unsigned short rhs)
Reimplemented from CDPPropertyBase::operator=().
Assigns the value from rhs
[override virtual]
CDPProperty<T> &CDPProperty::operator=(const short rhs)
Reimplemented from CDPPropertyBase::operator=().
Assigns the value from rhs
[override virtual]
CDPProperty<T> &CDPProperty::operator=(const unsigned char rhs)
Reimplemented from CDPPropertyBase::operator=().
Assigns the value from rhs
[override virtual]
CDPProperty<T> &CDPProperty::operator=(const char rhs)
Reimplemented from CDPPropertyBase::operator=().
Assigns the value from rhs
[override virtual]
CDPProperty<T> &CDPProperty::operator=(const bool rhs)
Reimplemented from CDPPropertyBase::operator=().
Assigns the value from rhs
char CDPProperty::operator[](unsigned int nIndex) const
Returns the nIndex character from the property value, or 0 if oustide range.
Get started with CDP Studio today
Let us help you take your great ideas and turn them into the products your customer will love.