• Skip to main content
  • Skip to header right navigation
  • Skip to site footer
CDP Studio logo

CDP Studio

The no-code and full-code software development tool for distributed control systems and HMI

  • Doc
  • Why CDP
    • Software developers
    • Automation engineers
    • Managers
  • Products
    • Automation Designer
    • HMI Designer
    • CDP Linux
  • Services
  • Use cases
  • Pricing
  • Try CDP

CDP Studio Documentation

  • Framework - CDP Core
  • AbstractValueListener
  • 5.1.2

AbstractValueListener Class

(CDP::StudioAPI::AbstractValueListener)

A template class to provide value node functionality to any base node type. More...

Header: #include <AbstractValueListener>
Inherited By:

CDP::StudioAPI::SelfAwareValueListener and ValueNode

  • List of all members, including inherited members

Public Functions

virtual ~AbstractValueListener()
virtual void ExternalTypeError(ICDPNode *node, const std::string &error)
virtual void ExternalValueLoaded(ICDPNode *node)
size_t GetListeningNodesCount() const
virtual void MetadataChanged(ICDPNode *node, const Metadata &newMetadata)
virtual void NodeRemoved(ICDPNode *node)
virtual void NodeSubscribed(ICDPNode *node)
void UnsubscribeFromAllValueChanges()
virtual void ValueChanged(ICDPNode *node, const CDPVariantValue &oldValue, const CDPVariantValue &newValue) = 0

Detailed Description

A template class to provide value node functionality to any base node type.

Member Function Documentation

[virtual] AbstractValueListener::~AbstractValueListener()

Destroys the instance of AbstractValueListener. The destructor is virtual.

[virtual] void AbstractValueListener::ExternalTypeError(ICDPNode *node, const std::string &error)

Callback that gets called when the node external type has some error situation (value change can not be read or written etc). Override this method when need to know or take some actions in cases where the node external value errors happen.

Note: Only meaningful for nodes that have external type associated with them.

[virtual] void AbstractValueListener::ExternalValueLoaded(ICDPNode *node)

Callback that gets called after the node external value has been successfully loaded and is available for use. Override this method to implement when need to know when the node external value is loaded.

Note: Only meaningful for nodes that have variant value external type associated.

size_t AbstractValueListener::GetListeningNodesCount() const

Returns the number of nodes this listener is currently subscribed to for value change notifications.

[virtual] void AbstractValueListener::MetadataChanged(ICDPNode *node, const Metadata &newMetadata)

Callback that gets called after the node metadata has been changed or initially successfully loaded.

Note: Only meaningful for nodes that have metadata associated.

[virtual] void AbstractValueListener::NodeRemoved(ICDPNode *node)

Internal method called when this listener is removed from a node.

[virtual] void AbstractValueListener::NodeSubscribed(ICDPNode *node)

Internal method called when this listener is subscribed to a node.

void AbstractValueListener::UnsubscribeFromAllValueChanges()

Unsubscribe this listener from all value changes from all nodes it is currently listening to. Is called automatically on destruction.

[pure virtual] void AbstractValueListener::ValueChanged(ICDPNode *node, const CDPVariantValue &oldValue, const CDPVariantValue &newValue)

Callback that gets called after the node value has been changed from oldValue to newValue.

The content of this document is confidential information not to be published without the consent of CDP Technologies AS.

CDP Technologies AS, www.cdpstudio.com

Get started with CDP Studio today

Let us help you take your great ideas and turn them into the products your customer will love.

Try CDP Studio for free
Why CDP Studio?

CDP Technologies AS
Hundsværgata 8,
P.O. Box 144
6001 Ålesund, Norway

Tel: +47 990 80 900
E-mail: info@cdptech.com

Company

About CDP

Contact us

Services

Partners

Blog

Developers

Get started

User manuals

Support

Document download

Release notes

My account

Follow CDP

  • LinkedIn
  • YouTube
  • GitHub

© Copyright 2026 CDP Technologies. Privacy and cookie policy.

Return to top