Type safe heterogenous collection of key value pairs. More...
#include <TDbiRegistry.hxx>
Classes | |
class | TDbiRegistryKey |
Public Types | |
typedef std::map< std::string, TDbiRegistryItem * > | tRegMap |
typedef void(* | ErrorHandler )(void) |
Public Member Functions | |
TDbiRegistry (bool readonly=true) | |
TDbiRegistry (const TDbiRegistry &rhs) | |
Deep copy constructor. | |
virtual | ~TDbiRegistry () |
TDbiRegistry & | operator= (const TDbiRegistry &rhs) |
Deep assignment. | |
void | Merge (const TDbiRegistry &rhs) |
Copy rhs into this, respects this's locks. | |
unsigned int | Size () const |
Return number of entries. | |
bool | KeyExists (const char *key) const |
Check if key exists. | |
void | RemoveKey (const char *key) |
void | Clear (Option_t *option="") |
Clear TDbiRegistry - deletes all items. | |
void | Dump (void) const |
Dump to cerr. | |
virtual std::ostream & | PrintStream (std::ostream &os) const |
Print to cout (without extraneous bits of Dump()). | |
virtual std::istream & | ReadStream (std::istream &is) |
virtual void | Print (Option_t *option="") const |
virtual std::ostream & | PrettyPrint (std::ostream &os) const |
virtual void | Browse (TBrowser *) |
The default implementation crashes TBrowser, doing nothing is better. | |
virtual bool | ValuesLocked (void) const |
Control if an existing value can be set. | |
virtual void | LockValues (void) |
Control if an existing value can be set. | |
virtual void | UnLockValues (void) |
Control if an existing value can be set. | |
virtual bool | KeysLocked (void) const |
Control if new key/value pairs can be added. | |
virtual void | LockKeys (void) |
Control if new key/value pairs can be added. | |
virtual void | UnLockKeys (void) |
Control if new key/value pairs can be added. | |
void | SetDirty (bool is_dirty=true) |
bool | IsDirty () |
void | SetErrorHandler (ErrorHandler eh) |
bool | Get (const char *key, char &c) const |
bool | Get (const char *key, const char *&s) const |
bool | Get (const char *key, int &i) const |
bool | Get (const char *key, double &d) const |
bool | Get (const char *key, TDbiRegistry &r) const |
const type_info & | GetType (const char *key) const |
std::string | GetTypeAsString (const char *key) const |
Return "int", "double", "char", "string", "TDbiRegistry" or "void". | |
std::string | GetValueAsString (const char *key) const |
see format.txt | |
char | GetChar (const char *key) const |
const char * | GetCharString (const char *key) const |
int | GetInt (const char *key) const |
double | GetDouble (const char *key) const |
TDbiRegistry | GetTDbiRegistry (const char *key) const |
bool | Set (const char *key, char c) |
bool | Set (const char *key, const char *s) |
bool | Set (const char *key, int i) |
bool | Set (const char *key, double d) |
bool | Set (const char *key, TDbiRegistry r) |
TDbiRegistryKey | Key (void) const |
Private Attributes | |
bool | fValuesLocked |
bool | fKeysLocked |
ErrorHandler | fErrorHandler |
tRegMap | fMap |
bool | fDirty |
Friends | |
class | TDbiRegistryKey |
not written out |
Type safe heterogenous collection of key value pairs.
Stored in a std::map, keyed by a string. Values can be int, char, string, double or TDbiRegistryItem. Actuall all stored internally as TDbiRegistryItem s Contact: bv@bnl.gov
Created on: Wed Oct 25 17:13:16 2000
Definition at line 33 of file TDbiRegistry.hxx.
typedef void(* TDbiRegistry::ErrorHandler)(void) |
Definition at line 37 of file TDbiRegistry.hxx.
typedef std::map<std::string,TDbiRegistryItem*> TDbiRegistry::tRegMap |
Definition at line 36 of file TDbiRegistry.hxx.
TDbiRegistry::TDbiRegistry | ( | bool | readonly = true |
) | [explicit] |
Create a TDbiRegistry. If readonly is false, any key's value can be set multiple times, otherwise only the first setting is allowed. See methods below regarding locking of keys and values.
TDbiRegistry::TDbiRegistry | ( | const TDbiRegistry & | rhs | ) |
Deep copy constructor.
Definition at line 39 of file TDbiRegistry.cxx.
References fKeysLocked, fMap, fValuesLocked, Key(), SetDirty(), and SK_DBI_Trace.
00039 : TNamed(rhs) 00040 { 00041 SK_DBI_Trace( "Creating TDbiRegistry at " << (void * ) this << " "); 00042 TDbiRegistryKey rk = rhs.Key(); 00043 const char* s; 00044 00045 while ( (s = rk()) ) fMap[s] = rhs.fMap.find(s)->second->Dup(); 00046 00047 fValuesLocked = rhs.fValuesLocked; 00048 fKeysLocked = rhs.fKeysLocked; 00049 this->SetDirty(); 00050 this->SetName(rhs.GetName()); 00051 }
TDbiRegistry::~TDbiRegistry | ( | ) | [virtual] |
Definition at line 186 of file TDbiRegistry.cxx.
References fMap.
virtual void TDbiRegistry::Browse | ( | TBrowser * | ) | [inline, virtual] |
The default implementation crashes TBrowser, doing nothing is better.
Definition at line 78 of file TDbiRegistry.hxx.
void TDbiRegistry::Clear | ( | Option_t * | option = "" |
) |
Clear TDbiRegistry - deletes all items.
Definition at line 119 of file TDbiRegistry.cxx.
References fKeysLocked, fMap, fValuesLocked, SetDirty(), and SK_DBI_Warn.
Referenced by TDbiCfgPromptConfigurable::InitializeConfig(), operator=(), and TDbiConfigStream::operator>>().
00120 { 00121 if (fValuesLocked || fKeysLocked) { 00122 SK_DBI_Warn( "Clear: can't, there are locks in \"" 00123 << this->GetName() << "\"\n"); 00124 return; 00125 } 00126 00127 tRegMap::iterator mit = fMap.begin(); 00128 while (mit != fMap.end()) { 00129 delete mit->second; 00130 ++mit; 00131 } 00132 fMap.clear(); 00133 this->SetDirty(); 00134 }
void TDbiRegistry::Dump | ( | void | ) | const |
Dump to cerr.
Definition at line 136 of file TDbiRegistry.cxx.
References fKeysLocked, fMap, fValuesLocked, Size(), and SK_DBI_Info.
00137 { 00138 this->TNamed::Dump(); 00139 tRegMap::const_iterator mit = fMap.begin(); 00140 SK_DBI_Info( "TDbiRegistry: `" << this->GetName() << "', " 00141 << this->Size() << " entries." 00142 << " (Locks: [Keys|Values] `key', `value'):\n"); 00143 while (mit != fMap.end()) { 00144 SK_DBI_Info( " [" << (fKeysLocked ? 'L' : 'U') << "|" 00145 << (fValuesLocked ? 'L' : 'U') << "] " 00146 << "`" << mit->first << "', `"); 00147 mit->second->Dump(); 00148 SK_DBI_Info( "'\n"); 00149 ++mit; 00150 } 00151 00152 }
bool TDbiRegistry::Get | ( | const char * | key, | |
TDbiRegistry & | r | |||
) | const |
Access a TDbiRegistry value. Return true and set second argument if key is found, else returns false.
bool TDbiRegistry::Get | ( | const char * | key, | |
double & | d | |||
) | const |
Access a double value. Return true and set second argument if key is found, else returns false.
Definition at line 324 of file TDbiRegistry.cxx.
References TDbiRegistryItemXxx< T >::Get(), and SK_DBI_Severe.
00325 { 00326 tRegMap::const_iterator mit = fMap.find(key); 00327 if (mit == fMap.end()) return false; 00328 // try correct type 00329 TDbiRegistryItemXxx<double>* rixd = 00330 dynamic_cast<TDbiRegistryItemXxx<double>*>(mit->second); 00331 if (rixd) { 00332 val = *(rixd->Get()); 00333 return true; 00334 } 00335 // try int 00336 TDbiRegistryItemXxx<int>* rixi = 00337 dynamic_cast<TDbiRegistryItemXxx<int>*>(mit->second); 00338 if (rixi) { 00339 val = *(rixi->Get()); 00340 return true; 00341 } 00342 SK_DBI_Severe( "Key " << key 00343 << " does not have type double or int" 00344 << " as required" << " "); 00345 return false; 00346 }
bool TDbiRegistry::Get | ( | const char * | key, | |
int & | i | |||
) | const |
Access an int value. Return true and set second argument if key is found, else returns false.
bool TDbiRegistry::Get | ( | const char * | key, | |
const char *& | s | |||
) | const |
Access a string value. Return true and set second argument if key is found, else returns false.
bool TDbiRegistry::Get | ( | const char * | key, | |
char & | c | |||
) | const |
Access a char value. Return true and set second argument if key is found, else returns false.
Referenced by TDbiDatabaseManager::Config(), GetTDbiRegistry(), TDbiCfgDialog::Query(), TDbiCfgPromptConfigurable::SafeMerge(), TDbiSimFlagAssociation::Set(), TDbiRollbackDates::Set(), TDbiEpochRollback::Set(), and TDbiCfg::TDbiRegistryToString().
char TDbiRegistry::GetChar | ( | const char * | key | ) | const |
Access a char value. Returns value if key lookup succeeds, else prints warning message. Use above Get() methods for a safer access method.
const char* TDbiRegistry::GetCharString | ( | const char * | key | ) | const |
Access a string value. Returns value if key lookup succeeds, else prints warning message. Use above Get() methods for a safer access method.
double TDbiRegistry::GetDouble | ( | const char * | key | ) | const |
Access a double value. Returns value if key lookup succeeds, else prints warning message. Use above Get() methods for a safer access method.
int TDbiRegistry::GetInt | ( | const char * | key | ) | const |
Access an int value. Returns value if key lookup succeeds, else prints warning message. Use above Get() methods for a safer access method.
TDbiRegistry TDbiRegistry::GetTDbiRegistry | ( | const char * | key | ) | const |
Access an TDbiRegistry value. Returns value if key lookup succeeds, else prints warning message. Use above Get() methods for a safer access method.
Definition at line 371 of file TDbiRegistry.cxx.
References fErrorHandler, Get(), and SK_DBI_Warn.
00372 { 00373 TDbiRegistry retval; 00374 if (Get(key,retval)) return retval; 00375 if (fErrorHandler) { fErrorHandler(); return retval; } 00376 else { 00377 SK_DBI_Warn( "\nTDbiRegistry::GetTYPE: failed to get value for key \"" 00378 << key << "\" from TDbiRegistry \"" << this->GetName() 00379 << "\". Aborting\n\n"); 00380 bool must_get_a_value = false; 00381 assert(must_get_a_value); 00382 return retval; 00383 } 00384 }
const type_info & TDbiRegistry::GetType | ( | const char * | key | ) | const |
Return the type_info of the value corresponding to the given key. If key doesn't exist, type_info for type void is returned.
Definition at line 386 of file TDbiRegistry.cxx.
References fMap.
Referenced by TDbiCfgPromptConfigurable::SafeMerge().
00387 { 00388 tRegMap::const_iterator mit = fMap.find(key); 00389 if (mit == fMap.end()) return typeid(void); 00390 return mit->second->GetType(); 00391 }
string TDbiRegistry::GetTypeAsString | ( | const char * | key | ) | const |
Return "int", "double", "char", "string", "TDbiRegistry" or "void".
Definition at line 392 of file TDbiRegistry.cxx.
References fMap.
Referenced by TDbiCfgPromptConfigurable::SafeMerge().
00393 { 00394 tRegMap::const_iterator mit = fMap.find(key); 00395 if (mit == fMap.end()) return "void"; 00396 return mit->second->GetTypeAsString(); 00397 }
string TDbiRegistry::GetValueAsString | ( | const char * | key | ) | const |
see format.txt
Definition at line 399 of file TDbiRegistry.cxx.
References fMap.
Referenced by TDbiCfgPromptConfigurable::SafeMerge(), and TDbiEpochRollback::Set().
00400 { 00401 ostringstream os; 00402 tRegMap::const_iterator mit = fMap.find(key); 00403 if (mit == fMap.end()) return ""; 00404 mit->second->PrintStream(os); 00405 return os.str(); 00406 }
bool TDbiRegistry::IsDirty | ( | ) | [inline] |
Definition at line 99 of file TDbiRegistry.hxx.
References fDirty.
Referenced by TDbiCfgConfigurable::Update().
00099 { return fDirty; }
TDbiRegistry::TDbiRegistryKey TDbiRegistry::Key | ( | void | ) | const |
Definition at line 219 of file TDbiRegistry.cxx.
References TDbiRegistryKey.
Referenced by Merge(), operator=(), TDbiCfgDialog::Query(), TDbiCfgPromptConfigurable::SafeMerge(), TDbiRegistry(), and TDbiCfg::TDbiRegistryToString().
00220 { 00221 return TDbiRegistry::TDbiRegistryKey(this); 00222 }
bool TDbiRegistry::KeyExists | ( | const char * | key | ) | const |
Check if key exists.
Definition at line 105 of file TDbiRegistry.cxx.
References fMap.
Referenced by TDbiCfgPromptConfigurable::SafeMerge().
virtual bool TDbiRegistry::KeysLocked | ( | void | ) | const [inline, virtual] |
Control if new key/value pairs can be added.
Definition at line 88 of file TDbiRegistry.hxx.
References fKeysLocked.
Referenced by TDbiConfigStream::operator>>(), and TDbiCfgPromptConfigurable::SafeMerge().
00088 { return fKeysLocked; }
virtual void TDbiRegistry::LockKeys | ( | void | ) | [inline, virtual] |
Control if new key/value pairs can be added.
Definition at line 90 of file TDbiRegistry.hxx.
References fKeysLocked.
Referenced by TDbiCfgPromptConfigurable::InitializeConfig(), TDbiCfgPromptConfigurable::LockKeys(), TDbiConfigStream::operator>>(), and TDbiCfgPromptConfigurable::SafeMerge().
00090 { fKeysLocked = true; } //*MENU*
virtual void TDbiRegistry::LockValues | ( | void | ) | [inline, virtual] |
Control if an existing value can be set.
Definition at line 83 of file TDbiRegistry.hxx.
References fValuesLocked.
Referenced by TDbiCfgPromptConfigurable::LockValues(), TDbiConfigStream::operator>>(), TDbiCfgConfigurable::Set(), TDbiCfgDialog::SetCurrent(), and TDbiCfgDialog::SetDefault().
00083 { fValuesLocked = true; } //*MENU*
void TDbiRegistry::Merge | ( | const TDbiRegistry & | rhs | ) |
Copy rhs into this, respects this's locks.
Definition at line 77 of file TDbiRegistry.cxx.
References fKeysLocked, fMap, fValuesLocked, Key(), SetDirty(), and SK_DBI_Warn.
Referenced by TDbiCfgConfigurable::Set().
00078 { 00079 if (this == &rhs) return; 00080 00081 TDbiRegistryKey rk = rhs.Key(); 00082 const char* s; 00083 while ( (s = rk()) ) { 00084 tRegMap::iterator mit = fMap.find(s); 00085 bool exists = mit != fMap.end(); 00086 00087 if (fKeysLocked && !exists) { 00088 SK_DBI_Warn( "Merge: can't, add new key " << s <<", keys locked." 00089 << " merger=" << this->GetName() 00090 << ", mergie=" << rhs.GetName() << " "); 00091 continue; 00092 } 00093 if (exists && fValuesLocked) { 00094 SK_DBI_Warn( "Merge: can't, merge key " << s <<", values locked." 00095 << " merger=" << this->GetName() 00096 << ", mergie=" << rhs.GetName() << " "); 00097 continue; 00098 } 00099 if (exists) delete mit->second; 00100 fMap[s] = rhs.fMap.find(s)->second->Dup(); 00101 } 00102 this->SetDirty(); 00103 }
TDbiRegistry & TDbiRegistry::operator= | ( | const TDbiRegistry & | rhs | ) |
Deep assignment.
Definition at line 53 of file TDbiRegistry.cxx.
References Clear(), fKeysLocked, fMap, fValuesLocked, Key(), SetDirty(), Size(), UnLockKeys(), and UnLockValues().
00054 { 00055 if (this == &rhs) return *this; 00056 00057 UnLockValues(); 00058 UnLockKeys(); 00059 00060 // If we are already holding something - clear it. 00061 if (Size() != 0) Clear(); 00062 00063 TDbiRegistryKey rk = rhs.Key(); 00064 const char* s; 00065 00066 while ( (s = rk()) ) fMap[s] = rhs.fMap.find(s)->second->Dup(); 00067 00068 fValuesLocked = rhs.fValuesLocked; 00069 fKeysLocked = rhs.fKeysLocked; 00070 this->SetDirty(); 00071 this->SetName(rhs.GetName()); 00072 00073 // Do like copy ctor. 00074 return *this; 00075 }
virtual std::ostream& TDbiRegistry::PrettyPrint | ( | std::ostream & | os | ) | const [virtual] |
Referenced by Print(), and TDbiCfgPromptConfigurable::SafeMerge().
void TDbiRegistry::Print | ( | Option_t * | option = "" |
) | const [virtual] |
Definition at line 180 of file TDbiRegistry.cxx.
References PrettyPrint().
00181 { 00182 this->PrettyPrint(cout); 00183 }
std::ostream & TDbiRegistry::PrintStream | ( | std::ostream & | os | ) | const [virtual] |
Print to cout (without extraneous bits of Dump()).
Definition at line 461 of file TDbiRegistry.cxx.
References fMap.
Referenced by operator<<(), and TDbiConfigStream::operator<<().
00462 { 00463 os << "['" << this->GetName() << "'"; 00464 00465 tRegMap::const_iterator mit, done = fMap.end(); 00466 for (mit = fMap.begin(); mit != done; ++mit) { 00467 os << " '" << mit->first << "'=("; 00468 os << mit->second->GetTypeAsString(); 00469 os << ")"; 00470 mit->second->PrintStream(os); 00471 } 00472 00473 os << "]"; 00474 return os; 00475 }
std::istream & TDbiRegistry::ReadStream | ( | std::istream & | is | ) | [virtual] |
Definition at line 484 of file TDbiRegistry.cxx.
References bail(), fMap, Util::read_quoted_string(), and TDbiRegistryItem::ReadStream().
Referenced by TDbiConfigStream::operator>>().
00485 { 00486 TDbiRegistry reg; 00487 00488 char c; 00489 if (!is.get(c)) return bail(is); 00490 if (c != '[') { 00491 is.putback(c); 00492 return bail(is); 00493 } 00494 string name = Util::read_quoted_string(is); 00495 reg.SetName(name.c_str()); 00496 00497 while (is.get(c)) { 00498 if (isspace(c)) continue; 00499 if (c == ']') { 00500 *this = reg; 00501 return is; 00502 } 00503 is.putback(c); 00504 00505 // get the key 00506 string key = read_quoted_string(is); 00507 if (key == "") return bail(is); 00508 00509 // skip the "=" 00510 if (!is.get(c)) return bail(is); 00511 00512 // get the "(" 00513 if (!is.get(c) || c != '(') { 00514 is.putback(c); 00515 return bail(is); 00516 } 00517 00518 // get the type 00519 string type; 00520 while (is.get(c)) { 00521 if (c == ')') break; 00522 type += c; 00523 } 00524 00525 // factory: 00526 TDbiRegistryItem* ri = 0; 00527 if (type == "char") 00528 ri = new TDbiRegistryItemXxx<char>(); 00529 else if (type == "int") 00530 ri = new TDbiRegistryItemXxx<int>(); 00531 else if (type == "double") 00532 ri = new TDbiRegistryItemXxx<double>(); 00533 else if (type == "string") 00534 ri = new TDbiRegistryItemXxx<const char*>(); 00535 else if (type == "TDbiRegistry") 00536 ri = new TDbiRegistryItemXxx<TDbiRegistry>(); 00537 else return bail(is); 00538 00539 ri->ReadStream(is); 00540 reg.fMap[key] = ri; 00541 } 00542 return is; 00543 00544 }
void TDbiRegistry::RemoveKey | ( | const char * | key | ) |
Definition at line 110 of file TDbiRegistry.cxx.
References fMap, and SetDirty().
Referenced by TDbiDatabaseManager::Config(), TDbiSimFlagAssociation::Set(), TDbiRollbackDates::Set(), and TDbiEpochRollback::Set().
00111 { 00112 tRegMap::iterator dead = fMap.find(key); 00113 if (dead == fMap.end()) return; 00114 fMap.erase(dead); 00115 delete dead->second; 00116 this->SetDirty(); 00117 }
bool TDbiRegistry::Set | ( | const char * | key, | |
TDbiRegistry | r | |||
) |
bool TDbiRegistry::Set | ( | const char * | key, | |
double | d | |||
) |
bool TDbiRegistry::Set | ( | const char * | key, | |
int | i | |||
) |
bool TDbiRegistry::Set | ( | const char * | key, | |
const char * | s | |||
) |
Definition at line 264 of file TDbiRegistry.cxx.
References fKeysLocked, fMap, fValuesLocked, SetDirty(), and SK_DBI_Warn.
00265 { 00266 tRegMap::iterator mit = fMap.find(key); 00267 if (mit != fMap.end()) { // Found it 00268 if (fValuesLocked) { 00269 SK_DBI_Warn( "Set: Values are locked - not overwriting `" 00270 << key << "\" with \"" << val << "\" in registry \"" << this->GetName() << "\"\n"); 00271 return false; 00272 } 00273 if (! dynamic_cast<TDbiRegistryItemXxx<const char*>*>(mit->second) ) { 00274 SK_DBI_Warn( "Set: attempt to overwrite old value for key \"" 00275 << key << "\" with different type value " 00276 << val << " in registry \"" << this->GetName() << "\"\n"); 00277 return false; 00278 } 00279 delete mit->second; 00280 fMap.erase(mit); 00281 } 00282 else { // didn't find it 00283 if (fKeysLocked) { 00284 SK_DBI_Warn( "TDbiRegistry::Set: Keys are locked - not adding `" 00285 << key << "' in registry \"" << this->GetName() << "\"\n"); 00286 return false; 00287 } 00288 } 00289 00290 char** cpp = new char*; 00291 (*cpp) = new char [strlen(val)+1]; 00292 strcpy(*cpp,val); 00293 const char** ccpp = const_cast<const char**>(cpp); 00294 TDbiRegistryItem* ri = new TDbiRegistryItemXxx< const char* >(ccpp); 00295 fMap[key] = ri; 00296 this->SetDirty(); 00297 return true; 00298 }
bool TDbiRegistry::Set | ( | const char * | key, | |
char | c | |||
) |
Set the value associated with the given key. Return false if locks prevent setting or if type mismatch.
Referenced by TDbiCfgDialog::Query(), TDbiCfgPromptConfigurable::SafeMerge(), TDbiCfgPromptConfigurable::Set(), and TDbiCfg::StringToTDbiRegistry().
void TDbiRegistry::SetDirty | ( | bool | is_dirty = true |
) | [inline] |
Access an internal "dirty" flag TDbiRegistry maintains (but does not use) It will be set any time a non-const method is accessed, or explicitly via SetDirty(). Initially a TDbiRegistry is dirty (original sin?).
Definition at line 98 of file TDbiRegistry.hxx.
References fDirty.
Referenced by Clear(), TDbiCfgPromptConfigurable::InitializeConfig(), Merge(), operator=(), RemoveKey(), Set(), TDbiCfgPromptConfigurable::Set(), TDbiRegistry(), and TDbiCfgConfigurable::Update().
00098 { fDirty = is_dirty; }
void TDbiRegistry::SetErrorHandler | ( | ErrorHandler | eh | ) | [inline] |
Definition at line 102 of file TDbiRegistry.hxx.
References fErrorHandler.
00102 { fErrorHandler = eh; }
unsigned int TDbiRegistry::Size | ( | ) | const [inline] |
Return number of entries.
Definition at line 56 of file TDbiRegistry.hxx.
References fMap.
Referenced by Dump(), and operator=().
00056 { return fMap.size(); }
virtual void TDbiRegistry::UnLockKeys | ( | void | ) | [inline, virtual] |
Control if new key/value pairs can be added.
Definition at line 92 of file TDbiRegistry.hxx.
References fKeysLocked.
Referenced by TDbiCfgPromptConfigurable::InitializeConfig(), operator=(), TDbiConfigStream::operator>>(), and TDbiCfgPromptConfigurable::UnLockKeys().
00092 { fKeysLocked = false; } //*MENU*
virtual void TDbiRegistry::UnLockValues | ( | void | ) | [inline, virtual] |
Control if an existing value can be set.
Definition at line 85 of file TDbiRegistry.hxx.
References fValuesLocked.
Referenced by TDbiCfgPromptConfigurable::InitializeConfig(), operator=(), TDbiConfigStream::operator>>(), TDbiCfgDialog::Query(), TDbiCfgPromptConfigurable::SafeMerge(), TDbiCfgConfigurable::Set(), TDbiCfgDialog::SetCurrent(), TDbiCfgDialog::SetDefault(), and TDbiCfgPromptConfigurable::UnLockValues().
00085 { fValuesLocked = false; } //*MENU*
virtual bool TDbiRegistry::ValuesLocked | ( | void | ) | const [inline, virtual] |
Control if an existing value can be set.
Definition at line 81 of file TDbiRegistry.hxx.
References fValuesLocked.
Referenced by TDbiConfigStream::operator>>(), and TDbiCfgPromptConfigurable::SafeMerge().
00081 { return fValuesLocked; }
friend class TDbiRegistryKey [friend] |
bool TDbiRegistry::fDirty [private] |
Definition at line 190 of file TDbiRegistry.hxx.
Referenced by IsDirty(), and SetDirty().
ErrorHandler TDbiRegistry::fErrorHandler [private] |
Definition at line 184 of file TDbiRegistry.hxx.
Referenced by GetTDbiRegistry(), and SetErrorHandler().
bool TDbiRegistry::fKeysLocked [private] |
Definition at line 183 of file TDbiRegistry.hxx.
Referenced by Clear(), Dump(), KeysLocked(), LockKeys(), Merge(), operator=(), Set(), TDbiRegistry(), and UnLockKeys().
tRegMap TDbiRegistry::fMap [private] |
Definition at line 188 of file TDbiRegistry.hxx.
Referenced by Clear(), Dump(), GetType(), GetTypeAsString(), GetValueAsString(), KeyExists(), Merge(), TDbiRegistry::TDbiRegistryKey::operator()(), operator=(), PrintStream(), ReadStream(), RemoveKey(), Set(), Size(), TDbiRegistry(), TDbiRegistry::TDbiRegistryKey::TDbiRegistryKey(), and ~TDbiRegistry().
bool TDbiRegistry::fValuesLocked [private] |
Definition at line 182 of file TDbiRegistry.hxx.
Referenced by Clear(), Dump(), LockValues(), Merge(), operator=(), Set(), TDbiRegistry(), UnLockValues(), and ValuesLocked().