NAVTOR SDK  v.3.0
Software Development Kit for fast and efficient development of ECDIS, ECS and generic marine applications
lwe_interface.h File Reference

Lightweight ethernet (aka NMEA450) support for ECDIS. More...

Go to the source code of this file.

Data Structures

class  ILWEFactory
 The ILWEFactory interface is the starting point for using LWE (lightweight ethernet aka NMEA450). It's what you use to create other LWE resources. More...
 
class  ILWEFactoryUtils
 Provides access to members used to get auxiliary components. More...
 
class  ILWEMessage
 Provides access to messages sent or received via the LWE interface. More...
 
class  ILWETextMessageEdit
 Provides access to members for editing text messages. More...
 
class  ILWEMultiTextMessage
 Provides access to members of multi-sentence messages (MSM) More...
 
class  ILWEMultiTextMessageEdit
 Provides access to members that enumerate through editable multi sentence messages (MSM) More...
 
class  ILWEBinaryMessageEdit
 Provides access to members for editing binary messages. More...
 
class  ILWEEndpoint
 Main object to communicate with the LWE interface. More...
 
class  ILWEComposer
 Main object to get a composed stream for the message. More...
 
class  ILWESendMessageContext
 
More...
 
class  ILWEEndpointEvent
 Describes events that may be fired by an endpoint. More...
 
class  ILWEStatistics
 Collects various information about sending and receiving events. More...
 
class  ILWEParser
 Message parser
More...
 

Typedefs

typedef SDKUInt32 TransmisionGroupId
 Transmission group ID.
 
typedef SDKString EndpointId
 Endpoint ID (SFI)
 
typedef SDKUInt32 LWEMsgID
 Unique id for messages being sent.
 
typedef SDKUInt8 ParserPriority
 Parser priority (parsers with higher priorities are called first)
 
typedef SDKUInt32 ParserResult
 Parser result code.
 

Enumerations

enum  TransmisionGroup {
  kTransmisionGroup_MISC = 0, kTransmisionGroup_TGTD, kTransmisionGroup_SATD, kTransmisionGroup_NAVD,
  kTransmisionGroup_VDRD, kTransmisionGroup_RCOM, kTransmisionGroup_TIME, kTransmisionGroup_PROP,
  kTransmisionGroup_USR1, kTransmisionGroup_USR2, kTransmisionGroup_USR3, kTransmisionGroup_USR4,
  kTransmisionGroup_USR5, kTransmisionGroup_USR6, kTransmisionGroup_USR7, kTransmisionGroup_USR8,
  kTransmisionGroup_BAM1, kTransmisionGroup_BAM2, kTransmisionGroup_CAM1, kTransmisionGroup_CAM2,
  kTransmisionGroup_BIN1, kTransmisionGroup_BIN2, kTransmisionGroup_BIN3, kTransmisionGroup_BIN4,
  kTransmisionGroup_BIN5, kTransmisionGroup_BINRET1, kTransmisionGroup_BINRET2, kTransmisionGroup_BINRET3,
  kTransmisionGroup_BINRET4, kTransmisionGroup_BINRET5, kTransmisionGroup_NETA, kTransmisionGroup_PGP1,
  kTransmisionGroup_PGP2, kTransmisionGroup_PGP3, kTransmisionGroup_PGP4, kTransmisionGroup_PGB1,
  kTransmisionGroup_PGB2, kTransmisionGroup_PGB3, kTransmisionGroup_PGB4, kTransmisionGroup_SYSLOG
}
 Predefined multicast group. More...
 
enum  LWEMessageType { kLWEMessageType_Text, kLWEMessageType_MultiText, kLWEMessageType_Binary, kLWEMessageType_BinaryRetransmitted }
 LWE message type. More...
 
enum  LWEMessageProperties {
  kLWEMessageProperties_SourceID, kLWEMessageProperties_DestinationID, kLWEMessageProperties_Data, kLWEMessageProperties_Host,
  kLWEMessageProperties_Port, kLWEMessageProperties_Time
}
 Common message properties. More...
 
