 |
NAVTOR SDK
v.3.0
Software Development Kit for fast and efficient development of ECDIS, ECS and generic marine applications
|
|
Go to the documentation of this file. 1 #ifndef SDK_S63_CELL_PERMITS_INTERFACE_H_
11 #define SDK_S63_CELL_PERMITS_INTERFACE_H_
40 static const SDKUInt16 kPackedUndefinedDataserverID = 0x3f3f;
48 static inline void AssignDataServerID(
DataServerID& dataserverid1,
50 dataserverid1[0] = dataserverid2[0]; dataserverid1[1] = dataserverid2[1];
52 static inline bool CompareDataServerID(
54 return dataserverid1[0] == dataserverid2[0]
55 && dataserverid1[1] == dataserverid2[1];
57 static inline void UnpackDataServerID(SDKUInt16 packed_dataserverid,
59 dataserverid[0] =
static_cast<SDKUInt8
>(packed_dataserverid >> 8);
60 dataserverid[1] =
static_cast<SDKUInt8
>(packed_dataserverid & 0xFF);
62 static inline SDKUInt16 PackDataServerID(
const DataServerID& dataserverid) {
63 SDKUInt16 packed_dataserver_id = dataserverid[1] | dataserverid[0] << 8;
64 return packed_dataserver_id;
66 static inline bool IsUndefinedDataServerID(
const DataServerID& dataserverid) {
70 static inline void InitCellKey(
CellKey& key) {
71 key[0] = 0; key[1] = 0; key[2] = 0; key[3] = 0; key[4] = 0;
73 static inline void AssignCellKey(
CellKey& to,
const CellKey& from) {
74 to[0] = from[0]; to[1] = from[1]; to[2] = from[2]; to[3] = from[3];
82 typedef sdk::SDKRefPtr<IS63CellPermitsIterator> S63CellPermitsIteratorSP;
83 typedef sdk::SDKRefPtr<IS63CellPermitsStorage> S63CellPermitsStorageSP;
84 typedef sdk::SDKRefPtr<IS63CellPermit> S63CellPermitSP;
117 CellName& cell_name)
const throw() = 0;
120 CellKey& cell_key)
const throw() = 0;
123 CellKey& cell_key)
const throw() = 0;
141 bool& is_for_official_cell)
const throw() = 0;
157 virtual
SDKResult SDK_CALLTYPE
Next(S63CellPermitSP& cell_permit) throw() = 0;
171 virtual SDKResult SDK_CALLTYPE GetIterator(
172 S63CellPermitsIteratorSP& iterator)
const throw() = 0;
183 virtual SDKResult SDK_CALLTYPE GetCellPermits(
185 S63CellPermitsIteratorSP& iterator)
const throw() = 0;
192 virtual SDKResult SDK_CALLTYPE FindPermits(
206 #endif // SDK_S63_CELL_PERMITS_INTERFACE_H_
virtual SDKResult SDK_CALLTYPE GetCellKey2(CellKey &cell_key) const =0
Returns the second cell key to decrypt cell data.
virtual SDKResult SDK_CALLTYPE IsForOfficialCell(bool &is_for_official_cell) const =0
Returns the flag indicating if the cell permit is for an official cell or not.
@ kS63CellPermitsStorageProp_NonOfficialPermitsStringsIterator
Definition: s63_cell_permits_interface.h:105
S63CellPermitsStorageProp
Set of available properties for the S-63 cell permits storage.
Definition: s63_cell_permits_interface.h:97
virtual SDKResult SDK_CALLTYPE GetCellKey1(CellKey &cell_key) const =0
Returns the first cell key to decrypt cell data.
SDKUInt8 DataServerID[2]
Dataserver ID.
Definition: s63_cell_permits_interface.h:29
static void InitDataServerID(DataServerID &dataserverid)
Initialize data server id.
Definition: s63_cell_permits_interface.h:44
@ kS63CellPermitsFileFormat_Version2
S-63 permit file format version 2.
Definition: s63_cell_permits_interface.h:92
virtual SDKResult SDK_CALLTYPE GetServiceLevelIndicator(CellServiceLevelIndicator &service_level_ind) const =0
Returns the level indicator of the cell permit service.
virtual SDKResult SDK_CALLTYPE Next(S63CellPermitSP &cell_permit)=0
Returns the next cell permit instance.
Interfaces wrapper with reference count control.
virtual SDKResult SDK_CALLTYPE GetComment(CellPermitComment &cell_permit_comment) const =0
Returns the cell permit comment.
virtual SDKResult SDK_CALLTYPE GetCellName(CellName &cell_name) const =0
Returns the name of the cell for which the given permit is produced.
S63CellPermitsFileFormat
Available S-63 cell permit file formats.
Definition: s63_cell_permits_interface.h:88
@ kS63CellPermitsStorageProp_PermitsFileVersion
Source PERMIT.TXT file version.
Definition: s63_cell_permits_interface.h:101
virtual SDKResult SDK_CALLTYPE GetExpirationDate(CellPermitExpirationDate &exp_date) const =0
Returns the expiration date of the cell permit.
Wrappers and helper functions for SDKString.
S-63 cell permits iterator.
Definition: s63_cell_permits_interface.h:151
SDKInt32 SDKResult
Type of all error or return codes which SDK functions can end with.
Definition: sdk_results.h:17
SDKString CellPermitComment
Cell permit comment.
Definition: s63_cell_permits_interface.h:30
SDKUInt8 CellName[8]
Cell name.
Definition: s63_cell_permits_interface.h:25
Common base SDK interfaces.
@ kS63CellPermitsFileFormat_Version1
S-63 permit file format version 1.
Definition: s63_cell_permits_interface.h:91
static const DataServerID kUndefinedDataserverID
Undefined DataserverID value.
Definition: s63_cell_permits_interface.h:39
@ kS63CellPermitsFileFormat_Unknown
Unknown version of the permit file format.
Definition: s63_cell_permits_interface.h:90
Base interface for all SDK interfaces.
Definition: sdk_component_interface.h:41
SDKTime CellPermitExpirationDate
Cell permit expiration date.
Definition: s63_cell_permits_interface.h:26
SDKUInt8 CellKey[5]
Cell key to decrypt the cell.
Definition: s63_cell_permits_interface.h:24
virtual SDKResult SDK_CALLTYPE GetDataServerID(DataServerID &dataserver_id) const =0
Returns the data server ID.
SDKUInt32 CellEditionNumber
Cell service level indicator.
Definition: s63_cell_permits_interface.h:28
@ kS63CellPermitsStorageProp_PermitsDateTime
Date/Time of the source PERMIT.TXT file.
Definition: s63_cell_permits_interface.h:100
SDK_END_NAMESPACE typedef SDKInt64 SDKTime
Milliseconds from Unix epoch.
Definition: base_types.h:56
@ kS63CellPermitsStorageProp_OfficialPermitsStringsIterator
Definition: s63_cell_permits_interface.h:102
Interface describing a single S-63 cell permit instance.
Definition: s63_cell_permits_interface.h:112
SDKInt8 CellServiceLevelIndicator
Cell service level indicator.
Definition: s63_cell_permits_interface.h:27
static const CellServiceLevelIndicator kUndefinedServiceLevelIndicator
Undefined service level indicator value.
Definition: s63_cell_permits_interface.h:35
virtual SDKResult SDK_CALLTYPE GetCellEditionNumber(CellEditionNumber &edition_number) const =0
Returns the S-63 cell edition number.
FWD_DECL_INTERFACE(ILWEParserWrapper)
Provides a wrapper around the message parser to get, add or remove the.
virtual SDKResult SDK_CALLTYPE Reset()=0
Resets the iterator state.
S-63 cell permits storage.
Definition: s63_cell_permits_interface.h:167
@ kS63CellPermitsStorageProp_CellPermitsCount
Total number of cell permits.
Definition: s63_cell_permits_interface.h:99