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

Converts S-57/S-63 data to a SENC database. For more details, see the SENC Builder API guide. More...

Modules

 Class IDs
 

Data Structures

class  ISENCBuilder
 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...
 
class  ISENCBuilderCallback
 The SENC Builder callback interface. This interface is used to get the SENC builder processing reports. Defined in datalayer/inc/senc_builder/senc_builder_interface.h. More...
 
class  ISENCBuildReport
 The SENC build operation report interface. This interface is used to get the SENC builder report after build SENC operation is completed Defined in datalayer/inc/senc_builder/senc_builder_interface.h. More...
 
class  ISENCBuilderUserEvents
 The SENC Builder user event callback interface. This interface is used to get the SENC builder user events. Defined in datalayer/inc/senc_builder/senc_builder_interface.h. More...
 

Enumerations

enum  SENCBuilderPropertyIDs {
  kSENCBuilderPropertyID_SencConverterToolName = 0, kSENCBuilderPropertyID_SencConverterToolPath = 1, kSENCBuilderPropertyID_MakeSencToolName = 2, kSENCBuilderPropertyID_MakeSencToolPath = 3,
  kSENCBuilderPropertyID_TempFolderPath = 4, kSENCBuilderPropertyID_CatalogFileName = 5, kSENCBuilderPropertyID_CheckSENCCellsCRCForNavStick = 6, kSENCBuilderPropertyID_DetermineIHOCertificateByPublicKey = 7,
  kSENCBuilderPropertyID_SENCFragmentationThreshold = 8 , kSENCBuilderPropertyID_CheckFilesSignature = 10, kSENCBuilderPropertyID_UseLowerPriorityForExecutables = 11, kSENCBuilderPropertyID_BuildSencCellsList = 12,
  kSENCBuilderPropertyID_DontPackProductsTxtIntoSenc = 13, kSENCBuilderPropertyID_DontPackSerialEncIntoSenc = 14, kSENCBuilderPropertyID_S01FolderName = 15, kSENCBuilderPropertyID_OverrideSdkConfigParamsForSencConverter = 50,
  kSENCBuilderPropertyID_OverrideSdkConfigParamsForMakeSenc = 51, kSENCBuilderPropertyID_SencConverterDictionaryPath = 100, kSENCBuilderPropertyID_SencConverterDictionaryProfile = 101, kSENCBuilderPropertyID_SencConverterUnknownFeatureWarning = 102,
  kSENCBuilderPropertyID_SencConverterUnknownAttributeWarning = 103, kSENCBuilderPropertyID_SencConverterProhibitedAttributeWarning = 104, kSENCBuilderPropertyID_SencConverterEncryptSENC = 105, kSENCBuilderPropertyID_SencConverterCoverageOff = 106,
  kSENCBuilderPropertyID_SencConverterHazardsOff = 107, kSENCBuilderPropertyID_SencConverterBackRefsOn = 108, kSENCBuilderPropertyID_SencConverterNoPrintObjectNames = 109, kSENCBuilderPropertyID_MakeSencFeatureCatalog = 200,
  kSENCBuilderPropertyID_MakeSencPortrayalCatalog = 201, kSENCBuilderPropertyID_MakeSencBlobMaxSize = 202, kSENCBuilderPropertyID_MakeSencUseDisplayScaleTable = 203
}
 Generic SENC builder properties. Defined in datalayer/inc/senc_builder/senc_builder_interface.h. More...
 
enum  FindENCFlags { kFindENCFlag_NoFlags = 0x0, kFindENCFlag_AIODatabase = 0x1, kFindENCFlag_NavStick = 0x2, kFindENCFlag_ClosingCorrection = 0x4 }
 Returns flags for details of FindENC call result. Defined in datalayer/inc/senc_builder/senc_builder_interface.h. More...
 
enum  FindNavStickFlags { kFindNavStickFlag_NoDataPresent = 0x0, kFindNavStickFlag_ENCPresent = 0x1, kFindNavStickFlag_AIOPresent = 0x2, kFindNavStickFlag_SENCPresent = 0x4 }
 Returns flags for details of FindNavStick call result. Defined in datalayer/inc/senc_builder/senc_builder_interface.h. More...
 