enum  LWETextMessageProperties {
  kLWETextMessageProperties_SourceID = kLWEMessageProperties_SourceID, kLWETextMessageProperties_DestinationID = kLWEMessageProperties_DestinationID, kLWETextMessageProperties_Data = kLWEMessageProperties_Data, kLWETextMessageProperties_Host = kLWEMessageProperties_Host,
  kLWETextMessageProperties_Port = kLWEMessageProperties_Port, kLWETextMessageProperties_PosixTime = kLWEMessageProperties_Time, kLWETextMessageProperties_GroupID = 0x100, kLWETextMessageProperties_LineNum,
  kLWETextMessageProperties_Text, kLWETextMessageProperties_RelativeTime, kLWETextMessageProperties_Authentication, kLWETextMessageProperties_UnknownTags
}
 Text message properties. More...
 
enum  LWEMultiTextMessageProperties {
  kLWEMultiTextMessageProperties_SourceID = kLWETextMessageProperties_SourceID, kLWEMultiTextMessageProperties_DestinationID = kLWETextMessageProperties_DestinationID, kLWEMultiTextMessageProperties_Data = kLWETextMessageProperties_Data, kLWEMultiTextMessageProperties_Host = kLWETextMessageProperties_Host,
  kLWEMultiTextMessageProperties_Port = kLWETextMessageProperties_Port, kLWEMultiTextMessageProperties_PosixTime = kLWEMessageProperties_Time, kLWEMultiTextMessageProperties_GroupID = kLWETextMessageProperties_GroupID, kLWEMultiTextMessageProperties_Text = kLWETextMessageProperties_Text,
  kLWEMultiTextMessageProperties_RelativeTime = kLWETextMessageProperties_RelativeTime, kLWEMultiTextMessageProperties_Authentication = kLWETextMessageProperties_Authentication, kLWEMultiTextMessageProperties_UnknownTags = kLWETextMessageProperties_UnknownTags, kLWEMultiTextMessageProperties_TotalNum = 0x200,
  kLWEMultiTextMessageProperties_GetDataAsEnum
}
 Multitext message properties. More...
 
enum  LWEBinaryMessageProperties {
  kLWEBinaryMessageProperties_SourceID = kLWEMessageProperties_SourceID, kLWEBinaryMessageProperties_DestinationID = kLWEMessageProperties_DestinationID, kLWEBinaryMessageProperties_Data = kLWEMessageProperties_Data, kLWEBinaryMessageProperties_Host = kLWEMessageProperties_Host,
  kLWEBinaryMessageProperties_Port = kLWEMessageProperties_Port, kLWEBinaryMessageProperties_Time = kLWEMessageProperties_Time, kLWEBinaryMessageProperties_Version = 0x300, kLWEBinaryMessageProperties_Status,
  kLWEBinaryMessageProperties_Device, kLWEBinaryMessageProperties_Channel, kLWEBinaryMessageProperties_Info, kLWEBinaryMessageProperties_Type,
  kLWEBinaryMessageProperties_Length, kLWEBinaryMessageProperties_ID, kLWEBinaryMessageProperties_AckPort, kLWEBinaryMessageProperties_TimeDiff
}
 Binary message properties. More...
 
enum  LWEBinaryMessageVersion { kLWEBinaryMessageVersion_Unknown = 0, kLWEBinaryMessageVersion_1 = 1, kLWEBinaryMessageVersion_2 = 2 }
 Binary message types. More...
 
enum  LWESocketType { kLWESocketType_Shared, kLWESocketType_Exclusive }
 Socket type. More...
 
enum  LWEEndpointType { kLWEEndpointType_UDP, kLWEEndpointType_TCP_Client, kLWEEndpointType_TCP_Server }
 Endpoint type. More...
 
