VR-Forces 4.8 Class Documentation
 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. More...

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

Public Member Functions

virtual ~DtSharedSettingsManager ()
 DTOR. More...
 
DtEventQueueInterfacethisThreadEventQueue () const
 Get the event queue for the current executing thread. More...
 
DtEventQueueInterfacefindThisThreadEventQueue () const
 Get the event queue for the current executing thread. More...
 
- Public Member Functions inherited from makVrv::DtVirtualBaseClass
 DtVirtualBaseClass ()
 Do nothing constructor. More...
 
virtual ~DtVirtualBaseClass ()
 Virtual do nothing destructor. More...
 

Static Public Member Functions

static DtSharedSettingsManagerinstance (DtDe &)
 Get an instance of the shared settings manager from the DtDe;. More...
 

Protected Types

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

Protected Member Functions

const DtSharedSettingsfindSettings (const std::string &className) const
 Find a settings object. More...
 
void registerSettings (const std::string &className, DtSharedSettings *setting)
 Register a settings object. More...
 
boost::shared_mutex & mutex ()
 
 DtSharedSettingsManager (DtDe &de)
 Use the static instance accessor. More...
 

Protected Attributes

boost::shared_mutex myMutex
 
SettingInstances mySettings
 
DtDemyUnsafeDe
 
DtThreadId myDeThreadId
 

Private Member Functions

 DtSharedSettingsManager (const DtSharedSettingsManager &)
 not copyable or assignable. More...
 
DtSharedSettingsManageroperator= (DtSharedSettingsManager &)
 

Friends

template<typename SettingsClass >
class DtReadSettingsLock
 Also protected, use the DtReadSettingsLock and DtWriteSettingsLock to access this object. More...
 
template<typename SettingsClass >
class DtWriteSettingsLock
 

Detailed Description

The shared settings manager, is the global object responsible for managing any shared settings objects.

This manager object can be safely shared between threads.

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 Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)