• 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

  • Protocols - MQTT I/O
  • TopicBase
  • 5.1.3

TopicBase Class

(MQTTIO::TopicBase)
Inherits: ValueNode<CDP::StudioAPI::CDPNode> and ServerIO::ISendTrigger
  • List of all members, including inherited members

Public Functions

TopicBase()
~TopicBase() override
void ClearRuntimeFaults()
virtual void Configure(XMLElementEx *element, MQTTClient *parentComp, TopicBase *parentTopic)
void ConfigureChannels(XMLElementEx *element, ServerIO::Translator::TranslatorChannelGroup *parentGroup)
void DeregisterSendOnChanges()
virtual void Destroy()
void MQTTOnConnect()
void MQTTReceive(const mosquitto_message *mqttMessage, const mosquitto_property *properties)
void MQTTSubscribeOrPublish(double cycleStartTime)
std::string Name() const
MQTTClient *ParentComp() const
void UpdateReportedConfigurationFaults()
  • 9 public functions inherited from ValueNode
  • 2 public functions inherited from ServerIO::ISendTrigger
  • 8 public functions inherited from CDP::StudioAPI::AbstractValueListener

Static Public Members

TopicBase *CreateNew(std::string &model)

Protected Types

class PublishData

Protected Functions

ServerIO::ICDPChannel *AbsorbedSingleChannel() const
bool AddChild(const std::string &name, const std::string &typeName, const std::string &configuration) override
void ConfigureAbsorbedTypedChannel(XMLElementEx *topicXML, ServerIO::Translator::TranslatorChannelGroup *parentGroup)
ServerIO::ICDPChannel *ConfigureChannel(ServerIO::ICDPChannel *channel, const char *name, XMLElementEx *pObjectElement, bool input, ServerIO::Translator::TranslatorChannelGroup *parentGroup)
void ConfigureChannelGroups(XMLElementEx *element)
void ConfigureMessageOnReceive(XMLElementEx *element)
void ConfigureSendOnMessage(XMLElementEx *element)
void ConfigureStreamTranslator(XMLElementEx *TranslatorXML)
void ConfigureStringTopicChannels(XMLElementEx *topicXML, ServerIO::Translator::TranslatorChannelGroup *parentGroup)
void ConfigureSubTopics(XMLElementEx *element)
void ConfigureTranslator(XMLElementEx *element)
void ConfigureTriggering(XMLElementEx *element)
void ConfigureValueMapper(XMLElementEx *element)
void CreatePropertyBaseObject(XMLElementEx *element)
void EncodeMessageParameters(MessagePacket &packet, unsigned int command, const std::string &payload) const
void FillNodeChildren(CDP::StudioAPI::NodeStream &stream) const override
const std::string GetNodeName() const override
std::string GetNodeTypeName() const override
PublishData GetPublishDataFromMessage(const MessagePacketHandle &message) const
CDP::StudioAPI::CDPNode *InheritedTranslator() const
bool MQTTPublishTopic(const PublishData &data)
void MQTTPublishTopicOnChannelChange()
void MQTTPublishTopicOnMessageQueue()
void MQTTSubscribeTopic()
bool MessageTopicMatches(char *incomingMessageTopic)
void NotifySubTopicsSomeValueMapHasChanged()
std::string ParentTopicsPath() const
void QueueToSend(const MessagePacketHandle &message)
bool RemoveChild(const std::string &name) override
void SendOnMQTTReceiveMessages(const std::string &payload)
void SyncChannelValuesOut()
std::string TopicValue()
std::string TopicsPath() const
void UpdateValueMapper(ServerIO::Translator::ValueMapper *valueMapper)
void UpdateValueMapperTree()

Reimplemented Protected Functions

virtual void FlagForSend() override
virtual void FlagForSend(const std::string &arguments) override

Static Protected Members

void AddInputChannelsToArguments(const ServerIO::Translator::TranslatorChannelGroup &channelTree, std::vector<CDPUtils::Parameter> &arguments)
void UpdateOutputChannelValue(const ServerIO::Translator::TranslatorChannelGroup &channelTree, const CDPUtils::Parameter &argument)

Member Function Documentation

TopicBase::TopicBase()

Default constructs an instance of TopicBase.

TopicBase::~TopicBase()

Destroys the instance of TopicBase.

[protected] ServerIO::ICDPChannel *TopicBase::AbsorbedSingleChannel() const

[protected] bool TopicBase::AddChild(const std::string &name, const std::string &typeName, const std::string &configuration)