enum  LWEEndpointParameters {
  kLWEEndpointParameters_Host, kLWEEndpointParameters_Port, kLWEEndpointParameters_Group, kLWEEndpointParameters_Interface,
  kLWEEndpointParameters_SocketType, kLWEEndpointParameters_FilterMessagesBySourceID, kLWEEndpointParameters_AllowReceiveOwnMessages, kLWEEndpointParameters_IncomingBufferSize,
  kLWEEndpointParameters_OutgoingBufferSize, kLWEEndpointParameters_Bandwidth, kLWEEndpointParameters_MTU, kLWEEndpointParameters_BinaryMessageVersion,
  kLWEEndpointParameters_SuppressOwnPackets, kLWEEndpointParameters_LoopbackMode, kLWEEndpointParameters_Type, kLWEEndpointParameters_AuthenticationPresharedKey,
  kLWEEndpointParameters_TransmitterInstance, kLWEEndpointParameters_AllowBinaryMessageTypes
}
 Endpoint parameters. More...
 
enum  LWEEndpointProperties {
  kLWEEndpointProperties_GetLineStatistics, kLWEEndpointProperties_ParserProperties, kLWEEndpointProperties_AddParser, kLWEEndpointProperties_RemoveParser,
  kLWEEndpointProperties_ResetLineStatistics, kLWEEndpointProperties_IsConnected
}
 Endpoint properties. More...
 
enum  LWEMessageComposerProperties { kLWEMessageComposerProperties_AuthenticationPresharedKey }
 Message composer properties. More...
 
enum  LWEStatistics {
  kLWEStatistics_Error_Common_InvalidHeader = 0, kLWEStatistics_Error_Text_TagFormating, kLWEStatistics_Error_Text_TagChecksum, kLWEStatistics_Error_Text_TagSyntax,
  kLWEStatistics_Error_Text_TagFraming, kLWEStatistics_Error_Text_TagLength, kLWEStatistics_Error_Text_SentenceSyntax, kLWEStatistics_Error_Text_SentenceLength,
  kLWEStatistics_Error_Text_SentenceChecksum, kLWEStatistics_Error_Text_SkipByAutehtication, kLWEStatistics_Error_Text_InvalidAutehtication, kLWEStatistics_Error_Text_SkipByTimeout ,
  kLWEStatistics_Error_Binary_InvalidHeader, kLWEStatistics_Error_Binary_SkipByTimeout, kLWEStatistics_Warning_Binary_Sent_NotAcknowledged, kLWEStatistics_Warning_Text_SkipByFilter = 0x80,
  kLWEStatistics_Warning_Binary_SkipByFilter
}
 Socket statistics. More...
 
enum  LWEMessageParserProperties { kLWEMessageParserProperties_Timeout, kLWEMessageParserProperties_Text_CheckLineCountTag, kLWEMessageParserProperties_Text_CheckTagCRC }
 Message parser properties. More...
 
enum  LWEParsersPriority {
  kLWEParsersPriority_Highest = 1, kLWEParsersPriority_High, kLWEParsersPriority_Mid, kLWEParsersPriority_Low,
  kLWEParsersPriority_Lowest
}
 Parser priorities. More...
 
enum  LWEParserResult { kLWEParserResult_Processed = 1, kLWEParserResult_Skiped, kLWEParserResult_Error, kLWEParserResult_NotSupported }
 Parser results. More...
 
enum  ILWEEndpointSendEvent { kILWEEndpointSendEvent_Successfull, kILWEEndpointSendEvent_Error }
 Describes the send event status. More...
 
enum  LWESendMessageContext { kLWESendMessageContext_MessageType, kLWESendMessageContext_BinaryID }
 Describes parameters of a sent message. More...
 

Functions

 FWD_DECL_INTERFACE (ILWEParserWrapper)
 Provides a wrapper around the message parser to get, add or remove the. More...
 

Variables

static const LWEMsgID kInvalidLWEMsgID = static_cast<LWEMsgID>(-1)
 Invalid id for messages being sent.
 

Detailed Description

Lightweight ethernet (aka NMEA450) support for ECDIS.

Copyright © The Open Marine SDK 2011-2016. All Rights Reserved.

Author
The Open Marine SDK authors
Date
07/2016
Maintenance:
The Open Marine SDK authors

Enumeration Type Documentation

◆ LWEMessageComposerProperties

Message composer properties.

Enumerator
kLWEMessageComposerProperties_AuthenticationPresharedKey 

Authentication pre-shared key.

Only for text message composers