fInternalSpaces = 0x20,
95fSectionCase = 0x1000,
97fSectionlessEntries = 0x4000,
99fPlaintextAllowed = 0x10000,
100fInSectionComments = 0x20000,
102fInternalCheckedAndLocked = 0x40000,
103fCoreLayers = fTransient | fPersistent | fJustCore,
104fAllLayers = fTransient | fPersistent | fNotJustCore,
105fCaseFlags = fSectionCase | fEntryCase
129 voidSetModifiedFlag(
boolmodified,
TFlags flags= fPersistent);
162 const string&
Get(
const string& section,
167 boolHasEntry(
const string& section,
178 stringGetString(
const string& section,
180 const string& default_value,
193 stringGetEncryptedString(
const string& section,
196 const string& password =
kEmptyStr)
const;
214 intGetInt(
const string& section,
218EErrAction err_action =
eThrow)
const;
228 boolGetBool(
const string& section,
232EErrAction err_action =
eThrow)
const;
242 doubleGetDouble(
const string& section,
244 doubledefault_value,
246EErrAction err_action =
eThrow)
const;
252 const string& default_value,
256 returnGetString(section, name, default_value,
flags);
265 returnGetInt(section, name, default_value,
flags, err_action);
274 returnGetBool(section, name, default_value,
flags, err_action);
279 doubledefault_value,
283 returnGetDouble(section, name, default_value,
flags, err_action);
300 const string& GetComment(
const string& section =
kEmptyStr,
302TFlags
flags= 0)
const;
313 voidEnumerateInSectionComments(
const string& section,
314list<string>* comments,
315TFlags
flags= fAllLayers)
const;
325 voidEnumerateSections(list<string>* sections,
326TFlags
flags= fAllLayers)
const;
337 voidEnumerateEntries(
const string& section,
339TFlags
flags= fAllLayers)
const;
344 voidReadLock (
void);
345 voidWriteLock(
void);
346 voidUnlock (
void);
350 static boolIsNameSection(
const string&
str, TFlags
flags);
353 static boolIsNameEntry(
const string&
str, TFlags
flags);
359 #ifdef NCBI_COMPILER_ICC 366fLayerFlags = fAllLayers | fJustCore,
367fTPFlags = fTransient | fPersistent
370 static voidx_CheckFlags(
const string& func, TFlags&
flags,
377 virtual const string&
x_Get(
const string& section,
const string& name,
379 virtual bool x_HasEntry(
const string& section,
const string& name,
392{
returnm_WriteLockCount.Get(); }
422 staticTFlags AssessImpact(TFlags
flags, EOperation op);
425 voidClear(TFlags
flags= fAllLayers);
474 boolSet(
const string& section,
476 const string&
value,
484 const string&
value,
488 returnSet(section, name,
value,
flags, comment);
515 returnSet(section, name, to_string(
value),
flags, comment);
523 boolUnset(
const string& section,
const string& name, TFlags
flags= 0);
549 boolSetComment(
const string& comment,
554 #ifdef NCBI_COMPILER_ICC 562 virtual bool x_Set(
const string& section,
const string& name,
564 const string& comment) = 0;
565 virtual bool x_Unset(
const string& section,
const string& name,
567 virtual bool x_SetComment(
const string& comment,
const string& section,
573 const string& path);
576 static boolMaybeSet(
string& target,
const string&
value,
TFlags flags);
591: m_IsModified(
false),
592m_Sections((
flags& fSectionCase) == 0 ?
NStr::eNocase :
NStr::eCase),
596 #ifdef NCBI_COMPILER_ICC 602 boolx_Empty(TFlags
flags)
const;
605 const string& x_Get(
const string& section,
const string& name,
606TFlags
flags)
const;
607 boolx_HasEntry(
const string& section,
const string& name, TFlags
flags)
609 const string& x_GetComment(
const string& section,
const string& name,
610TFlags
flags)
const;
611 voidx_Enumerate(
const string& section, list<string>&
entries,
612TFlags
flags)
const;
614 voidx_Clear(TFlags
flags);
615 boolx_Set(
const string& section,
const string& name,
617 const string& comment);
618 boolx_Unset(
const string& section,
const string& name, TFlags
flags);
619 boolx_SetComment(
const string& comment,
const string& section,
620 const string& name, TFlags
flags);
662 #ifdef NCBI_COMPILER_ICC 672ePriority_Default = 0,
703TFlags
flags= 0)
const;
711 boolx_Empty(TFlags
flags)
const;
714 boolx_Modified(TFlags
flags)
const;
715 voidx_SetModifiedFlag(
boolmodified, TFlags
flags);
716 const string& x_Get(
const string& section,
const string& name,
717TFlags
flags)
const;
718 boolx_HasEntry(
const string& section,
const string& name, TFlags
flags)
720 const string& x_GetComment(
const string& section,
const string& name,
721TFlags
flags)
const;
722 voidx_Enumerate(
const string& section, list<string>&
entries,
723TFlags
flags)
const;
724 voidx_ChildLockAction(FLockAction action);
756 #ifdef NCBI_COMPILER_ICC 764 voidx_SetModifiedFlag(
boolmodified,
TFlags flags);
765 const string& x_Get(
const string& section,
const string& name,
767 boolx_HasEntry(
const string& section,
const string& name,
769 const string& x_GetComment(
const string& section,
const string& name,
771 voidx_Enumerate(
const string& section, list<string>&
entries,
773 voidx_ChildLockAction(FLockAction action);
776 boolx_Set(
const string& section,
const string& name,
778 const string& comment);
779 boolx_Unset(
const string& section,
const string& name,
TFlags flags);
780 boolx_SetComment(
const string& comment,
const string& section,
856 intmetareg_flags = 0,
867 voidx_SetModifiedFlag(
boolmodified,
TFlags flags);
868 const string& x_Get(
const string& section,
const string& name,
870 boolx_HasEntry(
const string& section,
const string& name,
872 const string& x_GetComment(
const string& section,
const string& name,
874 voidx_Enumerate(
const string& section, list<string>&
entries,
876 voidx_ChildLockAction(FLockAction action);
879 boolx_Set(
const string& section,
const string& name,
881 const string& comment);
882 boolx_Unset(
const string& section,
const string& name,
TFlags flags);
883 boolx_SetComment(
const string& comment,
const string& section,
920eTransient = fTransient,
922eOverride = fOverride,
923eNoOverride = fNoOverride,
924eTruncate = fTruncate,
925eNoTruncate = fNoTruncate
964 boolIncludeNcbircIfAllowed(TFlags
flags= fWithNcbirc);
975 const string& x_GetComment(
const string& section,
const string& name,
982ePriority_File = ePriority_Reserved,
985ePriority_RuntimeOverrides
1022 virtual const char* GetErrCodeString(
void)
const override;
1027std::string::size_type);
1039:
public CGuard<IRegistry, SSimpleReadLock<IRegistry> >
CAtomicCounter_WithAutoInit â.
CEnvironmentRegistry â.
CParseTemplException â.
CRegistry{Read,Write}Guard â.
bool Empty(const CNcbiOstrstream &src)
static const char * str(char *buf, int n)
void Read(CObjectIStream &in, TObjectPtr object, const CTypeRef &type)
void Write(CObjectOStream &out, TConstObjectPtr object, const CTypeRef &type)
map< string, CRef< IRegistry > > TNameMap
int TFlags
Binary OR of "EFlags".
virtual void x_ChildLockAction(FLockAction)
int TPriority
Not restricted to ePriority_*.
void x_SetModifiedFlag(bool modified, TFlags)
static const char * sm_InSectionCommentName
Entry name for an in-section comment.
map< string, TFlags > TClearedEntries
map< string, SEntry, PNocase_Conditional > TEntries
set< string > m_BaseRegNames
NCBI_EXCEPTION_DEFAULT2(CRegistryException, CParseTemplException< CCoreException >, std::string::size_type)
TNCBIAtomicValue x_GetWriteLockCount(void) const
multimap< TPriority, CRef< IRegistry > > TPriorityMap
static const char * sm_SysRegName
CRef< CTwoLayerRegistry > m_MainRegistry
virtual bool x_Set(const string §ion, const string &name, const string &value, TFlags flags, const string &comment)=0
CMemoryRegistry(TFlags flags=0)
virtual void x_Enumerate(const string §ion, list< string > &entries, TFlags flags) const =0
virtual const string & x_Get(const string §ion, const string &name, TFlags flags) const =0
TClearedEntries m_ClearedEntries
virtual void x_SetModifiedFlag(bool, TFlags)
virtual bool x_SetComment(const string &comment, const string §ion, const string &name, TFlags flags)=0
virtual void x_Clear(TFlags flags)=0
Called locked, like the virtual methods inherited from IRegistry.
bool SetValue(const string §ion, const string &name, const string &value, TFlags flags=0, const string &comment=kEmptyStr)
Overloading of setters for generic programming.
string in_section_comment
virtual bool x_Empty(TFlags flags) const =0
Implementations of the fundamental operations above, to be run with the lock already acquired and som...
bool GetValue(const string §ion, const string &name, bool default_value, EErrAction err_action=eErrPost, TFlags flags=0) const
TNameMap m_NameMap
excludes anonymous sub-registries
EPriority
Priority for sub-registries; entries in higher-priority sub-registries take precedence over (identica...
double GetValue(const string §ion, const string &name, double default_value, EErrAction err_action=eErrPost, TFlags flags=0) const
int GetValue(const string §ion, const string &name, int default_value, EErrAction err_action=eErrPost, TFlags flags=0) const
CRef< IRWRegistry > m_OverrideRegistry
virtual bool x_Modified(TFlags) const
static const char * sm_MainRegName
Predefined subregistry's name.
virtual const string & x_GetComment(const string §ion, const string &name, TFlags flags) const =0
CRegistryReadGuard(const IRegistry ®)
virtual bool x_HasEntry(const string §ion, const string &name, TFlags flags) const =0
bool x_Modified(TFlags) const
TPriority GetCoreCutoff(void) const
Subregistries whose priority is less than the core cutoff (ePriority_Default by default) will be igno...
EFlags
Flags controlling the behavior of registry methods.
string GetValue(const string §ion, const string &name, const string &default_value, EErrAction=eReturn, TFlags flags=0) const
Overloading of getters for generic programming.
CGuard< IRegistry, SSimpleWriteLock< IRegistry > > CRegistryWriteGuard
EErrAction
What to do if parameter value is present but cannot be converted into the requested type.
CRef< CTwoLayerRegistry > m_FileRegistry
static const char * sm_EnvRegName
Predefined subregistries' names.
CRef< CEnvironmentRegistry > m_EnvRegistry
static const char * sm_FileRegName
bool SetValue(const string §ion, const string &name, bool value, TFlags flags=0, const string &comment=kEmptyStr)
EPriority
Priority for sub-registries; entries in higher-priority sub-registries take precedence over (identica...
virtual bool x_Unset(const string §ion, const string &name, TFlags flags)=0
CRef< IRWRegistry > CRegRef
unsigned int m_RuntimeOverrideCount
CGuard< IRegistry, SSimpleReadLock< IRegistry > > TParent
CRef< IRWRegistry > m_SysRegistry
static const char * sm_OverrideRegName
int TPriority
Not restricted to ePriority_*.
bool SetValue(const string §ion, const string &name, int value, TFlags flags=0, const string &comment=kEmptyStr)
CRef< CCompoundRegistry > m_AllRegistries
TPriorityMap m_PriorityMap
map< string, SSection, PNocase_Conditional > TSections
bool SetValue(const string §ion, const string &name, double value, TFlags flags=0, const string &comment=kEmptyStr)
void SetCoreCutoff(TPriority prio)
CAtomicCounter_WithAutoInit m_WriteLockCount
EOperation
Categories of modifying operations.
static const char * sm_BaseRegNamePrefix
Prefix for any base registries' names.
EErrCode
Error types that the Registry can generate.
@ eThrow
Throw an exception if an error occurs.
@ eErrPost
Log the error message and return default value.
@ eValue
General value format error.
@ eUnencrypted
Value should have been encrypted, but wasn't.
@ eSection
Section name format error.
@ eDecryptionFailed
Value looked encrypted, but decryption failed.
@ eEntry
Entry name format error.
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
IO_PREFIX::ostream CNcbiOstream
Portable alias for ostream.
IO_PREFIX::istream CNcbiIstream
Portable alias for istream.
static const string BoolToString(bool value)
Convert bool to string.
static string IntToString(int value, TNumToStringFlags flags=0, int base=10)
Convert int to string.
size_t TNCBIAtomicValue
Define platform specific atomic-operations macros/values.
#define NCBI_XNCBI_EXPORT
const TYPE & Get(const CNamedParameterList *param)
const GenericPointer< typename T::ValueType > T2 value
Multi-threading â mutexes; rw-locks; semaphore.
static wxAcceleratorEntry entries[3]
RetroSearch 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