 |
NAVTOR SDK
v.3.0
Software Development Kit for fast and efficient development of ECDIS, ECS and generic marine applications
|
|
1 #ifndef SDK_COMMUNICATION_LINE_INTERFACES_H
2 #define SDK_COMMUNICATION_LINE_INTERFACES_H
16 #ifndef SDK_COMMUNICATIONLINE_NAMESPACE
17 #define SDK_COMMUNICATIONLINE_NAMESPACE SDK_NAMESPACE::communication_line
18 #endif // SDK_COMMUNICATIONLINE_NAMESPACE
20 #ifndef SDK_COMMUNICATIONLINE_BEGIN_NAMESPACE
21 #define SDK_COMMUNICATIONLINE_BEGIN_NAMESPACE SDK_BEGIN_NAMESPACE \
22 namespace communication_line {
23 #endif // SDK_COMMUNICATIONLINE_BEGIN_NAMESPACE
25 #ifndef SDK_COMMUNICATIONLINE_END_NAMESPACE
26 #define SDK_COMMUNICATIONLINE_END_NAMESPACE SDK_END_NAMESPACE }
27 #endif // SDK_COMMUNICATIONLINE_END_NAMESPACE
29 SDK_COMMUNICATIONLINE_BEGIN_NAMESPACE
40 const ISDKParameters* params)
throw() = 0;
49 SDKUInt32** cookie) throw() = 0;
82 virtual SDKResult SDK_CALLTYPE OnCommunicationEvent(
85 const SDKAny *data)
throw() = 0;
96 kInterfaceStatus_Up = 0x1,
97 kInterfaceStatus_IPv4 = 0x2,
98 kInterfaceStatus_IPv6 = 0x4,
99 kInterfaceStatus_DHCP = 0x8,
100 kInterfaceStatus_Multicast = 0x10,
104 kInterfaceType_Ethernet = 1,
105 kInterfaceType_Loopback = 2,
106 kInterfaceType_Wlan = 3,
107 kInterfaceType_Other = 4,
110 enum InterfaceProperties {
111 kInterfaceProperties_Name,
112 kInterfaceProperties_Friendlyname,
113 kInterfaceProperties_Description,
114 kInterfaceProperties_Type,
115 kInterfaceProperties_UnicastIP,
116 kInterfaceProperties_UnicastIPv6,
117 kInterfaceProperties_MTU,
118 kInterfaceProperties_MAC,
119 kInterfaceProperties_Flags,
120 kInterfaceProperties_TransmitLinkSpeed,
121 kInterfaceProperties_ReceiveLinkSpeed,
124 class ICommunicationLineUtils :
public SDK_NAMESPACE::ISDKComponent {
127 virtual SDKResult SDK_CALLTYPE EnumNetworkInterfaces(
128 SDK_NAMESPACE::IEnumSDKComponentSP& itfs) = 0;
130 virtual SDKResult SDK_CALLTYPE IPv4ToString(
const SDKUInt32 addr,
131 SDKString& s)
const throw() = 0;
133 virtual SDKResult SDK_CALLTYPE StringToIPv4(
const SDKString& s,
134 SDKUInt32& addr)
const throw() = 0;
136 SDK_IMPLEMENT_IID(ICommunicationLineUtils)
137 SDK_END_INTERFACE(ICommunicationLineUtils)
139 SDK_DECLARE_IID(ICommunicationLineUtils)
143 SDK_COMMUNICATIONLINE_END_NAMESPACE
145 #endif //SDK_COMMUNICATION_LINE_INTERFACES_H
Communication line interface.
Definition: communication_line_interfaces.h:36
@ kAcceptConnection
Connection request received.
Definition: communication_line_interfaces.h:70
A list of SDK error/return results.
@ kConnected
Connection established.
Definition: communication_line_interfaces.h:69
Object generic properties interface.
@ kReceived
Data has been received (connection cookie, data)
Definition: communication_line_interfaces.h:77
virtual SDKResult SDK_CALLTYPE Stop()=0
Stop a communication session.
Interfaces wrapper with reference count control.
Object generic properties interface.
virtual SDKResult SDK_CALLTYPE Initialize(const ISDKParameters *params)=0
Set the communication parameters.
Provides access to members for managing a parameter set.
Wrappers and helper functions for SDKString.
SDKInt32 SDKResult
Type of all error or return codes which SDK functions can end with.
Definition: sdk_results.h:17
@ kStopped
Line thread has stopped.
Definition: communication_line_interfaces.h:73
Communication line events interface.
Definition: communication_line_interfaces.h:60
@ kSent
Data has been sent (send cookie)
Definition: communication_line_interfaces.h:75
Common base SDK interfaces.
@ kSending
Data is being sent (send cookie)
Definition: communication_line_interfaces.h:74
virtual SDKResult SDK_CALLTYPE Send(const void *buffer, SDKUInt32 size, SDKUInt32 **cookie)=0
Send bytes.
EventID
Definition: communication_line_interfaces.h:62
@ kStopping
Line thread is being stopped.
Definition: communication_line_interfaces.h:72
@ kStarted
Line thread has started.
Definition: communication_line_interfaces.h:67
@ kConnecting
Connecting to the line.
Definition: communication_line_interfaces.h:68
@ kStarting
Line thread is being started.
Definition: communication_line_interfaces.h:66
@ kConnectionAccepted
Connection request accepted (connection cookie)
Definition: communication_line_interfaces.h:71
Base interface for all SDK interfaces.
Definition: sdk_component_interface.h:41
Describes a basic enumeration interfaces.
@ kTimer
Periodical timeout invoke.
Definition: communication_line_interfaces.h:78
@ kStatusChanged
Status of the line has changed (with error code)
Definition: communication_line_interfaces.h:65
@ kReceiving
Data is being received (connection cookie, data)
Definition: communication_line_interfaces.h:76
virtual SDKResult SDK_CALLTYPE GetStatus(ISDKProperties *prop)=0
Retrieve component status.
FWD_DECL_INTERFACE(ILWEParserWrapper)
Provides a wrapper around the message parser to get, add or remove the.
virtual SDKResult SDK_CALLTYPE Start()=0
Start a communication session.