OpenZWave Library
1.6.1133
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Modules
Pages
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
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::Notify
void Notify()
Definition:
Wait.cpp:104
OpenZWave::Internal::Platform::Wait::AddWatcher
void AddWatcher(pfnWaitNotification_t _callback, void *_context)
Definition:
Wait.cpp:73
OpenZWave
Definition:
Bitfield.cpp:30
OpenZWave::Internal::Platform::Ref
Definition:
Ref.h:50
OpenZWave::Internal::Platform::Wait::Multiple
static int32 Multiple(Wait **_objects, uint32 _numObjects, int32 _timeout=-1)
Definition:
Wait.cpp:113
OpenZWave::Internal::Platform::Wait::Timeout_Immediate
Definition:
Wait.h:54
OpenZWave::Internal::Platform::Wait
Platform-independent definition of Wait objects.
Definition:
Wait.h:46
OpenZWave::Internal::Platform::Wait::~Wait
virtual ~Wait()
Definition:
Wait.cpp:64
OpenZWave::Internal::Platform::Wait::pfnWaitNotification_t
void(* pfnWaitNotification_t)(void *_context)
Definition:
Wait.h:58
int32
signed int int32
Definition:
Defs.h:90
uint32
unsigned int uint32
Definition:
Defs.h:91
OpenZWave::Internal::Platform::Wait::Single
static int32 Single(Wait *_object, int32 _timeout=-1)
Definition:
Wait.h:82
Ref.h
OpenZWave::Internal::Platform::Wait::Timeout_Infinite
Definition:
Wait.h:55
OpenZWave::Internal::Platform::Wait::ThreadImpl
friend class ThreadImpl
Definition:
Wait.h:49
OpenZWave::Internal::Platform::Wait::IsSignalled
virtual bool IsSignalled()=0
OpenZWave::Internal::Platform::Wait::Wait
Wait()
Definition:
Wait.cpp:55
Generated on Mon Jun 1 2020 10:40:10 for OpenZWave Library by
1.8.8