Fawkes API
Fawkes Development Version
mutex_locker.h
1
2
/***************************************************************************
3
* mutex_locker.h - Mutex locker
4
*
5
* Created: Thu Oct 04 16:12:43 2007
6
* Copyright 2006-2007 Tim Niemueller [www.niemueller.de]
7
*
8
****************************************************************************/
9
10
/* This program is free software; you can redistribute it and/or modify
11
* it under the terms of the GNU General Public License as published by
12
* the Free Software Foundation; either version 2 of the License, or
13
* (at your option) any later version. A runtime exception applies to
14
* this software (see LICENSE.GPL_WRE file mentioned below for details).
15
*
16
* This program is distributed in the hope that it will be useful,
17
* but WITHOUT ANY WARRANTY; without even the implied warranty of
18
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19
* GNU Library General Public License for more details.
20
*
21
* Read the full text in the LICENSE.GPL_WRE file in the doc directory.
22
*/
23
24
#ifndef _CORE_THREADING_MUTEX_LOCKER_H_
25
#define _CORE_THREADING_MUTEX_LOCKER_H_
26
27
#include <core/utils/refptr.h>
28
29
namespace
fawkes
{
30
31
class
Mutex;
32
33
class
MutexLocker
34
{
35
public
:
36
MutexLocker
(RefPtr<Mutex> mutex,
bool
initially_lock =
true
);
37
MutexLocker
(
Mutex
*mutex,
bool
initially_lock =
true
);
38
MutexLocker
(
Mutex
&mutex,
bool
initially_lock =
true
);
39
~MutexLocker
();
40
41
void
relock
();
42
void
unlock
();
43
44
private
:
45
bool
locked_;
46
RefPtr<Mutex>
refmutex_;
47
Mutex
* rawmutex_;
48
};
49
50
}
// end namespace fawkes
51
52
#endif
fawkes::Mutex
Definition:
mutex.h:36
fawkes::RefPtr
RefPtr<> is a reference-counting shared smartpointer.
Definition:
refptr.h:55
fawkes::MutexLocker::MutexLocker
MutexLocker(RefPtr< Mutex > mutex, bool initially_lock=true)
Constructor.
Definition:
mutex_locker.cpp:93
fawkes
fawkes::MutexLocker::relock
void relock()
Lock this mutex, again.
Definition:
mutex_locker.cpp:145
fawkes::MutexLocker::~MutexLocker
~MutexLocker()
Destructor.
Definition:
mutex_locker.cpp:130
fawkes::MutexLocker::unlock
void unlock()
Unlock the mutex.
Definition:
mutex_locker.cpp:157
src
libs
core
threading
mutex_locker.h
Generated by
1.8.16