NAVTOR SDK  v.3.0
Software Development Kit for fast and efficient development of ECDIS, ECS and generic marine applications
IWorkspace Class Referenceabstract

A Workspace is a container of spatial and non-spatial datasets. Workspace is a non-creatable object. References to non-creatable objects must be obtained through other objects. More...

#include <gdb_workspace.h>

Inheritance diagram for IWorkspace:
ISDKComponent

Public Member Functions

virtual GDBResult SDK_CALLTYPE GetWorkspaceID (WorkspaceID &id) const =0 throw ()
 Returns Workspace identifier.
 
virtual GDBResult SDK_CALLTYPE GetWorkspaceFactory (IWorkspaceFactory **factory)=0 throw ()
 Returns a reference back to the workspace factory for this workspace. More...
 
virtual GDBResult SDK_CALLTYPE GetConfiguration (IWorkspaceConfiguration **configuration) const =0 throw ()
 Returns the pointer to configuration object that was used during the workspace construction. More...
 
virtual GDBResult SDK_CALLTYPE GetWorkspaceProperty (WorkspacePropertyId property_id, SDKAny &value) const =0 throw ()
 Returns properties of the workspace. More...
 
virtual GDBResult SDK_CALLTYPE GetCatalog (CatalogType catalog_type, ICatalog **catalog) const =0 throw ()
 Returns the pointer to the workspace catalog specified by the type of the catalog. More...
 
virtual GDBResult SDK_CALLTYPE GetFeatureCatalog (PRSP prsp, IClassCatalog **feature_catalog) const =0 throw ()
 Returns the pointer to the feature catalog specified by the PRSP. More...
 
virtual GDBResult SDK_CALLTYPE GetDatasetIDs (geometry::IGeometry *geometric_filter, IQueryParameters *parameter_filter, IEnumDatasetID **enum_dataset_id)=0 throw ()
 Returns an enumerator over the dataset identifiers in the workspace for the specified geometric and parameters filters. More...
 
virtual GDBResult SDK_CALLTYPE GetDatasets (geometry::IGeometry *geometric_filter, IQueryParameters *parameter_filter, IEnumDataset **datasets)=0 throw ()
 Returns an enumerator over the datasets in the workspace of the specified geometric and parameters filters. GetDatasets will return a fully constructed dataset object. More...
 
virtual GDBResult SDK_CALLTYPE GetDataset (DatasetID dataset_id, IDataset **dataset)=0 throw ()
 Returns a fully constructed dataset object specified by id. More...
 
virtual GDBResult SDK_CALLTYPE GetDatasetByName (const SDKString &dataset_name, IDataset **dataset)=0 throw ()
 Returns a fully constructed dataset object specified by name. More...
 
virtual GDBResult SDK_CALLTYPE GetFeature (ObjectID id, IFeature **feature)=0 throw ()
 Returns the feature specified by the object identifier. More...
 
virtual GDBResult SDK_CALLTYPE GetState (WorkspaceState &state) const =0 throw ()
 Retrieves the status for a workspace. More...
 
virtual GDBResult SDK_CALLTYPE GetWorkspaceUpdateHistory (IWorkspaceUpdateHistory **update_history)=0 throw ()
 Returns the IWorkspaceUpdateHistory interface associated with the workspace update history.
 
virtual GDBResult SDK_CALLTYPE GetPermits (IPermitCollection **permit_collection)=0 throw ()
 Returns the IPermitCollection interface associated with the workspace permits. More...
 
virtual GDBResult SDK_CALLTYPE GetDatasetID (const SDKString &dataset_name, DatasetID &dataset_id) const =0 throw ()
 Returns the dataset id for the dataset specified by name. More...
 
virtual GDBResult SDK_CALLTYPE GetFeatures (geometry::IGeometry *geometry_filter, IQueryParameters *parameters, IFeatureFilter *back_call_feature_filter, IEnumFeature **features)=0 throw ()
 Returns an enumeration of the features which contain in this workspace. More...
 
virtual GDBResult SDK_CALLTYPE GetCellActuality (const SDKString &cell_name, CellActuality &actuality)=0 throw ()
 Returns the actuality status of an installed ENC cell relative to the data server product list (PRODUCTS.TXT dataset) stored in the same SENC. More...
 
- Public Member Functions inherited from ISDKComponent
virtual SDKAtomicRefCount SDK_CALLTYPE AddRef () const =0 throw ()
 Increments the reference count for an interface on a component.

 
virtual SDKAtomicRefCount SDK_CALLTYPE Release () const =0 throw ()
 Decrements the reference count for an interface on a component.
 
virtual SDKResult SDK_CALLTYPE GetInterface (const InterfaceId &id, void **obj_ptr)=0 throw ()
 Returns pointers to the supported interfaces on a component.
 
template<typename _Itf >
SDKResult GetInterface (_Itf **obj_ptr) throw ()
 Returns pointers to the supported interfaces on a component.
 

Detailed Description