enum  FindAMLFlags { kFindAMLFlag_NoDataPresent = 0x0, kFindAMLFlag_AmlV2 = 0x1, kFindAMLFlag_AmlV3 = 0x2 }
 Returns flags for details of FindAML call result. Defined in datalayer/inc/senc_builder/senc_builder_interface.h. More...
 
enum  SENCBuilderStage {
  kSENCBuilderStage_ReadingSourceENCDatabaseCatalog = 0, kSENCBuilderStage_ProcessingSourceENCDatabaseCatalog = 1, kSENCBuilderStage_ProcessingNavStickDatabase = 2, kSENCBuilderStage_ProcessingSourceENCDatabase = 3,
  kSENCBuilderStage_ProcessingOldSENCDatabase = 4, kSENCBuilderStage_FormingUpdateSENCActions = 5, kSENCBuilderStage_ReadingInternalENCDatabaseCatalog = 6, kSENCBuilderStage_ProcessingInternalENCDatabaseCatalog = 7,
  kSENCBuilderStage_UpdatingInternalENCDatabase = 8, kSENCBuilderStage_UpdatingInternalENCDatabaseCatalog = 9, kSENCBuilderStage_StoreInternalENCDatabaseCatalog = 10, kSENCBuilderStage_UpdatingUpdateSENCActions = 11,
  kSENCBuilderStage_CreateTemporaryENCCatalog = 12, kSENCBuilderStage_StoreTemporaryENCCatalog = 13, kSENCBuilderStage_CreateTemporaryPermits = 14, kSENCBuilderStage_StoreTemporaryPermits = 15,
  kSENCBuilderStage_CreateMakeSENCDeleteList = 16, kSENCBuilderStage_StoreMakeSENCDeleteList = 17, kSENCBuilderStage_RunningConverterTool = 18, kSENCBuilderStage_RunningMakeSencTool = 19,
  kSENCBuilderStage_FormingCellsListToDelete = 20, kSENCBuilderStage_FormingUpdatesListToDelete = 21, kSENCBuilderStage_StoreSENCCellsCRCList = 22, kSENCBuilderStage_CopySENC = 23,
  kSENCBuilderStage_ReadingSourceAIODatabaseCatalog = 24, kSENCBuilderStage_ProcessingSourceAIODatabaseCatalog = 25, kSENCBuilderStage_UpdatingProductsTxtData = 26, kSENCBuilderStage_CheckingDestinationSENCDatabase = 27
}
 Set of available SENC builder progress stages Defined in datalayer/inc/senc_builder/senc_builder_interface.h. More...
 
enum  SENCBuilderUserEventTypes { kSENCBuilderUserEventType_RebuildSENC = 0 }
 Set of available SENC builder user events Defined in datalayer/inc/senc_builder/senc_builder_interface.h. More...
 
enum  SENCBuilderUserEventActions { kSENCBuilderUserEventAction_AllowAction = 0, kSENCBuilderUserEventAction_DeclineAction = 1, kSENCBuilderUserEventAction_AbortOperation = 2 }
 Set of available SENC builder user event actions Defined in datalayer/inc/senc_builder/senc_builder_interface.h. More...
 
static const wchar_t kSACertificateFileExtension [] = L".CRT"
 The SA certificate file extension.
 
static const wchar_t kSAPublicKeyFileExtension [] = L".PUB"
 The SA public key file extension.
 
static const wchar_t kIHOCertificateFileName [] = L"IHO.CRT"
 The official IHO SA certificate file name.
 
static const wchar_t kIHOPublicKeyFileName [] = L"IHO.PUB"
 The official IHO SA public key file name.
 
static const wchar_t *const kENCDatabaseOnNavStickPath = navstick::kENCRootPath
 Path to the ENC on the NavStick.
 
static const wchar_t *const kAIODatabaseOnNavStickPath = L"INFO/AIO/ENC_ROOT"
 Path to AIO database on NavStick.
 
static const wchar_t *const kSENCDatabaseOnNavStickPath = L"INFO/SENC"
 Path to SENC database on NavStick.
 
