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

The SENC builder component is intended to build and update a SENC database from the S57/S-63 data. The SENC builder component implements the IConnectionPointContainer for the outgoing interface ISENCBuilderCallback Defined in datalayer/inc/senc_builder/senc_builder_interface.h. More...

#include <senc_builder_interface.h>

Inherits ISDKProperties.

Public Member Functions

virtual SDKResult SDK_CALLTYPE GetSACertificateInfo (const SDKAny &sa_certificate_path, sdk::crypt::DSAPublicCryptoKeySP &public_key, SDKTime &certificate_start_date, SDKTime &certificate_expiration_date, bool &is_iho_certificate) const =0 throw ()
 Returns the SA certificate or SA public key details. More...
 
virtual SDKResult SDK_CALLTYPE FindENC (const SDKAny &path, bool &is_enc_database, SDKUInt64 &flags) const =0 throw ()
 Finds an ENC on the specified path. More...
 
virtual SDKResult SDK_CALLTYPE FindNavStick (const SDKAny &path_to_navstick, bool &is_navstick, SDKUInt64 &flags) const =0 throw ()
 Identifies the NavStick on the specified path. More...
 
virtual SDKResult SDK_CALLTYPE FindPermitsOnNavStick (const SDKAny &path_to_navstick, const SDKString &system_id, SDKAny &permits_file_on_navstick) const =0 throw ()
 Finds appropriate permits file on NavStick. More...
 
virtual SDKResult SDK_CALLTYPE GetDataserverID (const SDKAny &path_to_enc, sdk::s63::DataServerID &dataserver_id) const =0 throw ()
 Returns the dataserver ID produced the ENC. Path should point to the directory containing CATALOG.031. More...
 
virtual SDKResult SDK_CALLTYPE BuildSENCFromNavStick (const SDKString &navstick_root, const SDKString &dest_senc_root) const =0 throw ()
 Creates or updates a SENC from the NavStick ENC. In case an old SENC exists in the folder, it will be updated; if not, a new SENC will be produced. More...
 
virtual SDKResult SDK_CALLTYPE BuildSENC (const SDKString &senc_database_name, const SDKString &enc_path, const SDKString &senc_path, const SDKString &enc_storage_path, const SDKString &sa_certificate_path, const SDKString &permits_path, const sdk::s63::HW_ID &hw_id) const =0 throw ()
 Creates or updates a SENC from an ENC. In case an old SENC exists in the folder, it will be updated; if not, a new SENC will be produced. More...
 
virtual SDKResult SDK_CALLTYPE RemoveDatasetsFromSENC (const SDKString &senc_path, const SDKString &enc_storage_path, const SDKString &dataset_names_to_remove) const =0 throw ()
 Removes a set of datasets from the SENC. More...
 
virtual SDKResult SDK_CALLTYPE RemoveUpdatesFromSENC (const SDKString &senc_path, const SDKString &enc_storage_path, const SDKString &permits_path, const sdk::s63::HW_ID &hw_id, const SDKString &update_cell_names_to_remove) const =0 throw ()
 Removes a set of updates for from the SENC. More...
 
virtual SDKResult SDK_CALLTYPE RemoveENCStorage (const SDKString &senc_database_name, const SDKString &enc_storage_path) const =0 throw ()
 Removes the ENC storage. The ENC storage holds all ENCs used for producing the SENC. More...
 
virtual SDKResult SDK_CALLTYPE CopySENC (const SDKString &source_senc_path, const SDKString &dest_senc_path) const =0 throw ()
 Copies or updates an existing SENC by a new one. More...
 
virtual SDKResult SDK_CALLTYPE GetENCInfo (const SDKAny &path, IENCInfoSP &enc_info) const =0 throw ()
 Returns information about source ENC database on the specified path. More...
 
virtual SDKResult SDK_CALLTYPE BuildAppliedUpdatesInfo (const SDKString &senc_path, const SDKString &enc_storage_path, const SDKString &dest_senc_path, const SDKString &permits_path, const sdk::s63::HW_ID &hw_id, const SDKString &cell_name, const SDKUInt32 &first_updn, const SDKUInt32 &last_updn) const =0 throw ()
 Builds new SENC database with information about updates applied to given cell. More...
 
virtual SDKResult SDK_CALLTYPE FindAML (const SDKAny &path, bool &is_aml_database, SDKUInt64 &flags) const =0 throw ()
 Finds an AML database on the specified path. More...
 

Detailed Description

The SENC builder component is intended to build and update a SENC database from the S57/S-63 data. The SENC builder component implements the IConnectionPointContainer for the outgoing interface ISENCBuilderCallback Defined in datalayer/inc/senc_builder/senc_builder_interface.h.

Member Function Documentation

◆ GetSACertificateInfo()

virtual SDKResult SDK_CALLTYPE GetSACertificateInfo ( const SDKAny &  sa_certificate_path,
sdk::crypt::DSAPublicCryptoKeySP &  public_key,
SDKTime &  certificate_start_date,
SDKTime &  certificate_expiration_date,
bool &  is_iho_certificate 
) const
throw (
)
pure virtual

