NAVTOR SDK  v.3.0
Software Development Kit for fast and efficient development of ECDIS, ECS and generic marine applications
s63_serial_file_interface.h
Go to the documentation of this file.
1 
11 #ifndef SDK_S63_SERIAL_FILE_INTERFACE_H_
12 #define SDK_S63_SERIAL_FILE_INTERFACE_H_
13 #pragma once
14 
15 #include <base/inc/platform.h>
16 #include <base/inc/sdk_component_base.h>
19 
20 namespace sdk {
21 namespace s63 {
22 
23 FWD_DECL_INTERFACE(IS63SerialFile);
24 
27 typedef enum ENCDatabaseType
28 {
33 
36 typedef enum SerialFileCDType
37 {
42 
45 typedef SDKUInt8 SerialFileWeekOfIssue;
46 static const SerialFileWeekOfIssue kUnknownSerialWeekOfIssue = 0U;
47 
50 typedef SDKUInt32 SerialFileYearOfIssue;
51 static const SerialFileYearOfIssue kUnknownSerialYearOfIssue = 0UL;
52 
55 typedef double SerialFileFormatVersion;
56 static const SerialFileFormatVersion kUnknownSerialFormatVersion = -1.0;
57 
60 typedef SDKUInt32 SerialFileCDNumber;
61 static const SerialFileCDNumber kUnknownSerialFileCDNumber = 0UL;
62 
66 {
67 public:
69  virtual SDKResult SDK_CALLTYPE GetDatabaseType(
70  ENCDatabaseType& database_type) const throw() = 0;
71 
73  virtual SDKResult SDK_CALLTYPE GetDataserverID(
74  DataServerID& dataserver_id) const throw() = 0;
75 
77  virtual SDKResult SDK_CALLTYPE GetWeekOfIssue(
78  SerialFileWeekOfIssue& week_of_issue,
79  SerialFileYearOfIssue& year_of_issue) const throw() = 0;
80 
82  virtual SDKResult SDK_CALLTYPE GetDateOfPublication(
83  SDKTime& date_of_publication) const throw() = 0;
84 
86  virtual SDKResult SDK_CALLTYPE GetCDType(
87  SerialFileCDType& cd_type) const throw() = 0;
88 
90  virtual SDKResult SDK_CALLTYPE GetFormatVersion(
91  SerialFileFormatVersion& format_version) const throw() = 0;
92 
94  virtual SDKResult SDK_CALLTYPE GetExchangeSetNumber(
95  SerialFileCDType& cd_type, SerialFileCDNumber& curr_cd_number,
96  SerialFileCDNumber& total_cd_number) const throw() = 0;
97 
99  SDK_IMPLEMENT_IID(IS63SerialFile)
100  SDK_END_INTERFACE(IS63SerialFile)
101 };
102 SDK_DECLARE_IID(IS63SerialFile)
103 
104 } // namespace s63
105 } // namespace sdk
106 
107 #endif // SDK_S63_SERIAL_FILE_INTERFACE_H_
sdk::s63::IS63SerialFile::GetWeekOfIssue
virtual SDKResult SDK_CALLTYPE GetWeekOfIssue(SerialFileWeekOfIssue &week_of_issue, SerialFileYearOfIssue &year_of_issue) const =0
Returns the Week of Issue as a parsed date.
sdk::s63::kENCDatabaseType_AIO
@ kENCDatabaseType_AIO
AIO database.
Definition: s63_serial_file_interface.h:31
sdk::s63::kSerialFileCDType_Base
@ kSerialFileCDType_Base
Base CD.
Definition: s63_serial_file_interface.h:39
sdk::s63::kENCDatabaseType_Unknown
@ kENCDatabaseType_Unknown
Unknown ENC database type.
Definition: s63_serial_file_interface.h:29
sdk::s63::DataServerID
SDKUInt8 DataServerID[2]
Dataserver ID.
Definition: s63_cell_permits_interface.h:29
s63_cell_permits_interface.h
Set of interfaces for S-63 cell permits description.
properties_interface.h
Object generic properties interface.
sdk::s63::IS63SerialFile
Container to store S-63 SERIAL.ENC/SERIAL.AIO file data.
Definition: s63_serial_file_interface.h:65
sdk::s63::IS63SerialFile::GetFormatVersion
virtual SDKResult SDK_CALLTYPE GetFormatVersion(SerialFileFormatVersion &format_version) const =0
Returns the Format Version.
sdk::s63::IS63SerialFile::GetDatabaseType
virtual SDKResult SDK_CALLTYPE GetDatabaseType(ENCDatabaseType &database_type) const =0
Returns the ENC database type.
sdk::s63::SerialFileWeekOfIssue
SDKUInt8 SerialFileWeekOfIssue
SERIAL file week of issue.
Definition: s63_serial_file_interface.h:45
sdk::s63::kSerialFileCDType_Unknown
@ kSerialFileCDType_Unknown
Unknown CD type.
Definition: s63_serial_file_interface.h:38
SDKResult
SDKInt32 SDKResult
Type of all error or return codes which SDK functions can end with.
Definition: sdk_results.h:17
sdk::ISDKProperties
Provides access to members that control the properties.
Definition: properties_interface.h:32
sdk::s63::IS63SerialFile::GetDateOfPublication
virtual SDKResult SDK_CALLTYPE GetDateOfPublication(SDKTime &date_of_publication) const =0
Returns the Date of Publication.
sdk::s63::kSerialFileCDType_Update
@ kSerialFileCDType_Update
Update CD.
Definition: s63_serial_file_interface.h:40
sdk::s63::SerialFileCDType
SerialFileCDType
List of known CD types.
Definition: s63_serial_file_interface.h:36
sdk::s63::IS63SerialFile::GetExchangeSetNumber
virtual SDKResult SDK_CALLTYPE GetExchangeSetNumber(SerialFileCDType &cd_type, SerialFileCDNumber &curr_cd_number, SerialFileCDNumber &total_cd_number) const =0
Returns the Exchange Set Number.
platform.h
Describes the platform constants.
sdk::s63::ENCDatabaseType
ENCDatabaseType
List of known ENC database types.
Definition: s63_serial_file_interface.h:27
sdk::s63::IS63SerialFile::GetCDType
virtual SDKResult SDK_CALLTYPE GetCDType(SerialFileCDType &cd_type) const =0
Returns the CD Type.
SDKTime
SDK_END_NAMESPACE typedef SDKInt64 SDKTime
Milliseconds from Unix epoch.
Definition: base_types.h:56
sdk::s63::SerialFileYearOfIssue
SDKUInt32 SerialFileYearOfIssue
SERIAL file year of issue.
Definition: s63_serial_file_interface.h:50
sdk::s63::kENCDatabaseType_ENC
@ kENCDatabaseType_ENC
ENC database.
Definition: s63_serial_file_interface.h:30
sdk::s63::SerialFileCDNumber
SDKUInt32 SerialFileCDNumber
SERIAL file CD number.
Definition: s63_serial_file_interface.h:60
sdk::s63::SerialFileFormatVersion
double SerialFileFormatVersion
SERIAL file format version.
Definition: s63_serial_file_interface.h:55
FWD_DECL_INTERFACE
FWD_DECL_INTERFACE(ILWEParserWrapper)
Provides a wrapper around the message parser to get, add or remove the.
sdk::s63::IS63SerialFile::GetDataserverID
virtual SDKResult SDK_CALLTYPE GetDataserverID(DataServerID &dataserver_id) const =0
Returns the Data Server ID.