static const SDKUInt8 kIHOPublicKeyPData []
 IHO DSA public key.
 
static const SDKUInt8 kPRIMARPublicKeyPData []
 PRIMAR DSA public key.
 

Detailed Description

Converts S-57/S-63 data to a SENC database. For more details, see the SENC Builder API guide.

Enumeration Type Documentation

◆ SENCBuilderPropertyIDs

Generic SENC builder properties. Defined in datalayer/inc/senc_builder/senc_builder_interface.h.

Enumerator
kSENCBuilderPropertyID_SencConverterToolName 

The S-57 to SENC converter tool name.

In case a user-defined S-57 to SENC converter should be used, the property value should be changed to the tool executable file name. By default the SDK S-57 to SENC converter is used (s57_senc_converter.exe for Windows or s57_senc_converter for Linux).

kSENCBuilderPropertyID_SencConverterToolPath 

S-57 to SENC converter path.

In case a user-defined S-57 to SENC converter should be used, the property value should be changed to the tool executable file path. By default the SDK S-57 to SENC converter is used, default property value is the SDK installation path.

kSENCBuilderPropertyID_MakeSencToolName 

Make SENC tool name.

In case a user-defined Make SENC tool should be used, the property value should be changed to the tool executable file name. By default the SDK Make SENC tool is used (make_senc.exe for Windows or make_senc for Linux).

kSENCBuilderPropertyID_MakeSencToolPath 

Make SENC tool path.

In case a user-defined Make SENC tool should be used, the property value should be changed to the tool executable file path. By default the SDK Make SENC tool is used, default property value is the SDK installation path.

kSENCBuilderPropertyID_TempFolderPath 

Temporary folder path.

In case a user-defined Temporary Folder should be used, the property value should be changed to the path to the Temporary Folder. By default the OS temporary directory is used.

kSENCBuilderPropertyID_CatalogFileName 

Catalog file name In case a user-defined source ENC database catalog file name should be used, the property value should be changed to the file name of the catalog file. By default the CATALOG.031 file name is used.

kSENCBuilderPropertyID_CheckSENCCellsCRCForNavStick 

Check SENC cells CRC for NavStick.

kSENCBuilderPropertyID_DetermineIHOCertificateByPublicKey 

Determine IHO certificate by public key also, not only by file name.

kSENCBuilderPropertyID_SENCFragmentationThreshold 

Following two parameters controls the criteria to regenerate SENC database due of high fragmentation. kSENCBuilderPropertyID_SENCFragmentationThreshold controls max SENC fragmentation ratio, in case current SENC fragmentation ratio exceeds defined one, SENC will be fully recompiled kSENCBuilderPropertyID_SENCMinSizeForDefragmentation controls minimum size of SENC database to perform SENC defragmentation. Even if SENC is too fragmented, but it's size is less than given value no defragmentation will be performed Use 0 or empty value to reset appropriate parameter value.

kSENCBuilderPropertyID_CheckFilesSignature 

Check ENC database binary files signature flag.

kSENCBuilderPropertyID_UseLowerPriorityForExecutables 

Run external applications (converter/make senc) with lower process priority

kSENCBuilderPropertyID_BuildSencCellsList 

Cells filter for BuildSENC operation, only listed cells will be compiled into SENC, all other cells will be ignored. Cell names, separated by semicolon, e.g. "GB4X0000;GB5X01NE".

kSENCBuilderPropertyID_DontPackProductsTxtIntoSenc 

Don't pack information from PRODUCTS.TXT file into SENC.

kSENCBuilderPropertyID_DontPackSerialEncIntoSenc 

Don't pack information from SERIAL.ENC/MEDIA.TXT file into SENC.

kSENCBuilderPropertyID_S01FolderName 

Common folder name to store *.S01 files, if empty - cell name will be used instead (separate folders as a result)

kSENCBuilderPropertyID_OverrideSdkConfigParamsForSencConverter 

Given option allows to override default sdk_config.xml parameters with user-defined params for S-57 to SENC converter, sdk_config.xml parameters will be ignored in this case By default "tools/s57_senc_converter_args" value from sdk_config.xml will be used if given property value is empty.

