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
NetworkResponder.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
* NetworkResponder.h
17
* Copyright (C) 2013 Peter Newman
18
*/
19
28
#ifndef INCLUDE_OLA_RDM_NETWORKRESPONDER_H_
29
#define INCLUDE_OLA_RDM_NETWORKRESPONDER_H_
30
31
#include <
ola/rdm/NetworkManagerInterface.h
>
32
#include <
ola/rdm/RDMControllerInterface.h
>
33
#include <
ola/rdm/RDMEnums.h
>
34
#include <
ola/rdm/ResponderOps.h
>
35
#include <
ola/rdm/UID.h
>
36
37
#include <memory>
38
#include <string>
39
#include <vector>
40
41
namespace
ola {
42
namespace
rdm {
43
47
class
NetworkResponder
:
public
RDMControllerInterface
{
48
public
:
49
explicit
NetworkResponder
(
const
UID
&uid);
50
~
NetworkResponder
();
51
52
void
SendRDMRequest
(
RDMRequest
*request,
RDMCallback
*callback);
53
54
private
:
58
class
RDMOps :
public
ResponderOps
<NetworkResponder> {
59
public
:
60
static
RDMOps *Instance() {
61
if
(!instance) {
62
instance =
new
RDMOps();
63
}
64
return
instance;
65
}
66
67
private
:
68
RDMOps() :
ResponderOps<NetworkResponder>
(PARAM_HANDLERS) {}
69
70
static
RDMOps *instance;
71
};
72
73
const
UID
m_uid;
74
bool
m_identify_mode;
75
std::auto_ptr<NetworkManagerInterface> m_network_manager;
76
77
RDMResponse
*GetDeviceInfo(
const
RDMRequest
*request);
78
RDMResponse
*GetProductDetailList(
const
RDMRequest
*request);
79
RDMResponse
*GetIdentify(
const
RDMRequest
*request);
80
RDMResponse
*SetIdentify(
const
RDMRequest
*request);
81
RDMResponse
*GetManufacturerLabel(
const
RDMRequest
*request);
82
RDMResponse
*GetDeviceLabel(
const
RDMRequest
*request);
83
RDMResponse
*GetDeviceModelDescription(
const
RDMRequest
*request);
84
RDMResponse
*GetSoftwareVersionLabel(
const
RDMRequest
*request);
85
RDMResponse
*GetListInterfaces(
const
RDMRequest
*request);
86
RDMResponse
*GetInterfaceLabel(
const
RDMRequest
*request);
87
RDMResponse
*GetInterfaceHardwareAddressType1(
const
RDMRequest
*request);
88
RDMResponse
*GetIPV4CurrentAddress(
const
RDMRequest
*request);
89
RDMResponse
*GetIPV4DefaultRoute(
const
RDMRequest
*request);
90
RDMResponse
*GetDNSHostname(
const
RDMRequest
*request);
91
RDMResponse
*GetDNSDomainName(
const
RDMRequest
*request);
92
RDMResponse
*GetDNSNameServer(
const
RDMRequest
*request);
93
94
static
const
ResponderOps<NetworkResponder>::ParamHandler
PARAM_HANDLERS[];
95
};
96
}
// namespace rdm
97
}
// namespace ola
98
#endif // INCLUDE_OLA_RDM_NETWORKRESPONDER_H_
Generated on Fri Jul 3 2015 15:58:45 for Open Lighting Architecture by
1.8.1.2