[static protected] void TopicBase::AddInputChannelsToArguments(const ServerIO::Translator::TranslatorChannelGroup &channelTree, std::vector<CDPUtils::Parameter> &arguments)

void TopicBase::ClearRuntimeFaults()

[virtual] void TopicBase::Configure(XMLElementEx *element, MQTTClient *parentComp, TopicBase *parentTopic)

[protected] void TopicBase::ConfigureAbsorbedTypedChannel(XMLElementEx *topicXML, ServerIO::Translator::TranslatorChannelGroup *parentGroup)

[protected] ServerIO::ICDPChannel *TopicBase::ConfigureChannel(ServerIO::ICDPChannel *channel, const char *name, XMLElementEx *pObjectElement, bool input, ServerIO::Translator::TranslatorChannelGroup *parentGroup)

[protected] void TopicBase::ConfigureChannelGroups(XMLElementEx *element)

void TopicBase::ConfigureChannels(XMLElementEx *element, ServerIO::Translator::TranslatorChannelGroup *parentGroup)

[protected] void TopicBase::ConfigureMessageOnReceive(XMLElementEx *element)

[protected] void TopicBase::ConfigureSendOnMessage(XMLElementEx *element)

[protected] void TopicBase::ConfigureStreamTranslator(XMLElementEx *TranslatorXML)

[protected] void TopicBase::ConfigureStringTopicChannels(XMLElementEx *topicXML, ServerIO::Translator::TranslatorChannelGroup *parentGroup)

[protected] void TopicBase::ConfigureSubTopics(XMLElementEx *element)

[protected] void TopicBase::ConfigureTranslator(XMLElementEx *element)

[protected] void TopicBase::ConfigureTriggering(XMLElementEx *element)

[protected] void TopicBase::ConfigureValueMapper(XMLElementEx *element)

[static] TopicBase *TopicBase::CreateNew(std::string &model)

[protected] void TopicBase::CreatePropertyBaseObject(XMLElementEx *element)

void TopicBase::DeregisterSendOnChanges()

[virtual] void TopicBase::Destroy()

[protected] void TopicBase::EncodeMessageParameters(MessagePacket &packet, unsigned int command, const std::string &payload) const

[protected] void TopicBase::FillNodeChildren(CDP::StudioAPI::NodeStream &stream) const

[override virtual protected] void TopicBase::FlagForSend()

[override virtual protected] void TopicBase::FlagForSend(const std::string &arguments)

[protected] const std::string TopicBase::GetNodeName() const

[protected] std::string TopicBase::GetNodeTypeName() const

[protected] PublishData TopicBase::GetPublishDataFromMessage(const MessagePacketHandle &message) const

[protected] CDP::StudioAPI::CDPNode *TopicBase::InheritedTranslator() const

void TopicBase::MQTTOnConnect()

[protected] bool TopicBase::MQTTPublishTopic(const PublishData &data)

[protected] void TopicBase::MQTTPublishTopicOnChannelChange()

[protected] void TopicBase::MQTTPublishTopicOnMessageQueue()

void TopicBase::MQTTReceive(const mosquitto_message *mqttMessage, const mosquitto_property *properties)

void TopicBase::MQTTSubscribeOrPublish(double cycleStartTime)

[protected] void TopicBase::MQTTSubscribeTopic()

[protected] bool TopicBase::MessageTopicMatches(char *incomingMessageTopic)

std::string TopicBase::Name() const

[protected] void TopicBase::NotifySubTopicsSomeValueMapHasChanged()

MQTTClient *TopicBase::ParentComp() const

[protected] std::string TopicBase::ParentTopicsPath() const

[protected] void TopicBase::QueueToSend(const MessagePacketHandle &message)

[protected] bool TopicBase::RemoveChild(const std::string &name)

[protected] void TopicBase::SendOnMQTTReceiveMessages(const std::string &payload)

[protected] void TopicBase::SyncChannelValuesOut()

[protected] std::string TopicBase::TopicValue()

[protected] std::string TopicBase::TopicsPath() const

[static protected] void TopicBase::UpdateOutputChannelValue(const ServerIO::Translator::TranslatorChannelGroup &channelTree, const CDPUtils::Parameter &argument)

void TopicBase::UpdateReportedConfigurationFaults()

[protected] void TopicBase::UpdateValueMapper(ServerIO::Translator::ValueMapper *valueMapper)

[protected] void TopicBase::UpdateValueMapperTree()

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