kSENCBuilderPropertyID_OverrideSdkConfigParamsForMakeSenc 

Given option allows to override default sdk_config.xml parameters with user-defined params for Make Senc tool, sdk_config.xml parameters will be ignored in this case By default "tools/make_senc_args" value from sdk_config.xml will be used if given property value is empty.

kSENCBuilderPropertyID_SencConverterDictionaryPath 

S-57 to SENC converter dictionary path. (Same as -dic key for SDK S-57 to SENC converter).

kSENCBuilderPropertyID_SencConverterDictionaryProfile 

S-57 to SENC converter dictionary profile name. (Same as -dic_profile key for SDK S-57 to SENC converter).

kSENCBuilderPropertyID_SencConverterUnknownFeatureWarning 

S-57 to SENC converter Unknown Feature Warning property. (Same as -unknown-feature-warning key for SDK S-57 to SENC converter).

kSENCBuilderPropertyID_SencConverterUnknownAttributeWarning 

S-57 to SENC converter Unknown Attribute Warning property. (Same as -unknown-attribute-warning key for SDK S-57 to SENC converter).

kSENCBuilderPropertyID_SencConverterProhibitedAttributeWarning 

S-57 to SENC converter Prohibited Attribute Warning property. (Same as -prohibited-attribute-warning key for SDK S-57 to SENC converter).

kSENCBuilderPropertyID_SencConverterEncryptSENC 

S-57 to SENC converter Encrypt SENC property. (Same as -encrypt key for SDK S-57 to SENC converter).

kSENCBuilderPropertyID_SencConverterCoverageOff 

S-57 to SENC converter Coverage Off property. (Same as -cov_off key for SDK S-57 to SENC converter).

kSENCBuilderPropertyID_SencConverterHazardsOff 

S-57 to SENC converter Hazards Off property. (Same as -haz_off key for SDK S-57 to SENC converter).

kSENCBuilderPropertyID_SencConverterBackRefsOn 

S-57 to SENC converter Back References On property. (Same as -backrefs_on key for SDK S-57 to SENC converter).

kSENCBuilderPropertyID_SencConverterNoPrintObjectNames 

S-57 to SENC converter No Print Object Names property. (Same as -no-print-object-names key for SDK S-57 to SENC converter).

kSENCBuilderPropertyID_MakeSencFeatureCatalog 

Make SENC tool Feature Catalog path name property. (Same as -fct key for Make SENC tool).

kSENCBuilderPropertyID_MakeSencPortrayalCatalog 

Make SENC tool Portrayal Catalog path name property. (Same as -portrayal key for Make SENC tool).

kSENCBuilderPropertyID_MakeSencBlobMaxSize 

Make SENC tool Blob Max Size (in MB) property. (Same as -blob_max_size key for Make SENC tool). Min value is 128MB, 256 by default.

kSENCBuilderPropertyID_MakeSencUseDisplayScaleTable 

Make SENC tool Use Display Scale Table property. (Same as -use_display_scale_table key for Make SENC tool).

◆ FindENCFlags

Returns flags for details of FindENC call result. Defined in datalayer/inc/senc_builder/senc_builder_interface.h.

Enumerator
kFindENCFlag_NoFlags 

No flags.

kFindENCFlag_AIODatabase 

ENC database is AIO database.

kFindENCFlag_NavStick 

ENC database is on NavStick.

kFindENCFlag_ClosingCorrection 

ENC database is a closing correction (empty ENC update)

◆ FindNavStickFlags

Returns flags for details of FindNavStick call result. Defined in datalayer/inc/senc_builder/senc_builder_interface.h.

Enumerator
kFindNavStickFlag_NoDataPresent 

No data presents.

kFindNavStickFlag_ENCPresent 

S-63 ENC database presents.

kFindNavStickFlag_AIOPresent 

S-63 AIO database presents.

kFindNavStickFlag_SENCPresent 

Compiled SENC presents.

◆ FindAMLFlags

Returns flags for details of FindAML call result. Defined in datalayer/inc/senc_builder/senc_builder_interface.h.

