VR-Forces 5.0.3 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Private Member Functions | Friends
makVrv::DtSharedSettingsManager Class Reference

The shared settings manager, is the global object responsible for managing any shared settings objects. This manager object can be safely shared between threads.

Inheritance diagram for makVrv::DtSharedSettingsManager:
Inheritance graph
[legend]

Public Member Functions

virtual ~DtSharedSettingsManager ()
 
DtEventQueueInterfacethisThreadEventQueue () const
 
DtEventQueueInterfacefindThisThreadEventQueue () const
 
- Public Member Functions inherited from makVrv::DtVirtualBaseClass
 DtVirtualBaseClass ()
 
virtual ~DtVirtualBaseClass ()
 

Static Public Member Functions

static DtSharedSettingsManagerinstance (DtDe &)
 

Protected Types

typedef boost::unordered_map
< std::string,
DtSharedSettings * > 
SettingInstances
 

Protected Member Functions

const DtSharedSettingsfindSettings (const std::string &className) const
 
void registerSettings (const std::string &className, DtSharedSettings *setting)
 
boost::shared_mutex & mutex ()
 
 DtSharedSettingsManager (DtDe &de)
 

Protected Attributes

boost::shared_mutex myMutex
 
SettingInstances mySettings
 
DtDemyUnsafeDe
 
DtThreadId myDeThreadId
 

Private Member Functions

 DtSharedSettingsManager (const DtSharedSettingsManager &)
 
DtSharedSettingsManageroperator= (DtSharedSettingsManager &)
 

Friends

template<typename SettingsClass >
class DtReadSettingsLock
 
template<typename SettingsClass >
class DtWriteSettingsLock
 

Member Typedef Documentation

typedef boost::unordered_map<std::string, DtSharedSettings*> makVrv::DtSharedSettingsManager::SettingInstances
protected

Constructor & Destructor Documentation

virtual makVrv::DtSharedSettingsManager::~DtSharedSettingsManager ( )
virtual

DTOR.

makVrv::DtSharedSettingsManager::DtSharedSettingsManager ( DtDe de)
protected

Use the static instance accessor.

makVrv::DtSharedSettingsManager::DtSharedSettingsManager ( const DtSharedSettingsManager )
private

not copyable or assignable.

Member Function Documentation

static DtSharedSettingsManager& makVrv::DtSharedSettingsManager::instance ( DtDe )
static
DtEventQueueInterface& makVrv::DtSharedSettingsManager::thisThreadEventQueue ( ) const

Get the event queue for the current executing thread. Intentionally const, and returning non-const interface. This function is thread safe and re-entrant.

Exceptions
DtCorruptedStateif unable to get event queue.
DtEventQueueInterface* makVrv::DtSharedSettingsManager::findThisThreadEventQueue ( ) const

Get the event queue for the current executing thread. Intentionally const, and returning non-const interface. This function is thread safe and re-entrant.

const DtSharedSettings* makVrv::DtSharedSettingsManager::findSettings ( const std::string &  className) const
protected

Find a settings object.

Warning
Must call lock for reading before calling.
void makVrv::DtSharedSettingsManager::registerSettings ( const std::string &  className,
DtSharedSettings setting 
)
protected

Register a settings object. If an object already exists. Must call lock for writing before calling.

boost::shared_mutex& makVrv::DtSharedSettingsManager::mutex ( )
inlineprotected
DtSharedSettingsManager& makVrv::DtSharedSettingsManager::operator= ( DtSharedSettingsManager )
private

Friends And Related Function Documentation

template<typename SettingsClass >
friend class DtReadSettingsLock
friend

Also protected, use the DtReadSettingsLock and DtWriteSettingsLock to access this object.

template<typename SettingsClass >
friend class DtWriteSettingsLock
friend

Member Data Documentation

boost::shared_mutex makVrv::DtSharedSettingsManager::myMutex
protected
SettingInstances makVrv::DtSharedSettingsManager::mySettings
protected
DtDe& makVrv::DtSharedSettingsManager::myUnsafeDe
protected
DtThreadId makVrv::DtSharedSettingsManager::myDeThreadId
protected

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

Document ID: Generated on Thu Jun 1 17:58:13 EDT 2023 from SVN revision 255404
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)