AlterOffice
AlterOffice 3.4 SDK C/C++ API Reference
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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 
4 #ifndef INCLUDED_SALHELPER_CONDITION_HXX
5 #define INCLUDED_SALHELPER_CONDITION_HXX
6 
7 
8 #include "osl/conditn.hxx"
10 
11 namespace osl { class Mutex; }
12 
13 namespace salhelper
14 {
15 
17  {
18  friend class ConditionModifier;
19  friend class ConditionWaiter;
20 
21  public:
22 
23  Condition(osl::Mutex& aMutex);
24 
25  virtual ~Condition();
26 
27 
28  protected:
29 
30  virtual bool applies() const = 0;
31 
32 
33  private:
35  void operator =(Condition &) SAL_DELETED_FUNCTION;
36 
37  osl::Mutex& m_aMutex;
38  osl::Condition m_aCondition;
39  };
40 
41 
43  {
44  public:
45 
46  ConditionModifier(Condition& aCond);
47 
48  ~ConditionModifier();
49 
50 
51  private:
52  ConditionModifier(ConditionModifier &) SAL_DELETED_FUNCTION;
53  void operator =(ConditionModifier &) SAL_DELETED_FUNCTION;
54 
55  Condition& m_aCond;
56  };
57 
58 
60  {
61  public:
62 
63  ConditionWaiter(Condition& aCond);
64 
66  timedout();
67 
68  timedout(timedout const &);
69 
70  virtual ~timedout();
71 
72  timedout & operator =(timedout const &);
73  };
74 
76  ConditionWaiter(Condition& aCond,sal_uInt32 milliSec);
77 
78 
79  ~ConditionWaiter();
80 
81 
82  private:
84  void operator =(ConditionWaiter &) SAL_DELETED_FUNCTION;
85 
86  Condition& m_aCond;
87  };
88 
89 
90 } // namespace salhelper
91 
92 
93 #endif
94 
95 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
Definition: condition.hxx:65
Definition: condition.hxx:42
Definition: condition.hxx:16
A mutual exclusion synchronization object.
Definition: mutex.hxx:15
Definition: condition.hxx:59
#define SALHELPER_DLLPUBLIC
Definition: salhelperdllapi.h:12
#define SAL_DELETED_FUNCTION
short-circuit extra-verbose API namespaces
Definition: types.h:358