A Workspace is a container of spatial and non-spatial datasets. Workspace is a non-creatable object. References to non-creatable objects must be obtained through other objects.

Member Function Documentation

◆ GetWorkspaceFactory()

virtual GDBResult SDK_CALLTYPE GetWorkspaceFactory ( IWorkspaceFactory **  factory)
throw (
)
pure virtual

Returns a reference back to the workspace factory for this workspace.

Parameters
[out]factoryAddress of a variable that receives a pointer to the IWorkspaceFactory interface associated with the workspace factory that opened the workspace.
Returns
kSDKResult_Succeeded
kSDKResult_NotImplemented
kSDKResult_InvalidArgument
kSDKResult_NotExist

◆ GetConfiguration()

virtual GDBResult SDK_CALLTYPE GetConfiguration ( IWorkspaceConfiguration **  configuration) const
throw (
)
pure virtual

Returns the pointer to configuration object that was used during the workspace construction.

Parameters
[out]configurationAddress of a variable that receives a pointer to the IWorkspaceConfiguration interface associated with a workspace configuration.
Returns
kSDKResult_Succeeded
kSDKResult_NotImplemented
kSDKResult_InvalidArgument
kSDKResult_NotExist

◆ GetWorkspaceProperty()

virtual GDBResult SDK_CALLTYPE GetWorkspaceProperty ( WorkspacePropertyId  property_id,
SDKAny &  value 
) const
throw (
)
pure virtual

Returns properties of the workspace.

Parameters
[in]property_idA workspace property identifier.
[out]valueAddress of a variable that receives a property value.
Returns
kSDKResult_Succeeded
kSDKResult_NotImplemented
kSDKResult_InvalidArgument
kSDKResult_NotExist

◆ GetCatalog()

virtual GDBResult SDK_CALLTYPE GetCatalog ( CatalogType  catalog_type,
ICatalog **  catalog 
) const
throw (
)
pure virtual

Returns the pointer to the workspace catalog specified by the type of the catalog.

Parameters
[in]catalog_typeType of a catalog.
[out]catalogAddress of a variable that receives the pointer to the ICatalog interface associated with a catalog of specified type.
Returns
kSDKResult_Succeeded
kSDKResult_NotImplemented
kSDKResult_InvalidArgument
kSDKResult_NotExist

◆ GetFeatureCatalog()

virtual GDBResult SDK_CALLTYPE GetFeatureCatalog ( PRSP  prsp,
IClassCatalog **  feature_catalog 
) const
throw (
)
pure virtual

Returns the pointer to the feature catalog specified by the PRSP.

Parameters
[in]prspProduct specification.
[out]feature_catalogAddress of a variable that receives the pointer to the IClassCatalog interface associated with a feature catalog.
Returns
kSDKResult_Succeeded
kSDKResult_NULLPointer
kSDKResult_NotFound
kSDKResult_InternalError

◆ GetDatasetIDs()

virtual GDBResult SDK_CALLTYPE GetDatasetIDs ( geometry::IGeometry *  geometric_filter,
IQueryParameters *  parameter_filter,
IEnumDatasetID **  enum_dataset_id 
)
throw (
)
pure virtual

Returns an enumerator over the dataset identifiers in the workspace for the specified geometric and parameters filters.

Parameters
[in]geometric_filterPointer to the IGeometry interface associated with a geometry for the request filtration.
[in]parameter_filterPointer to the IQueryParameters interface associated with the dataset parameters filter.
[out]enum_dataset_idAddress of a variable that receives a pointer to the IEnumDatasetID interface associated with a dataset enumeration.
Returns
kSDKResult_Succeeded
kSDKResult_NotImplemented
kSDKResult_InvalidArgument
kSDKResult_EmptyValue

◆ GetDatasets()

virtual GDBResult SDK_CALLTYPE GetDatasets ( geometry::IGeometry *  geometric_filter,
IQueryParameters *  parameter_filter,
IEnumDataset **  datasets 
)
throw (
)
pure virtual

Returns an enumerator over the datasets in the workspace of the specified geometric and parameters filters. GetDatasets will return a fully constructed dataset object.

Parameters
[in]geometric_filterPointer to IGeometry interface associated with a geometry for the request filtration.
[in]parameter_filterPointer to IQueryParameters interface associated with the dataset parameters filter.
[out]datasetsAddress of a variable that receives a pointer to the IEnumDataset interface associated with a dataset enumeration.
Returns
kSDKResult_Succeeded
kSDKResult_NotImplemented
kSDKResult_InvalidArgument
kSDKResult_NotFound

◆ GetDataset()

virtual GDBResult SDK_CALLTYPE GetDataset ( DatasetID  dataset_id,
IDataset **  dataset 
)
throw (
)
pure virtual

Returns a fully constructed dataset object specified by id.

Parameters
[in]dataset_idA dataset identifier.
[out]datasetAddress of a variable that receives a pointer to the IDataset interface associated with a dataset.
Returns
kSDKResult_Succeeded
kSDKResult_NotImplemented
kSDKResult_InvalidArgument