Returns the SA certificate or SA public key details.

Parameters
[in]sa_certificate_pathPath to the SA certificate file (IHO.CRT) or to the SA public key (IHO.PUB). This parameter can be either a string or an ISDKResource.
[out]public_keyThe address of a variable that receives the public key.
[out]certificate_start_dateThe start date of a certificate.
[out]certificate_expiration_dateThe expiration date of a certificate.
[is_iho_certificate]is_iho_certificate Indicates whether a certificate is the IHO certificate.
Returns
kSDKResult_Succeeded or corresponded kSDKResult_S63_SSEXX

◆ FindENC()

virtual SDKResult SDK_CALLTYPE FindENC ( const SDKAny &  path,
bool &  is_enc_database,
SDKUInt64 &  flags 
) const
throw (
)
pure virtual

Finds an ENC on the specified path.

Parameters
[in]pathPath to the directory where to the search an ENC. This parameter can be either a string or an ISDKResource.
[out]is_enc_databaseReturns true if the directory contains an ENC.
[out]flagsFlags with the details of the result. See FindENCFlags
Returns
kSDKResultSucceeded or error if fails

◆ FindNavStick()

virtual SDKResult SDK_CALLTYPE FindNavStick ( const SDKAny &  path_to_navstick,
bool &  is_navstick,
SDKUInt64 &  flags 
) const
throw (
)
pure virtual

Identifies the NavStick on the specified path.

Parameters
[in]path_to_navstickPath to the directory where to identify a NavStick. This parameter can be either a string or an ISDKResource.
[out]is_navstickReturns true if there is a NavStick on specified path.
[out]flagsFlags with the details of the result. See FindNavStickFlags
Returns
kSDKResultSucceeded or error if failed.

◆ FindPermitsOnNavStick()

virtual SDKResult SDK_CALLTYPE FindPermitsOnNavStick ( const SDKAny &  path_to_navstick,
const SDKString &  system_id,
SDKAny &  permits_file_on_navstick 
) const
throw (
)
pure virtual

Finds appropriate permits file on NavStick.

Parameters
[in]path_to_navstickPath to the directory where to identify a NavStick. This parameter can be either a string or an ISDKResource.
[in]system_idID of given system (like ECDIS 1, ECDIS 2, etc)
[out]permits_file_on_navstickPoints to appropriate permits file on NavStick. Can be either path to file or ISDKResource, depending of path_to_navstick type
Returns
kSDKResultSucceeded or error if failed.

◆ GetDataserverID()

virtual SDKResult SDK_CALLTYPE GetDataserverID ( const SDKAny &  path_to_enc,
sdk::s63::DataServerID &  dataserver_id 
) const
throw (
)
pure virtual

Returns the dataserver ID produced the ENC. Path should point to the directory containing CATALOG.031.

Parameters
[in]pathPath to an ENC. This parameter can be either a string or an ISDKResource.
[out]dataserver_idThe address of a variable that receives the dataserver id.
Returns
kSDKResultSucceeded or error if failed.

◆ BuildSENCFromNavStick()

virtual SDKResult SDK_CALLTYPE BuildSENCFromNavStick ( const SDKString &  navstick_root,
const SDKString &  dest_senc_root 
) const
throw (
)
pure virtual

Creates or updates a SENC from the NavStick ENC. In case an old SENC exists in the folder, it will be updated; if not, a new SENC will be produced.

Parameters
[in]navstick_rootPath to the NavStick root directory.
[in]dest_senc_rootPath to the SENC directory.
Returns
kSDKResultSucceeded or an error if failed.

◆ BuildSENC()

virtual SDKResult SDK_CALLTYPE BuildSENC ( const SDKString &  senc_database_name,
const SDKString &  enc_path,
const SDKString &  senc_path,
const SDKString &  enc_storage_path,
const SDKString &  sa_certificate_path,
const SDKString &  permits_path,
const sdk::s63::HW_ID &  hw_id 
) const
throw (
)
pure virtual

Creates or updates a SENC from an ENC. In case an old SENC exists in the folder, it will be updated; if not, a new SENC will be produced.

Parameters
[in]database_nameThe SENC database name.
[in]enc_pathPath to an ENC. The directory should contain the CATALOG.031 file.
[in]senc_pathPath to the SENC. In case a SENC exists in the directory, it will be updated; if not, a new SENC will be produced.
enc_storage_pathPath to the directory where the ENC data will be stored for further updates. The real location of ENC files will be enc_storage_path + database_name + ENC_ROOT.
[in]sa_certificate_pathPath to the SA certificate. If this path points to a directory that contains multiple certificates the ENC will be checked with certificates one by one util the first success.
[in]permits_pathPath to the PERMIT.TXT
[in]hw_idThe HW_ID.

◆ RemoveDatasetsFromSENC()

