Definition at line 388 of file ncbireg.hpp.
◆ TClearedEntries ◆ TEntries ◆ TFlags ◆ TNameMap ◆ TParent ◆ TPriority [1/3]Not restricted to ePriority_*.
Definition at line 102 of file env_reg.hpp.
◆ TPriority [2/3]Not restricted to ePriority_*.
Definition at line 675 of file ncbireg.hpp.
◆ TPriority [3/3]Not restricted to ePriority_*.
Definition at line 817 of file ncbireg.hpp.
◆ TPriorityMap [1/2] ◆ TPriorityMap [2/2] ◆ TSections ◆ ECompatFlags Enumerator eTransient ePersistent eOverride eNoOverride eTruncate eNoTruncateDefinition at line 919 of file ncbireg.hpp.
◆ EErrActionWhat to do if parameter value is present but cannot be converted into the requested type.
Enumerator eThrowThrow an exception if an error occurs.
eErrPostLog the error message and return default value.
eReturnReturn default value.
Definition at line 200 of file ncbireg.hpp.
◆ EErrCodeError types that the Registry can generate.
Enumerator eSectionSection name format error.
eEntryEntry name format error.
eValueGeneral value format error.
eUnencryptedValue should have been encrypted, but wasn't.
eDecryptionFailedValue looked encrypted, but decryption failed.
eErrOther error.
Definition at line 1012 of file ncbireg.hpp.
◆ EFlagsFlags controlling the behavior of registry methods.
Please note:
Transient – not saved by default.
fPersistentPersistent – saved when file is written.
fOverrideExisting value can be overriden.
fNoOverrideCannot change existing value.
fTruncateLeading, trailing blanks can be truncated.
fNoTruncateCannot truncate parameter value.
fJustCoreIgnore auxiliary subregistries.
fNotJustCoreInclude auxiliary subregistries.
fIgnoreErrorsContinue Read()ing after parse errors.
fInternalSpacesAllow internal whitespace in names.
fWithNcbircInclude .ncbirc (used only by CNcbiReg.)
fCountClearedLet explicitly cleared entries stand.
fSectionCaseCreate with case-sensitive section names.
fEntryCaseCreate with case-sensitive entry names.
fSectionlessEntriesAllow empty section names (for test_res framework)
fSectionsIndicates that we want sections from x_Enumerate.
fPlaintextAllowedIndicates that we want in-section comments from x_Enumerate.
fInternalCheckedAndLocked fCoreLayers fAllLayers fCaseFlagsDefinition at line 82 of file ncbireg.hpp.
◆ EMasks Enumerator fLayerFlags fTPFlagsDefinition at line 365 of file ncbireg.hpp.
◆ EOperationCategories of modifying operations.
Enumerator eClear eRead eSetDefinition at line 414 of file ncbireg.hpp.
◆ EPriority [1/3] Enumerator ePriority_Min ePriority_Default ePriority_MaxDefinition at line 97 of file env_reg.hpp.
◆ EPriority [2/3]Priority for sub-registries; entries in higher-priority sub-registries take precedence over (identically named) entries in lower-priority ones.
Ties are broken arbitrarily.
Enumerator ePriority_Min ePriority_Default ePriority_MaxDefinition at line 670 of file ncbireg.hpp.
◆ EPriority [3/3]Priority for sub-registries; entries in higher-priority sub-registries take precedence over (identically named) entries in lower-priority ones.
Ties are broken arbitrarily.
Enumerator ePriority_MinUser ePriority_Default ePriority_MaxUser ePriority_ReservedEverything greater is for internal use.
Definition at line 811 of file ncbireg.hpp.
◆ EReservedPriority Enumerator ePriority_File ePriority_Overrides ePriority_Environment ePriority_RuntimeOverridesDefinition at line 981 of file ncbireg.hpp.
◆ Add() [1/2]Non-empty names must be unique within each compound registry, but there is no limit to the number of anonymous sub-registries.
Sub-registries themselves may not (directly) appear more than once.
Definition at line 1192 of file ncbireg.cpp.
References i, multimap_checker< Container >::insert(), CCompoundRegistry::m_NameMap, CCompoundRegistry::m_PriorityMap, NCBI_THROW2, CRef< C, Locker >::Reset(), IRegistry::WriteLock(), and IRegistry::x_GetWriteLockCount().
Referenced by CSynRegistry::Add(), and CCompoundRWRegistry::x_Add().
◆ Add() [2/2] ◆ AddMapper() ◆ AssessImpact()Indicate which portions of the registry the given operation would affect.
Definition at line 581 of file ncbireg.cpp.
References _TROUBLE, IRWRegistry::eClear, IRWRegistry::eRead, IRWRegistry::eSet, IRegistry::fJustCore, flags, IRegistry::fLayerFlags, IRegistry::fPersistent, IRegistry::fTPFlags, and IRegistry::fTransient.
Referenced by CMetaRegistry::Load(), and CMetaRegistry::SEntry::Reload().
◆ CCompoundRegistry() CCompoundRegistry::CCompoundRegistry ( ) inlineDefinition at line 660 of file ncbireg.hpp.
◆ CCompoundRWRegistry() CCompoundRWRegistry::CCompoundRWRegistry ( TFlags m_Flags =0
) ◆ CEnvironmentRegistry() [1/3] ◆ CEnvironmentRegistry() [2/3] ◆ CEnvironmentRegistry() [3/3] CEnvironmentRegistry::CEnvironmentRegistry ( TFlags flags = 0
) ◆ Clear()
Reset the registry content.
Definition at line 597 of file ncbireg.cpp.
References IRegistry::fInternalSpaces, flags, IRegistry::fLayerFlags, IRegistry::fPersistent, IRegistry::fTransient, IRegistry::x_CheckFlags(), IRWRegistry::x_Clear(), IRegistry::x_Empty(), and IRegistry::x_SetModifiedFlag().
Referenced by CNcbiApplicationAPI::AppMain(), CMetaRegistry::Load(), CMetaRegistry::SEntry::Reload(), CTwoLayerRegistry::x_Clear(), CCompoundRWRegistry::x_Clear(), and CNcbiRegistry::x_Clear().
◆ CMemoryRegistry() CMemoryRegistry::CMemoryRegistry ( TFlags flags =0
) inline
Definition at line 590 of file ncbireg.hpp.
◆ CNcbiRegistry() [1/2]Constructor.
Definition at line 1631 of file ncbireg.cpp.
References IRegistry::fCaseFlags, IRegistry::fInternalSpaces, flags, IRegistry::fSectionlessEntries, IRegistry::fTransient, IRegistry::fWithNcbirc, CNcbiRegistry::IncludeNcbircIfAllowed(), CCompoundRWRegistry::LoadBaseRegistries(), CNcbiRegistry::m_FileRegistry, IRWRegistry::Read(), IRegistry::x_CheckFlags(), and CNcbiRegistry::x_Init().
◆ CNcbiRegistry() [2/2] CNcbiRegistry::CNcbiRegistry ( TFlags flags =0
) ◆ CRegistryReadGuard() ◆ CSimpleEnvRegMapper() ◆ CTwoLayerRegistry() CTwoLayerRegistry::CTwoLayerRegistry ( IRWRegistry * persistent = 0
, TFlags flags = 0
)
Constructor.
The transient layer is always a new memory registry, and so is the persistent layer by default.
Definition at line 1381 of file ncbireg.cpp.
◆ Empty()Verify if Registry is empty.
Definition at line 162 of file ncbireg.cpp.
References flags, IRegistry::fLayerFlags, IRegistry::fTPFlags, IRegistry::x_CheckFlags(), and IRegistry::x_Empty().
Referenced by CBlastFormatUtil::BlastPrintReference(), CPtbRegistry::CPtbRegistry(), CSplitQueryTestFixture::CSplitQueryTestFixture(), CAlignFormatUtil::GetProtocol(), CDataTool::HasConfig(), CNcbiRegistry::IncludeNcbircIfAllowed(), CMetaRegistry::Load(), CNcbiApplicationAPI::LoadConfig(), CPtbRegistry::Read(), CMetaRegistry::SEntry::Reload(), CCassConnectionFactory::ReloadConfig(), CTwoLayerRegistry::x_Empty(), CCompoundRWRegistry::x_Empty(), CSynRegistryToIRegistry::x_Empty(), IRWRegistry::x_Read(), CCompoundRWRegistry::x_Read(), and CNcbiRegistry::x_Read().
◆ EnumerateEntries()Enumerate parameter names for a specified section.
Write all parameter names for specified "section" to the "entries" list in order. Previous contents of the list are erased.
Enumerates sections rather than entries if section is
empty and fSectionlessEntries is not set.
Reimplemented in CSynRegistryToIRegistry.
Definition at line 514 of file ncbireg.cpp.
References _ASSERT, _TRACE, entries, IRegistry::fCountCleared, IRegistry::fInternalSpaces, flags, IRegistry::fLayerFlags, IRegistry::fSectionlessEntries, IRegistry::fSections, IRegistry::fTPFlags, IRegistry::IsNameSection(), NStr::PrintableString(), NStr::TruncateSpaces(), IRegistry::x_CheckFlags(), and IRegistry::x_Enumerate().
Referenced by CDBLB_ServiceMapper::ConfigureFromRegistry(), CDBUDRandomMapper::ConfigureFromRegistry(), CDBUDPriorityMapper::ConfigureFromRegistry(), CConfig::ConvertRegToTree(), CPluginManager< TClass >::CPluginManager(), CDriverManager::CreateDsFrom(), CRemoteAppLauncher::CRemoteAppLauncher(), CSmallDNS::CSmallDNS(), CPtbRegistry::EnumerateEntries(), CSynRegistryToIRegistry::EnumerateEntries(), CRegistryFile::FromConfigFile(), GetDefaultLogLocation(), CCgiApplication::GetDefaultLogPath(), CIdMapperConfig::Initialize(), CColorTableMethod::Load(), CColumnScoringMethod::Load(), CMatrixScoringMethod::Load(), CStdAnnotTypes::LoadTypes(), NS_ValidateServiceToQueueSection(), SQueueParameters::ReadLinkedSections(), SQueueParameters::ReadQueue(), CNetScheduleServer::ReadServicesConfig(), CCgiRedirectApplication::RemapEntries(), IRegistry::Write(), CTwoLayerRegistry::x_Enumerate(), CDataTypeModule::x_GetVar(), CNcbiApplicationAPI::x_LogOptions(), CNcbiTestApplication::x_ReadConfiguration(), SPubseqGatewaySettings::x_ReadCountersSection(), CQueueDataBase::x_ReadLinkedSections(), and CNetScheduleDApp::x_SaveSection().
◆ EnumerateInSectionComments()Enumerate in-section comments.
Write all in-section comments to the "comments" list in (registry priority) order. Previous contents of the list are erased.
Reimplemented in CSynRegistryToIRegistry.
Definition at line 474 of file ncbireg.cpp.
References _ASSERT, _TRACE, IRegistry::fInSectionComments, flags, IRegistry::fLayerFlags, IRegistry::fTPFlags, IRegistry::IsNameSection(), NStr::PrintableString(), NStr::TruncateSpaces(), IRegistry::x_CheckFlags(), and IRegistry::x_Enumerate().
Referenced by CSynRegistryToIRegistry::EnumerateInSectionComments(), IRegistry::Write(), and CTwoLayerRegistry::x_Enumerate().
◆ EnumerateSections()Enumerate section names.
Write all section names to the "sections" list in (case-insensitive) order. Previous contents of the list are erased.
Reimplemented in CSynRegistryToIRegistry.
Definition at line 497 of file ncbireg.cpp.
References _ASSERT, IRegistry::fCountCleared, IRegistry::fInternalSpaces, flags, IRegistry::fLayerFlags, IRegistry::fSectionlessEntries, IRegistry::fSections, IRegistry::fTPFlags, kEmptyStr, IRegistry::x_CheckFlags(), and IRegistry::x_Enumerate().
Referenced by CConfig::ConvertRegToTree(), CIdMapperConfig::DescribeContexts(), CPtbRegistry::EnumerateSections(), CSynRegistryToIRegistry::EnumerateSections(), CRegistryFile::FromConfigFile(), CSDBAPI::Init(), CStdAnnotTypes::LoadTypes(), NS_ValidateClasses(), NS_ValidateQueues(), NSTGetBackendConfiguration(), NSTValidateServices(), SQueueParameters::ReadLinkedSections(), CCassConnectionFactory::ReloadConfig(), s_ReadPerClientConfig(), IRegistry::Write(), CQueueDataBase::x_GetConfigQueues(), CNSTServiceRegistry::x_GetMetadataServices(), CNcbiApplicationAPI::x_LogOptions(), CQueueDataBase::x_ReadIniFileQueueClassDescriptions(), CQueueDataBase::x_ReadIniFileQueueDescriptions(), and CQueueDataBase::x_ReadLinkedSections().
◆ EnvToReg() [1/3] ◆ EnvToReg() [2/3]The return value indicates whether the environment variable was appropriately formatted.
Implements IEnvRegMapper.
Definition at line 420 of file env_reg.cpp.
References _ASSERT, env, ERR_POST, IRegistry::fInternalSpaces, Info(), isalnum(), islower(), IRegistry::IsNameEntry(), IRegistry::IsNameSection(), kPrefix, kPrefixLen, l(), NPOS, s_IdentifySubstitution(), NStr::Split(), and NStr::StartsWith().
◆ EnvToReg() [3/3] ◆ FindByContents() [1/2] ◆ FindByContents() [2/2] ◆ FindByName() [1/2] ◆ FindByName() [2/2] ◆ Get()Get the parameter value.
Get the parameter with the specified "name" from the specified "section". First, search for the transient parameter value, and if cannot find in there, then continue the search in the non-transient parameters. If "fPersistent" flag is set in "flags", then don't search in the transient parameters at all.
Reimplemented in CSynRegistryToIRegistry.
Definition at line 262 of file ncbireg.cpp.
References _TRACE, IRegistry::fInternalCheckedAndLocked, IRegistry::fInternalSpaces, flags, IRegistry::fLayerFlags, IRegistry::fSectionlessEntries, IRegistry::fTPFlags, IRegistry::IsNameEntry(), IRegistry::IsNameSection(), kEmptyStr, NStr::PrintableString(), NStr::TruncateSpaces(), IRegistry::x_CheckFlags(), and IRegistry::x_Get().
Referenced by CCgiApplication::AddLBCookie(), CBlastFormatUtil::BlastPrintReference(), BOOST_AUTO_TEST_CASE(), CBlastDBExtractor::CBlastDBExtractor(), CBlastFormat::CBlastFormat(), CClientPseudoDataType::CClientPseudoDataType(), CFastaBioseqSource::CFastaBioseqSource(), CCgiStatistics::Compose_Entries(), CDBLB_ServiceMapper::ConfigureFromRegistry(), CConfig::ConvertRegToTree(), CProjectsLstFileFilter::CProjectsLstFileFilter(), CDriverManager::CreateDsFrom(), CCgiApplication::CreateFastCGIWatchFile(), CHelloBasicCommand::CreateView(), CSmallDNS::CSmallDNS(), CIdMapperConfig::DescribeContexts(), CSeqFormatter::DumpAll(), EnabledDelayBuffers(), CHelloCommand::Execute(), CIgBlastArgs::ExtractAlgorithmOptions(), FindBlastDbPath(), CRegistryFile::FromConfigFile(), g_GetConfigDouble(), g_GetConfigFlag(), g_GetConfigInt(), g_GetConfigString(), CClientPseudoTypeStrings::GenerateClassCode(), CCodeGenerator::GenerateClientCode(), CDataTool::GenerateCode(), CFileCode::GenerateHPP(), CSeqDBAtlas::GenerateSearchPath(), CSynRegistry::CInclude::Get(), CSynRegistryToIRegistry::Get(), IRegistry::GetBool(), CProjBulderApp::GetBuildConfigs(), CDataTool::GetConfigValue(), CProjBulderApp::GetDatatoolCommandLine(), IRegistry::GetDouble(), IRegistry::GetEncryptedString(), CWinMaskerFileStorage::GetEnvPath(), CCgiApplication::GetFastCGIStandaloneServer(), IRegistry::GetInt(), CCgiApplication::GetLogOpt(), GetOpt(), CCodeGenerator::GetOpt(), CProjBulderApp::GetProjectTreeInfo(), CAlignFormatUtil::GetProtocol(), CProjBulderApp::GetRegSettings(), IRegistry::GetString(), CSysLog::HonorRegistrySettings(), SNetCacheAPIImpl::Init(), SNetICacheClientImpl::Init(), SNetServerPoolImpl::Init(), SThrottleParams::SIOFailureThreshold::Init(), SThrottleParams::Init(), SNetScheduleAPIImpl::Init(), SNetServiceImpl::Init(), CCgiApplication::Init(), CGlCgiImageApplication::Init(), CCgiRedirectApplication::Init(), SNetScheduleAPIImpl::InitAffinities(), CIdMapperConfig::Initialize(), CNCDistributionConf::Initialize(), CNCDistributionConf::InitMirrorConfig(), CMatrixScoringMethod::Load(), CCompoundRWRegistry::LoadBaseRegistries(), CTemplateScoringMethod::LoadInfo(), NS_ValidateServiceToQueueSection(), CProjBulderApp::ParseArguments(), CCgiRedirectApplication::ProcessRequest(), CNetScheduleServer::ReadServicesConfig(), CNCDistributionConf::ReConfig(), RegistryGetBoolean(), RegistryGetDouble(), RegistryGetInteger(), RegistryGetString(), RegistryIsValidBoolean(), RegistryIsValidDouble(), RegistryIsValidInteger(), RegistryIsValidString(), CCgiRedirectApplication::RemapEntries(), CAutoNcbiConfigFile::RemoveBLASTDBEnvVar(), CNgAlignApp::Run(), CLDS2IndexerApplication::Run(), CDemoApp::Run(), s_FindPathToWM(), s_GetConfigString(), NDirectNetStorageImpl::s_GetFTConfig(), NDirectNetStorageImpl::s_GetICClient(), s_ReadPerClientConfig(), s_ReadServerParams(), s_ReadStorageParams(), CBrowserUtils::SendToBrowser(), IRegistry::Write(), CNgAlignApp::x_AddAligners(), CNgAlignApp::x_AddFilters(), CNgAlignApp::x_AddScorers(), CMakeBlastDBApp::x_BuildDatabase(), CBlastUsageReport::x_CheckBlastUsageEnv(), CDebugDumpViewer::x_CheckLocation(), CNgAlignApp::x_CreateBlastAligner(), CNgAlignApp::x_CreateFileLoadAligner(), CNgAlignApp::x_CreateMergeAligner(), CNgAlignApp::x_CreateRemoteBlastAligner(), CNgAlignApp::x_CreateSequenceSet(), CTwoLayerRegistry::x_Get(), CCompoundRWRegistry::x_Get(), CNetCacheBlobFetchApp::x_GetInitString(), CBlastHitMatrixCGIApplication::x_GetSeqAnnot(), CDataTypeModule::x_GetVar(), CNcbiApplicationAPI::x_HonorStandardSettings(), CDisplaySeqalign::x_InitAlignParams(), CBlastFormat::x_InitAlignTemplates(), CBlastFormat::x_InitDeflineTemplates(), CDisplaySeqalign::x_InitSeqUrl(), CTaxFormat::x_InitTaxFormat(), SDataLoaderConfig::x_LoadBlastDbDataLoaderConfig(), SDataLoaderConfig::x_LoadDataLoadersConfig(), CDiagContext::x_LogEnvironment(), CNcbiApplicationAPI::x_LogOptions(), CDisplaySeqalign::x_PreProcessSingleAlign(), IRWRegistry::x_Read(), CNcbiTestApplication::x_ReadConfiguration(), SPubseqGatewaySettings::x_ReadCountersSection(), impl::CDriverContext::x_ReadDBConfParams(), CSplitQueryTestFixture::x_ReadQueryBoundsPerChunk(), CSplitQueryTestFixture::x_ReadVectorOfVectorsForTest(), CSatInfoSchema::x_ResolveConnectionByServiceName(), CCompoundRWRegistry::x_Set(), CDataLoadersUtil::x_SetupASNCacheDataLoader(), CDataLoadersUtil::x_SetupVDBDataLoader(), CSequenceSearchForm::x_UpdateFileList(), COrfSearchForm::x_UpdateKozak(), and CBlastDBCmdApp::x_UseLongSeqIds().
◆ GetBool()Get boolean value of specified parameter name.
Like "GetString()", plus convert the value into boolean.
Reimplemented in CSynRegistryToIRegistry.
Definition at line 391 of file ncbireg.cpp.
References IRegistry::eErrPost, IRegistry::eReturn, ERR_POST_X, IRegistry::eThrow, flags, IRegistry::Get(), msg(), NCBI_RETHROW_SAME, NStr::StringToBool(), and rapidjson::value.
Referenced by CCgiApplication::AddLBCookie(), BDB_CreateEnv(), NWinHook::CApiHookMgr::CApiHookMgr(), CCgiStatistics::Compose(), CAuthListValidator::Configure(), CDBConnectionFactory::ConfigureFromRegistry(), ConfigureLogging(), SSection::Get(), CCgiApplication::GetFastCGIChannelErrors(), CCgiApplication::GetFastCGIComplete_Request_On_Sigterm(), CCgiApplication::GetFastCGIDebug(), CCgiApplication::GetFastCGIHonorExitRequest(), CCgiApplication::GetFastCGIStatLog(), CCgiApplication::GetFastCGIStopIfFailed(), IRegistry::GetValue(), CGridCgiApplication::InitGridClient(), CNCDistributionConf::Initialize(), CMatrixScoringMethod::Load(), NS_ValidateBool(), NSTValidateBool(), NSTValidateServices(), CGenBankUIDataSource::Open(), SQueueParameters::ReadScrambleJobKeys(), CCassConnectionFactory::ReloadConfig(), CAsn2FlatApp::Run(), CCgiApplication::Run(), CBDBEnvKeeperApp::Run(), s_InitAllKNS(), s_IsHugeMode(), s_ReadServerParams(), s_ReadSpecificParams(), CFeaturePanel::SetInputObject(), CNgAlignApp::x_CreateBlastAligner(), CNSTServiceRegistry::x_GetMetadataServices(), NSNPWebServices::x_GetSearchHost(), CGuiObjectInfoVariation::x_GetTooltipService(), CNcbiApplicationAPI::x_HonorStandardSettings(), CPSGS_SNPProcessor::x_LoadConfig(), SPubseqGatewaySettings::x_ReadCassandraProcessorSection(), SPubseqGatewaySettings::x_ReadCDDProcessorSection(), SPubseqGatewaySettings::x_ReadDebugSection(), SPubseqGatewaySettings::x_ReadIPGSection(), SPubseqGatewaySettings::x_ReadLmdbCacheSection(), SPubseqGatewaySettings::x_ReadLogSection(), SPubseqGatewaySettings::x_ReadServerSection(), SPubseqGatewaySettings::x_ReadSNPProcessorSection(), CSplitQueryTestFixture::x_ReadSplitQueryInfoForTest(), SPubseqGatewaySettings::x_ReadSSLSection(), SPubseqGatewaySettings::x_ReadWGSProcessorSection(), CTaxonomyUpdater::xSetFromConfig(), and CPubmedUpdater::xSetFromConfig().
◆ GetComment()Get comment of the registry entry "section:name".
Reimplemented in CSynRegistryToIRegistry.
Definition at line 450 of file ncbireg.cpp.
References _TRACE, IRegistry::fInternalSpaces, flags, IRegistry::fLayerFlags, IRegistry::fSectionlessEntries, IRegistry::IsNameSection(), kEmptyStr, NStr::PrintableString(), IRegistry::sm_InSectionCommentName, NStr::TruncateSpaces(), IRegistry::x_CheckFlags(), and IRegistry::x_GetComment().
Referenced by CSynRegistryToIRegistry::GetComment(), IRegistry::Write(), CTwoLayerRegistry::x_GetComment(), CCompoundRWRegistry::x_GetComment(), CNcbiRegistry::x_GetComment(), and IRWRegistry::x_Read().
◆ GetCoreCutoff() [1/2] TPriority CCompoundRegistry::GetCoreCutoff ( void ) const inline ◆ GetCoreCutoff() [2/2] ◆ GetDouble()Get double value of specified parameter name.
Like "GetString()", plus convert the value into double.
Reimplemented in CSynRegistryToIRegistry.
Definition at line 420 of file ncbireg.cpp.
References IRegistry::eErrPost, IRegistry::eReturn, ERR_POST_X, IRegistry::eThrow, NStr::fDecimalPosixOrLocal, flags, IRegistry::Get(), msg(), NCBI_RETHROW_SAME, NStr::StringToDouble(), and rapidjson::value.
Referenced by CAuthListValidator::Configure(), CPSGS_CDDProcessor::CPSGS_CDDProcessor(), IRegistry::GetValue(), CColumnScoringMethod::Load(), CMatrixScoringMethod::Load(), NS_ValidateDouble(), NS_ValidateServerSection(), NSTValidateDatabaseSection(), NSTValidateDouble(), SQueueParameters::ReadBlacklistTime(), SQueueParameters::ReadClientRegistryTimeoutAdmin(), SQueueParameters::ReadClientRegistryTimeoutReader(), SQueueParameters::ReadClientRegistryTimeoutSubmitter(), SQueueParameters::ReadClientRegistryTimeoutUnknown(), SQueueParameters::ReadClientRegistryTimeoutWorkerNode(), SQueueParameters::ReadMaxPendingReadWaitTimeout(), SQueueParameters::ReadMaxPendingWaitTimeout(), SQueueParameters::ReadNotifHandicap(), SQueueParameters::ReadNotifHifreqInterval(), SQueueParameters::ReadNotifHifreqPeriod(), SQueueParameters::ReadPendingTimeout(), SQueueParameters::ReadReadBlacklistTime(), SQueueParameters::ReadReaderTimeout(), SQueueParameters::ReadReadTimeout(), SQueueParameters::ReadRunTimeout(), SQueueParameters::ReadTimeout(), SQueueParameters::ReadWnodeTimeout(), CNSTDatabase::SetParameters(), CNgAlignApp::x_AddScorers(), CNgAlignApp::x_CreateMergeAligner(), SPubseqGatewaySettings::x_ReadCassandraProcessorSection(), SPubseqGatewaySettings::x_ReadCDDProcessorSection(), CNSTDatabase::x_ReadDbAccessInfo(), SPubseqGatewaySettings::x_ReadHealthSection(), SPubseqGatewaySettings::x_ReadLMDBProcessorSection(), SPubseqGatewaySettings::x_ReadServerSection(), SPubseqGatewaySettings::x_ReadSNPProcessorSection(), and SPubseqGatewaySettings::x_ReadWGSProcessorSection().
◆ GetEncryptedString()Get a value that was (potentially) stored encrypted.
Similar to Get(), but if the value appears to have been encrypted, return the corresponding plaintext. Otherwise, unless flags contains fPlaintextAllowed, throw an exception to let the user know of inappropriate plaintext in the configuration file.
Definition at line 329 of file ncbireg.cpp.
References CNcbiEncrypt::Decrypt(), flags, IRegistry::fPlaintextAllowed, IRegistry::Get(), CNcbiEncrypt::IsEncrypted(), NCBI_RETHROW2, NCBI_THROW2, and NStr::TruncateSpaces().
Referenced by NS_ValidateServerSection(), SNS_Parameters::Read(), SNetStorageServerParameters::Read(), SEutilsParams::SEutilsParams(), SPubseqGatewaySettings::x_ReadAdminSection(), CNSTDatabase::x_ReadDbAccessInfo(), and CNetStorageGCDatabase::x_ReadDbAccessInfo().
◆ GetErrCodeString() const char * CRegistryException::GetErrCodeString ( void ) const overridevirtual ◆ GetInt()Get integer value of specified parameter name.
Like "GetString()", plus convert the value into integer.
Reimplemented in CSynRegistryToIRegistry.
Definition at line 362 of file ncbireg.cpp.
References IRegistry::eErrPost, IRegistry::eReturn, ERR_POST_X, IRegistry::eThrow, flags, IRegistry::Get(), msg(), NCBI_RETHROW_SAME, NStr::StringToInt(), and rapidjson::value.
Referenced by CCgiApplication::AddLBCookie(), CCassandraFullscanRunner::ApplyConfiguration(), CCassandraFullscanPlan::ApplyConfiguration(), BDB_CreateEnv(), CAppConfig::CAppConfig(), CCgiStatistics::Compose(), CDBLB_ServiceMapper::ConfigureFromRegistry(), CDBConnectionFactory::ConfigureFromRegistry(), ConfigureLogging(), ConfigureScheduler(), ConfigureSockets(), ConfigureThreads(), ConfigureTimeMan(), CPSGS_CDDProcessor::CPSGS_CDDProcessor(), CCgiApplication::CreateContextWithFlags_Default(), CCgiApplication::CreateFastCGIWatchFile(), CSampleJob::CSampleJob(), CProjBulderApp::EnumOpt(), CRmtScriptTimeout::Get(), SSection::Get(), CCgiApplication::GetFastCGIIterations(), CCgiApplication::GetFastCGIMTMaxThreads(), CCgiApplication::GetFastCGIWatchFileRestartDelay(), CCgiApplication::GetFastCGIWatchFileTimeout(), SPubseqGatewaySettings::GetProcessorMaxConcurrency(), IRegistry::GetValue(), CGridCgiApplication::InitGridClient(), CNCDistributionConf::Initialize(), CStdAnnotTypes::LoadTypes(), NS_ValidateInt(), NS_ValidateRegistrySettings(), NS_ValidateServerSection(), NSTValidateInt(), NSTValidateServerSection(), CSplitQueryTestFixture::QuerySplitter_BlastnMultiQueryMultiChunk(), CSplitQueryTestFixture::QuerySplitter_BlastnSingleQueryMultiChunk(), CSplitQueryTestFixture::QuerySplitter_BlastxMultiQueryMultiChunk(), CSplitQueryTestFixture::QuerySplitter_BlastxSingleQueryMultiChunk(), SQueueParameters::ReadClientRegistryMinAdmins(), SQueueParameters::ReadClientRegistryMinReaders(), SQueueParameters::ReadClientRegistryMinSubmitters(), SQueueParameters::ReadClientRegistryMinUnknowns(), SQueueParameters::ReadClientRegistryMinWorkerNodes(), SQueueParameters::ReadDumpAffBufferSize(), SQueueParameters::ReadDumpBufferSize(), SQueueParameters::ReadDumpClientBufferSize(), SQueueParameters::ReadDumpGroupBufferSize(), SQueueParameters::ReadFailedRetries(), SQueueParameters::ReadMaxJobsPerClient(), SQueueParameters::ReadNotifLofreqMult(), SQueueParameters::ReadReadFailedRetries(), ReConfig_Scheduler(), CCassConnectionFactory::ReloadConfig(), CBDBEnvKeeperApp::Run(), s_ConfigureTaskServer(), NDirectNetStorageImpl::s_GetRelocateChunk(), s_ReadServerParams(), s_ReadSpecificParams(), s_ReadVariableParams(), CSplitCacheApp::SetupCache(), TestDelay(), CNgAlignApp::x_CreateBlastAligner(), CNgAlignApp::x_CreateInversionMergeAligner(), CNgAlignApp::x_CreateMergeAligner(), CNgAlignApp::x_CreateRemoteBlastAligner(), CNcbiApplicationAPI::x_HonorStandardSettings(), CRmtFileStatus::x_Init(), CPSGS_SNPProcessor::x_LoadConfig(), CPSGS_WGSProcessor::x_LoadConfig(), SPubseqGatewaySettings::x_ReadAutoExcludeSection(), SPubseqGatewaySettings::x_ReadH2OSection(), SPubseqGatewaySettings::x_ReadIPGSection(), SPubseqGatewaySettings::x_ReadMyNCBISection(), CSplitQueryTestFixture::x_ReadQueryBoundsPerChunk(), SPubseqGatewaySettings::x_ReadServerSection(), CSplitQueryTestFixture::x_ReadSplitQueryInfoForTest(), SPubseqGatewaySettings::x_ReadStatisticsSection(), CSplitQueryTestFixture::x_ReadVectorOfVectorsForTest(), and CTaxonomyUpdater::xSetFromConfig().
◆ GetPrefix() [1/3] virtual string IEnvRegMapper::GetPrefix ( void ) const inlinevirtual ◆ GetPrefix() [2/3] string CSimpleEnvRegMapper::GetPrefix ( void ) const virtual ◆ GetPrefix() [3/3] string CNcbiEnvRegMapper::GetPrefix ( void ) const virtual ◆ GetString()Get the parameter string value.
Similar to the "Get()", but if the configuration parameter is not found, then return 'default_value' rather than empty string.
Reimplemented in CSynRegistryToIRegistry.
Definition at line 321 of file ncbireg.cpp.
References flags, IRegistry::Get(), and rapidjson::value.
Referenced by CCgiApplication::AddLBCookie(), CCassandraFullscanRunner::ApplyConfiguration(), BDB_CreateEnv(), CDataSourceInitializer::CDataSourceInitializer(), CGridRPCBaseClient< CAsnBinCompressed >::CGridRPCBaseClient(), CNcbiApplogApp::Cmd_Health(), CDBUDRandomMapper::ConfigureFromRegistry(), CDBUDPriorityMapper::ConfigureFromRegistry(), CDBUniversalMapper::ConfigureFromRegistry(), ConfigureLogging(), CPluginManager< TClass >::CPluginManager(), CGraphCacheFactory::CreateObject(), CRemoteAppLauncher::CRemoteAppLauncher(), CSampleJob::CSampleJob(), CProjBulderApp::GetConfigureMacro(), CProjBulderApp::GetDatatoolCommandLine(), CProjBulderApp::GetDatatoolId(), CProjBulderApp::GetDatatoolPathForApp(), CProjBulderApp::GetDatatoolPathForLib(), GetDefaultLogLocation(), CCgiApplication::GetDefaultLogPath(), GetDefaultTmsContext(), GetDllsList(), GetHostedLibs(), GetLinksURL(), CProjBulderApp::GetRegSettings(), CPtbRegistry::GetString(), IRegistry::GetValue(), CSeqTextDemoDlg::Init(), CNCDistributionConf::Initialize(), IsProducedByDatatool(), CColorTableMethod::Load(), CMatrixScoringMethod::Load(), LoadConfigInfoByNames(), CTemplateScoringMethod::LoadInfo(), CStdAnnotTypes::LoadTypes(), NS_ValidateString(), NSTValidateDatabaseSection(), NSTValidateProlongValue(), NSTValidateString(), NSTValidateTTLValue(), CGenBankUIDataSource::Open(), SExceptionMessage::operator()(), CProjBulderApp::ProcessLocationMacros(), CCassConnectionFactory::ProcessParams(), SNS_Parameters::Read(), SNetStorageServerParameters::Read(), SQueueParameters::ReadClass(), SQueueParameters::ReadDescription(), SNS_Parameters::ReadErrorEmulatorSection(), SQueueParameters::ReadLinkedSections(), SQueueParameters::ReadMaxInputSize(), SQueueParameters::ReadMaxOutputSize(), SQueueParameters::ReadProgram(), SQueueParameters::ReadReaderHosts(), SQueueParameters::ReadSubmHosts(), SQueueParameters::ReadWnodeHosts(), CCassConnectionFactory::ReloadConfig(), CAsn2FlatApp::Run(), CTrackMgrClient::s_Ask(), s_GetMandatoryFields(), s_init_LookForMultipleIsolates(), s_init_UseGeoLocNameForCountry(), CGraphTrack::s_InitICache(), s_ReadPerClientConfig(), s_ReadRanges(), s_ReadServerParams(), s_ReadSpecificParams(), s_ReadStorageParams(), s_ReadVariableParams(), ColumnarVcfCache::SetInfoFields(), CSplitCacheApp::SetupCache(), SEutilsParams::SEutilsParams(), CNetStorageGCApp::x_CheckExpiration(), CTemplateScoringMethod::x_GetColor(), CIncreasingTime::x_GetDoubleParam(), CODBC_Connection::x_GetDriverName(), CSDB_Decryptor::x_GetKey(), SPubseqGatewaySettings::x_GetPercentValue(), NSNPWebServices::x_GetSearchHost(), CGuiObjectInfoVariation::x_GetTooltipService(), CNcbiApplicationAPI::x_HonorStandardSettings(), CRmtFileStatus::x_Init(), CDataCrawlerCache::x_InitICache(), CEutilsClient::x_InitParams(), SPubseqGatewaySettings::x_IsPercentValue(), CPSGS_SNPProcessor::x_LoadConfig(), SPubseqGatewaySettings::x_ReadAdminSection(), SPubseqGatewaySettings::x_ReadCassandraProcessorSection(), SPubseqGatewaySettings::x_ReadCDDProcessorSection(), SErrorEmulatorParameter::x_ReadCommon(), CNSTDatabase::x_ReadDbAccessInfo(), CNetStorageGCDatabase::x_ReadDbAccessInfo(), SPubseqGatewaySettings::x_ReadHealthSection(), CQueueDataBase::x_ReadLinkedSections(), SPubseqGatewaySettings::x_ReadLmdbCacheSection(), SPubseqGatewaySettings::x_ReadLMDBProcessorSection(), SPubseqGatewaySettings::x_ReadMyNCBISection(), SPubseqGatewaySettings::x_ReadServerSection(), CNSTServiceRegistry::x_ReadServiceProperties(), SPubseqGatewaySettings::x_ReadSNPProcessorSection(), SPubseqGatewaySettings::x_ReadSSLSection(), SPubseqGatewaySettings::x_ReadStatisticsSection(), CUIToolRegistry::x_ReadToolInfo(), SPubseqGatewaySettings::x_ReadWGSProcessorSection(), CNetScheduleDApp::x_SaveSection(), and CPubmedUpdater::xSetFromConfig().
◆ GetValue() [1/4] ◆ GetValue() [2/4] ◆ GetValue() [3/4] ◆ GetValue() [4/4] ◆ HasEntry()Reimplemented in CSynRegistryToIRegistry.
Definition at line 290 of file ncbireg.cpp.
References _TRACE, IRegistry::fCountCleared, IRegistry::fInternalCheckedAndLocked, IRegistry::fInternalSpaces, flags, IRegistry::fLayerFlags, IRegistry::fSectionlessEntries, IRegistry::fSections, IRegistry::fTPFlags, IRegistry::IsNameEntry(), IRegistry::IsNameSection(), NStr::PrintableString(), IRegistry::sm_InSectionCommentName, NStr::TruncateSpaces(), IRegistry::x_CheckFlags(), and IRegistry::x_HasEntry().
Referenced by BDB_CreateEnv(), CBlastFormatUtil::BlastPrintReference(), BOOST_AUTO_TEST_CASE(), CRemoteAppLauncher::CRemoteAppLauncher(), FindBlastDbPath(), CSeqDBAtlas::GenerateSearchPath(), CCodeGenerator::GetOpt(), SPubseqGatewaySettings::GetProcessorMaxConcurrency(), CAlignFormatUtil::GetProtocol(), CSynRegistry::Has(), CPtbRegistry::HasEntry(), CNcbiRegistry::IncludeNcbircIfAllowed(), CColorTableMethod::Load(), CMatrixScoringMethod::Load(), NS_ValidateDataSize(), NSTValidateServices(), SNS_Parameters::Read(), CGridCommandLineInterfaceApp::Run(), NDirectNetStorageImpl::s_GetSection(), s_ReadPerClientConfig(), s_ReadRanges(), s_ReadSpecificParams(), CSynRegistry::TGet(), CBlastUsageReport::x_CheckBlastUsageEnv(), CMemoryRegistry::x_Enumerate(), CNSTServiceRegistry::x_GetMetadataServices(), CDataTypeModule::x_GetVar(), CTwoLayerRegistry::x_HasEntry(), CCompoundRWRegistry::x_HasEntry(), SDataLoaderConfig::x_LoadBlastDbDataLoaderConfig(), SDataLoaderConfig::x_LoadDataLoadersConfig(), IRWRegistry::x_Read(), CNcbiRegistry::x_Read(), impl::CDriverContext::x_ReadDBConfParams(), SPubseqGatewaySettings::x_ReadServerSection(), CNSTServiceRegistry::x_ReadServiceProperties(), CNetScheduleDApp::x_SaveSection(), CCompoundRWRegistry::x_Set(), CTaxonomyUpdater::xSetFromConfig(), and CPubmedUpdater::xSetFromConfig().
◆ IncludeNcbircIfAllowed()Attempt to load a systemwide configuration file (.ncbirc on Unix, ncbi.ini on Windows) as a low-priority registry, as long as the following conditions all hold:
Definition at line 1650 of file ncbireg.cpp.
References CMetaRegistry::SEntry::actual_name, Critical(), IRegistry::Empty(), CMetaRegistry::eName_RcOrIni, ERR_POST_X, flags, IRegistry::fWithNcbirc, CRef< C, Locker >::GetPointer(), IRegistry::HasEntry(), i, CMetaRegistry::Load(), CNcbiRegistry::m_SysRegistry, CMetaRegistry::SEntry::registry, CRef< C, Locker >::Reset(), Warning(), IRegistry::WriteLock(), and IRegistry::x_GetWriteLockCount().
Referenced by BOOST_AUTO_TEST_CASE(), CNcbiRegistry::CNcbiRegistry(), CNcbiApplicationAPI::LoadConfig(), and CNcbiRegistry::x_Read().
◆ IsNameEntry() ◆ IsNameSection()Check if "str" consists of alphanumeric and '_' only Treat the case of set fSectionlessEntries separately.
Definition at line 68 of file ncbireg.cpp.
References flags, IRegistry::fSectionlessEntries, ITERATE, s_IsNameSectionSymbol(), and str().
Referenced by IRegistry::EnumerateEntries(), IRegistry::EnumerateInSectionComments(), CNcbiEnvRegMapper::EnvToReg(), IRegistry::Get(), IRegistry::GetComment(), IRegistry::HasEntry(), IRegistry::IsNameEntry(), IRWRegistry::Set(), IRWRegistry::SetComment(), IRWRegistry::Unset(), CMemoryRegistry::x_Enumerate(), and IRWRegistry::x_Read().
◆ LoadBaseRegistries()Load any base registries listed in [NCBI].Inherits; returns true if able to load at least one, false otherwise.
Definition at line 1847 of file ncbireg.cpp.
References _TRACE, CCompoundRWRegistry::CCompoundRWRegistry(), Critical(), CMetaRegistry::eName_AsIs, CMetaRegistry::eName_Ini, set< Key, Compare >::end(), NStr::EndsWith(), CCompoundRWRegistry::ePriority_MaxUser, ERR_POST, IRegistry::fCaseFlags, set< Key, Compare >::find(), CCompoundRWRegistry::FindByName(), first(), IRegistry::fJustCore, flags, NStr::fSplit_CanSingleQuote, NStr::fSplit_MergeDelimiters, NStr::fSplit_Truncate, IRegistry::Get(), CRef< C, Locker >::GetPointer(), i, set< Key, Compare >::insert(), ITERATE, CMetaRegistry::Load(), CCompoundRWRegistry::m_AllRegistries, CCompoundRWRegistry::m_BaseRegNames, CCompoundRWRegistry::m_Flags, CCompoundRWRegistry::m_MainRegistry, CCompoundRegistry::m_PriorityMap, names, NULL, CMetaRegistry::SEntry::registry, REVERSE_ITERATE, set< Key, Compare >::size(), CCompoundRWRegistry::sm_BaseRegNamePrefix, CNcbiRegistry::sm_FileRegName, NStr::Split(), and CCompoundRWRegistry::x_Add().
Referenced by CNcbiRegistry::CNcbiRegistry(), CMetaRegistry::Load(), CMetaRegistry::SEntry::Reload(), CCompoundRWRegistry::x_Read(), and CNcbiRegistry::x_Read().
◆ MaybeSet() ◆ Modified()Verify if persistent values have been modified.
Definition at line 173 of file ncbireg.cpp.
References flags, IRegistry::fLayerFlags, IRegistry::fPersistent, IRegistry::fTransient, IRegistry::x_CheckFlags(), and IRegistry::x_Modified().
Referenced by CMetaRegistry::Load(), CMetaRegistry::SEntry::Reload(), IRegistry::Write(), CTwoLayerRegistry::x_Modified(), CCompoundRWRegistry::x_Modified(), CSynRegistryToIRegistry::x_Modified(), and IRWRegistry::x_Read().
◆ NCBI_EXCEPTION_DEFAULT2() ◆ Read()Read and parse the stream "is", and merge its content with current Registry entries.
Once the Registry has been initialized by the constructor, it is possible to load other parameters from other files using this method.
Definition at line 612 of file ncbireg.cpp.
References eBOM_Discard, eEncodingForm_Utf16Foreign, eEncodingForm_Utf16Native, IRegistry::fCountCleared, IRegistry::fIgnoreErrors, IRegistry::fInternalSpaces, IRegistry::fJustCore, flags, IRegistry::fNoOverride, IRegistry::fSectionlessEntries, IRegistry::fTransient, IRegistry::fWithNcbirc, GetTextEncodingForm(), NULL, ReadIntoUtf8(), IRegistry::x_CheckFlags(), and IRWRegistry::x_Read().
Referenced by CNcbiApplogApp::Cmd_Health(), CNcbiRegistry::CNcbiRegistry(), CIdMapperConfig::DescribeContexts(), CIdMapperConfig::Initialize(), CMetaRegistry::Load(), CCodeGenerator::LoadConfig(), CNcbiApplicationAPI::LoadConfig(), LoadRegistry(), CStdAnnotTypes::LoadTypes(), CGenBankUIDataSource::Open(), CPtbRegistry::Read(), CMetaRegistry::SEntry::Reload(), CSamplePhoneHomePolicy::Restore(), s_LoadConfFile(), and CNcbiRegistry::x_Read().
◆ ReadLock() void IRegistry::ReadLock ( void ) ◆ RegToEnv() [1/3] ◆ RegToEnv() [2/3] ◆ RegToEnv() [3/3] ◆ Remove() [1/2] ◆ Remove() [2/2] ◆ RemoveMapper() ◆ Set()Set the configuration parameter value.
Definition at line 833 of file ncbireg.cpp.
References _ASSERT, _TRACE, IRegistry::fCountCleared, IRegistry::fInternalSpaces, flags, IRegistry::fNoOverride, IRegistry::fPersistent, IRegistry::fSectionlessEntries, IRegistry::fTruncate, IRegistry::IsNameEntry(), IRegistry::IsNameSection(), NPOS, NStr::PrintableString(), s_ConvertComment(), NStr::TruncateSpaces(), rapidjson::value, IRegistry::x_CheckFlags(), IRWRegistry::x_Set(), and IRegistry::x_SetModifiedFlag().
Referenced by CCodeGenerator::AddConfigLine(), BOOST_AUTO_TEST_CASE(), CAutoNcbiConfigFile::CAutoNcbiConfigFile(), CNcbiApplogApp::Cmd_Health(), SBDB_CacheUnitStatistics::ConvertToRegistry(), CCodeGenerator::ExcludeTypes(), CDebugArgs::ExtractAlgorithmOptions(), GetAsnDataViaHTTP(), CRemoteCgiApp::Init(), CStreamTestApp::Init(), MakePluginManagerParamTree(), NCBITEST_AUTO_INIT(), CGenBankUIDataSource::Open(), CCgiApplication::ProcessHttpReferer(), CNCDistributionConf::ReConfig(), RegistrySetBoolean(), RegistrySetDouble(), RegistrySetInteger(), RegistrySetString(), CAutoNcbiConfigFile::RemoveBLASTDBEnvVar(), CSamplePhoneHomePolicy::Restore(), CGridCommandLineInterfaceApp::Run(), CAsnSubCacheCreateApplication::Run(), CDemoApp::Run(), s_REG_Set(), s_ScanRecursive(), CColorTableMethod::Save(), CTemplateScoringMethod::SaveInfo(), CAutoNcbiConfigFile::SetNucleotideBlastDbDataLoader(), CAutoNcbiConfigFile::SetProteinBlastDbDataLoader(), CGridCommandLineInterfaceApp::SetUp_NetCache(), CSplitCacheApp::SetupCache(), IRWRegistry::SetValue(), IRWRegistry::x_Read(), CNcbiRegistry::x_Read(), CTwoLayerRegistry::x_Set(), CCompoundRWRegistry::x_Set(), CSequenceSearchForm::x_UpdateFileList(), COrfSearchForm::x_UpdateKozak(), and CAutoNcbiConfigFile::~CAutoNcbiConfigFile().
◆ SetComment()Set comment "comment" for the registry entry "section:name".
Definition at line 902 of file ncbireg.cpp.
References _TRACE, IRegistry::fCountCleared, IRegistry::fInternalSpaces, flags, IRegistry::fNoOverride, IRegistry::fPersistent, IRegistry::fTransient, IRegistry::IsNameEntry(), IRegistry::IsNameSection(), NStr::PrintableString(), s_ConvertComment(), IRegistry::sm_InSectionCommentName, NStr::TruncateSpaces(), IRegistry::x_CheckFlags(), IRWRegistry::x_SetComment(), and IRegistry::x_SetModifiedFlag().
Referenced by IRWRegistry::x_Read(), CTwoLayerRegistry::x_SetComment(), and CCompoundRWRegistry::x_SetComment().
◆ SetCoreCutoff() [1/2] void CCompoundRegistry::SetCoreCutoff ( TPriority prio ) inline ◆ SetCoreCutoff() [2/2] void CCompoundRWRegistry::SetCoreCutoff ( TPriority prio ) ◆ SetModifiedFlag()Indicate whether any relevant values are out of sync with some external resource (typically a configuration file).
You should normally not need to call this explicitly.
Definition at line 184 of file ncbireg.cpp.
References flags, IRegistry::fLayerFlags, IRegistry::fPersistent, IRegistry::fTransient, IRegistry::x_CheckFlags(), and IRegistry::x_SetModifiedFlag().
Referenced by CMetaRegistry::Load(), CMetaRegistry::SEntry::Reload(), IRegistry::Write(), IRWRegistry::x_Read(), CTwoLayerRegistry::x_SetModifiedFlag(), CCompoundRWRegistry::x_SetModifiedFlag(), and CSynRegistryToIRegistry::x_SetModifiedFlag().
◆ SetValue() [1/4] ◆ SetValue() [2/4] ◆ SetValue() [3/4] ◆ SetValue() [4/4] ◆ SSection() CMemoryRegistry::SSection::SSection ( TFlags flags ) inlineDefinition at line 628 of file ncbireg.hpp.
◆ Unlock() void IRegistry::Unlock ( void ) ◆ Unset()Fully unset the configuration parameter value, so that HasEntry returns false.
Definition at line 874 of file ncbireg.cpp.
References _TRACE, IRegistry::fCountCleared, flags, IRegistry::fSectionlessEntries, IRegistry::fTPFlags, IRegistry::IsNameEntry(), IRegistry::IsNameSection(), NStr::PrintableString(), NStr::TruncateSpaces(), IRegistry::x_CheckFlags(), IRegistry::x_SetModifiedFlag(), and IRWRegistry::x_Unset().
Referenced by BOOST_AUTO_TEST_CASE(), s_REG_Set(), CTwoLayerRegistry::x_Unset(), and CCompoundRWRegistry::x_Unset().
◆ Write()Write the registry content to output stream.
Definition at line 196 of file ncbireg.cpp.
References Endl(), entries, IRegistry::EnumerateEntries(), IRegistry::EnumerateInSectionComments(), IRegistry::EnumerateSections(), IRegistry::fCountCleared, IRegistry::fInternalSpaces, IRegistry::fJustCore, flags, IRegistry::fLayerFlags, IRegistry::fNotJustCore, IRegistry::fPersistent, IRegistry::fSectionlessEntries, IRegistry::fTransient, IRegistry::Get(), IRegistry::GetComment(), ITERATE, kEmptyStr, IRegistry::Modified(), Printable(), s_WriteComment(), IRegistry::SetModifiedFlag(), and IRegistry::x_CheckFlags().
Referenced by CNcbiApplogApp::Cmd_Health(), CMetaRegistry::Load(), CNcbiApplicationAPI::LoadConfig(), CMetaRegistry::SEntry::Reload(), CSamplePhoneHomePolicy::Restore(), CNetScheduleDApp::Run(), SaveRegistry(), CRegistryFile::ToConfigFile(), CNCMessageHandler::x_DoCmd_GetConfig(), CNetStorageHandler::x_ProcessConfiguration(), and CNetScheduleHandler::x_ProcessGetConf().
◆ WriteLock() void IRegistry::WriteLock ( void ) ◆ x_Add() ◆ x_CheckFlags()Definition at line 565 of file ncbireg.cpp.
References _TRACE, flags, and hex().
Referenced by IRWRegistry::Clear(), CNcbiRegistry::CNcbiRegistry(), IRegistry::Empty(), IRegistry::EnumerateEntries(), IRegistry::EnumerateInSectionComments(), IRegistry::EnumerateSections(), IRegistry::Get(), IRegistry::GetComment(), IRegistry::HasEntry(), IRegistry::Modified(), IRWRegistry::Read(), IRWRegistry::Set(), IRWRegistry::SetComment(), IRegistry::SetModifiedFlag(), IRWRegistry::Unset(), and IRegistry::Write().
◆ x_ChildLockAction() [1/5] void CEnvironmentRegistry::x_ChildLockAction ( FLockAction action ) protectedvirtual ◆ x_ChildLockAction() [2/5] void CCompoundRegistry::x_ChildLockAction ( FLockAction action ) protectedvirtual ◆ x_ChildLockAction() [3/5] void CTwoLayerRegistry::x_ChildLockAction ( FLockAction action ) protectedvirtual ◆ x_ChildLockAction() [4/5] void CCompoundRWRegistry::x_ChildLockAction ( FLockAction action ) protectedvirtual ◆ x_ChildLockAction() [5/5] virtual void IRegistry::x_ChildLockAction ( FLockAction ) inlineprotectedvirtual ◆ x_Clear() [1/6] void CEnvironmentRegistry::x_Clear ( TFlags flags ) protectedvirtual ◆ x_Clear() [2/6] void CMemoryRegistry::x_Clear ( TFlags flags ) protectedvirtual ◆ x_Clear() [3/6] void CTwoLayerRegistry::x_Clear ( TFlags flags ) protectedvirtual ◆ x_Clear() [4/6] void CCompoundRWRegistry::x_Clear ( TFlags flags ) protectedvirtualCalled locked, like the virtual methods inherited from IRegistry.
Implements IRWRegistry.
Reimplemented in CNcbiRegistry.
Definition at line 2047 of file ncbireg.cpp.
References set< Key, Compare >::clear(), IRWRegistry::Clear(), CCompoundRWRegistry::FindByName(), flags, ITERATE, CCompoundRWRegistry::m_BaseRegNames, CCompoundRWRegistry::m_MainRegistry, CCompoundRWRegistry::Remove(), and CCompoundRWRegistry::sm_BaseRegNamePrefix.
Referenced by CNcbiRegistry::x_Clear().
◆ x_Clear() [5/6] void CNcbiRegistry::x_Clear ( TFlags flags ) protectedvirtual ◆ x_Clear() [6/6] virtual void IRWRegistry::x_Clear ( TFlags flags ) protectedpure virtual ◆ x_Empty() [1/6] bool CEnvironmentRegistry::x_Empty ( TFlags flags ) const protectedvirtual ◆ x_Empty() [2/6] bool CMemoryRegistry::x_Empty ( TFlags flags ) const protectedvirtual ◆ x_Empty() [3/6] bool CCompoundRegistry::x_Empty ( TFlags flags ) const protectedvirtual ◆ x_Empty() [4/6] bool CTwoLayerRegistry::x_Empty ( TFlags flags ) const protectedvirtual ◆ x_Empty() [5/6] bool CCompoundRWRegistry::x_Empty ( TFlags flags ) const protectedvirtual ◆ x_Empty() [6/6] virtual bool IRegistry::x_Empty ( TFlags flags ) const protectedpure virtual ◆ x_Enumerate() [1/6]Implements IRegistry.
Definition at line 211 of file env_reg.cpp.
References NStr::eCase, NStr::eNocase, entries, CNcbiEnvironment::Enumerate(), NStr::Equal(), IRegistry::fInSectionComments, flags, IRegistry::fSectionCase, IRegistry::fTransient, ITERATE, l(), CEnvironmentRegistry::m_Env, and CEnvironmentRegistry::m_PriorityMap.
◆ x_Enumerate() [2/6]Implements IRegistry.
Definition at line 1022 of file ncbireg.cpp.
References _TRACE, map_checker< Container >::end(), entries, IRegistry::fCountCleared, map_checker< Container >::find(), IRegistry::fInSectionComments, flags, IRegistry::fSectionlessEntries, IRegistry::fSections, IRegistry::HasEntry(), IRegistry::IsNameSection(), ITERATE, kEmptyStr, CMemoryRegistry::m_Sections, and CMemoryRegistry::x_GetComment().
◆ x_Enumerate() [3/6]Implements IRegistry.
Definition at line 1342 of file ncbireg.cpp.
References entries, IRegistry::fInSectionComments, IRegistry::fJustCore, flags, set< Key, Compare >::insert(), ITERATE, CCompoundRegistry::m_CoreCutoff, CCompoundRegistry::m_PriorityMap, REVERSE_ITERATE, and tmp.
◆ x_Enumerate() [4/6]Implements IRegistry.
Definition at line 1466 of file ncbireg.cpp.
References _TROUBLE, entries, IRegistry::EnumerateEntries(), IRegistry::EnumerateInSectionComments(), IRegistry::fInSectionComments, flags, IRegistry::fPersistent, IRegistry::fTPFlags, IRegistry::fTransient, CTwoLayerRegistry::m_Persistent, and CTwoLayerRegistry::m_Transient.
◆ x_Enumerate() [5/6]Implements IRegistry.
Definition at line 2003 of file ncbireg.cpp.
References map_checker< Container >::end(), entries, IRegistry::fCountCleared, map_checker< Container >::find(), IRegistry::fInSectionComments, IRegistry::fJustCore, flags, CCompoundRWRegistry::GetCoreCutoff(), ITERATE, CCompoundRWRegistry::m_AllRegistries, CCompoundRWRegistry::m_ClearedEntries, CCompoundRegistry::m_PriorityMap, REVERSE_ITERATE, s_FlatKey(), and tmp.
◆ x_Enumerate() [6/6] ◆ x_Get() [1/7] ◆ x_Get() [2/7] ◆ x_Get() [3/7] ◆ x_Get() [4/7] ◆ x_Get() [5/7] ◆ x_Get() [6/7] ◆ x_Get() [7/7]Definition at line 136 of file env_reg.cpp.
References IRegistry::fCaseFlags, flags, IRegistry::fPersistent, IRegistry::fTPFlags, CNcbiEnvironment::Get(), kEmptyStr, CEnvironmentRegistry::m_Env, CEnvironmentRegistry::m_Flags, CEnvironmentRegistry::m_PriorityMap, REVERSE_ITERATE, and NStr::ToUpper().
◆ x_GetComment() [1/7] ◆ x_GetComment() [2/7] ◆ x_GetComment() [3/7] ◆ x_GetComment() [4/7] ◆ x_GetComment() [5/7] ◆ x_GetComment() [6/7] ◆ x_GetComment() [7/7] ◆ x_GetWriteLockCount() ◆ x_HasEntry() [1/6] ◆ x_HasEntry() [2/6] ◆ x_HasEntry() [3/6] ◆ x_HasEntry() [4/6] ◆ x_HasEntry() [5/6] ◆ x_HasEntry() [6/6] ◆ x_HasSection()Definition at line 172 of file env_reg.cpp.
References CMask::Add(), NStr::eCase, NStr::eNocase, CNcbiEnvironment::Enumerate(), env, NStr::Equal(), flags, IRegistry::fSectionCase, i, kPattern(), l(), CEnvironmentRegistry::m_Env, CEnvironmentRegistry::m_PriorityMap, mask, CMaskFileName::Match(), NPOS, and NStr::ToUpper().
Referenced by CEnvironmentRegistry::x_HasEntry().
◆ x_Init() void CNcbiRegistry::x_Init ( void ) inlineprivateDefinition at line 1583 of file ncbireg.cpp.
References _T_STDSTRING, _TX, CCompoundRWRegistry::CCompoundRWRegistry(), CMetaRegistry::eName_AsIs, eNoOwnership, CCompoundRWRegistry::ePriority_Default, CNcbiRegistry::ePriority_Environment, CNcbiRegistry::ePriority_File, CNcbiRegistry::ePriority_Overrides, ERR_POST_ONCE, ERR_POST_X, IRegistry::fCaseFlags, CRef< C, Locker >::GetPointer(), CNcbiApplication::Instance(), CMetaRegistry::Load(), CNcbiRegistry::m_EnvRegistry, CNcbiRegistry::m_FileRegistry, CNcbiRegistry::m_Flags, CNcbiRegistry::m_OverrideRegistry, CNcbiRegistry::m_SysRegistry, NcbiSys_getenv, NULL, CMetaRegistry::SEntry::registry, CRef< C, Locker >::Reset(), CNcbiApplicationAPI::SetEnvironment(), CNcbiRegistry::sm_EnvRegName, CNcbiRegistry::sm_FileRegName, CNcbiRegistry::sm_OverrideRegName, CNcbiRegistry::sm_SysRegName, Warning(), and CCompoundRWRegistry::x_Add().
Referenced by CNcbiRegistry::CNcbiRegistry().
◆ x_Modified() [1/6] bool CEnvironmentRegistry::x_Modified ( TFlags flags ) const protectedvirtual ◆ x_Modified() [2/6] bool CCompoundRegistry::x_Modified ( TFlags flags ) const protectedvirtual ◆ x_Modified() [3/6] bool CTwoLayerRegistry::x_Modified ( TFlags flags ) const protectedvirtual ◆ x_Modified() [4/6] bool CCompoundRWRegistry::x_Modified ( TFlags flags ) const protectedvirtual ◆ x_Modified() [5/6] virtual bool IRegistry::x_Modified ( TFlags ) const inlineprotectedvirtual ◆ x_Modified() [6/6] ◆ x_Read() [1/3]Most implementations should not override this, but CNcbiRegistry must, to handle some special cases properly.
Reimplemented in CNcbiRegistry, and CCompoundRWRegistry.
Definition at line 637 of file ncbireg.cpp.
References eEntry, IRegistry::Empty(), NStr::EqualNocase(), ERR_POST_X, IRegistry::fCountCleared, IRegistry::fIgnoreErrors, IRegistry::fJustCore, flags, IRegistry::fNoOverride, IRegistry::fPersistent, IRegistry::fTPFlags, IRegistry::fTransient, IRegistry::Get(), IRegistry::GetComment(), IRegistry::HasEntry(), IRegistry::IsNameEntry(), IRegistry::IsNameSection(), isspace(), kEmptyStr, len, IRegistry::Modified(), NCBI_THROW2, NcbiGetlineEOL(), NPOS, NULL, NStr::ParseEscapes(), s_Backslashed(), IRWRegistry::Set(), IRWRegistry::SetComment(), IRegistry::SetModifiedFlag(), IRegistry::sm_InSectionCommentName, NStr::SplitInTwo(), str(), NStr::TruncateSpaces(), NStr::TruncateSpacesInPlace(), rapidjson::value, and Warning().
Referenced by IRWRegistry::Read(), and CCompoundRWRegistry::x_Read().
◆ x_Read() [2/3]Most implementations should not override this, but CNcbiRegistry must, to handle some special cases properly.
Reimplemented from IRWRegistry.
Reimplemented in CNcbiRegistry.
Definition at line 2107 of file ncbireg.cpp.
References IRegistry::Empty(), flags, IRegistry::fNoOverride, IRegistry::fOverride, IRegistry::fPersistent, in(), CCompoundRWRegistry::LoadBaseRegistries(), NULL, and IRWRegistry::x_Read().
Referenced by CNcbiRegistry::x_Read().
◆ x_Read() [3/3]Most implementations should not override this, but CNcbiRegistry must, to handle some special cases properly.
Reimplemented from CCompoundRWRegistry.
Definition at line 1701 of file ncbireg.cpp.
References CCompoundRWRegistry::CCompoundRWRegistry(), IRegistry::Empty(), CConstRef< C, Locker >::Empty(), entries, CNcbiRegistry::ePriority_RuntimeOverrides, IRegistry::fCaseFlags, IRegistry::fCountCleared, CCompoundRWRegistry::FindByName(), flags, IRegistry::fNoOverride, IRegistry::fPersistent, IRegistry::fTransient, IRegistry::fWithNcbirc, CRef< C, Locker >::GetPointer(), IRegistry::HasEntry(), CNcbiRegistry::IncludeNcbircIfAllowed(), ITERATE, CCompoundRWRegistry::LoadBaseRegistries(), CNcbiRegistry::m_FileRegistry, CNcbiRegistry::m_Flags, CNcbiRegistry::m_RuntimeOverrideCount, NULL, IRWRegistry::Read(), IRWRegistry::Set(), CCompoundRWRegistry::sm_MainRegName, CNcbiRegistry::sm_OverrideRegName, NStr::UIntToString(), CCompoundRWRegistry::x_Add(), and CCompoundRWRegistry::x_Read().
◆ x_Set() [1/5]Implements IRWRegistry.
Definition at line 262 of file env_reg.cpp.
References ERR_POST_X, IRegistry::fCaseFlags, flags, CNcbiEnvironment::Get(), CEnvironmentRegistry::m_Env, CEnvironmentRegistry::m_Flags, CEnvironmentRegistry::m_PriorityMap, IRWRegistry::MaybeSet(), REVERSE_ITERATE, CNcbiEnvironment::Set(), NStr::ToUpper(), rapidjson::value, and Warning().
◆ x_Set() [2/5]Implements IRWRegistry.
Definition at line 1067 of file ncbireg.cpp.
References _ASSERT, _TRACE, CMemoryRegistry::SEntry::comment, map_checker< Container >::end(), map_checker< Container >::find(), flags, map_checker< Container >::insert(), ITERATE, CMemoryRegistry::m_Flags, CMemoryRegistry::m_Sections, IRWRegistry::MaybeSet(), CMemoryRegistry::SEntry::value, rapidjson::value, and CMemoryRegistry::x_Unset().
◆ x_Set() [3/5] ◆ x_Set() [4/5]Implements IRWRegistry.
Definition at line 2058 of file ncbireg.cpp.
References _TRACE, map_checker< Container >::end(), map_checker< Container >::erase(), map_checker< Container >::find(), flags, IRegistry::fLayerFlags, IRegistry::fNoOverride, IRegistry::fPersistent, IRegistry::fTransient, IRegistry::Get(), IRegistry::HasEntry(), CCompoundRWRegistry::m_ClearedEntries, CCompoundRWRegistry::m_MainRegistry, s_FlatKey(), IRWRegistry::Set(), and rapidjson::value.
◆ x_Set() [5/5] ◆ x_SetComment() [1/5] ◆ x_SetComment() [2/5]Implements IRWRegistry.
Definition at line 1138 of file ncbireg.cpp.
References map_checker< Container >::end(), entries, map_checker< Container >::erase(), IRegistry::fCountCleared, map_checker< Container >::find(), flags, IRegistry::fNoOverride, map_checker< Container >::insert(), CMemoryRegistry::m_Flags, CMemoryRegistry::m_RegistryComment, CMemoryRegistry::m_Sections, IRWRegistry::MaybeSet(), and IRegistry::sm_InSectionCommentName.
◆ x_SetComment() [3/5] ◆ x_SetComment() [4/5] ◆ x_SetComment() [5/5] ◆ x_SetModifiedFlag() [1/6] void CEnvironmentRegistry::x_SetModifiedFlag ( bool modified, TFlags flags ) protectedvirtual ◆ x_SetModifiedFlag() [2/6] void CCompoundRegistry::x_SetModifiedFlag ( bool modified, TFlags flags ) protectedvirtual ◆ x_SetModifiedFlag() [3/6] void CTwoLayerRegistry::x_SetModifiedFlag ( bool modified, TFlags flags ) protectedvirtual ◆ x_SetModifiedFlag() [4/6] void CCompoundRWRegistry::x_SetModifiedFlag ( bool modified, TFlags flags ) protectedvirtual ◆ x_SetModifiedFlag() [5/6] void CMemoryRegistry::x_SetModifiedFlag ( bool modified, TFlags ) inlineprotectedvirtual ◆ x_SetModifiedFlag() [6/6] virtual void IRegistry::x_SetModifiedFlag ( bool , TFlags ) inlineprotectedvirtual ◆ x_Unset() [1/5] ◆ x_Unset() [2/5] ◆ x_Unset() [3/5] ◆ x_Unset() [4/5] ◆ x_Unset() [5/5] ◆ ~CCompoundRWRegistry() CCompoundRWRegistry::~CCompoundRWRegistry ( ) ◆ ~CEnvironmentRegistry() CEnvironmentRegistry::~CEnvironmentRegistry ( ) ◆ ~CNcbiRegistry() CNcbiRegistry::~CNcbiRegistry ( )Definition at line 1645 of file ncbireg.cpp.
◆ cleared ◆ comment [1/2] string CMemoryRegistry::SEntry::comment ◆ comment [2/2] ◆ entries ◆ in_section_comment ◆ m_AllRegistriesDefinition at line 897 of file ncbireg.hpp.
Referenced by CCompoundRWRegistry::FindByContents(), CCompoundRWRegistry::FindByName(), CCompoundRWRegistry::GetCoreCutoff(), CCompoundRWRegistry::LoadBaseRegistries(), CCompoundRWRegistry::Remove(), CCompoundRWRegistry::SetCoreCutoff(), CCompoundRWRegistry::x_Add(), CCompoundRWRegistry::x_Empty(), CCompoundRWRegistry::x_Enumerate(), CCompoundRWRegistry::x_Get(), CCompoundRWRegistry::x_GetComment(), CCompoundRWRegistry::x_HasEntry(), CCompoundRWRegistry::x_Modified(), CCompoundRWRegistry::x_SetModifiedFlag(), and CCompoundRWRegistry::x_Unset().
◆ m_BaseRegNames set<string> CCompoundRWRegistry::m_BaseRegNames private ◆ m_ClearedEntries ◆ m_CoreCutoff ◆ m_Env ◆ m_EnvRegistry ◆ m_FileRegistry ◆ m_Flags [1/4] TFlags CEnvironmentRegistry::m_Flags private ◆ m_Flags [2/4] TFlags CMemoryRegistry::m_Flags private ◆ m_Flags [3/4] TFlags CCompoundRWRegistry::m_Flags private ◆ m_Flags [4/4] ◆ m_IsModified bool CMemoryRegistry::m_IsModified private ◆ m_Lock ◆ m_MainRegistry ◆ m_Modified bool CEnvironmentRegistry::m_Modified private ◆ m_NameMap ◆ m_OverrideRegistry ◆ m_Persistent CRegRef CTwoLayerRegistry::m_Persistent privateDefinition at line 786 of file ncbireg.hpp.
Referenced by CTwoLayerRegistry::x_Clear(), CTwoLayerRegistry::x_Empty(), CTwoLayerRegistry::x_Enumerate(), CTwoLayerRegistry::x_Get(), CTwoLayerRegistry::x_GetComment(), CTwoLayerRegistry::x_HasEntry(), CTwoLayerRegistry::x_Modified(), CTwoLayerRegistry::x_Set(), CTwoLayerRegistry::x_SetComment(), CTwoLayerRegistry::x_SetModifiedFlag(), and CTwoLayerRegistry::x_Unset().
◆ m_Prefix string CSimpleEnvRegMapper::m_Prefix private ◆ m_PriorityMap [1/2] ◆ m_PriorityMap [2/2]Definition at line 730 of file ncbireg.hpp.
Referenced by CCompoundRegistry::Add(), CCompoundRegistry::FindByContents(), CCompoundRWRegistry::LoadBaseRegistries(), CCompoundRegistry::Remove(), CCompoundRegistry::x_ChildLockAction(), CCompoundRegistry::x_Empty(), CCompoundRegistry::x_Enumerate(), CCompoundRWRegistry::x_Enumerate(), CCompoundRegistry::x_GetComment(), CCompoundRegistry::x_Modified(), CCompoundRegistry::x_SetModifiedFlag(), and CCompoundRWRegistry::x_Unset().
◆ m_RegistryComment string CMemoryRegistry::m_RegistryComment private ◆ m_RuntimeOverrideCount unsigned int CNcbiRegistry::m_RuntimeOverrideCount private ◆ m_Section string CSimpleEnvRegMapper::m_Section private ◆ m_Sections ◆ m_Suffix string CSimpleEnvRegMapper::m_Suffix private ◆ m_SysRegistry ◆ m_Transient CRegRef CTwoLayerRegistry::m_Transient privateDefinition at line 785 of file ncbireg.hpp.
Referenced by CTwoLayerRegistry::x_Clear(), CTwoLayerRegistry::x_Empty(), CTwoLayerRegistry::x_Enumerate(), CTwoLayerRegistry::x_Get(), CTwoLayerRegistry::x_GetComment(), CTwoLayerRegistry::x_HasEntry(), CTwoLayerRegistry::x_Modified(), CTwoLayerRegistry::x_Set(), CTwoLayerRegistry::x_SetComment(), CTwoLayerRegistry::x_SetModifiedFlag(), and CTwoLayerRegistry::x_Unset().
◆ m_WriteLockCount ◆ sm_BaseRegNamePrefix const char * CCompoundRWRegistry::sm_BaseRegNamePrefix = ".base:" static ◆ sm_EnvRegName const char * CNcbiRegistry::sm_EnvRegName = ".env" static ◆ sm_FileRegName const char * CNcbiRegistry::sm_FileRegName = ".file" static ◆ sm_InSectionCommentName const char * IRegistry::sm_InSectionCommentName = "[]" static ◆ sm_MainRegName const char * CCompoundRWRegistry::sm_MainRegName = ".main" static ◆ sm_OverrideRegName const char * CNcbiRegistry::sm_OverrideRegName = ".overrides" static ◆ sm_SysRegName const char * CNcbiRegistry::sm_SysRegName = ".ncbirc" static ◆ value string CMemoryRegistry::SEntry::value ◆ CCompoundRWRegistryRetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4