NAVTOR SDK  v.3.0
Software Development Kit for fast and efficient development of ECDIS, ECS and generic marine applications
lwe_interface.h
Go to the documentation of this file.
1 #ifndef SDK_ECDIS_LWE_INTERFACE_H_
11 #define SDK_ECDIS_LWE_INTERFACE_H_
12 #pragma once
13 
14 #include <base/inc/platform.h>
15 #include <base/inc/base_types.h>
16 #include <base/inc/forward_declarations.h>
22 
23 SDK_LWE_BEGIN_NAMESPACE
24 
30 
33 
37 
39 
41 FWD_DECL_INTERFACE(ILWEStatisticsEvent);
42 
43 FWD_DECL_INTERFACE(ILWEParserWrapper);
44 
47 typedef enum TransmisionGroup {
89 
92 typedef enum LWEMessageType {
98 
101 typedef enum LWEMessageProperties {
115 
145 
177 
178 
217 
225 
228 typedef enum LWESocketType {
231 } LWESocketType;
232 
235 typedef enum LWEEndpointType {
240 
241 
244 typedef enum LWEEndpointParameters {
316 
317 
320 typedef enum LWEEndpointProperties {
335 
343 
346 typedef enum LWEStatistics {
371 
373  kLWEStatistics_Error_Binary_DatagramMissing,
375  kLWEStatistics_Error_Binary_BlockNumber,
380 
387 } LWEStatistics;
388 
399 
402 typedef enum LWEParsersPriority {
409 
412 typedef enum LWEParserResult {
417  kLWEParserResult_NotEnougthData,
419 
420 
423 typedef SDKUInt32 TransmisionGroupId;
426 typedef SDKString EndpointId;
429 typedef SDKUInt32 LWEMsgID;
432 static const LWEMsgID kInvalidLWEMsgID = static_cast<LWEMsgID>(-1);
435 typedef SDKUInt8 ParserPriority;
438 typedef SDKUInt32 ParserResult;
439 
444 class ILWEFactory : public ISDKComponent {
445 public:
449  virtual SDKResult SDK_CALLTYPE CreateEndpointParameters(
450  ISDKParametersSP& params) const throw() = 0;
456  virtual SDKResult SDK_CALLTYPE CreateEndpoint(const EndpointId& id,
457  const ISDKParametersSP& parameters, ILWEEndpointSP& endpoint) const throw() = 0;
462  virtual SDKResult SDK_CALLTYPE CreateComposer(const EndpointId& id,
463  ILWEComposerSP& composer) const throw() = 0;
464 
465  SDK_IMPLEMENT_IID(ILWEFactory)
466  SDK_END_INTERFACE(ILWEFactory)
467 };
468 SDK_DECLARE_IID(ILWEFactory)
469 
470 class ILWEFactoryUtils : public ISDKComponent {
473 public:
477  virtual ILWEParserWrapperSP SDK_CALLTYPE CreateParserPropertiesWrapper(
478  const SDKUInt8 priority, const ISDKComponentSP& component) const throw() = 0;
482  virtual ILWEParserWrapperSP SDK_CALLTYPE CreateTextParserPropertiesWrapper(
483  const ISDKComponentSP& component) const throw() = 0;
486  virtual ILWEEndpointSP SDK_CALLTYPE GetSystemFunctionTransmitter() const throw() = 0;
489  virtual ISDKPropertiesSP SDK_CALLTYPE GetErrorStats() const throw() = 0;
490 
491  SDK_IMPLEMENT_IID(ILWEFactoryUtils)
492  SDK_END_INTERFACE(ILWEFactoryUtils)
493 };
494 SDK_DECLARE_IID(ILWEFactoryUtils)
495 
496 
499 class ILWEMessage : public ISDKProperties {
500 public:
503  virtual SDKUInt32 SDK_CALLTYPE GetType() const throw() = 0;
507  virtual SDKResult SDK_CALLTYPE GetSourceID(SDKString& id) const throw() = 0;
511  virtual SDKResult SDK_CALLTYPE GetDestinationID(SDKAny& id) const throw() = 0;
515  virtual SDKResult SDK_CALLTYPE GetData(SDKAny& data) const throw() = 0;
516 
517  SDK_IMPLEMENT_IID(ILWEMessage)
518  SDK_END_INTERFACE(ILWEMessage)
519 };
520 SDK_DECLARE_IID(ILWEMessage)
521 
522 
523 class ILWETextMessageEdit : public ISDKComponent {
526 public:
530  virtual SDKResult SDK_CALLTYPE SetDestinationID(const SDKAny& id) throw() = 0;
534  virtual SDKResult SDK_CALLTYPE SetData(const SDKAny& data) throw() = 0;
535 
536  SDK_IMPLEMENT_IID(ILWETextMessageEdit)
537  SDK_END_INTERFACE(ILWETextMessageEdit)
538 };
539 SDK_DECLARE_IID(ILWETextMessageEdit)
540 
541 
542 class ILWEMultiTextMessage : public ILWEMessage {
545 public:
549  virtual SDKResult SDK_CALLTYPE Next(
550  ILWEMessageSP& message) const throw() = 0;
553  virtual SDKResult SDK_CALLTYPE Reset() throw() = 0;
554 
555  SDK_IMPLEMENT_IID(ILWEMultiTextMessage)
556  SDK_END_INTERFACE(ILWEMultiTextMessage)
557 };
558 SDK_DECLARE_IID(ILWEMultiTextMessage)
559 
560 
564 public:
568  virtual SDKResult SDK_CALLTYPE Next(
569  ILWEMessageSP& message) const throw() = 0;
572  virtual SDKResult SDK_CALLTYPE Reset() throw() = 0;
573 
574  SDK_IMPLEMENT_IID(ILWEMultiTextMessageEdit)
575  SDK_END_INTERFACE(ILWEMultiTextMessageEdit)
576 };
577 SDK_DECLARE_IID(ILWEMultiTextMessageEdit)
578 
579 
580 class ILWEBinaryMessageEdit : public ISDKProperties {
583 public:
587  virtual SDKResult SDK_CALLTYPE SetDestinationID(const SDKAny& id) throw() = 0;
591  virtual SDKResult SDK_CALLTYPE SetData(const SDKAny& data) throw() = 0;
595  virtual SDKResult SDK_CALLTYPE SetVersion(const SDKAny& version) throw() = 0;
599  virtual SDKResult SDK_CALLTYPE SetAckPort(const SDKAny& version) throw() = 0;
600 
601  SDK_IMPLEMENT_IID(ILWEBinaryMessageEdit)
602  SDK_END_INTERFACE(ILWEBinaryMessageEdit)
603 };
604 SDK_DECLARE_IID(ILWEBinaryMessageEdit)
605 
606 class ILWEEndpoint : public ISDKProperties {
609 public:
612  virtual SDKResult SDK_CALLTYPE Start() throw() = 0;
615  virtual SDKResult SDK_CALLTYPE Stop() throw() = 0;
619  virtual SDKResult SDK_CALLTYPE IsStarted() const throw() = 0;
624  virtual SDKResult SDK_CALLTYPE Send(const ILWEMessageSP& message,
625  LWEMsgID& cookie) throw() = 0;
631  virtual SDKResult SDK_CALLTYPE CreateMessage(SDKUInt32 type, const SDKAny& data,
632  ILWEMessageSP& message) const throw() = 0;
633 
634  SDK_IMPLEMENT_IID(ILWEEndpoint)
635  SDK_END_INTERFACE(ILWEEndpoint)
636 };
637 SDK_DECLARE_IID(ILWEEndpoint)
638 
641 class ILWEComposer : public ISDKProperties {
642 public:
643 
648  virtual SDKResult SDK_CALLTYPE Compose(const ILWEMessageSP& message,
649  SDKAny& data) throw() = 0;
650 
656  virtual SDKResult SDK_CALLTYPE CreateMessage(SDKUInt32 type, const SDKAny& data,
657  ILWEMessageSP& message) const throw() = 0;
658 
659  SDK_IMPLEMENT_IID(ILWEComposer)
660  SDK_END_INTERFACE(ILWEComposer)
661 };
662 SDK_DECLARE_IID(ILWEComposer)
663 
664 
665 typedef enum ILWEEndpointSendEvent {
670 } ILWESendEventStatus;
671 
674 typedef enum LWESendMessageContext {
678 
681 class ILWESendMessageContext : public ISDKParameters {
682  SDK_IMPLEMENT_IID(ILWESendMessageContext)
683  SDK_END_INTERFACE(ILWESendMessageContext)
684 };
685 SDK_DECLARE_IID(ILWESendMessageContext)
686 
687 
688 class ILWEEndpointEvent : public ISDKComponent
691 {
692 public:
696  virtual SDKResult SDK_CALLTYPE OnMessageReceived(
697  const ILWEMessageSP& message) throw() = 0;
701  virtual SDKResult SDK_CALLTYPE OnMessageSend(
702  const LWEMsgID& id, const SDKUInt32& status,
703  const ILWESendMessageContextSP& context) throw() = 0;
704 
705  SDK_IMPLEMENT_IID(ILWEEndpointEvent)
706  SDK_END_INTERFACE(ILWEEndpointEvent)
707 };
708 SDK_DECLARE_IID(ILWEEndpointEvent)
709 
710 class ILWEStatistics : public ISDKProperties
714 {
715 public:
717  virtual SDKResult SDK_CALLTYPE OnError(const SDKUInt32 type,
718  const SDKAny& id) throw() = 0;
720  virtual SDKResult SDK_CALLTYPE OnError(const SDKUInt32 type,
721  const SDKString* data, const SDKAny& id) throw() = 0;
723  virtual SDKResult SDK_CALLTYPE OnError(const SDKUInt32 type,
724  const SDKInt8* data, const SDKUInt32 length, const SDKAny& id) throw() = 0;
726  virtual SDKResult SDK_CALLTYPE Reset() throw() = 0;
728  virtual SDKResult SDK_CALLTYPE GetInfo(
729  SDKString& host, SDKString& port, SDKString& itf) throw() = 0;
730 
731  SDK_IMPLEMENT_IID(ILWEStatistics)
732  SDK_END_INTERFACE(ILWEStatistics)
733 };
734 SDK_DECLARE_IID(ILWEStatistics)
735 
738 class ILWEParser : public ISDKProperties
739 {
740 public:
744  virtual bool SDK_CALLTYPE IsSupported(const SDKAny* data) const throw() = 0;
745 
755  virtual SDKResult SDK_CALLTYPE Process(const ISDKPropertiesSP& properties,
756  const SDKAny* data, SDKUInt32& result,
757  IEnumSDKComponentSP& messages) throw() = 0;
758 
759  SDK_IMPLEMENT_IID(ILWEParser)
760  SDK_END_INTERFACE(ILWEParser)
761 };
762 SDK_DECLARE_IID(ILWEParser)
763 
764 FWD_DECL_INTERFACE(ILWEParserWrapper);
768 class ILWEParserWrapper : public ISDKComponent {
769 public:
772  virtual SDKUInt8 SDK_CALLTYPE GetPriority() const throw() = 0;
776  virtual SDKResult SDK_CALLTYPE GetComponent(ISDKComponentSP& component) const throw() = 0;
777 
778  template< typename T >
779  SDKResult SDK_CALLTYPE GetComponentT(T** component) const throw() {
780  ISDKComponentSP c;
781  SDKResult res = GetComponent(c);
782  if (SDK_FAILED(res) || !c)
783  return kSDKResult_Error;
784  return c->GetInterface<T>(component);
785  }
786 
787  SDK_IMPLEMENT_IID(ILWEParserWrapper)
788  SDK_END_INTERFACE(ILWEParserWrapper)
789 };
790 SDK_DECLARE_IID(ILWEParserWrapper)
791 
792 
793 SDK_LWE_END_NAMESPACE
794 
795 #endif // SDK_ECDIS_LWE_INTERFACE_H_
ILWETextMessageEdit
Provides access to members for editing text messages.
Definition: lwe_interface.h:525
kLWEStatistics_Error_Text_SentenceSyntax
@ kLWEStatistics_Error_Text_SentenceSyntax
Count of text messages with errors in sentence syntax.
Definition: lwe_interface.h:360
ILWEFactoryUtils::GetSystemFunctionTransmitter
virtual ILWEEndpointSP SDK_CALLTYPE GetSystemFunctionTransmitter() const =0
Get system function transmitter.
kTransmisionGroup_TGTD
@ kTransmisionGroup_TGTD
Target data (AIS), tracked target messages (Radar).
Definition: lwe_interface.h:49
ParserResult
SDKUInt32 ParserResult
Parser result code.
Definition: lwe_interface.h:438
kLWEParsersPriority_Low
@ kLWEParsersPriority_Low
Low parser priority.
Definition: lwe_interface.h:406
kLWETextMessageProperties_PosixTime
@ kLWETextMessageProperties_PosixTime
SDKTime. POSIX time (see tag c)
Definition: lwe_interface.h:130
kTransmisionGroup_BINRET5
@ kTransmisionGroup_BINRET5
Re-transmittable binary image transfer group 5.
Definition: lwe_interface.h:77
kLWEStatistics_Error_Text_SentenceChecksum
@ kLWEStatistics_Error_Text_SentenceChecksum
Count of text messages with errors in sentence CRC.
Definition: lwe_interface.h:364
kLWEEndpointParameters_Host
@ kLWEEndpointParameters_Host
Multicast group IPv4 address to join the endpoint.
Definition: lwe_interface.h:248
kLWEStatistics_Error_Text_TagChecksum
@ kLWEStatistics_Error_Text_TagChecksum
Count of text messages with errors in tag checksum.
Definition: lwe_interface.h:352
ILWEParser
Message parser
Definition: lwe_interface.h:738
LWEMessageParserProperties
LWEMessageParserProperties
Message parser properties.
Definition: lwe_interface.h:391
LWEEndpointType
LWEEndpointType
Endpoint type.
Definition: lwe_interface.h:235
TransmisionGroup
TransmisionGroup
Predefined multicast group.
Definition: lwe_interface.h:47
kLWEMultiTextMessageProperties_Port
@ kLWEMultiTextMessageProperties_Port
string. Remote port that was used to send the message (read-only)
Definition: lwe_interface.h:158
kLWESocketType_Exclusive
@ kLWESocketType_Exclusive
Use separated physical multicast group connection for the socket.
Definition: lwe_interface.h:230
kTransmisionGroup_NAVD
@ kTransmisionGroup_NAVD
Navigational output other than that of TGTD and SATD groups.
Definition: lwe_interface.h:51
kLWEParserResult_Processed
@ kLWEParserResult_Processed
Parser recognized and processed the incoming data block.
Definition: lwe_interface.h:413
kInvalidLWEMsgID
static const LWEMsgID kInvalidLWEMsgID
Invalid id for messages being sent.
Definition: lwe_interface.h:432
kLWETextMessageProperties_GroupID
@ kLWETextMessageProperties_GroupID
SDKUint8. Group control number (see tag g)
Definition: lwe_interface.h:132
kLWEStatistics_Error_Common_InvalidHeader
@ kLWEStatistics_Error_Common_InvalidHeader
Count of messages with an invalid header.
Definition: lwe_interface.h:348
base_types.h
SDK base types.
LWEParserResult
LWEParserResult
Parser results.
Definition: lwe_interface.h:412
kLWEMultiTextMessageProperties_Host
@ kLWEMultiTextMessageProperties_Host
string. Remote host that sent the message (read-only)
Definition: lwe_interface.h:156
LWEMessageType
LWEMessageType
LWE message type.
Definition: lwe_interface.h:92
kLWEEndpointProperties_ResetLineStatistics
@ kLWEEndpointProperties_ResetLineStatistics
Reset line statistics (statistic counts and parsers error counts)
Definition: lwe_interface.h:330
kLWEMessageProperties_Port
@ kLWEMessageProperties_Port
string. Remote port that was used to send the message (read-only)
Definition: lwe_interface.h:111
kLWEEndpointParameters_AllowReceiveOwnMessages
@ kLWEEndpointParameters_AllowReceiveOwnMessages
Allow receiving messages with an ID equal to the endpoint ID.
Definition: lwe_interface.h:269
kLWEEndpointType_UDP
@ kLWEEndpointType_UDP
UDP endpoint.
Definition: lwe_interface.h:236
kLWEEndpointProperties_RemoveParser
@ kLWEEndpointProperties_RemoveParser
Remove a custom parser from parsers chains (see ILWEParserWrapper)
Definition: lwe_interface.h:328
kLWETextMessageProperties_Data
@ kLWETextMessageProperties_Data
string or array. Data
Definition: lwe_interface.h:124
kSDKResult_Error
static const SDKResult kSDKResult_Error
Error codes start point.
Definition: sdk_results.h:43
kLWEEndpointType_TCP_Client
@ kLWEEndpointType_TCP_Client
TCP client endpoint (sender)
Definition: lwe_interface.h:237
kLWEMultiTextMessageProperties_Data
@ kLWEMultiTextMessageProperties_Data
string or array. Data
Definition: lwe_interface.h:154
kTransmisionGroup_USR6
@ kTransmisionGroup_USR6
User defined transmission group 6.
Definition: lwe_interface.h:61
kLWEEndpointProperties_IsConnected
@ kLWEEndpointProperties_IsConnected
Get connection status.
Definition: lwe_interface.h:333
kTransmisionGroup_PGP2
@ kTransmisionGroup_PGP2
Primary PGN Group 2.
Definition: lwe_interface.h:80
kLWETextMessageProperties_UnknownTags
@ kLWETextMessageProperties_UnknownTags
IEnumSDKProperty component.
Definition: lwe_interface.h:143
kLWEBinaryMessageProperties_Device
@ kLWEBinaryMessageProperties_Device
SDKUInt8. Data source (device) as binary value (see iec61162-450)
Definition: lwe_interface.h:200
ILWEFactory::CreateEndpointParameters
virtual SDKResult SDK_CALLTYPE CreateEndpointParameters(ISDKParametersSP &params) const =0
Creates default parameters needed for the endpoint.
kLWEParsersPriority_Highest
@ kLWEParsersPriority_Highest
Highest parser priority.
Definition: lwe_interface.h:403
kTransmisionGroup_USR2
@ kTransmisionGroup_USR2
User defined transmission group 2.
Definition: lwe_interface.h:57
kLWEParserResult_Error
@ kLWEParserResult_Error
Parser tried to process the incoming data block but an error occured.
Definition: lwe_interface.h:415
ILWEFactoryUtils
Provides access to members used to get auxiliary components.
Definition: lwe_interface.h:472
ILWEFactoryUtils::CreateTextParserPropertiesWrapper
virtual ILWEParserWrapperSP SDK_CALLTYPE CreateTextParserPropertiesWrapper(const ISDKComponentSP &component) const =0
Create a parser properties wrapper object for the default text parser.
kILWEEndpointSendEvent_Error
@ kILWEEndpointSendEvent_Error
Message is not sent.
Definition: lwe_interface.h:669
kTransmisionGroup_VDRD
@ kTransmisionGroup_VDRD
Data required for the VDR according to IEC 61996.
Definition: lwe_interface.h:52
ILWEMessage
Provides access to messages sent or received via the LWE interface.
Definition: lwe_interface.h:499
kLWEMultiTextMessageProperties_Authentication
@ kLWEMultiTextMessageProperties_Authentication
bool. Add authentication tag (see tag a)
Definition: lwe_interface.h:168
kLWEEndpointProperties_ParserProperties
@ kLWEEndpointProperties_ParserProperties
Set/get parsers properties.
Definition: lwe_interface.h:324
kLWEStatistics_Warning_Text_SkipByFilter
@ kLWEStatistics_Warning_Text_SkipByFilter
Count of text messages that were skipped by the filter.
Definition: lwe_interface.h:384
kTransmisionGroup_TIME
@ kTransmisionGroup_TIME
Time transmitting equipment.
Definition: lwe_interface.h:54
kLWEEndpointProperties_AddParser
@ kLWEEndpointProperties_AddParser
Add a custom parser into parsers chains (see ILWEParserWrapper)
Definition: lwe_interface.h:326
kLWEMessageProperties_DestinationID
@ kLWEMessageProperties_DestinationID
string or strings enum component. Destination SFI
Definition: lwe_interface.h:105
properties_interface.h
Object generic properties interface.
kLWEMessageType_BinaryRetransmitted
@ kLWEMessageType_BinaryRetransmitted
Retransmitted binary message.
Definition: lwe_interface.h:96
kLWEEndpointProperties_GetLineStatistics
@ kLWEEndpointProperties_GetLineStatistics
Get line statistics (statistic counts and parsers error counts)
Definition: lwe_interface.h:322
ILWESendMessageContext
Definition: lwe_interface.h:681
kTransmisionGroup_PGP3
@ kTransmisionGroup_PGP3
Primary PGN Group 3.
Definition: lwe_interface.h:81
ILWEEndpoint
Main object to communicate with the LWE interface.
Definition: lwe_interface.h:608
kTransmisionGroup_USR8
@ kTransmisionGroup_USR8
User defined transmission group 8.
Definition: lwe_interface.h:63
kLWEEndpointParameters_SocketType
@ kLWEEndpointParameters_SocketType
Socket type (by default - shared)
Definition: lwe_interface.h:262
kTransmisionGroup_USR1
@ kTransmisionGroup_USR1
User defined transmission group 1.
Definition: lwe_interface.h:56
kLWEStatistics_Error_Text_TagLength
@ kLWEStatistics_Error_Text_TagLength
Count of text messages with invalid tags length.
Definition: lwe_interface.h:358
LWEBinaryMessageVersion
LWEBinaryMessageVersion
Binary message types.
Definition: lwe_interface.h:220
kTransmisionGroup_SYSLOG
@ kTransmisionGroup_SYSLOG
Syslog group.
Definition: lwe_interface.h:87
kLWEParserResult_NotSupported
@ kLWEParserResult_NotSupported
Parser failed to recognize and process the incoming data block or the format is not supported.
Definition: lwe_interface.h:416
kTransmisionGroup_BIN2
@ kTransmisionGroup_BIN2
Simple Binary image transfer group 2.
Definition: lwe_interface.h:69
parameters_interface.h
Provides access to members for managing a parameter set.
kTransmisionGroup_BIN5
@ kTransmisionGroup_BIN5
Simple Binary image transfer group 5.
Definition: lwe_interface.h:72
LWESocketType
LWESocketType
Socket type.
Definition: lwe_interface.h:228
kTransmisionGroup_PGB3
@ kTransmisionGroup_PGB3
Backup PGN Group 3.
Definition: lwe_interface.h:85
kLWEEndpointParameters_Bandwidth
@ kLWEEndpointParameters_Bandwidth
Limit outgoing rate, mbyte/sec.
Definition: lwe_interface.h:280
kLWEEndpointParameters_Type
@ kLWEEndpointParameters_Type
Endpoint type (udp, tcp client, tcp server, see LWEEndpointType enum)
Definition: lwe_interface.h:302
kLWEMultiTextMessageProperties_GroupID
@ kLWEMultiTextMessageProperties_GroupID
SDKUint8. Group control number (see tag g)
Definition: lwe_interface.h:162
kLWEMessageProperties_Time
@ kLWEMessageProperties_Time
SDKTime. User defined time (can be used for text and point-to-point messages)
Definition: lwe_interface.h:113
kTransmisionGroup_USR7
@ kTransmisionGroup_USR7
User defined transmission group 7.
Definition: lwe_interface.h:62
kTransmisionGroup_PGB1
@ kTransmisionGroup_PGB1
Backup PGN Group 1.
Definition: lwe_interface.h:83
kLWEParsersPriority_Lowest
@ kLWEParsersPriority_Lowest
Lowest parser priority.
Definition: lwe_interface.h:407
kLWEMultiTextMessageProperties_UnknownTags
@ kLWEMultiTextMessageProperties_UnknownTags
IEnumSDKProperty component.
Definition: lwe_interface.h:171
kTransmisionGroup_BINRET3
@ kTransmisionGroup_BINRET3
Re-transmittable binary image transfer group 3.
Definition: lwe_interface.h:75
ecdislayer_const.h
The ecdislayer constants.
kLWEBinaryMessageProperties_Host
@ kLWEBinaryMessageProperties_Host
string. Remote host that sent the message (read-only)
Definition: lwe_interface.h:189
SDKResult
SDKInt32 SDKResult
Type of all error or return codes which SDK functions can end with.
Definition: sdk_results.h:17
ILWEComposer
Main object to get a composed stream for the message.
Definition: lwe_interface.h:641
kLWEMessageType_Binary
@ kLWEMessageType_Binary
Simple binary message without retransmitting.
Definition: lwe_interface.h:95
kLWEBinaryMessageProperties_Info
@ kLWEBinaryMessageProperties_Info
string or strings enum. Status information (e.g. successful operation or error codes).
Definition: lwe_interface.h:204
kLWEEndpointParameters_Interface
@ kLWEEndpointParameters_Interface
Outgoing network interface address to bind the sending socket.
Definition: lwe_interface.h:259
kLWEBinaryMessageProperties_Time
@ kLWEBinaryMessageProperties_Time
SDKTime. User defined time.
Definition: lwe_interface.h:194
kLWEEndpointParameters_AllowBinaryMessageTypes
@ kLWEEndpointParameters_AllowBinaryMessageTypes
Support binary messages types (kLWEMessageType_Binary/kLWEMessageType_BinaryRetransmit)
Definition: lwe_interface.h:314
ParserPriority
SDKUInt8 ParserPriority
Parser priority (parsers with higher priorities are called first)
Definition: lwe_interface.h:435
kLWEMultiTextMessageProperties_TotalNum
@ kLWEMultiTextMessageProperties_TotalNum
SDKUInt32. Total number of messages in the group.
Definition: lwe_interface.h:173
kTransmisionGroup_USR4
@ kTransmisionGroup_USR4
User defined transmission group 4.
Definition: lwe_interface.h:59
kLWETextMessageProperties_LineNum
@ kLWETextMessageProperties_LineNum
SDKUInt16. Line count number (see tag n)
Definition: lwe_interface.h:134
kLWETextMessageProperties_Text
@ kLWETextMessageProperties_Text
string. Proprietary data (see tag t)
Definition: lwe_interface.h:136
kLWEEndpointParameters_Group
@ kLWEEndpointParameters_Group
Predefined group that was used to join the endpoint.
Definition: lwe_interface.h:256
kLWEMessageProperties_Data
@ kLWEMessageProperties_Data
string or array. Data
Definition: lwe_interface.h:107
kTransmisionGroup_BINRET1
@ kTransmisionGroup_BINRET1
Re-transmittable binary image transfer group 1.
Definition: lwe_interface.h:73
kLWEMultiTextMessageProperties_RelativeTime
@ kLWEMultiTextMessageProperties_RelativeTime
SDKTimeDelta. Relative time (see tag r)
Definition: lwe_interface.h:166
LWEEndpointParameters
LWEEndpointParameters
Endpoint parameters.
Definition: lwe_interface.h:244
kLWEEndpointType_TCP_Server
@ kLWEEndpointType_TCP_Server
TCP server endpoint (receiver)
Definition: lwe_interface.h:238
ILWEFactory::CreateEndpoint
virtual SDKResult SDK_CALLTYPE CreateEndpoint(const EndpointId &id, const ISDKParametersSP &parameters, ILWEEndpointSP &endpoint) const =0
Creates an endpoint with a specified SFI and parameters.
kTransmisionGroup_CAM1
@ kTransmisionGroup_CAM1
CAM of the BAM.
Definition: lwe_interface.h:66
kTransmisionGroup_PGB4
@ kTransmisionGroup_PGB4
Backup PGN Group 4.
Definition: lwe_interface.h:86
kTransmisionGroup_NETA
@ kTransmisionGroup_NETA
Network administration.
Definition: lwe_interface.h:78
kLWEStatistics_Error_Text_TagSyntax
@ kLWEStatistics_Error_Text_TagSyntax
Count of text messages with errors in tag syntax.
Definition: lwe_interface.h:354
sdk_component_interface.h
Common base SDK interfaces.
kLWEMessageParserProperties_Text_CheckLineCountTag
@ kLWEMessageParserProperties_Text_CheckLineCountTag
Ignore line count tag for text messages.
Definition: lwe_interface.h:395
kLWEEndpointParameters_LoopbackMode
@ kLWEEndpointParameters_LoopbackMode
Exclusive/shared access to multicast group (also known as loopback mode)
Definition: lwe_interface.h:298
kLWEMessageParserProperties_Timeout
@ kLWEMessageParserProperties_Timeout
Timeout to receive whole message parts (in milliseconds)
Definition: lwe_interface.h:393
kTransmisionGroup_BIN4
@ kTransmisionGroup_BIN4
Simple Binary image transfer group 4.
Definition: lwe_interface.h:71
kLWEMultiTextMessageProperties_Text
@ kLWEMultiTextMessageProperties_Text
string. Proprietary data (see tag t)
Definition: lwe_interface.h:164
kLWEEndpointParameters_BinaryMessageVersion
@ kLWEEndpointParameters_BinaryMessageVersion
binary message version
Definition: lwe_interface.h:288
ILWEFactory
The ILWEFactory interface is the starting point for using LWE (lightweight ethernet aka NMEA450)....
Definition: lwe_interface.h:444
kLWETextMessageProperties_Host
@ kLWETextMessageProperties_Host
string. Remote host that was used to send the message (read-only)
Definition: lwe_interface.h:126
kLWEEndpointParameters_IncomingBufferSize
@ kLWEEndpointParameters_IncomingBufferSize
The size of the incoming buffer.
Definition: lwe_interface.h:273
kLWETextMessageProperties_SourceID
@ kLWETextMessageProperties_SourceID
string. Source SFI
Definition: lwe_interface.h:120
kTransmisionGroup_PROP
@ kTransmisionGroup_PROP
Proprietary and user specified SFs.
Definition: lwe_interface.h:55
kLWEBinaryMessageProperties_DestinationID
@ kLWEBinaryMessageProperties_DestinationID
string or strings enum component. Destination SFI
Definition: lwe_interface.h:185
SDK_FAILED
#define SDK_FAILED(res)
Checks failed result.
Definition: sdk_results_enum.h:69
ILWEFactoryUtils::CreateParserPropertiesWrapper
virtual ILWEParserWrapperSP SDK_CALLTYPE CreateParserPropertiesWrapper(const SDKUInt8 priority, const ISDKComponentSP &component) const =0
Creates a parser properties wrapper object.
kLWEMessageParserProperties_Text_CheckTagCRC
@ kLWEMessageParserProperties_Text_CheckTagCRC
Ignore checksum validity for tags.
Definition: lwe_interface.h:397
kLWEBinaryMessageProperties_SourceID
@ kLWEBinaryMessageProperties_SourceID
string. Source SFI
Definition: lwe_interface.h:183
platform.h
Describes the platform constants.
kLWEMessageProperties_SourceID
@ kLWEMessageProperties_SourceID
string. Source SFI
Definition: lwe_interface.h:103
kLWEStatistics_Error_Text_SentenceLength
@ kLWEStatistics_Error_Text_SentenceLength
Count of text messages with errors in sentence length.
Definition: lwe_interface.h:362
kTransmisionGroup_BIN3
@ kTransmisionGroup_BIN3
Simple Binary image transfer group 3.
Definition: lwe_interface.h:70
kLWEMessageProperties_Host
@ kLWEMessageProperties_Host
string. Remote host that was used to send the message (read-only)
Definition: lwe_interface.h:109
ILWEBinaryMessageEdit
Provides access to members for editing binary messages.
Definition: lwe_interface.h:582
kLWETextMessageProperties_Port
@ kLWETextMessageProperties_Port
string. Remote port that was used to send the message (read-only)
Definition: lwe_interface.h:128
LWETextMessageProperties
LWETextMessageProperties
Text message properties.
Definition: lwe_interface.h:118
kLWEParsersPriority_Mid
@ kLWEParsersPriority_Mid
Middle parser priority.
Definition: lwe_interface.h:405
LWEMultiTextMessageProperties
LWEMultiTextMessageProperties
Multitext message properties.
Definition: lwe_interface.h:148
kLWEStatistics_Error_Binary_SkipByTimeout
@ kLWEStatistics_Error_Binary_SkipByTimeout
Count of incomplete binary messages that were skipped by timeout.
Definition: lwe_interface.h:379
kLWESendMessageContext_MessageType
@ kLWESendMessageContext_MessageType
Message type (see LWEMessageType enum)
Definition: lwe_interface.h:675
kLWEEndpointParameters_AuthenticationPresharedKey
@ kLWEEndpointParameters_AuthenticationPresharedKey
Endpoint authentication preshared key.
Definition: lwe_interface.h:306
kLWEBinaryMessageProperties_Channel
@ kLWEBinaryMessageProperties_Channel
SDKUInt8. Subdivision according to the data source (device) (see iec61162-450)
Definition: lwe_interface.h:202
kLWEStatistics_Warning_Binary_Sent_NotAcknowledged
@ kLWEStatistics_Warning_Binary_Sent_NotAcknowledged
Count of sent binary messages without acknowledge from any receivers.
Definition: lwe_interface.h:382
ILWEMultiTextMessageEdit
Provides access to members that enumerate through editable multi sentence messages (MSM)
Definition: lwe_interface.h:563
kLWEEndpointParameters_OutgoingBufferSize
@ kLWEEndpointParameters_OutgoingBufferSize
The size of the outgoing buffer.
Definition: lwe_interface.h:277
LWEMsgID
SDKUInt32 LWEMsgID
Unique id for messages being sent.
Definition: lwe_interface.h:429
kTransmisionGroup_PGP1
@ kTransmisionGroup_PGP1
Primary PGN Group 1.
Definition: lwe_interface.h:79
kLWEMessageComposerProperties_AuthenticationPresharedKey
@ kLWEMessageComposerProperties_AuthenticationPresharedKey
Authentication pre-shared key.
Definition: lwe_interface.h:341
kLWEBinaryMessageProperties_AckPort
@ kLWEBinaryMessageProperties_AckPort
SDKUInt32. Defines the port which used for answer with ACK messages.
Definition: lwe_interface.h:212
kLWEStatistics_Warning_Binary_SkipByFilter
@ kLWEStatistics_Warning_Binary_SkipByFilter
Count of binary messages that were skipped by the filter.
Definition: lwe_interface.h:386
kTransmisionGroup_BAM2
@ kTransmisionGroup_BAM2
BAM compliant alert source reporting to CAM.
Definition: lwe_interface.h:65
kLWEBinaryMessageProperties_Type
@ kLWEBinaryMessageProperties_Type
string. This string defines the data block encoding by assigning a MIME content type
Definition: lwe_interface.h:206
ISDKComponent
Base interface for all SDK interfaces.
Definition: sdk_component_interface.h:41
EndpointId
SDKString EndpointId
Endpoint ID (SFI)
Definition: lwe_interface.h:426
kLWEEndpointParameters_Port
@ kLWEEndpointParameters_Port
Multicast group port to join the endpoint.
Definition: lwe_interface.h:252
ILWEMultiTextMessage
Provides access to members of multi-sentence messages (MSM)
Definition: lwe_interface.h:544
kTransmisionGroup_MISC
@ kTransmisionGroup_MISC
SF not explicitly listed below.
Definition: lwe_interface.h:48
kLWETextMessageProperties_RelativeTime
@ kLWETextMessageProperties_RelativeTime
SDKTimeDelta. Relative time (see tag r)
Definition: lwe_interface.h:138
kLWEBinaryMessageProperties_ID
@ kLWEBinaryMessageProperties_ID
SDKUInt32. Defines the binary block id that was used to send this message.
Definition: lwe_interface.h:210
kLWEEndpointParameters_FilterMessagesBySourceID
@ kLWEEndpointParameters_FilterMessagesBySourceID
Allow receiving messages only from a defined ID.
Definition: lwe_interface.h:265
kLWEStatistics_Error_Text_InvalidAutehtication
@ kLWEStatistics_Error_Text_InvalidAutehtication
Count of text messages that were errors with the authentication.
Definition: lwe_interface.h:368
LWEStatistics
LWEStatistics
Socket statistics.
Definition: lwe_interface.h:346
kLWETextMessageProperties_DestinationID
@ kLWETextMessageProperties_DestinationID
string or strings enum component. Destination SFI
Definition: lwe_interface.h:122
kTransmisionGroup_BINRET4
@ kTransmisionGroup_BINRET4
Re-transmittable binary image transfer group 4.
Definition: lwe_interface.h:76
ILWEEndpointEvent
Describes events that may be fired by an endpoint.
Definition: lwe_interface.h:690
kLWEStatistics_Error_Text_TagFormating
@ kLWEStatistics_Error_Text_TagFormating
Count of text messages with errors in tag formating.
Definition: lwe_interface.h:350
LWEBinaryMessageProperties
LWEBinaryMessageProperties
Binary message properties.
Definition: lwe_interface.h:181
LWEParsersPriority
LWEParsersPriority
Parser priorities.
Definition: lwe_interface.h:402
ILWEFactory::CreateComposer
virtual SDKResult SDK_CALLTYPE CreateComposer(const EndpointId &id, ILWEComposerSP &composer) const =0
Creates a composer with a specified SFI.
kLWEEndpointParameters_MTU
@ kLWEEndpointParameters_MTU
MTU (maximal transfer unit)
Definition: lwe_interface.h:284
kLWEMultiTextMessageProperties_SourceID
@ kLWEMultiTextMessageProperties_SourceID
string. Source SFI
Definition: lwe_interface.h:150
kLWEParserResult_Skiped
@ kLWEParserResult_Skiped
Parser skiped the incoming data block.
Definition: lwe_interface.h:414
LWEMessageProperties
LWEMessageProperties
Common message properties.
Definition: lwe_interface.h:101
kTransmisionGroup_PGB2
@ kTransmisionGroup_PGB2
Backup PGN Group 2.
Definition: lwe_interface.h:84
kLWEBinaryMessageProperties_Port
@ kLWEBinaryMessageProperties_Port
string. Remote port that was used to send the message (read-only)
Definition: lwe_interface.h:191
LWEMessageComposerProperties
LWEMessageComposerProperties
Message composer properties.
Definition: lwe_interface.h:338
kLWEBinaryMessageVersion_1
@ kLWEBinaryMessageVersion_1
Binary version 1 (IEC61162-450 ed.1)
Definition: lwe_interface.h:222
kLWEEndpointParameters_TransmitterInstance
@ kLWEEndpointParameters_TransmitterInstance
Endpoint SRP transmitter instance (1-9)
Definition: lwe_interface.h:310
kLWESocketType_Shared
@ kLWESocketType_Shared
Share one physical multicast group connection between lwe sockets.
Definition: lwe_interface.h:229
kLWEBinaryMessageProperties_Length
@ kLWEBinaryMessageProperties_Length
SDKUInt32. Defines the length of the data content in bytes.
Definition: lwe_interface.h:208
kLWEBinaryMessageProperties_Data
@ kLWEBinaryMessageProperties_Data
string or array. Data
Definition: lwe_interface.h:187
kLWEBinaryMessageVersion_Unknown
@ kLWEBinaryMessageVersion_Unknown
Unknown binary version.
Definition: lwe_interface.h:221
enum_interface.h
Describes a basic enumeration interfaces.
ILWEEndpointSendEvent
ILWEEndpointSendEvent
Describes the send event status.
Definition: lwe_interface.h:667
kLWEMultiTextMessageProperties_GetDataAsEnum
@ kLWEMultiTextMessageProperties_GetDataAsEnum
bool. Select data output format: true - string enum, false - string (by default)
Definition: lwe_interface.h:175
kTransmisionGroup_PGP4
@ kTransmisionGroup_PGP4
Primary PGN Group 4.
Definition: lwe_interface.h:82
kLWEBinaryMessageProperties_TimeDiff
@ kLWEBinaryMessageProperties_TimeDiff
SDKTimeDelta. Difference between user defined time and sending time.
Definition: lwe_interface.h:215
kTransmisionGroup_USR3
@ kTransmisionGroup_USR3
User defined transmission group 3.
Definition: lwe_interface.h:58
kLWESendMessageContext_BinaryID
@ kLWESendMessageContext_BinaryID
Binary ID for binary messages.
Definition: lwe_interface.h:676
TransmisionGroupId
SDKUInt32 TransmisionGroupId
Transmission group ID.
Definition: lwe_interface.h:423
kLWEMessageType_MultiText
@ kLWEMessageType_MultiText
Multitext message (aka MSM)
Definition: lwe_interface.h:94
kLWEStatistics_Error_Text_SkipByAutehtication
@ kLWEStatistics_Error_Text_SkipByAutehtication
Count of text messages that were skipped by the authentication.
Definition: lwe_interface.h:366
kTransmisionGroup_RCOM
@ kTransmisionGroup_RCOM
Radio communication equipment.
Definition: lwe_interface.h:53
kTransmisionGroup_BINRET2
@ kTransmisionGroup_BINRET2
Re-transmittable binary image transfer group 2.
Definition: lwe_interface.h:74
kLWEStatistics_Error_Text_TagFraming
@ kLWEStatistics_Error_Text_TagFraming
Count of text messages with invalid tags.
Definition: lwe_interface.h:356
kLWEBinaryMessageProperties_Version
@ kLWEBinaryMessageProperties_Version
SDKUInt16. Binary header version.
Definition: lwe_interface.h:196
kLWEMessageType_Text
@ kLWEMessageType_Text
Text message (aka SBM)
Definition: lwe_interface.h:93
kLWEParsersPriority_High
@ kLWEParsersPriority_High
High parser priority.
Definition: lwe_interface.h:404
FWD_DECL_INTERFACE
FWD_DECL_INTERFACE(ILWEParserWrapper)
Provides a wrapper around the message parser to get, add or remove the.
kLWEBinaryMessageProperties_Status
@ kLWEBinaryMessageProperties_Status
SDKUInt16. Status of acquisition for the data return (see iec61162-450)
Definition: lwe_interface.h:198
kILWEEndpointSendEvent_Successfull
@ kILWEEndpointSendEvent_Successfull
Message is sent successfully.
Definition: lwe_interface.h:668
kLWEStatistics_Error_Binary_InvalidHeader
@ kLWEStatistics_Error_Binary_InvalidHeader
Count of binary messages with invalid headers.
Definition: lwe_interface.h:377
LWESendMessageContext
LWESendMessageContext
Describes parameters of a sent message.
Definition: lwe_interface.h:674
kLWEStatistics_Error_Text_SkipByTimeout
@ kLWEStatistics_Error_Text_SkipByTimeout
Count of multi-text messages the were skipped by timeout.
Definition: lwe_interface.h:370
ILWEFactoryUtils::GetErrorStats
virtual ISDKPropertiesSP SDK_CALLTYPE GetErrorStats() const =0
Get communication errors statistics for whole components.
LWEEndpointProperties
LWEEndpointProperties
Endpoint properties.
Definition: lwe_interface.h:320
kTransmisionGroup_SATD
@ kTransmisionGroup_SATD
High update rate, for example ship heading, attitude data.
Definition: lwe_interface.h:50
kLWETextMessageProperties_Authentication
@ kLWETextMessageProperties_Authentication
bool. Add authentication tag (see tag a)
Definition: lwe_interface.h:140
kTransmisionGroup_USR5
@ kTransmisionGroup_USR5
User defined transmission group 5.
Definition: lwe_interface.h:60
kLWEEndpointParameters_SuppressOwnPackets
@ kLWEEndpointParameters_SuppressOwnPackets
Reject 'echo' own self packets.
Definition: lwe_interface.h:293
kTransmisionGroup_BIN1
@ kTransmisionGroup_BIN1
Simple Binary image transfer group 1.
Definition: lwe_interface.h:68
ILWEStatistics
Collects various information about sending and receiving events.
Definition: lwe_interface.h:713
kTransmisionGroup_BAM1
@ kTransmisionGroup_BAM1
BAM compliant alert source reporting to CAM.
Definition: lwe_interface.h:64
kLWEBinaryMessageVersion_2
@ kLWEBinaryMessageVersion_2
Binary version 2 (IEC61162-450 ed.2)
Definition: lwe_interface.h:223
kLWEMultiTextMessageProperties_PosixTime
@ kLWEMultiTextMessageProperties_PosixTime
SDKTime. POSIX time (see tag c)
Definition: lwe_interface.h:160
kLWEMultiTextMessageProperties_DestinationID
@ kLWEMultiTextMessageProperties_DestinationID
string or strings enum component. Destination SFI
Definition: lwe_interface.h:152
kTransmisionGroup_CAM2
@ kTransmisionGroup_CAM2
CAM of the BAM.
Definition: lwe_interface.h:67