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
rdm
SensorResponder.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
* SensorResponder_h
17
* Copyright (C) 2013 Simon Newton
18
*/
19
28
#ifndef INCLUDE_OLA_RDM_SENSORRESPONDER_H_
29
#define INCLUDE_OLA_RDM_SENSORRESPONDER_H_
30
31
#include <
ola/rdm/RDMControllerInterface.h
>
32
#include <
ola/rdm/RDMEnums.h
>
33
#include <
ola/rdm/ResponderOps.h
>
34
#include <
ola/rdm/ResponderSensor.h
>
35
#include <
ola/rdm/UID.h
>
36
37
#include <string>
38
#include <vector>
39
40
namespace
ola {
41
namespace
rdm {
42
46
class
SensorResponder
:
public
RDMControllerInterface
{
47
public
:
48
explicit
SensorResponder
(
const
UID
&uid);
49
~
SensorResponder
();
50
51
void
SendRDMRequest
(
RDMRequest
*request,
RDMCallback
*callback);
52
53
private
:
57
class
RDMOps :
public
ResponderOps
<SensorResponder> {
58
public
:
59
static
RDMOps *Instance() {
60
if
(!instance)
61
instance =
new
RDMOps();
62
return
instance;
63
}
64
65
private
:
66
RDMOps() :
ResponderOps<SensorResponder>
(PARAM_HANDLERS) {}
67
68
static
RDMOps *instance;
69
};
70
71
const
UID
m_uid;
72
bool
m_identify_mode;
73
Sensors m_sensors;
74
75
RDMResponse
*GetDeviceInfo(
const
RDMRequest
*request);
76
RDMResponse
*GetProductDetailList(
const
RDMRequest
*request);
77
RDMResponse
*GetIdentify(
const
RDMRequest
*request);
78
RDMResponse
*SetIdentify(
const
RDMRequest
*request);
79
RDMResponse
*GetManufacturerLabel(
const
RDMRequest
*request);
80
RDMResponse
*GetDeviceLabel(
const
RDMRequest
*request);
81
RDMResponse
*GetDeviceModelDescription(
const
RDMRequest
*request);
82
RDMResponse
*GetSoftwareVersionLabel(
const
RDMRequest
*request);
83
RDMResponse
*GetSensorDefinition(
const
RDMRequest
*request);
84
RDMResponse
*GetSensorValue(
const
RDMRequest
*request);
85
RDMResponse
*SetSensorValue(
const
RDMRequest
*request);
86
RDMResponse
*RecordSensor(
const
RDMRequest
*request);
87
88
static
const
ResponderOps<SensorResponder>::ParamHandler
PARAM_HANDLERS[];
89
};
90
}
// namespace rdm
91
}
// namespace ola
92
#endif // INCLUDE_OLA_RDM_SENSORRESPONDER_H_
Generated on Fri Jul 3 2015 15:58:45 for Open Lighting Architecture by
1.8.1.2