NAVTOR SDK  v.3.0
Software Development Kit for fast and efficient development of ECDIS, ECS and generic marine applications
s57_catalog_interface.h
Go to the documentation of this file.
1 #ifndef SDK_S57_CATALOG_INTERFACE_H_
11 #define SDK_S57_CATALOG_INTERFACE_H_
12 
13 #include <base/inc/platform.h>
14 #include <base/inc/base_types.h>
17 #include <base/inc/sdk_ref_ptr.h>
18 
19 namespace sdk {
20 namespace s63 {
21 
25 typedef SDKUInt32 CatEntryRCID;
27 typedef SDKString CatEntryFileName;
29 typedef SDKString CatEntryFullFileName;
31 typedef SDKString CatEntryFilePath;
33 typedef SDKString CatEntryLongFilePath;
35 typedef SDKString CatEntryVolume;
37 typedef SDKString CatEntryImpl;
39 typedef double CatEntrySLat;
41 typedef double CatEntryWLon;
43 typedef double CatEntryNLat;
45 typedef double CatEntryELon;
49 typedef SDKString CatEntryComment;
51 
55 static const wchar_t kS57CatalogFileImpl[] = L"ASC";
57 static const wchar_t kS57DatasetFileImpl[] = L"BIN";
59 static const wchar_t kS57TextFileImpl[] = L"TXT";
61 static const wchar_t kS57PictureFileImpl[] = L"TIF";
63 static const wchar_t kS57PdfFileImpl[] = L"PDF";
65 static const wchar_t kS57HtmlFileImpl[] = L"HTM";
67 static const wchar_t kS57JpegFileImpl[] = L"JPG";
69 static const wchar_t kS57AviFileImpl[] = L"AVI";
71 static const wchar_t kS57MpegFileImpl[] = L"MPG";
73 static const wchar_t kS57DocFileImpl[] = L"DOC";
75 static const wchar_t kS57XmlFileImpl[] = L"XML";
77 static const wchar_t kS57PngFileImpl[] = L"PNG";
79 static const wchar_t kS57DocxFileImpl[] = L"DOCX";
81 
83 class IS57CatalogEntry;
84 typedef sdk::SDKRefPtr<IS57CatalogEntry> S57CatalogEntrySP;
85 
88 class IS57CatalogEntry : public sdk::ISDKComponent
89 {
90 public:
92  virtual SDKResult SDK_CALLTYPE GetRCID(CatEntryRCID& rcid) const throw() = 0;
94  virtual SDKResult SDK_CALLTYPE GetFileName(
95  CatEntryFileName& file_name) const throw() = 0;
97  virtual SDKResult SDK_CALLTYPE GetFullFileName(
98  CatEntryFullFileName& full_file_name) const throw() = 0;
100  virtual SDKResult SDK_CALLTYPE GetFilePath(
101  CatEntryFilePath& file_path) const throw() = 0;
103  virtual SDKResult SDK_CALLTYPE GetLongFilePath(
104  CatEntryLongFilePath& long_file_path) const throw() = 0;
106  virtual SDKResult SDK_CALLTYPE GetVolume(
107  CatEntryVolume& volume) const throw() = 0;
109  virtual SDKResult SDK_CALLTYPE GetImplementation(
110  CatEntryImpl& impl) const throw() = 0;
112  virtual SDKResult SDK_CALLTYPE GetSouthLat(
113  CatEntrySLat& slat) const throw() = 0;
115  virtual SDKResult SDK_CALLTYPE GetWestLon(
116  CatEntryWLon& wlon) const throw() = 0;
118  virtual SDKResult SDK_CALLTYPE GetNorthLat(
119  CatEntryNLat& nlat) const throw() = 0;
121  virtual SDKResult SDK_CALLTYPE GetEastLon(
122  CatEntryELon& elon) const throw() = 0;
124  virtual SDKResult SDK_CALLTYPE GetCRC(
125  CatEntryCRC& crc) const throw() = 0;
127  virtual SDKResult SDK_CALLTYPE GetComment(
128  CatEntryComment& comment) const throw() = 0;
129 
131  SDK_IMPLEMENT_IID(IS57CatalogEntry)
132  SDK_END_INTERFACE(IS57CatalogEntry)
133 };
134 SDK_DECLARE_IID(IS57CatalogEntry)
135 
138 typedef sdk::SDKRefPtr<IS57CatalogEntriesIterator> S57CatalogEntriesIteratorSP;
139 
142 class IS57CatalogEntriesIterator : public sdk::ISDKComponent
143 {
144 public:
146  virtual SDKResult SDK_CALLTYPE Reset() throw() = 0;
148  virtual SDKResult SDK_CALLTYPE Next(
149  S57CatalogEntrySP& catalog_entry) throw() = 0;
150 
152  SDK_IMPLEMENT_IID(IS57CatalogEntriesIterator)
153  SDK_END_INTERFACE(IS57CatalogEntriesIterator)
154 };
155 SDK_DECLARE_IID(IS57CatalogEntriesIterator)
156 
159 typedef sdk::SDKRefPtr<IS57CatalogEntriesStorage> S57CatalogEntriesStorageSP;
160 
163 class IS57CatalogEntriesStorage : public sdk::ISDKComponent
164 {
165 public:
167  virtual SDKResult SDK_CALLTYPE GetIterator(
168  S57CatalogEntriesIteratorSP& iterator) const throw() = 0;
169 
171  SDK_IMPLEMENT_IID(IS57CatalogEntriesStorage)
172  SDK_END_INTERFACE(IS57CatalogEntriesStorage)
173 };
174 SDK_DECLARE_IID(IS57CatalogEntriesStorage)
175 
176 } // namespace s63
177 } // namespace sdk
178 
179 #endif // SDK_S57_CATALOG_INTERFACE_H_
sdk::s63::kS57DocxFileImpl
static const wchar_t kS57DocxFileImpl[]
DOCX document file.
Definition: s57_catalog_interface.h:79
sdk::s63::CatEntryFullFileName
SDKString CatEntryFullFileName
Catalog entry full file name.
Definition: s57_catalog_interface.h:29
sdk::s63::kS57XmlFileImpl
static const wchar_t kS57XmlFileImpl[]
XML document file.
Definition: s57_catalog_interface.h:75
sdk::s63::IS57CatalogEntry::GetSouthLat
virtual SDKResult SDK_CALLTYPE GetSouthLat(CatEntrySLat &slat) const =0
Returns the South latitude value.
sdk::s63::CatEntryRCID
SDKUInt32 CatEntryRCID
Catalog entry RCID.
Definition: s57_catalog_interface.h:25
base_types.h
SDK base types.
sdk::s63::kS57DatasetFileImpl
static const wchar_t kS57DatasetFileImpl[]
Dataset file.
Definition: s57_catalog_interface.h:57
sdk::s63::IS57CatalogEntry::GetWestLon
virtual SDKResult SDK_CALLTYPE GetWestLon(CatEntryWLon &wlon) const =0
Returns the West longitude value.
sdk::s63::IS57CatalogEntry::GetLongFilePath
virtual SDKResult SDK_CALLTYPE GetLongFilePath(CatEntryLongFilePath &long_file_path) const =0
Returns the long path to the file with entry data.
sdk::s63::kS57PdfFileImpl
static const wchar_t kS57PdfFileImpl[]
PDF document file.
Definition: s57_catalog_interface.h:63
sdk::s63::IS57CatalogEntriesStorage::GetIterator
virtual SDKResult SDK_CALLTYPE GetIterator(S57CatalogEntriesIteratorSP &iterator) const =0
Returns the catalog entries iterator.
sdk::s63::IS57CatalogEntriesIterator
S-57 catalog entries iterator.
Definition: s57_catalog_interface.h:142
sdk::s63::IS57CatalogEntry::GetRCID
virtual SDKResult SDK_CALLTYPE GetRCID(CatEntryRCID &rcid) const =0
Returns the catalog entry RCID.
sdk_ref_ptr.h
Interfaces wrapper with reference count control.
sdk::s63::IS57CatalogEntry::GetCRC
virtual SDKResult SDK_CALLTYPE GetCRC(CatEntryCRC &crc) const =0
Returns the data CRC.
sdk::s63::IS57CatalogEntry::GetVolume
virtual SDKResult SDK_CALLTYPE GetVolume(CatEntryVolume &volume) const =0
Returns the volume name.
sdk::s63::IS57CatalogEntriesStorage
S-57 catalog entries storage.
Definition: s57_catalog_interface.h:163
sdk::s63::CatEntryNLat
double CatEntryNLat
Catalog entry north latitude.
Definition: s57_catalog_interface.h:43
sdk::s63::IS57CatalogEntry::GetFullFileName
virtual SDKResult SDK_CALLTYPE GetFullFileName(CatEntryFullFileName &full_file_name) const =0
Returns the full file name (file name + extension).
sdk::s63::IS57CatalogEntry
Single S-57 catalog entry.
Definition: s57_catalog_interface.h:88
sdk::s63::kS57TextFileImpl
static const wchar_t kS57TextFileImpl[]
ASCII text file.
Definition: s57_catalog_interface.h:59
sdk::s63::IS57CatalogEntriesIterator::Reset
virtual SDKResult SDK_CALLTYPE Reset()=0
Resets the iterator state.
sdk::s63::kS57CatalogFileImpl
static const wchar_t kS57CatalogFileImpl[]
Catalog file.
Definition: s57_catalog_interface.h:55
sdk::s63::kS57MpegFileImpl
static const wchar_t kS57MpegFileImpl[]
MPEG video file.
Definition: s57_catalog_interface.h:71
SDKCRC32
SDKUInt32 SDKCRC32
CRC32 value.
Definition: base_types.h:403
sdk::s63::CatEntryFilePath
SDKString CatEntryFilePath
Catalog entry file path.
Definition: s57_catalog_interface.h:31
sdk_string_handler.h
Wrappers and helper functions for SDKString.
SDKResult
SDKInt32 SDKResult
Type of all error or return codes which SDK functions can end with.
Definition: sdk_results.h:17
sdk::s63::CatEntryVolume
SDKString CatEntryVolume
Catalog entry volume.
Definition: s57_catalog_interface.h:35
sdk::s63::CatEntryImpl
SDKString CatEntryImpl
Catalog entry volume implementation. See predefined values.
Definition: s57_catalog_interface.h:37
sdk::s63::IS57CatalogEntry::GetImplementation
virtual SDKResult SDK_CALLTYPE GetImplementation(CatEntryImpl &impl) const =0
Returns the implementation type.
sdk::s63::IS57CatalogEntry::GetFileName
virtual SDKResult SDK_CALLTYPE GetFileName(CatEntryFileName &file_name) const =0
Returns the file name (for datasets the file name equals to the Cell name).
sdk_component_interface.h
Common base SDK interfaces.
sdk::s63::CatEntryLongFilePath
SDKString CatEntryLongFilePath
Catalog entry long file path.
Definition: s57_catalog_interface.h:33
sdk::s63::CatEntryELon
double CatEntryELon
Catalog entry east longitude.
Definition: s57_catalog_interface.h:45
sdk::s63::kS57PictureFileImpl
static const wchar_t kS57PictureFileImpl[]
Picture file.
Definition: s57_catalog_interface.h:61
sdk::s63::IS57CatalogEntriesIterator::Next
virtual SDKResult SDK_CALLTYPE Next(S57CatalogEntrySP &catalog_entry)=0
Returns the next catalog entry.
platform.h
Describes the platform constants.
sdk::s63::IS57CatalogEntry::GetFilePath
virtual SDKResult SDK_CALLTYPE GetFilePath(CatEntryFilePath &file_path) const =0
Returns the path to the file with entry data.
sdk::s63::CatEntryComment
SDKString CatEntryComment
Catalog entry comment.
Definition: s57_catalog_interface.h:49
sdk::s63::kS57DocFileImpl
static const wchar_t kS57DocFileImpl[]
DOC document file.
Definition: s57_catalog_interface.h:73
sdk::s63::IS57CatalogEntry::GetComment
virtual SDKResult SDK_CALLTYPE GetComment(CatEntryComment &comment) const =0
Returns the catalog entry comment.
sdk::s63::kS57AviFileImpl
static const wchar_t kS57AviFileImpl[]
AVI video file.
Definition: s57_catalog_interface.h:69
sdk::s63::kS57JpegFileImpl
static const wchar_t kS57JpegFileImpl[]
JPEG photo file.
Definition: s57_catalog_interface.h:67
sdk::s63::kS57HtmlFileImpl
static const wchar_t kS57HtmlFileImpl[]
HTML document file.
Definition: s57_catalog_interface.h:65
sdk::s63::CatEntrySLat
double CatEntrySLat
Catalog entry south latitude.
Definition: s57_catalog_interface.h:39
sdk::s63::CatEntryWLon
double CatEntryWLon
Catalog entry west longitude.
Definition: s57_catalog_interface.h:41
sdk::s63::CatEntryFileName
SDKString CatEntryFileName
Catalog entry file name.
Definition: s57_catalog_interface.h:27
sdk::s63::IS57CatalogEntry::GetNorthLat
virtual SDKResult SDK_CALLTYPE GetNorthLat(CatEntryNLat &nlat) const =0
Returns the North latitude value.
sdk::s63::CatEntryCRC
SDKCRC32 CatEntryCRC
Catalog entry data CRC.
Definition: s57_catalog_interface.h:47
sdk::s63::kS57PngFileImpl
static const wchar_t kS57PngFileImpl[]
Picture file PNG.
Definition: s57_catalog_interface.h:77
sdk::s63::IS57CatalogEntry::GetEastLon
virtual SDKResult SDK_CALLTYPE GetEastLon(CatEntryELon &elon) const =0
Returns the East longitude value.