CppUnit project page
FAQ
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
include
cppunit
SynchronizedObject.h
Go to the documentation of this file.
1
#ifndef CPPUNIT_SYNCHRONIZEDOBJECT_H
2
#define CPPUNIT_SYNCHRONIZEDOBJECT_H
3
4
#include <
cppunit/Portability.h
>
5
6
7
CPPUNIT_NS_BEGIN
8
9
22
class
CPPUNIT_API
SynchronizedObject
23
{
24
public
:
27
class
SynchronizationObject
28
{
29
public
:
30
SynchronizationObject
() {}
31
virtual
~SynchronizationObject
() {}
32
33
virtual
void
lock
() {}
34
virtual
void
unlock
() {}
35
};
36
39
SynchronizedObject
( SynchronizationObject *syncObject =0 );
40
42
virtual
~
SynchronizedObject
();
43
44
protected
:
47
class
ExclusiveZone
48
{
49
SynchronizationObject
*
m_syncObject
;
50
51
public
:
52
ExclusiveZone
(
SynchronizationObject
*syncObject )
53
: m_syncObject( syncObject )
54
{
55
m_syncObject->lock();
56
}
57
58
~
ExclusiveZone
()
59
{
60
m_syncObject->unlock ();
61
}
62
};
63
64
virtual
void
setSynchronizationObject( SynchronizationObject *syncObject );
65
66
protected
:
67
SynchronizationObject
*
m_syncObject
;
68
69
private
:
71
SynchronizedObject
(
const
SynchronizedObject
© );
72
74
void
operator =(
const
SynchronizedObject
© );
75
};
76
77
78
CPPUNIT_NS_END
79
80
#endif // CPPUNIT_SYNCHRONIZEDOBJECT_H
Send comments to:
CppUnit Developers