◆ GetDatasetByName()

virtual GDBResult SDK_CALLTYPE GetDatasetByName ( const SDKString &  dataset_name,
IDataset **  dataset 
)
throw (
)
pure virtual

Returns a fully constructed dataset object specified by name.

Parameters
[in]dataset_name- A dataset name.
[out]dataset- Address of a variable that receives a pointer to the IDataset interface associated with a dataset.
Returns
kSDKResult_Succeeded
kSDKResult_NotImplemented
kSDKResult_InvalidArgument

◆ GetFeature()

virtual GDBResult SDK_CALLTYPE GetFeature ( ObjectID  id,
IFeature **  feature 
)
throw (
)
pure virtual

Returns the feature specified by the object identifier.

Parameters
id[in] The object identifier.
feature[out] Address of a variable that receives the pointer to the IFeature interface associated with the feature.
Returns
kSDKResult_Succeeded
kSDKResult_NotImplemented
kSDKResult_InvalidArgument
kSDKResult_NotFound

◆ GetState()

virtual GDBResult SDK_CALLTYPE GetState ( WorkspaceState &  state) const
throw (
)
pure virtual

Retrieves the status for a workspace.

Parameters
[out]stateAddress of a variable that receives a workspace state.

◆ GetPermits()

virtual GDBResult SDK_CALLTYPE GetPermits ( IPermitCollection **  permit_collection)
throw (
)
pure virtual

Returns the IPermitCollection interface associated with the workspace permits.

Parameters
[out]permit_collectionAddress of a variable that receives the pointer to the IPermitCollection interface associated with the permit collection.
Returns
kSDKResult_Succeeded

◆ GetDatasetID()

virtual GDBResult SDK_CALLTYPE GetDatasetID ( const SDKString &  dataset_name,
DatasetID &  dataset_id 
) const
throw (
)
pure virtual

Returns the dataset id for the dataset specified by name.

Parameters
[in]dataset)nameThe dataset name.
[out]dataset_idAddress of a variable that receives the dataset identifier.
Returns
kSDKResult_Succeeded
kSDKResult_NotImplemented
kSDKResult_InvalidArgument
kSDKResult_NotFound

◆ GetFeatures()

virtual GDBResult SDK_CALLTYPE GetFeatures ( geometry::IGeometry *  geometry_filter,
IQueryParameters *  parameters,
IFeatureFilter *  back_call_feature_filter,
IEnumFeature **  features 
)
throw (
)
pure virtual

Returns an enumeration of the features which contain in this workspace.

Parameters
[in]geometry_filterPointer to the IGeometry interface associated with the geometry object.
[in]parametersSet of parameters that specify request for the feature iteration IQueryParameters
[in]back_call_feature_filterPointer to the IFeatureFilter interface associated with the filter of the features. Called for every feature in iteration.
[out]featuresAddress of a variable that receives the pointer to the IEnumFeature interface associated with the feature enumeration object.
Returns
kSDKResult_Succeeded
kSDKResult_NotImplemented
kSDKResult_InvalidArgument
kSDKResult_NotFound

◆ GetCellActuality()

virtual GDBResult SDK_CALLTYPE GetCellActuality ( const SDKString &  cell_name,
CellActuality &  actuality 
)
throw (
)
pure virtual

Returns the actuality status of an installed ENC cell relative to the data server product list (PRODUCTS.TXT dataset) stored in the same SENC.

The method compares the edition and update numbers of the installed cell dataset (kDSP_EditionNumber / kDSP_UpdateNumber) with the corresponding record attributes of the PRODUCTS.TXT dataset stored in the SENC (base cell edition / latest update number) and takes into account the terminated and new edition flags of the cell dataset, as well as the cancelled cell replacement marker of the PRODUCTS.TXT record.

The result is fail-safe: kCellActuality_Unknown is set whenever the comparison can not be positively performed - there is no PRODUCTS.TXT dataset in this SENC, there is no PRODUCTS.TXT record for the given cell, the required dataset properties or record attributes can not be read, or the cell name is not a valid 8 symbol cell name. A consumer MUST NOT interpret kCellActuality_Unknown as "up to date": unknown actuality has to be reported to the user as uncertainty, not as actuality.

Parameters
[in]cell_nameCell (dataset) name. Directory and SENC file extension are optional.
[out]actualityAddress of a variable that receives the cell actuality status (see CellActuality). It is set to kCellActuality_Unknown on any failure.
Returns
kSDKResult_Succeeded The status is returned in actuality (kCellActuality_Unknown is a valid result).
kSDKResult_InvalidArgument The cell name is null or empty.
kSDKResult_NotFound or kSDKResult_NotExist There is no dataset with the given name in this workspace (the cell is not installed): the error, returned by GetDatasetByName for an absent dataset, is passed through (kSDKResult_NotFound), kSDKResult_NotExist is returned in case the dataset is found, but its interface is not available.
kSDKResult_Uninitialized or another error if the workspace internals are not initialized.

The documentation for this class was generated from the following file: