CDP C++ Classes
Namespaces
Contains CDP implementation classes | |
Contains StudioAPI implementation classes | |
Contains ServerIO implementation classes |
Classes
Alarm class is used to generate alarm-events based on signals or component state. | |
The base class for exceptions used in the CDP system | |
Used for persistent values (parameters) that seldom change | |
CDP Application main component. Creates and starts all other CDP components, and performs periodic maintenance tasks. | |
Creates CDP object and component instances | |
The base-class for all objects that need a Property-database and optional message-handling | |
The base class for a standard component in the CDP system | |
Handles communication with a CDPComponent or CDPObject | |
CDP Enum is a class to hold enums as string/value pairs | |
Base class for all addressable objects in CDP | |
Used to gather related data into a single data object similar to a structure in programming languages | |
Template class for storing a named value as a string or a numeric type | |
Base class for working with CDPProperty<T> pointers | |
is a class used to add configurable Message receive and send capability to Operators and Components | |
Runs the state-machines of the CDPComponents, and delivers messages to all objects in this application | |
Connected application list item with message sending capability. This class is used by Messenger | |
Connects to other CDP Applications, and sends/receives all CDP messages to/from other applications | |
Component is a demultiplexer for CDPPort objects where Index=0 selects the first output port and propagates the connection or data from the input port to the selected output port | |
Component is a multiplexer for CDPPort objects where Index=0 selects the first input port and propagates the connection or data to the output port | |
Component is a simple sine signal generator | |
The 1st order IIR low-pass filter. Implements the difference equation: | |
Integrator class produces an integral of the input signal | |
Rate limited output nonlinear filter | |
Used to manage a pool of threads for executing tasks concurrently | |
Utility like free functions for all around use | |
Used to list URLs that describe a CDP Component | |
A FIFO buffer using a circular buffer with head and tail indices | |
Encapsulates a message and its transport header, along with various methods for managing and accessing the message data | |
Represents a handle to a message packet | |
A base class for IOServers | |
Handles transfer of signals and properties between applications | |
Base functionality for UDPTransport and TCPTransport. It handles the following properties as read from the configuration: | |
Base functionality for communicating using a serialport. It handles the following properties, as read from the configuration file: | |
Template base class, exposing channel-methods for converting values from to CDP data source | |
Template-class is ACDPBaseChannel implementation based on CDPProperty | |
Used to create a CDPPropertyChannel of specified type | |
Template-class is an ACDPBaseChannel<> implementation based on CDPSignal | |
Used to create a CDPSignalChannel of specified type | |
Has a list of IChangeValidators that is iterated on each value change in channel | |
Can be used to synchronize ICDPChannel classes between User/Worker thread and CDPProcess where the CDP class (like CDPSignal, CDPProperty) for channel implementation is created | |
Template-class is ACDPBaseChannel implementation using CDPConnector | |
Used to create a ComponentStateChannel of specified type | |
Class that implements the Equals(), NotEquals() and Revert() functions from IChangeValidator-class | |
Exposes methods from a channel that we expect to be on a CDP class based single type value converting channel from to CDP data source or sink like CDPSignal | |
May be used on each value change in channel. The Validate()-function decides if the new value is accepted or not | |
Exposes methods from a channel that can be used by IOServer implementation to convert to from IOServer raw packets to some CDP based implementation of the channel | |
Interface class used for trig sending, e.g. when a routed property has an edge (change from true to false or from false to true). ISendOnPropertyChange is a typedef for ISendTrigger | |
Generic wake functor for IOServers to provide a way to wake them from the ISendTrigger implementer FlagForSend() call. See IOServer::RegisterSendOnChangeWakeCall() | |
Generic RPC (remote procedure call) binary-message-based service client | |
Generic RPC (remote procedure call) binary-message-based server class to be used in RPC service implementers | |
Translator abstract class. Derived classes have to implement Translate() for ostream (for compose) and/or for istream (for parse). Derived classes can override MimeType() to inform translator users (IOServers) about MIME type that the class is generating or parsing | |
TranslatorChannel<T> class is inherited from TranslatorChannelBase class. TranslatorChannel composes ICDPChannel pointer and can be used for threadsafe and valuemapped channel value access in Translators. During construction overrides given ICDPChannel internal data pointer (syncValue) | |
Type-less base class for TranslatorChannel<T>. Defines virtual functions to be implemented in derived (typed) classes for setting and getting channel synced values | |
Abstract class represents TranslatorChannel channel-tree used by Translators for translating channel values to/from streams. Eash TranslatorChannelGroup is actually a subtree by holding: a) vector of TranslatorChannels and b) vector of subrees (TranslatorChannelGroups) Inherited class must implement OwnerName() and GetDebugLevel() | |
Holds ChannelValue <-> StreamValue valuemap property pair | |
Type-less base class for ValueMap<T> | |
Instance is used for thread-safe and fast valuemap access in Translators. Uses templated class ValueMapperType<T> to actually implement maps and code for every CDP Channel type. ValueMapper will be created based on ValueMap vector reference using Update(vector<ValueMapBase*>) method | |
Class used to simplify the handling of configurable TCP communication in an IOServer | |
Class used to simplify the handling of configurable communication in an IOServer. It provides methods to configure itself from XML, and it has functions to Read() and Write() data | |
Class used to simplify the handling of configurable UDP communication in an IOServer | |
Has some initialization-functions which are called during application startup, regarding MAC addresses and socket-initialization. CDPNetwork also has some conversion functions and static helper-functions | |
Manages the IP interfaces to the ethernet | |
IpAddress: int32 ip address with name, string, subnetmask, port and MAC address | |
Extends ipaddress to store extra information like port, protocol etc | |
Represents a Transmission Control Protocol (TCP) connection | |
Exception thrown by TCPConnection class in case an error happens during TCP connection handling or data transferring | |
This class implements code to receive UDP/IP packets | |
UDP/IP socket. Sends generic udp packets to a specified port on a specified IP address | |
Class for sending and receiving generic udp packets using one socket | |
Synchronisation semaphore based on event | |
Windows and Linux conformant event which is listened to by calling poll() or select() on the caller thread | |
Used for simple mutual exclusion | |
Used for handling automatic unlocking of a mutex when it goes out of scope | |
Counting semaphore for synchronisation | |
Wraps a thread/task running in the process space of the application | |
Used to run code in a new thread | |
Contains information about the thread | |
Enables users to output thread information | |
This is the serial communication class | |
Implements the Serial interface on Linux | |
Implements the Serial interface on Win32 | |
CDPTimer with timeout specified as CDPParameter parameter This object behaves as a CDPParameter and a CDPTimer at the same time. It should be used as a CDPTimer object except that the timeout value should be set in the configuration instead of being hardcoded | |
Holds time and date in double and string format | |
CDPTimerMs with timeout specified as CDPParameter parameter. This object behaves as a CDPParameter and a CDPTimerMs at the same time. It should be used as a CDPTimerMs object except that the timeout value should be set in the configuration instead of being hardcoded | |
Used instead of CDPTimer where the time delay is longer than 1 ms and the resolution is longer than 1 ms | |
Used to get a scaled time-value between 0 and 1 (double value) | |
Real-time timer for delay and time monitoring | |
Timer based on counting | |
High-resolution one-shot timer, based on OSAPIPeriodicTimer. | |
High-resolution timer for periodic thread scheduling | |
Simple routable value | |
Pure virtual base class inherited by class Argument | |
An operator that can do operations on CDPObject properties etc | |
The base class of CDPOperator | |
Template class used for holding a group of properties | |
Base class for all classes exposed through StudioAPI | |
CDPValueType converter class | |
Wrapper class to absorbe a composited node into parent during serialization | |
Used as a wrapper class to relocate a node in logical tree from its parent during serialization | |
Helper class abstracting node serialization |
Get started with CDP Studio today
Let us help you take your great ideas and turn them into the products your customer will love.