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
CallbackRunner.h
Go to the documentation of this file.
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
* CallbackRunner.h
17
* Automatically execute a 0-arg callback when this object goes out of scope.
18
* Copyright (C) 2011 Simon Newton
19
*/
20
41
#ifndef INCLUDE_OLA_CALLBACKRUNNER_H_
42
#define INCLUDE_OLA_CALLBACKRUNNER_H_
43
44
#include <
ola/base/Macro.h
>
45
46
namespace
ola {
47
81
template
<
typename
CallbackClass>
82
class
CallbackRunner
{
83
public
:
88
explicit
CallbackRunner
(CallbackClass *callback)
89
: m_callback(callback) {
90
}
91
95
~CallbackRunner
() {
96
m_callback->Run();
97
}
98
99
private
:
100
CallbackClass *m_callback;
101
102
DISALLOW_COPY_AND_ASSIGN(
CallbackRunner
);
103
};
104
108
}
// namespace ola
109
#endif // INCLUDE_OLA_CALLBACKRUNNER_H_
Generated on Fri Jul 3 2015 15:58:45 for Open Lighting Architecture by
1.8.1.2