Open Lighting Architecture
0.9.6
Main Page
Modules
Related Pages
Namespaces
Classes
Files
File List
File Members
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
include
ola
thread
SchedulerInterface.h
1
/*
2
* This library is free software; you can redistribute it and/or
3
* modify it under the terms of the GNU Lesser General Public
4
* License as published by the Free Software Foundation; either
5
* version 2.1 of the License, or (at your option) any later version.
6
*
7
* This library is distributed in the hope that it will be useful,
8
* but WITHOUT ANY WARRANTY; without even the implied warranty of
9
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
10
* Lesser General Public License for more details.
11
*
12
* You should have received a copy of the GNU Lesser General Public
13
* License along with this library; if not, write to the Free Software
14
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
15
*
16
* SchedulerInterface.h
17
* The scheduler interface provides methods to schedule the execution of
18
* callbacks at some point in the future.
19
* Copyright (C) 2011 Simon Newton
20
*/
21
22
#ifndef INCLUDE_OLA_THREAD_SCHEDULERINTERFACE_H_
23
#define INCLUDE_OLA_THREAD_SCHEDULERINTERFACE_H_
24
25
#include <
ola/Callback.h
>
26
#include <ola/Clock.h>
27
28
namespace
ola {
29
namespace
thread {
30
34
typedef
void
*
timeout_id
;
35
39
static
const
timeout_id
INVALID_TIMEOUT
= NULL;
40
41
46
class
SchedulerInterface
{
47
public
:
48
SchedulerInterface
() {}
49
virtual
~
SchedulerInterface
() {}
50
61
virtual
timeout_id
RegisterRepeatingTimeout
(
62
unsigned
int
period,
63
Callback0<bool>
*callback) = 0;
64
73
virtual
timeout_id
RegisterRepeatingTimeout
(
74
const
ola::TimeInterval
&period,
75
Callback0<bool>
*callback) = 0;
76
84
virtual
timeout_id
RegisterSingleTimeout
(
85
unsigned
int
delay,
86
SingleUseCallback0<void>
*callback) = 0;
87
94
virtual
timeout_id
RegisterSingleTimeout
(
95
const
ola::TimeInterval
&delay,
96
SingleUseCallback0<void>
*callback) = 0;
97
103
virtual
void
RemoveTimeout
(
timeout_id
id
) = 0;
104
};
105
}
// namespace thread
106
}
// namespace ola
107
#endif // INCLUDE_OLA_THREAD_SCHEDULERINTERFACE_H_
Generated on Fri Jul 3 2015 15:58:45 for Open Lighting Architecture by
1.8.1.2