virtual SDKResult SDK_CALLTYPE RemoveDatasetsFromSENC ( const SDKString &  senc_path,
const SDKString &  enc_storage_path,
const SDKString &  dataset_names_to_remove 
) const
throw (
)
pure virtual

Removes a set of datasets from the SENC.

Parameters
[in]senc_pathPath to the SENC.
[in]enc_storage_pathPath to the ENC storage In case of SENC was produced from the NavStick, this path can be empty
[in]dataset_names_to_removeList of datasets to be removed from the SENC. This string should contain the dataset names separated by semicolon, e.g. "GB4X0000;GB5X01NE".
Returns
kSDKResult_Succeeded or an error if failed.

◆ RemoveUpdatesFromSENC()

virtual SDKResult SDK_CALLTYPE RemoveUpdatesFromSENC ( const SDKString &  senc_path,
const SDKString &  enc_storage_path,
const SDKString &  permits_path,
const sdk::s63::HW_ID &  hw_id,
const SDKString &  update_cell_names_to_remove 
) const
throw (
)
pure virtual

Removes a set of updates for from the SENC.

Parameters
[in]senc_pathPath to the SENC.
[in]enc_storage_pathPath to the ENC storage In case of SENC was produced from the NavStick, this path should point to the NavStick root. If SENC locates on the NavStick, this path can be NULL or empty.
[in]permits_pathPath to the PERMIT.TXT This parameter is not required if the SENC was produced from the NavStick.
[in]hw_idThe HW_ID. This parameter is not required if the SENC was produced from the NavStick.
[in]update_cell_names_to_removeList of the update cells to remove. This string should contain the update cell file names separated by semicolon, e.g. "GB80TDS2.001;GB5X01SW.004".
Returns
kSDKResult_Succeeded or an error if failed.

◆ RemoveENCStorage()

virtual SDKResult SDK_CALLTYPE RemoveENCStorage ( const SDKString &  senc_database_name,
const SDKString &  enc_storage_path 
) const
throw (
)
pure virtual

Removes the ENC storage. The ENC storage holds all ENCs used for producing the SENC.

Parameters
[in]database_nameThe corresponded SENC dataset name.
[in]enc_storage_pathPath to the ENC storage. The real location of ENC files is enc_storage_path + database_name + ENC_ROOT.

◆ CopySENC()

virtual SDKResult SDK_CALLTYPE CopySENC ( const SDKString &  source_senc_path,
const SDKString &  dest_senc_path 
) const
throw (
)
pure virtual

Copies or updates an existing SENC by a new one.

Parameters
[in]source_senc_pathPath to the source SENC database.
[in]dest_senc_pathPath to the destination SENC database.

◆ GetENCInfo()

virtual SDKResult SDK_CALLTYPE GetENCInfo ( const SDKAny &  path,
IENCInfoSP &  enc_info 
) const
throw (
)
pure virtual

Returns information about source ENC database on the specified path.

Parameters
[in]pathPath to the directory with source ENC database This parameter can be either a string or an ISDKResource.
[out]enc_info- Source ENC database info
Returns
kSDKResultSucceeded or error if fails

◆ BuildAppliedUpdatesInfo()

virtual SDKResult SDK_CALLTYPE BuildAppliedUpdatesInfo ( const SDKString &  senc_path,
const SDKString &  enc_storage_path,
const SDKString &  dest_senc_path,
const SDKString &  permits_path,
const sdk::s63::HW_ID &  hw_id,
const SDKString &  cell_name,
const SDKUInt32 &  first_updn,
const SDKUInt32 &  last_updn 
) const
throw (
)
pure virtual

Builds new SENC database with information about updates applied to given cell.

Parameters
[in]senc_pathPath to the SENC.
[in]enc_storage_pathPath to the ENC storage root In case of SENC was produced from the NavStick, this path should point to the NavStick root.
[in]dest_senc_pathPath to destination SENC with data about applied updates for given cell
[in]permits_pathPath to the PERMIT.TXT This parameter is not required if the SENC was produced from the NavStick.
[in]hw_idThe HW_ID. This parameter is not required if the SENC was produced from the NavStick.
[in]cell_nameCell name to build applied updates info
[in]first_updnBuild applied update info starting from given UPDN Proper value: 1 - Last UPDN
[in]last_updnBuild applied update info finishing with given UPDN Proper value: 1 - Last UPDN
Returns
kSDKResult_Succeeded or an error if failed. External application is responsible for generated SENC remove.

◆ FindAML()

virtual SDKResult SDK_CALLTYPE FindAML ( const SDKAny &  path,
bool &  is_aml_database,
SDKUInt64 &  flags 
) const
throw (
)
pure virtual

Finds an AML database on the specified path.

Parameters
[in]pathPath to the directory where to the search an AML. This parameter can be either a string or an ISDKResource.
[out]is_aml_databaseReturns true if the directory contains an AML.
[out]flagsFlags with the details of the result. See FindAMLFlags
Returns
kSDKResultSucceeded or error if fails

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