 |
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_GDB_CATALOG_INTERFACE_H_
11 #define SDK_GDB_CATALOG_INTERFACE_H_
20 SDK_GDB_BEGIN_NAMESPACE
42 #define kCatalogFactoryCID "CatalogFactoryCID"
44 typedef SDKUInt32 CatalogPropertyID;
45 typedef SDKAny CatalogEntryKey;
46 typedef SDKUInt32 CatalogEntryPropertyID;
73 kCatEntryType_BLOB = 100,
138 kDSCatEntryProperty_First = 0,
161 kDSCatEntryProperty_IssueDate,
162 kDSCatEntryProperty_UpdateApplicationDate,
163 kDSCatEntryProperty_IntendedUsage,
164 kDSCatEntryProperty_Terminated,
165 kDSCatEntryProperty_OfficialStatus,
166 kDSCatEntryProperty_WorkspaceID,
167 kDSCatEntryProperty_ConversionDate,
168 kDSCatEntryProperty_DataserverID,
169 kDSCatEntryProperty_DatasetOverlayType,
170 kDSCatEntryProperty_DatasetProfile,
171 kDSCatEntryProperty_DatasetSpecificUsage,
172 kDSCatEntryProperty_ProductSpecificationDescription,
173 kDSCatEntryProperty_NewEditionAvailable,
174 kDSCatEntryProperty_Volatile,
176 kDSCatEntryProperty_Last = kDSCatEntryProperty_Volatile,
179 struct DatasetCatalogDatasetHeaderPropertyCrossTable {
183 static const DatasetCatalogDatasetHeaderPropertyCrossTable
184 kDatasetCatalogDatasetHeaderPropertyCrossTable[] = {
201 { kDSCatEntryProperty_Terminated, kDSP_Terminated },
203 { kDSCatEntryProperty_ConversionDate, kDSP_ConversionDate },
243 kDataProducerCodesCatalogEntry_AgencyName = 0,
244 kDataProducerCodesCatalogEntry_AgencyCode,
245 kDataProducerCodesCatalogEntry_AgencyID,
246 kDataProducerCodesCatalogEntry_CountryCode,
247 kDataProducerCodesCatalogEntry_CountryName,
248 kDataProducerCodesCatalogEntry_Official,
263 virtual GDBResult SDK_CALLTYPE
Open(
264 const SDKString& file_name,
272 virtual GDBResult SDK_CALLTYPE
Create(
318 const CatalogEntryKey* entry_key,
329 CatalogPropertyID
id,
330 SDKAny* property)
const throw() = 0;
337 SDKUInt32& count)
const throw() = 0;
339 template<
typename T >
340 GDBResult GetCatalogPropertyT(CatalogPropertyID
id, T& out)
const throw() {
345 if (ANY_IS_EMPTY(&value))
360 virtual GDBResult SDK_CALLTYPE
StartEditing() throw() = 0;
367 sdk::base::ISDKResource* resource) throw() = 0;
370 virtual GDBResult SDK_CALLTYPE
IsBeingEdited() const throw() = 0;
387 const CatalogEntryKey* entry_key,
396 const CatalogEntryKey* entry_key) throw() = 0;
405 CatalogPropertyID
id,
406 const SDKAny* value) throw() = 0;
424 virtual GDBResult SDK_CALLTYPE GetCatalog(
426 ICatalog** catalog)
const throw() = 0;
434 virtual GDBResult SDK_CALLTYPE CreateCatalog(
445 virtual GDBResult SDK_CALLTYPE GetGeodatabaseProperty(
447 SDKAny& property_value)
throw() = 0;
454 virtual GDBResult SDK_CALLTYPE GetResourceStorage(
455 base::ISDKResourceStorage** resource_storage)
const throw() = 0;
457 template<
typename T >
461 GDBResult res = GetGeodatabaseProperty(
id, value);
464 if (ANY_IS_EMPTY(&value))
482 virtual GDBResult SDK_CALLTYPE SetGeodatabaseProperty(
484 const SDKAny& property_value)
throw() = 0;
500 virtual GDBResult SDK_CALLTYPE GetDatasetIDs(
501 const geometry::IGeometry* geometric_filter,
506 virtual GDBResult SDK_CALLTYPE GetDatasetName(
const DatasetID& did,
507 SDKString& dataset_name)
const throw() = 0;
510 virtual GDBResult SDK_CALLTYPE GetDatasetID(
const SDKString& dataset_name,
511 DatasetID& did)
const throw() = 0;
530 virtual GDBResult SDK_CALLTYPE GetDatasetCoverage(
531 const CatalogEntryKey* entry_key,
532 geometry::IGeometry** coverage)
throw() = 0;
549 virtual GDBResult SDK_CALLTYPE GetProperty(
550 CatalogEntryPropertyID
id,
551 SDKAny& value)
const throw() = 0;
559 virtual GDBResult SDK_CALLTYPE SetProperty(
560 CatalogEntryPropertyID
id,
561 const SDKAny& value)
throw() = 0;
563 template<
typename T >
564 GDBResult GetPropertyT(CatalogEntryPropertyID
id, T& out)
const throw() {
566 GDBResult res = GetProperty(
id, value);
569 if (ANY_IS_EMPTY(&value))
589 virtual GDBResult SDK_CALLTYPE Next(
592 virtual GDBResult SDK_CALLTYPE Reset() throw() = 0;
603 virtual SDKResult SDK_CALLTYPE GetFilterByGeometry(
605 SDK_GEOMETRY_NAMESPACE::IGeometry* geometry_filter,
613 SDK_GDB_END_NAMESPACE
615 #endif // SDK_GDB_CATALOG_INTERFACE_H_
@ kDSCatEntryProperty_Flags
Flags.
Definition: gdb_catalog.h:146
@ kCatEntryType_DatasetCatalog
Dataset catalog.
Definition: gdb_catalog.h:65
@ kDSP_DS_NE_LON
Float64 Dataset envelope in degrees.
Definition: gdb_dataset.h:176
@ kRootCatEntryProperty_VolumeName
Volume name.
Definition: gdb_catalog.h:113
Describes interfaces that manages a geodatabase dataset object.
@ kCatEntryType_FeatureDataset
Feature dataset.
Definition: gdb_catalog.h:52
@ kDSP_CompilationScale
UInt32 Compilation scale.
Definition: gdb_dataset.h:168
@ kCatFlag_IsEncrypted
Catalog is encrypted.
Definition: gdb_catalog.h:102
@ kDSP_MinDispScale
Definition: gdb_dataset.h:193
@ kDT_RootCatalog
Root Catalog.
Definition: gdb_dataset.h:60
virtual GDBResult SDK_CALLTYPE StartEditing()=0
Starts editing the catalog.
@ kCatEntryType_Text
Text.
Definition: gdb_catalog.h:61
A Workspace is a container of spatial and non-spatial datasets. Workspace is a non-creatable object....
Definition: gdb_workspace.h:525
CatalogProperty
Catalog properties.
Definition: gdb_catalog.h:88
@ kDT_CRS
Coordinate Ref System Dataset.
Definition: gdb_dataset.h:64
@ kRootCatEntryProperty_VolumeType
Volume type.
Definition: gdb_catalog.h:112
@ kCatType_DatasetCatalog
Dataset catalog.
Definition: gdb_catalog.h:81
@ kDSCatEntryProperty_VolumeType
Volume type.
Definition: gdb_catalog.h:141
@ kRootCatEntryProperty_CRC
CRC Text and image files.
Definition: gdb_catalog.h:111
@ kCatType_Any
Any catalog type.
Definition: gdb_catalog.h:79
@ kDSCatEntryProperty_CoverageType
Coverage type.
Definition: gdb_catalog.h:158
virtual GDBResult SDK_CALLTYPE IsBeingEdited() const =0
Indicates if the catalog is being edited.
@ kCatType_CoverageCatalog
Coverage catalog.
Definition: gdb_catalog.h:82
Describes interfaces that manages a geometry objects.
Provides access to members that enumerate through dataset ids.
Definition: gdb_workspace.h:898
@ kDSCovType_Empty
Empty coverage.
Definition: gdb_catalog.h:225
@ kDSP_Volatile
SDKBool. Indicates if dataset is volatile (Read & Write).
Definition: gdb_dataset.h:207
Provides access to members for managing a CatalogEntry.
Definition: gdb_catalog.h:541
@ kDT_HTML
HTML.
Definition: gdb_dataset.h:58
@ kDSCatEntryProperty_Scale_Min
Minimum scale.
Definition: gdb_catalog.h:151
VolumeType
Volume types.
Definition: gdb_catalog.h:232
@ kRootCatEntryProperty_FileSize
File size.
Definition: gdb_catalog.h:116
virtual GDBResult SDK_CALLTYPE GetCatalogProperty(CatalogPropertyID id, SDKAny *property) const =0
Returns the value of the specified property.
@ kDSCatEntryProperty_EditionNumber
Edition number.
Definition: gdb_catalog.h:148
@ kDT_DataProducerCodesCatalog
Data producer codes catalog.
Definition: gdb_dataset.h:66
RootCatalogGeodatabaseProperty
Defines the geodatabase properties.
Definition: gdb_catalog.h:124
@ kCatEntryType_HTML
HTML.
Definition: gdb_catalog.h:62
@ kDT_IndexDataset
Index dataset.
Definition: gdb_dataset.h:68
Generic data resource interfaces.
@ kDSP_DatasetOverlayType
Definition: gdb_dataset.h:201
@ kDSP_DS_SW_LON
Float64 Dataset envelope in degrees.
Definition: gdb_dataset.h:172
@ kDT_UpdateHistory
Update History.
Definition: gdb_dataset.h:49
Provides access to members for editing a Catalog.
Definition: gdb_catalog.h:357
@ kCatEntryType_DatasetCatalogSpatialIndex
Dataset spatial index.
Definition: gdb_catalog.h:66
@ kDT_XSLT
XSLT.
Definition: gdb_dataset.h:56
@ kDSP_OfficialStatus
SDKBool. Indicates if a dataset is an official ENC.
Definition: gdb_dataset.h:206
@ kDSP_DataserverID
SDKUInt16. Data server id.
Definition: gdb_dataset.h:210
@ kRootCatGeodatabaseProperty_SencVersion
SENC database version.
Definition: gdb_catalog.h:130
@ kDT_DatasetCatalogSpatialIndex
Dataset Catalog spatial index.
Definition: gdb_dataset.h:62
@ kDSCatEntryProperty_Bounds_NELat
North-East latitude.
Definition: gdb_catalog.h:156
@ kCatType_RootCatalog
Root catalog.
Definition: gdb_catalog.h:80
@ kRootCatEntryProperty_PRSP
PRSP.
Definition: gdb_catalog.h:110
@ kDSCatEntryProperty_FileSize
File size.
Definition: gdb_catalog.h:145
@ kDSP_DS_SW_LAT
Float64 Dataset envelope in degrees.
Definition: gdb_dataset.h:170
@ kVolumeType_BLOB
BLOB volume.
Definition: gdb_catalog.h:234
@ kRootCatEntryProperty_FileType
File type.
Definition: gdb_catalog.h:119
@ kCatFlag_IsCompressed
Catalog is compressed.
Definition: gdb_catalog.h:103
@ kCatEntryType_S63Permit
S-63 Permit.
Definition: gdb_catalog.h:69
@ kCatEntryType_XSLT
XSLT.
Definition: gdb_catalog.h:60
CatalogType
The catalog type.
Definition: gdb_catalog.h:78
@ kCatEntryType_Raster
Raster.
Definition: gdb_catalog.h:58
@ kDSP_Encryption
unsigned int. Encryption algorithm.
Definition: gdb_dataset.h:181
Provides access to members for reading a Catalog. A Catalog is a collection of entries that specifies...
Definition: gdb_catalog.h:295
@ kDT_SpatialIndex
Spatial index.
Definition: gdb_dataset.h:53
@ kRootCatGeodatabaseProperty_SencDescription
SENC description.
Definition: gdb_catalog.h:132
@ kDSCatEntryProperty_Bounds_NELon
North-East longitude.
Definition: gdb_catalog.h:157
@ kCatEntryType_Coverage
Coverage catalog.
Definition: gdb_catalog.h:56
@ kRootCatEntryProperty_Flags
Flags.
Definition: gdb_catalog.h:117
@ kDSP_EditionNumber
unsigned int. Edition Number of a dataset.
Definition: gdb_dataset.h:153
@ kRootCatGeodatabaseProperty_ENCIssueDate
Last compiled ENC database issue date.
Definition: gdb_catalog.h:129
@ Ok
Operation completed successfully.
Definition: sdk_results_enum.h:22
@ kDSP_MaxDispScale
Definition: gdb_dataset.h:196
DatasetCatalogEntryProperty
The dataset catalog properties.
Definition: gdb_catalog.h:137
Provides access to members for managing a CoverageCatalog.
Definition: gdb_catalog.h:521
@ kCatFlag_NoFlags
No flags.
Definition: gdb_catalog.h:101
@ kDT_Portrayal
Portrayal.
Definition: gdb_dataset.h:51
@ kCatEntryType_CoverageCatalog
Coverage catalog.
Definition: gdb_catalog.h:67
@ kDSCatEntryProperty_PRSP
PRSP.
Definition: gdb_catalog.h:140
virtual GDBResult SDK_CALLTYPE GetCatalogEntryCount(SDKUInt32 &count) const =0
Returns the number of catalog entries.
@ kDT_Multimedia
Multimedia Dataset.
Definition: gdb_dataset.h:59
SDKInt32 SDKResult
Type of all error or return codes which SDK functions can end with.
Definition: sdk_results.h:17
@ kDSP_ProducingAgency
unsigned short. Agency responsible for the data producing.
Definition: gdb_dataset.h:166
@ kCatProperty_TempPath
TempPath.
Definition: gdb_catalog.h:95
@ kDSP_DS_NE_LAT
Float64 Dataset envelope in degrees.
Definition: gdb_dataset.h:174
Provides access to members that create and open the root catalog.
Definition: gdb_catalog.h:253
CatalogEntryType
The catalog entry type.
Definition: gdb_catalog.h:50
@ kCatEntryType_XML
XML.
Definition: gdb_catalog.h:59
@ kDSP_Profile
enum DatasetProfile
Definition: gdb_dataset.h:184
RootCatalogEntryProperty
The root catalog entries.
Definition: gdb_catalog.h:109
Geo database constants and structures.
@ kCatEntryType_Multimedia
Multimedia.
Definition: gdb_catalog.h:63
@ kCatEntryType_SpatialIndex
Spatial index.
Definition: gdb_catalog.h:57
@ kVolumeType_S01
S01 file, update file.
Definition: gdb_catalog.h:236
@ kDSCatEntryProperty_Encryption
Encryption.
Definition: gdb_catalog.h:159
@ Err_InvalidArg
Wrong argument passed to function.
Definition: sdk_results_enum.h:27
Provides access to members that enumerate through Catalog.
Definition: gdb_catalog.h:581
@ kDSP_Layering
Definition: gdb_dataset.h:199
@ kRootCatEntryProperty_DID
DID.
Definition: gdb_catalog.h:118
virtual GDBResult SDK_CALLTYPE GetCatalogEntries(CatalogEntryType type, IEnumCatalogEntry **entries) const =0
Returns an enumerator over the entries in the catalog for the specified entry type.
@ kCatEntryType_Rules
Rules.
Definition: gdb_catalog.h:71
@ kDT_Any
Any entry.
Definition: gdb_dataset.h:47
@ kCatEntryType_Portrayal
Portrayal catalog.
Definition: gdb_catalog.h:55
virtual GDBResult SDK_CALLTYPE AddCatalogEntry(const CatalogEntryKey *entry_key, ICatalogEntry *entry)=0
Adds or replaces a catalog entry.
virtual GDBResult SDK_CALLTYPE StopEditing(bool save_edits, sdk::base::ISDKResource *resource)=0
Stops editing the catalog.
@ kDT_S63Permit
S-63 Permit.
Definition: gdb_dataset.h:65
DataProducerCodesCatalogEntryProperty
The data producer codes catalog properties.
Definition: gdb_catalog.h:242
virtual GDBResult SDK_CALLTYPE OpenFromResourceStorage(sdk::base::ISDKResourceStorage *resource_storage, IRootCatalog **catalog) noexcept=0
Opens the data-source catalog specified by ISDKResourceStorage.
@ kDSCatEntryProperty_UpdateNumber
Update number.
Definition: gdb_catalog.h:149
@ kDT_FeatureDataset
Feature dataset entries.
Definition: gdb_dataset.h:48
@ kRootCatGeodatabaseProperty_CompilationTime
Geodatabase compilation time.
Definition: gdb_catalog.h:126
virtual GDBResult SDK_CALLTYPE DeleteEntry(const CatalogEntryKey *entry_key)=0
Deletes a catalog entry specified by the entry identifier.
Provides access to members for editing a Root Catalog.
Definition: gdb_catalog.h:476
@ kDSCatEntryProperty_VolumeName
Volume name.
Definition: gdb_catalog.h:142
@ kRootCatEntryProperty_FileName
File name.
Definition: gdb_catalog.h:114
@ kRootCatGeodatabaseProperty_NavStick
Indicates if a geodatabase was compiled from NAVTOR NavStick.
Definition: gdb_catalog.h:128
@ kDSCatEntryProperty_Bounds_SWLon
South-West longitude.
Definition: gdb_catalog.h:155
@ kCatEntryType_FeatureCatalog
Feature catalog.
Definition: gdb_catalog.h:54
@ kCatEntryType_CRS
Coordinate systems.
Definition: gdb_catalog.h:68
@ kCatFlag_CollectExternalFilesFromRootPath
External files (attachments collected from the root path)
Definition: gdb_catalog.h:104
@ kDSCatEntryProperty_DID
DID.
Definition: gdb_catalog.h:147
#define SDK_FAILED(res)
Checks failed result.
Definition: sdk_results_enum.h:69
Provides access to members for managing a DatasetCatalog.
Definition: gdb_catalog.h:493
@ kDSCovType_Max
Maximum coverage.
Definition: gdb_catalog.h:227
CatalogFlag
Catalog entry flags.
Definition: gdb_catalog.h:100
@ kCatEntryType_DataProducerCodesCatalog
Data producer codes catalog.
Definition: gdb_catalog.h:70
virtual GDBResult SDK_CALLTYPE CreateCatalogEntry(ICatalogEntry **entry)=0
Creates catalog entry.
@ kDSCovType_Normal
Normal coverage.
Definition: gdb_catalog.h:224
Base interface for all SDK interfaces.
Definition: sdk_component_interface.h:41
virtual GDBResult SDK_CALLTYPE Open(const SDKString &file_name, IRootCatalog **catalog)=0
Opens the data-source catalog specified by the given file name.
@ kRootCatEntryProperty_FileOffset
File offset.
Definition: gdb_catalog.h:115
This class wraps the SDKAny type.
Definition: sdk_any_handler.h:32
@ Err_NotExist
Not exist.
Definition: sdk_results_enum.h:26
@ kRootCatGeodatabaseProperty_Encryption
Encryption type used for the datasets encryption. See sdk::gdb::senc::ENCA_Enum.
Definition: gdb_catalog.h:127
@ kCatEntryType_UpdateHistory
Update history.
Definition: gdb_catalog.h:53
@ kCatProperty_SpatialIndex_Name
Spatial index name.
Definition: gdb_catalog.h:91
CoverageCatalogEntryProperty
Coverage catalog properties.
Definition: gdb_catalog.h:216
@ kDT_XML
XML.
Definition: gdb_dataset.h:55
@ kCatProperty_FileName
File name.
Definition: gdb_catalog.h:89
@ kDSCatEntryProperty_FileName
File name.
Definition: gdb_catalog.h:143
@ kRootCatGeodatabaseProperty_ValidThrough
SENC valid through date.
Definition: gdb_catalog.h:131
@ kCatProperty_FilePath
File path.
Definition: gdb_catalog.h:90
@ kRootCatGeodatabaseProperty_GeodatabaseName
Geodatabase name.
Definition: gdb_catalog.h:125
Provides access to members that managing the root catalog.
Definition: gdb_catalog.h:415
@ kCatProperty_WorkspaceID
Workspace ID.
Definition: gdb_catalog.h:94
@ kVolumeType_DB3
DB3 file.
Definition: gdb_catalog.h:235
@ kCatProperty_PermitCollection
Permit collection.
Definition: gdb_catalog.h:92
@ kDT_Coverage
Feature Dataset coverage.
Definition: gdb_dataset.h:52
@ kDSP_IssueDate
SDKDate. The issue date of a dataset.
Definition: gdb_dataset.h:159
@ kDSP_ProductSpecificationDescription
Product specification description.
Definition: gdb_dataset.h:186
@ kDT_Text
Text Dataset.
Definition: gdb_dataset.h:57
@ kDT_FeatureCatalog
Feature catalog.
Definition: gdb_dataset.h:50
@ kCoverageCatEntryProperty_Geometry
Geometry.
Definition: gdb_catalog.h:218
@ kDT_Rules
Rules.
Definition: gdb_dataset.h:67
@ kDSP_Flags
Dataset flags encryption, compression.
Definition: gdb_dataset.h:224
@ kDSP_PRSP
SDKUInt16. The product specification code of a dataset.
Definition: gdb_dataset.h:164
@ kCoverageCatEntryProperty_FileName
File name.
Definition: gdb_catalog.h:217
@ kDT_DatasetCatalog
Dataset Catalog.
Definition: gdb_dataset.h:61
@ kDSCatEntryProperty_Scale_Max
Maximum scale.
Definition: gdb_catalog.h:152
@ kDSCovType_Infinite
Infinite coverage.
Definition: gdb_catalog.h:226
Provides access to chart catalog.
Definition: gdb_catalog.h:601
@ kDSP_UpdateNumber
unsigned int. Update Number of a dataset.
Definition: gdb_dataset.h:155
@ kDT_Raster
Raster Dataset.
Definition: gdb_dataset.h:54
DatasetCoverageType
Dataset coverage types.
Definition: gdb_catalog.h:223
@ kCatEntryType_IndexDataset
Index dataset.
Definition: gdb_catalog.h:72
@ kDSP_SpecificUsage
Definition: gdb_dataset.h:188
virtual GDBResult SDK_CALLTYPE SetCatalogProperty(CatalogPropertyID id, const SDKAny *value)=0
Sets the value of the specified property.
@ kDSCatEntryProperty_Layering
Layering.
Definition: gdb_catalog.h:160
@ kDSP_UpdateApplicationDate
date. The Update application date of a dataset.
Definition: gdb_dataset.h:157
@ kDSCatEntryProperty_Bounds_SWLat
South-West latitude.
Definition: gdb_catalog.h:154
Provides access to members for managing an Object parameter set.
Definition: gdb_workspace.h:941
@ kCatEntryType_RootCatalog
Root catalog.
Definition: gdb_catalog.h:64
@ kDSCatEntryProperty_CompilationScale
Compilation scale.
Definition: gdb_catalog.h:153
FWD_DECL_INTERFACE(ILWEParserWrapper)
Provides a wrapper around the message parser to get, add or remove the.
@ kDSCatEntryProperty_ProducingAgency
Producing agency.
Definition: gdb_catalog.h:150
@ kVolumeType_NoVolume
No volume.
Definition: gdb_catalog.h:233
@ kDSP_IntendedUsage
SDKUint16. The dataset intended usage.
Definition: gdb_dataset.h:161
virtual GDBResult SDK_CALLTYPE Create(IRootCatalog **catalog)=0
Creates an empty root catalog.
@ kDSCatEntryProperty_FileOffset
File offset.
Definition: gdb_catalog.h:144
virtual GDBResult SDK_CALLTYPE GetCatalogEntry(const CatalogEntryKey *entry_key, ICatalogEntry **entry) const =0
Returns a catalog entry specified by the entry identifier. For example, the entry_key can be a Datase...
@ kCatProperty_SpatialIndex
Spatial index.
Definition: gdb_catalog.h:93
Provides access to members that return information about and manage the resource storage.
Definition: generic_resource_interface.h:108
DatasetProperty
Dataset properties.
Definition: gdb_dataset.h:149
Wrappers for work with SDKAny instance.
@ kDT_CoverageCatalog
Coverage Catalog.
Definition: gdb_dataset.h:63
@ kCatType_DataProducerCodesCatalog
Data producer codes catalog.
Definition: gdb_catalog.h:83
@ kVolumeType_Max
Max volume.
Definition: gdb_catalog.h:237
@ kDSP_NewEditionAvailable
New edition available.
Definition: gdb_dataset.h:183