NAVTOR SDK  v.3.0
Software Development Kit for fast and efficient development of ECDIS, ECS and generic marine applications
logbook_interface.h
Go to the documentation of this file.
1 
9 #ifndef SDK_LOGBOOK_INTERFACE_H_
10 #define SDK_LOGBOOK_INTERFACE_H_
11 #pragma once
12 
13 #include <base/inc/base_types.h>
19 
20 SDK_ECDISLAYER_BEGIN_NAMESPACE
21 
26 
27 typedef enum LogbookRecordPar {
28  kLogbookRecordPar_Table = 0,
29  kLogbookRecordPar_Data,
30  kLogbookRecordPar_Time,
31  kLogbookRecordPar_Commit,
32 } LogbookRecordPar;
33 
34 typedef enum LogbookTable {
35  kLogbookTable_System = 0,
36  kLogbookTable_Track,
37  kLogbookTable_AISTargets,
38  kLogbookTable_RadarTargets,
39  kLogbookTable_Alarms,
40 } LogbookTable;
41 
44 typedef enum LogbookSystemColumns {
51 
54 typedef enum LogbookAlarmsColumns {
61 
64 typedef enum LogbookTrackColumns {
86 
89 typedef enum LogbookTrackData {
98 
101 typedef enum LogbookAISColumns {
112 
126 
130  kLB_Transform_Course = 0,
131  kLB_Transform_Speed,
132  kLB_Transform_Depth,
134 
138  public:
140  virtual SDKResult SDK_CALLTYPE Open(
141  const SDKString& storage_path,
142  const SDKString& persistent_storage_path,
143  SDKTimeDelta retirement_age,
144  ILogbook** logbook) throw() = 0;
145 
146  SDK_IMPLEMENT_IID(ILogbookFactory)
147  SDK_END_INTERFACE(ILogbookFactory)
148 };
149 SDK_DECLARE_IID(ILogbookFactory)
150 
151 class ILogbookTransformation : public ISDKComponent {
154 public:
156  virtual SDKResult SDK_CALLTYPE Forward(SDKUInt32 transformation_type,
157  double in, SDKInt32& out_value) throw() = 0;
158 
160  virtual SDKResult SDK_CALLTYPE Inverse(SDKUInt32 transformation_type,
161  SDKInt32 in, double& out) throw() = 0;
162 
163  SDK_IMPLEMENT_IID(ILogbookTransformation)
164  SDK_END_INTERFACE(ILogbookTransformation)
165 };
166 SDK_DECLARE_IID(ILogbookTransformation)
167 
168 class ILogbook : public ISDKComponent {
171 public:
173  virtual SDKResult SDK_CALLTYPE AddRecord(
174  ILogbookRecord* logbook) throw() = 0;
175 
177  virtual SDKResult SDK_CALLTYPE GetRowSet(
178  ISDKParameters* parameters, sql::IRowSet** row_set) throw() = 0;
179 
181  virtual SDKResult SDK_CALLTYPE CreateRecord(
182  ILogbookRecord** logbook_record) throw() = 0;
183 
184  SDK_IMPLEMENT_IID(ILogbook)
185  SDK_END_INTERFACE(ILogbook)
186 };
187 SDK_DECLARE_IID(ILogbook)
188 
189 class ILogbookRecord : public ISDKParameters {
192 public:
193  SDK_IMPLEMENT_IID(ILogbookRecord)
194  SDK_END_INTERFACE(ILogbookRecord)
195 };
196 SDK_DECLARE_IID(ILogbookRecord)
197 
198 SDK_ECDISLAYER_END_NAMESPACE
199 
200 #endif // SDK_LOGBOOK_INTERFACE_H_
kLB_TRACK_COG
@ kLB_TRACK_COG
COG.
Definition: logbook_interface.h:68
kLB_TRACK_DPT
@ kLB_TRACK_DPT
Depth.
Definition: logbook_interface.h:72
kLB_ALARM_CATEGORY
@ kLB_ALARM_CATEGORY
Alarm category.
Definition: logbook_interface.h:56
kLB_RadarTargets_NUMBER
@ kLB_RadarTargets_NUMBER
NUMBER.
Definition: logbook_interface.h:117
ILogbook::AddRecord
virtual SDKResult SDK_CALLTYPE AddRecord(ILogbookRecord *logbook)=0
Add a record.
kLB_AIS_Y
@ kLB_AIS_Y
Y coordinate.
Definition: logbook_interface.h:105
base_types.h
SDK base types.
kLB_TRACK_SOGSRC
@ kLB_TRACK_SOGSRC
Source of SOG.
Definition: logbook_interface.h:75
kLB_TRACK_ENC_UPDN
@ kLB_TRACK_ENC_UPDN
ENC update number.
Definition: logbook_interface.h:82
kLB_RadarTargets_CPA
@ kLB_RadarTargets_CPA
CPA.
Definition: logbook_interface.h:123
kLB_AIS_COG
@ kLB_AIS_COG
COG.
Definition: logbook_interface.h:106
kLB_TRACK_DATA_ENC_EDNM
@ kLB_TRACK_DATA_ENC_EDNM
ENC edition number.
Definition: logbook_interface.h:93
LogbookTrackColumns
LogbookTrackColumns
The TRACK table columns.
Definition: logbook_interface.h:64
ILogbookTransformation
Logbook transformation.
Definition: logbook_interface.h:153
properties_interface.h
Object generic properties interface.
sql_interface.h
Describes interfaces that manage sql database.
kLB_SYSTEM_ID
@ kLB_SYSTEM_ID
Message ID.
Definition: logbook_interface.h:48
LogbookAISColumns
LogbookAISColumns
The AIS table columns.
Definition: logbook_interface.h:101
kLB_TRACK_HDG
@ kLB_TRACK_HDG
Heading.
Definition: logbook_interface.h:70
kLB_TRACK_TIME
@ kLB_TRACK_TIME
Time.
Definition: logbook_interface.h:65
kLB_ALARM_MESSAGE
@ kLB_ALARM_MESSAGE
Alarm message.
Definition: logbook_interface.h:59
kLB_ALARM_STATE
@ kLB_ALARM_STATE
Alarm state.
Definition: logbook_interface.h:58
kLB_TRACK_ENC_ISDT
@ kLB_TRACK_ENC_ISDT
ENC issue date.
Definition: logbook_interface.h:80
parameters_interface.h
Provides access to members for managing a parameter set.
kLB_TRACK_STWSRC
@ kLB_TRACK_STWSRC
Source of speed through water.
Definition: logbook_interface.h:77
kLB_TRACK_COGSRC
@ kLB_TRACK_COGSRC
Source of COG.
Definition: logbook_interface.h:74
kLB_RadarTargets_COURSE
@ kLB_RadarTargets_COURSE
COURSE.
Definition: logbook_interface.h:120
ILogbookFactory
Logbook factory.
Definition: logbook_interface.h:137
kLB_AIS_TIME
@ kLB_AIS_TIME
Time.
Definition: logbook_interface.h:102
ecdislayer_const.h
The ecdislayer constants.
SDKResult
SDKInt32 SDKResult
Type of all error or return codes which SDK functions can end with.
Definition: sdk_results.h:17
kLB_ALARM_CLASS
@ kLB_ALARM_CLASS
Alarm class.
Definition: logbook_interface.h:57
SDKTimeDelta
SDKInt64 SDKTimeDelta
Time delta in Milliseconds.
Definition: base_types.h:63
ILogbookRecord
Logbook record.
Definition: logbook_interface.h:191
kLB_AIS_X
@ kLB_AIS_X
X coordinate.
Definition: logbook_interface.h:104
LogbookRadarTargetsColumns
LogbookRadarTargetsColumns
The RADARTARGETS table columns.
Definition: logbook_interface.h:115
LogbookSystemColumns
LogbookSystemColumns
The SYSTEM table columns.
Definition: logbook_interface.h:44
kLB_TRACK_DATA_ENC_ISDT
@ kLB_TRACK_DATA_ENC_ISDT
ENC issue date.
Definition: logbook_interface.h:92
kLB_RadarTargets_TCPA
@ kLB_RadarTargets_TCPA
Time to CPA.
Definition: logbook_interface.h:124
kLB_TRACK_DATA_ENC
@ kLB_TRACK_DATA_ENC
ENC in use.
Definition: logbook_interface.h:91
kLB_TRACK_ENC_UPDT
@ kLB_TRACK_ENC_UPDT
ENC update application date.
Definition: logbook_interface.h:83
kLB_TRACK_ENC
@ kLB_TRACK_ENC
ENC in use.
Definition: logbook_interface.h:79
kLB_TRACK_X
@ kLB_TRACK_X
X coordinate.
Definition: logbook_interface.h:66
kLB_TRACK_DATA_ENC_AGEN
@ kLB_TRACK_DATA_ENC_AGEN
ENC source.
Definition: logbook_interface.h:96
sdk_component_interface.h
Common base SDK interfaces.
kLB_AIS_MMSI
@ kLB_AIS_MMSI
MMSI.
Definition: logbook_interface.h:103
kLB_TRACK_STW
@ kLB_TRACK_STW
Speed through water.
Definition: logbook_interface.h:71
ILogbook::GetRowSet
virtual SDKResult SDK_CALLTYPE GetRowSet(ISDKParameters *parameters, sql::IRowSet **row_set)=0
Returns the row set specified by parameters.
LogbookAlarmsColumns
LogbookAlarmsColumns
The ALARMS table columns.
Definition: logbook_interface.h:54
ILogbookTransformation::Forward
virtual SDKResult SDK_CALLTYPE Forward(SDKUInt32 transformation_type, double in, SDKInt32 &out_value)=0
Transforms a native value to internal re-presentation value.
kLB_RadarTargets_SPEED
@ kLB_RadarTargets_SPEED
SPEED.
Definition: logbook_interface.h:121
kLB_AIS_CPA
@ kLB_AIS_CPA
CPA.
Definition: logbook_interface.h:109
kLB_AIS_SOG
@ kLB_AIS_SOG
SOG.
Definition: logbook_interface.h:107
kLB_TRACK_ENC_EDNM
@ kLB_TRACK_ENC_EDNM
ENC edition number.
Definition: logbook_interface.h:81
kLB_TRACK_Y
@ kLB_TRACK_Y
Y coordinate.
Definition: logbook_interface.h:67
ISDKComponent
Base interface for all SDK interfaces.
Definition: sdk_component_interface.h:41
ILogbookTransformation::Inverse
virtual SDKResult SDK_CALLTYPE Inverse(SDKUInt32 transformation_type, SDKInt32 in, double &out)=0
Transforms internal re-presentation value to a native value.
kLB_TRACK_POSSRC
@ kLB_TRACK_POSSRC
Source of position.
Definition: logbook_interface.h:73
kLB_AIS_TCPA
@ kLB_AIS_TCPA
Time to CPA.
Definition: logbook_interface.h:110
kLB_RadarTargets_STATUS
@ kLB_RadarTargets_STATUS
STATUS.
Definition: logbook_interface.h:122
kLB_TRACK_DATA_OWNSHIP
@ kLB_TRACK_DATA_OWNSHIP
Own ship.
Definition: logbook_interface.h:90
kLB_SYSTEM_Y
@ kLB_SYSTEM_Y
Y coordinate.
Definition: logbook_interface.h:47
kLB_TRACK_DATA_ENC_UPDT
@ kLB_TRACK_DATA_ENC_UPDT
ENC update application date.
Definition: logbook_interface.h:95
kLB_RadarTargets_X
@ kLB_RadarTargets_X
X coordinate.
Definition: logbook_interface.h:118
ILogbook::CreateRecord
virtual SDKResult SDK_CALLTYPE CreateRecord(ILogbookRecord **logbook_record)=0
Creates an empty logbook record.
kLB_AIS_HDG
@ kLB_AIS_HDG
Heading.
Definition: logbook_interface.h:108
ILogbookFactory::Open
virtual SDKResult SDK_CALLTYPE Open(const SDKString &storage_path, const SDKString &persistent_storage_path, SDKTimeDelta retirement_age, ILogbook **logbook)=0
Opens a logbook.
LogbookTrackData
LogbookTrackData
The TRACK data parameters.
Definition: logbook_interface.h:89
kLB_TRACK_SOG
@ kLB_TRACK_SOG
SOG.
Definition: logbook_interface.h:69
kLB_TRACK_DATA_ENC_UPDN
@ kLB_TRACK_DATA_ENC_UPDN
ENC update number.
Definition: logbook_interface.h:94
kLB_SYSTEM_TIME
@ kLB_SYSTEM_TIME
Time.
Definition: logbook_interface.h:45
FWD_DECL_INTERFACE
FWD_DECL_INTERFACE(ILWEParserWrapper)
Provides a wrapper around the message parser to get, add or remove the.
kLB_SYSTEM_X
@ kLB_SYSTEM_X
X coordinate.
Definition: logbook_interface.h:46
ILogbook
Logbook.
Definition: logbook_interface.h:170
kLB_SYSTEM_MESSAGE
@ kLB_SYSTEM_MESSAGE
Message.
Definition: logbook_interface.h:49
kLB_RadarTargets_TIME
@ kLB_RadarTargets_TIME
Time.
Definition: logbook_interface.h:116
kLB_TRACK_HDGSRC
@ kLB_TRACK_HDGSRC
Source of heading.
Definition: logbook_interface.h:76
kLB_TRACK_ENC_AGEN
@ kLB_TRACK_ENC_AGEN
ENC source.
Definition: logbook_interface.h:84
LogbookTransformationType
LogbookTransformationType
The TRACK table columns.
Definition: logbook_interface.h:129
kLB_ALARM_TIME
@ kLB_ALARM_TIME
Time.
Definition: logbook_interface.h:55
kLB_RadarTargets_Y
@ kLB_RadarTargets_Y
Y coordinate.
Definition: logbook_interface.h:119
kLB_TRACK_DPTSRC
@ kLB_TRACK_DPTSRC
Source of depth.
Definition: logbook_interface.h:78