Enumerator
kFindAMLFlag_NoDataPresent 

No data presents.

kFindAMLFlag_AmlV2 

AML V2 database.

kFindAMLFlag_AmlV3 

AML V3 database.

◆ SENCBuilderStage

Set of available SENC builder progress stages Defined in datalayer/inc/senc_builder/senc_builder_interface.h.

Enumerator
kSENCBuilderStage_ReadingSourceENCDatabaseCatalog 

Source ENC database catalog reading stage.

kSENCBuilderStage_ProcessingSourceENCDatabaseCatalog 

Source ENC database catalog parsing stage.

kSENCBuilderStage_ProcessingNavStickDatabase 

NavStick database processing stage.

kSENCBuilderStage_ProcessingSourceENCDatabase 

Source ENC database processing stage.

kSENCBuilderStage_ProcessingOldSENCDatabase 

Old SENC database processing stage.

kSENCBuilderStage_FormingUpdateSENCActions 

Forming update SENC actions list stage.

kSENCBuilderStage_ReadingInternalENCDatabaseCatalog 

Internal ENC database catalog reading stage.

kSENCBuilderStage_ProcessingInternalENCDatabaseCatalog 

Internal ENC database catalog parsing stage.

kSENCBuilderStage_UpdatingInternalENCDatabase 

Updating internal ENC database stage.

kSENCBuilderStage_UpdatingInternalENCDatabaseCatalog 

Updating internal ENC database catalog stage.

kSENCBuilderStage_StoreInternalENCDatabaseCatalog 

Saving internal ENC database catalog stage.

kSENCBuilderStage_UpdatingUpdateSENCActions 

Updating update SENC actions list stage.

kSENCBuilderStage_CreateTemporaryENCCatalog 

Generating temporary ENC catalog stage.

kSENCBuilderStage_StoreTemporaryENCCatalog 

Saving temporary ENC catalog stage.

kSENCBuilderStage_CreateTemporaryPermits 

Generating temporary PERMIT.TXT file stage.

kSENCBuilderStage_StoreTemporaryPermits 

Saving temporary PERMIT.TXT file stage.

kSENCBuilderStage_CreateMakeSENCDeleteList 

Generating Make SENC delete cells list file stage.

kSENCBuilderStage_StoreMakeSENCDeleteList 

Saving Make SENC delete cells list file stage.

kSENCBuilderStage_RunningConverterTool 

Running S-57 to SENC converter tool stage.

kSENCBuilderStage_RunningMakeSencTool 

Running Make SENC tool stage.

kSENCBuilderStage_FormingCellsListToDelete 

Forming a list of cells to delete from SENC stage.

kSENCBuilderStage_FormingUpdatesListToDelete 

Forming a list of updates to delete from SENC stage.

kSENCBuilderStage_StoreSENCCellsCRCList 

Saving a list of CRCs for SENC cells.

kSENCBuilderStage_CopySENC 

Copying SENC to new location.

kSENCBuilderStage_ReadingSourceAIODatabaseCatalog 

AIO ENC database catalog reading stage.

kSENCBuilderStage_ProcessingSourceAIODatabaseCatalog 

AIO ENC database catalog parsing stage.

kSENCBuilderStage_UpdatingProductsTxtData 

Updating SENC PRODUCTS.TXT data.

kSENCBuilderStage_CheckingDestinationSENCDatabase 

Check destination SENC database processing stage.

◆ SENCBuilderUserEventTypes

Set of available SENC builder user events Defined in datalayer/inc/senc_builder/senc_builder_interface.h.

Enumerator
kSENCBuilderUserEventType_RebuildSENC 

SENC should be fully regenerated to perform given operation event.

◆ SENCBuilderUserEventActions

Set of available SENC builder user event actions Defined in datalayer/inc/senc_builder/senc_builder_interface.h.

Enumerator
kSENCBuilderUserEventAction_AllowAction 

Allows given action.

kSENCBuilderUserEventAction_DeclineAction 

Declines given action.

kSENCBuilderUserEventAction_AbortOperation 

Aborts given operation.