My Project
UDK 3.2.7 C/C++ API Reference
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
salhelper
condition.hxx
Go to the documentation of this file.
1
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2
/*
3
* This file is part of the LibreOffice project.
4
*
5
* This Source Code Form is subject to the terms of the Mozilla Public
6
* License, v. 2.0. If a copy of the MPL was not distributed with this
7
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
8
*
9
* This file incorporates work covered by the following license notice:
10
*
11
* Licensed to the Apache Software Foundation (ASF) under one or more
12
* contributor license agreements. See the NOTICE file distributed
13
* with this work for additional information regarding copyright
14
* ownership. The ASF licenses this file to you under the Apache
15
* License, Version 2.0 (the "License"); you may not use this file
16
* except in compliance with the License. You may obtain a copy of
17
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
18
*/
19
20
21
#ifndef _SALHELPER_CONDITION_HXX_
22
#define _SALHELPER_CONDITION_HXX_
23
24
25
#include <
osl/conditn.h
>
26
#include <
osl/mutex.hxx
>
27
#include "
salhelperdllapi.h
"
28
29
namespace
salhelper
30
{
31
class
ConditionModifier
;
32
class
ConditionWaiter
;
33
34
35
class
SALHELPER_DLLPUBLIC
Condition
36
{
37
friend
class
ConditionModifier
;
38
friend
class
ConditionWaiter
;
39
40
public
:
41
42
Condition
(
osl::Mutex
& aMutex);
43
44
virtual
~
Condition
();
45
46
47
protected
:
48
49
virtual
bool
applies()
const
= 0;
50
51
52
private
:
53
SALHELPER_DLLPRIVATE
Condition
(
Condition
&);
// not defined
54
SALHELPER_DLLPRIVATE
void
operator =(
Condition
&);
// not defined
55
56
osl::Mutex
& m_aMutex;
57
oslCondition
m_aCondition;
58
};
59
60
61
62
class
SALHELPER_DLLPUBLIC
ConditionModifier
63
{
64
public
:
65
66
ConditionModifier
(
Condition
& aCond);
67
68
~
ConditionModifier
();
69
70
71
private
:
72
SALHELPER_DLLPRIVATE
ConditionModifier
(
ConditionModifier
&);
// not defined
73
SALHELPER_DLLPRIVATE
void
operator =(ConditionModifier &);
// not defined
74
75
Condition
& m_aCond;
76
};
77
78
79
80
class
SALHELPER_DLLPUBLIC
ConditionWaiter
81
{
82
public
:
83
84
ConditionWaiter
(
Condition
& aCond);
85
86
struct
SALHELPER_DLLPUBLIC
timedout
{
87
timedout
();
88
89
timedout(timedout
const
&);
90
91
virtual
~timedout();
92
93
timedout & operator =(timedout
const
&);
94
};
95
96
ConditionWaiter
(
Condition
& aCond,sal_uInt32 milliSec)
97
throw
(
98
timedout
99
);
100
101
102
~
ConditionWaiter
();
103
104
105
private
:
106
SALHELPER_DLLPRIVATE
ConditionWaiter
(
ConditionWaiter
&);
// not defined
107
SALHELPER_DLLPRIVATE
void
operator =(
ConditionWaiter
&);
// not defined
108
109
Condition
& m_aCond;
110
};
111
112
113
}
// namespace salhelper
114
115
116
#endif
117
118
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
Generated on Fri Jul 26 2013 08:09:55 for My Project by
1.8.3