NetworkTransport Class
(CDP::IO::NetworkTransport)The NetworkTransport class provides base functionality for UDPTransport and TCPTransport. It handles the following properties as read from the configuration: More...
| Header: | #include <NetworkTransport> |
| Inherits: | Transport |
| Inherited By: |
Public Functions
| NetworkTransport(const std::function<unsigned int( Transport *, char *, unsigned int ) > readCallbackHandler) | |
| const IpAddress & | LocalIP() const |
| const IpAddress & | RemoteIP() const |
Reimplemented Public Functions
| virtual void | Close() override |
| virtual void | Configure(XMLElementEx *element, CDPComponent *owner) |
| virtual void | FillNodeChildren(CDP::StudioAPI::NodeStream &serializer) const override |
| virtual const std::string | GetNodeName() const override |
| virtual std::string | GetNodeTypeName() const override |
| virtual double | GetTimeout() const override |
| virtual bool | Open(OpenMode mode) override |
- 12 public functions inherited from CDP::IO::Transport
- 27 public functions inherited from CDP::StudioAPI::CDPNode
- 22 public functions inherited from CDP::StudioAPI::ICDPNode
Protected Functions
| void | SetFieldsReadonly(bool ro) |
- 1 protected function inherited from CDP::StudioAPI::CDPNode
Additional Inherited Members
- 1 static public member inherited from CDP::IO::Transport
Detailed Description
The NetworkTransport class provides base functionality for UDPTransport and TCPTransport. It handles the following properties as read from the configuration:
| Name | Description |
|---|---|
| Name | The transport instance name |
| LocalName | The Name of the ethernet interface as defined in Application configuration (f.i. 'ETH0') |
| ListenPort | The port to listen for incoming data on |
| RemoteIP | The remote IP address to communicate with |
| RemotePort | The port on the remote side to communicate with |
| Timeout | The (default) timeout in seconds to use when performing Read() and Write() functions on this transport |
| Model | the Model name of the Transport |
See also Transport, UDPTransport, and TCPTransport.
Member Function Documentation
NetworkTransport::NetworkTransport(const std::function<unsigned int( Transport *, char *, unsigned int ) > readCallbackHandler)
Network Transport constructor
[override virtual] void NetworkTransport::Close()
[virtual] void NetworkTransport::Configure(XMLElementEx *element, CDPComponent *owner)
Reimplemented from Transport::Configure().
Configures the NetworkTransport from the following XML configuration:
<NetworkInterface Name="ETH" LocalName="ETH0" ListenPort="4000" RemoteIP="127.0.0.1" RemotePort="5000"/>
Parameter element is a pointer to the <NetworkInterface> XML element, while owner is the Component that the object resides in.
[override virtual] void NetworkTransport::FillNodeChildren(CDP::StudioAPI::NodeStream &serializer) const
Reimplemented from CDPNode::FillNodeChildren().
Serializes the transport
[override virtual] const std::string NetworkTransport::GetNodeName() const
Reimplemented from ICDPNode::GetNodeName().
Returns the configured name
[override virtual] std::string NetworkTransport::GetNodeTypeName() const
Reimplemented from ICDPNode::GetNodeTypeName().
Returns "NetworkTransport"
[override virtual] double NetworkTransport::GetTimeout() const
Reimplemented from Transport::GetTimeout().
Returns the content of the Timeout attribute in the NetworkTransport configuration
const IpAddress &NetworkTransport::LocalIP() const
Returns the local IpAddress (with the port set to listenPort)
[override virtual] bool NetworkTransport::Open(OpenMode mode)
const IpAddress &NetworkTransport::RemoteIP() const
Returns the remote IpAddress (with the port set to remotePort)
[protected] void NetworkTransport::SetFieldsReadonly(bool ro)
Get started with CDP Studio today
Let us help you take your great ideas and turn them into the products your customer will love.