NAVTOR SDK  v.3.0
Software Development Kit for fast and efficient development of ECDIS, ECS and generic marine applications
s63_status_file_interface.h
Go to the documentation of this file.
1 
11 #ifndef SDK_S63_STATUS_FILE_INTERFACE_H_
12 #define SDK_S63_STATUS_FILE_INTERFACE_H_
13 #pragma once
14 
15 #include <base/inc/platform.h>
16 #include <base/inc/sdk_component_base.h>
18 #include <base/inc/interfaces/collection/collection_interface.h>
20 
21 namespace sdk {
22 namespace s63 {
23 
24 FWD_DECL_INTERFACE(IS63StatusFileRecord);
25 FWD_DECL_INTERFACE(IS63StatusFileRecordsEnum);
26 FWD_DECL_INTERFACE(IS63StatusFile);
27 
30 typedef enum StatusFileMediaType
31 {
35 
38 typedef SDKUInt8 StatusFileWeekOfIssue;
39 static const StatusFileWeekOfIssue kUnknownStatusWeekOfIssue = 0U;
40 
43 typedef SDKUInt32 StatusFileYearOfIssue;
44 static const StatusFileYearOfIssue kUnknownStatusYearOfIssue = 0UL;
45 
49 {
50 public:
52  virtual SDKResult SDK_CALLTYPE GetBaseMediaNumber(
53  SDKString& base_media_number) const throw() = 0;
54 
56  virtual SDKResult SDK_CALLTYPE GetDataserverID(
57  DataServerID& dataserver_id) const throw() = 0;
58 
60  virtual SDKResult SDK_CALLTYPE GetWeekOfIssue(
61  StatusFileWeekOfIssue& week_of_issue,
62  StatusFileYearOfIssue& year_of_issue) const throw() = 0;
63 
65  virtual SDKResult SDK_CALLTYPE GetUserInformation(
66  SDKString& user_information) const throw() = 0;
67 
69  virtual SDKResult SDK_CALLTYPE GetBaseMediaIssueDate(
70  SDKTime& base_media_issue_date) const throw() = 0;
71 
73  SDK_IMPLEMENT_IID(IS63StatusFileRecord)
74  SDK_END_INTERFACE(IS63StatusFileRecord)
75 };
76 SDK_DECLARE_IID(IS63StatusFileRecord)
77 
81 {
82 public:
84  virtual SDKResult SDK_CALLTYPE Reset() throw() = 0;
86  virtual SDKResult SDK_CALLTYPE Next(
87  IS63StatusFileRecordSP& status_file_record) const throw() = 0;
88 
89  // ALSO CAN IMPLEMENT sdk::ICollectionSDKComponent interface
90 
92  SDK_IMPLEMENT_IID(IS63StatusFileRecordsEnum)
93  SDK_END_INTERFACE(IS63StatusFileRecordsEnum)
94 };
95 SDK_DECLARE_IID(IS63StatusFileRecordsEnum)
96 
99 class IS63StatusFile : public sdk::ISDKProperties
100 {
101 public:
103  virtual SDKResult SDK_CALLTYPE GetDataserverID(
104  DataServerID& dataserver_id) const throw() = 0;
105 
107  virtual SDKResult SDK_CALLTYPE GetWeekOfIssue(
108  StatusFileWeekOfIssue& week_of_issue,
109  StatusFileYearOfIssue& year_of_issue) const throw() = 0;
110 
112  virtual SDKResult SDK_CALLTYPE GetMediaType(
113  StatusFileMediaType& media_type) const throw() = 0;
114 
116  virtual SDKResult SDK_CALLTYPE GetIssueDate(
117  SDKTime& issue_date) const throw() = 0;
118 
120  virtual SDKResult SDK_CALLTYPE GetIterator(
121  IS63StatusFileRecordsEnumSP& iterator) const throw() = 0;
122 
124  SDK_IMPLEMENT_IID(IS63StatusFile)
125  SDK_END_INTERFACE(IS63StatusFile)
126 };
127 SDK_DECLARE_IID(IS63StatusFile)
128 
129 } // namespace s63
130 } // namespace sdk
131 
132 #endif // SDK_S63_STATUS_FILE_INTERFACE_H_
sdk::s63::DataServerID
SDKUInt8 DataServerID[2]
Dataserver ID.
Definition: s63_cell_permits_interface.h:29
sdk::s63::kStatusFileMediaType_Update
@ kStatusFileMediaType_Update
Update media type.
Definition: s63_status_file_interface.h:33
s63_cell_permits_interface.h
Set of interfaces for S-63 cell permits description.
sdk::s63::IS63StatusFileRecordsEnum
STATUS.LST file records iterator.
Definition: s63_status_file_interface.h:80
properties_interface.h
Object generic properties interface.
sdk::s63::kStatusFileMediaType_Unknown
@ kStatusFileMediaType_Unknown
Unknown media type.
Definition: s63_status_file_interface.h:32
SDKResult
SDKInt32 SDKResult
Type of all error or return codes which SDK functions can end with.
Definition: sdk_results.h:17
sdk::s63::StatusFileWeekOfIssue
SDKUInt8 StatusFileWeekOfIssue
Week of issue of the STATUS.LST file.
Definition: s63_status_file_interface.h:38
sdk::s63::IS63StatusFileRecord::GetBaseMediaIssueDate
virtual SDKResult SDK_CALLTYPE GetBaseMediaIssueDate(SDKTime &base_media_issue_date) const =0
Returns the Base Media Issue Date.
sdk::s63::IS63StatusFileRecord::GetDataserverID
virtual SDKResult SDK_CALLTYPE GetDataserverID(DataServerID &dataserver_id) const =0
Returns the Dataserver ID.
sdk::ISDKProperties
Provides access to members that control the properties.
Definition: properties_interface.h:32
sdk::s63::IS63StatusFileRecordsEnum::Reset
virtual SDKResult SDK_CALLTYPE Reset()=0
Resets the iterator state.
platform.h
Describes the platform constants.
sdk::s63::StatusFileMediaType
StatusFileMediaType
List of known media types.
Definition: s63_status_file_interface.h:30
sdk::s63::IS63StatusFileRecord
Container to store a single STATUS.LST file record.
Definition: s63_status_file_interface.h:48
sdk::s63::StatusFileYearOfIssue
SDKUInt32 StatusFileYearOfIssue
Year of issue of the STATUS.LST file.
Definition: s63_status_file_interface.h:43
sdk::s63::IS63StatusFileRecord::GetWeekOfIssue
virtual SDKResult SDK_CALLTYPE GetWeekOfIssue(StatusFileWeekOfIssue &week_of_issue, StatusFileYearOfIssue &year_of_issue) const =0
Returns the Week of Issue as a parsed date.
sdk::s63::IS63StatusFileRecord::GetUserInformation
virtual SDKResult SDK_CALLTYPE GetUserInformation(SDKString &user_information) const =0
Returns User Information.
sdk::s63::IS63StatusFileRecord::GetBaseMediaNumber
virtual SDKResult SDK_CALLTYPE GetBaseMediaNumber(SDKString &base_media_number) const =0
Returns the Base Media Number.
SDKTime
SDK_END_NAMESPACE typedef SDKInt64 SDKTime
Milliseconds from Unix epoch.
Definition: base_types.h:56
sdk::s63::IS63StatusFile
STATUS.LST file container.
Definition: s63_status_file_interface.h:99
sdk::s63::IS63StatusFileRecordsEnum::Next
virtual SDKResult SDK_CALLTYPE Next(IS63StatusFileRecordSP &status_file_record) const =0
Returns the next products file record instance.
FWD_DECL_INTERFACE
FWD_DECL_INTERFACE(ILWEParserWrapper)
Provides a wrapper around the message parser to get, add or remove the.