Lock.h
Go to the documentation of this file.
1 /*
2  * This file is part of ALVAR, A Library for Virtual and Augmented Reality.
3  *
4  * Copyright 2007-2012 VTT Technical Research Centre of Finland
5  *
6  * Contact: VTT Augmented Reality Team <alvar.info@vtt.fi>
7  * <http://www.vtt.fi/multimedia/alvar.html>
8  *
9  * ALVAR is free software; you can redistribute it and/or modify it under the
10  * terms of the GNU Lesser General Public License as published by the Free
11  * Software Foundation; either version 2.1 of the License, or (at your option)
12  * any later version.
13  *
14  * This library is distributed in the hope that it will be useful, but WITHOUT
15  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
16  * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
17  * for more details.
18  *
19  * You should have received a copy of the GNU Lesser General Public License
20  * along with ALVAR; if not, see
21  * <http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html>.
22  */
23 
24 #ifndef LOCK_H
25 #define LOCK_H
26 
33 #include "Alvar.h"
34 #include "Mutex.h"
35 #include "Uncopyable.h"
36 
37 namespace alvar {
38 
46 class ALVAR_EXPORT Lock : private Uncopyable
47 {
48 public:
54  Lock(Mutex *mutex)
55  : mMutex(mutex)
56  {
57  mMutex->lock();
58  }
59 
64  {
65  mMutex->unlock();
66  }
67 
68 private:
70 };
71 
72 } // namespace alvar
73 
74 #endif
Main ALVAR namespace.
Definition: Alvar.h:174
Mutex * mMutex
Definition: Lock.h:69
Mutex for synchronizing multiple threads.
Definition: Mutex.h:44
This file implements an uncopyable interface.
Lock(Mutex *mutex)
Constructor.
Definition: Lock.h:54
Lock for simplifying mutex handling.
Definition: Lock.h:46
~Lock()
Destructor.
Definition: Lock.h:63
This file implements a mutex.
Uncopyable for preventing object copies.
Definition: Uncopyable.h:43
#define ALVAR_EXPORT
Definition: Alvar.h:168
This file defines library export definitions, version numbers and build information.


ar_track_alvar
Author(s): Scott Niekum
autogenerated on Mon Jun 10 2019 12:47:04