VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtReadSettingsLock.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2009 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #ifndef DtReadSettingsLock_H_
11 #define DtReadSettingsLock_H_
12 
14 
15 #include <boost/thread/shared_mutex.hpp>
16 #include <boost/thread/locks.hpp>
17 
18 namespace makVrv
19 {
20  class DtSharedSettingsManager;
21 
47  template <typename SettingsClass>
49  {
50  public:
51 
52  //Acquired an instance of the SettingsClass with a read lock.
54 
55  //release the lock on the object.
57 
58  //Access the instance using pointer notation.
59  inline const SettingsClass* operator->() { return myObject; }
60  inline const SettingsClass* operator->() const { return myObject; }
61 
62  //Access the instance using deref notation.
63  inline const SettingsClass& operator*() { return *myObject; }
64  inline const SettingsClass& operator*() const { return *myObject; }
65 
66  private:
67  //Not copyable or assignable.
70 
71  private:
73  SettingsClass* myObject;
74 
75  boost::shared_lock<boost::shared_mutex> myManagerLock;
76  boost::shared_lock<boost::shared_mutex> myObjectLock;
77  };
78 }
79 
80 #define DtReadSettingsLock_INL_
81 #include <vrvCore/DtReadSettingsLock.inl>
82 #undef DtReadSettingsLock_INL_
83 
84 #endif
85 
SettingsClass * myObject
Definition: DtReadSettingsLock.h:73
a read settings lock on a setting object.
Definition: DtReadSettingsLock.h:48
const SettingsClass & operator*() const
Definition: DtReadSettingsLock.h:64
const SettingsClass * operator->()
Definition: DtReadSettingsLock.h:59
const SettingsClass & operator*()
Definition: DtReadSettingsLock.h:63
The shared settings manager, is the global object responsible for managing any shared settings object...
Definition: DtSharedSettingsManager.h:42
DtSharedSettingsManager & myManager
Definition: DtReadSettingsLock.h:72
DtReadSettingsLock(DtSharedSettingsManager &manager)
const SettingsClass * operator->() const
Definition: DtReadSettingsLock.h:60
DtReadSettingsLock & operator=(const DtReadSettingsLock &)
boost::shared_lock< boost::shared_mutex > myObjectLock
Definition: DtReadSettingsLock.h:76
Contains makVrv::DtSharedSettingsManager class.
boost::shared_lock< boost::shared_mutex > myManagerLock
Definition: DtReadSettingsLock.h:75

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)