OpenZWave Library
1.6.1914
Loading...
Searching...
No Matches
cpp
src
platform
Wait.h
Go to the documentation of this file.
1
//-----------------------------------------------------------------------------
2
//
3
// Wait.h
4
//
5
// Cross-platform abstract base class for objects we
6
// want to be able to wait for.
7
//
8
// Copyright (c) 2010 Mal Lansell <mal@lansell.org>
9
// All rights reserved.
10
//
11
// SOFTWARE NOTICE AND LICENSE
12
//
13
// This file is part of OpenZWave.
14
//
15
// OpenZWave is free software: you can redistribute it and/or modify
16
// it under the terms of the GNU Lesser General Public License as published
17
// by the Free Software Foundation, either version 3 of the License,
18
// or (at your option) any later version.
19
//
20
// OpenZWave is distributed in the hope that it will be useful,
21
// but WITHOUT ANY WARRANTY; without even the implied warranty of
22
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
23
// GNU Lesser General Public License for more details.
24
//
25
// You should have received a copy of the GNU Lesser General Public License
26
// along with OpenZWave. If not, see <http://www.gnu.org/licenses/>.
27
//
28
//-----------------------------------------------------------------------------
29
#ifndef _Wait_H
30
#define _Wait_H
31
32
#include <list>
33
#include "
platform/Ref.h
"
34
35
namespace
OpenZWave
36
{
37
namespace
Internal
38
{
39
namespace
Platform
40
{
41
class
WaitImpl;
42
46
class
Wait
:
public
Ref
47
{
48
friend
class
WaitImpl
;
49
friend
class
ThreadImpl
;
50
51
public
:
52
enum
53
{
54
Timeout_Immediate
= 0,
55
Timeout_Infinite
= -1
56
};
57
58
typedef
void (*
pfnWaitNotification_t
)(
void
* _context);
59
66
void
AddWatcher
(
pfnWaitNotification_t
_callback,
void
* _context);
67
74
void
RemoveWatcher
(
pfnWaitNotification_t
_callback,
void
* _context);
75
82
static
int32
Single
(
Wait
* _object,
int32
_timeout = -1)
83
{
84
return
Multiple
(&_object, 1, _timeout);
85
}
86
95
static
int32
Multiple
(
Wait
** _objects,
uint32
_numObjects,
int32
_timeout = -1);
96
97
protected
:
98
Wait
();
99
virtual
~Wait
();
100
104
void
Notify
();
105
109
virtual
bool
IsSignalled
() = 0;
110
111
private
:
112
Wait
(
Wait
const
&);
// prevent copy
113
Wait
& operator =(
Wait
const
&);
// prevent assignment
114
115
WaitImpl
* m_pImpl;
// Pointer to an object that encapsulates the platform-specific implementation of a Wait object.
116
};
117
}
// namespace Platform
118
}
// namespace Internal
119
}
// namespace OpenZWave
120
121
#endif
//_Wait_H
122
uint32
unsigned int uint32
Definition
Defs.h:91
int32
signed int int32
Definition
Defs.h:90
Ref.h
OpenZWave::Internal::Platform::Ref
Definition
Ref.h:51
OpenZWave::Internal::Platform::Wait
Platform-independent definition of Wait objects.
Definition
Wait.h:47
OpenZWave::Internal::Platform::Wait::Multiple
static int32 Multiple(Wait **_objects, uint32 _numObjects, int32 _timeout=-1)
Definition
Wait.cpp:113
OpenZWave::Internal::Platform::Wait::RemoveWatcher
void RemoveWatcher(pfnWaitNotification_t _callback, void *_context)
Definition
Wait.cpp:92
OpenZWave::Internal::Platform::Wait::WaitImpl
friend class WaitImpl
Definition
Wait.h:48
OpenZWave::Internal::Platform::Wait::AddWatcher
void AddWatcher(pfnWaitNotification_t _callback, void *_context)
Definition
Wait.cpp:73
OpenZWave::Internal::Platform::Wait::Wait
Wait()
Definition
Wait.cpp:55
OpenZWave::Internal::Platform::Wait::~Wait
virtual ~Wait()
Definition
Wait.cpp:64
OpenZWave::Internal::Platform::Wait::IsSignalled
virtual bool IsSignalled()=0
OpenZWave::Internal::Platform::Wait::Timeout_Infinite
@ Timeout_Infinite
Definition
Wait.h:55
OpenZWave::Internal::Platform::Wait::Timeout_Immediate
@ Timeout_Immediate
Definition
Wait.h:54
OpenZWave::Internal::Platform::Wait::Notify
void Notify()
Definition
Wait.cpp:104
OpenZWave::Internal::Platform::Wait::ThreadImpl
friend class ThreadImpl
Definition
Wait.h:49
OpenZWave::Internal::Platform::Wait::pfnWaitNotification_t
void(* pfnWaitNotification_t)(void *_context)
Definition
Wait.h:58
OpenZWave::Internal::Platform::Wait::Single
static int32 Single(Wait *_object, int32 _timeout=-1)
Definition
Wait.h:82
OpenZWave
Definition
Bitfield.cpp:31
Generated on Wed Apr 3 2024 15:14:34 for OpenZWave Library by
1.10.0