NAVTOR SDK  v.3.0
Software Development Kit for fast and efficient development of ECDIS, ECS and generic marine applications
s63_products_reader_writer_interface.h
Go to the documentation of this file.
1 
11 #ifndef SDK_S63_PRODUCTS_READER_WRITER_INTERFACE_H_
12 #define SDK_S63_PRODUCTS_READER_WRITER_INTERFACE_H_
13 #pragma once
14 
15 #include <base/inc/platform.h>
16 #include <base/inc/sdk_component_base.h>
18 #include <datalayer/inc/s63_base/s63_products_file_interface.h>
19 
20 namespace sdk {
21 namespace s63 {
22 
23 FWD_DECL_INTERFACE(IS63ProductsReaderWriter);
24 
28 static const wchar_t kS63ProductsFileName[] = L"PRODUCTS.TXT";
30 static const wchar_t kPathToProductsFromENCDatabaseRoot[] =
31  L"../INFO/PRODUCTS.TXT";
33 static const wchar_t kPathToProductsFromENCDatabaseRoot2[] =
34  L"../../INFO/PRODUCTS.TXT"; // Large media
36 static const wchar_t kPathToProductsFromMediaENCDatabaseRoot[] =
37  L"INFO/PRODUCTS.TXT";
39 static const wchar_t kPathToENCProductsFromNavStickRoot[] =
40  L"INFO/PRODUCTS.TXT";
42 static const wchar_t kPathToAIOProductsFromNavStickRoot[] =
43  L"INFO/AIO/INFO/PRODUCTS.TXT";
45 
48 {
54 
58 {
59  public:
62  virtual SDKResult SDK_CALLTYPE LoadProductsFile(
63  const sdk::base::ISDKStreamSP& products_file_stream,
64  SDKTime& products_file_date, ProductsFileVersion& file_version,
65  ProductsFileContentType& content_type,
66  sdk::s63::IS63ProductsFileSP& products_file) const throw() = 0;
67 
75  virtual SDKResult SDK_CALLTYPE SaveProductsFile(
76  const sdk::s63::IS63ProductsFileSP& products_file,
77  const SDKTime& products_file_date, const ProductsFileVersion& file_version,
78  const ProductsFileContentType& content_type,
79  const sdk::base::ISDKStreamSP& stream) const throw() = 0;
80 
82  SDK_IMPLEMENT_IID(IS63ProductsReaderWriter)
83  SDK_END_INTERFACE(IS63ProductsReaderWriter)
84 };
85 SDK_DECLARE_IID(IS63ProductsReaderWriter)
86 
87 } // namespace s63
88 } // namespace sdk
89 
90 #endif // SDK_S63_PRODUCTS_READER_WRITER_INTERFACE_H_
sdk::s63::kPathToProductsFromENCDatabaseRoot
static const wchar_t kPathToProductsFromENCDatabaseRoot[]
Path to the PRODUCTS.TXT file from the ENC database root (from ENC_ROOT folder).
Definition: s63_products_reader_writer_interface.h:30
sdk::s63::ProductsFileContentType
ProductsFileContentType
Known content types of the PRODUCTS.TXT file.
Definition: s63_products_file_interface.h:66
SDKResult
SDKInt32 SDKResult
Type of all error or return codes which SDK functions can end with.
Definition: sdk_results.h:17
sdk::s63::IS63ProductsReaderWriter
S-63 PRODUCTS.TXT files reader/writer.
Definition: s63_products_reader_writer_interface.h:57
sdk::ISDKProperties
Provides access to members that control the properties.
Definition: properties_interface.h:32
stream_interface.h
Generic data stream interface.
sdk::s63::kPathToProductsFromMediaENCDatabaseRoot
static const wchar_t kPathToProductsFromMediaENCDatabaseRoot[]
Path to the PRODUCTS.TXT file from the ENC Media root (from M01X01 folder).
Definition: s63_products_reader_writer_interface.h:36
sdk::s63::kPathToAIOProductsFromNavStickRoot
static const wchar_t kPathToAIOProductsFromNavStickRoot[]
Path to the AIO database PRODUCTS.TXT file from the NavStick root.
Definition: s63_products_reader_writer_interface.h:42
sdk::s63::kProductsReaderWriterProp_DontUseRecordStringFieldValueWhileSaving
@ kProductsReaderWriterProp_DontUseRecordStringFieldValueWhileSaving
Definition: s63_products_reader_writer_interface.h:52
platform.h
Describes the platform constants.
sdk::s63::IS63ProductsReaderWriter::LoadProductsFile
virtual SDKResult SDK_CALLTYPE LoadProductsFile(const sdk::base::ISDKStreamSP &products_file_stream, SDKTime &products_file_date, ProductsFileVersion &file_version, ProductsFileContentType &content_type, sdk::s63::IS63ProductsFileSP &products_file) const =0
Loads appropriate data from the PRODUCTS.TXT file and creates an IS63ProductsFileSP instance.
sdk::s63::IS63ProductsReaderWriter::SaveProductsFile
virtual SDKResult SDK_CALLTYPE SaveProductsFile(const sdk::s63::IS63ProductsFileSP &products_file, const SDKTime &products_file_date, const ProductsFileVersion &file_version, const ProductsFileContentType &content_type, const sdk::base::ISDKStreamSP &stream) const =0
Saves content of the PRODUCTS.TXT file into an appropriate stream. It's allowed to pass Unknown value...
sdk::s63::kPathToENCProductsFromNavStickRoot
static const wchar_t kPathToENCProductsFromNavStickRoot[]
Path to the ENC database PRODUCTS.TXT file from the NavStick root.
Definition: s63_products_reader_writer_interface.h:39
SDKTime
SDK_END_NAMESPACE typedef SDKInt64 SDKTime
Milliseconds from Unix epoch.
Definition: base_types.h:56
sdk::s63::kPathToProductsFromENCDatabaseRoot2
static const wchar_t kPathToProductsFromENCDatabaseRoot2[]
Path to the PRODUCTS.TXT file from the ENC database root (from ENC_ROOT folder). Large media.
Definition: s63_products_reader_writer_interface.h:33
sdk::s63::ProductsFileVersion
ProductsFileVersion
Known versions of the PRODUCTS.TXT file.
Definition: s63_products_file_interface.h:57
FWD_DECL_INTERFACE
FWD_DECL_INTERFACE(ILWEParserWrapper)
Provides a wrapper around the message parser to get, add or remove the.
sdk::s63::ProductsReaderWriterProps
ProductsReaderWriterProps
Definition: s63_products_reader_writer_interface.h:47
sdk::s63::kS63ProductsFileName
static const wchar_t kS63ProductsFileName[]
Reserved name for the Products file.
Definition: s63_products_reader_writer_interface.h:28