Open Lighting Architecture 0.10.9
Loading...
Searching...
No Matches
RenardDevice.h
1/*
2 * This program is free software; you can redistribute it and/or modify
3 * it under the terms of the GNU General Public License as published by
4 * the Free Software Foundation; either version 2 of the License, or
5 * (at your option) any later version.
6 *
7 * This program 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
10 * GNU Library General Public License for more details.
11 *
12 * You should have received a copy of the GNU General Public License
13 * along with this program; if not, write to the Free Software
14 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
15 *
16 * RenardDevice.h
17 * Interface for the renard device
18 * Copyright (C) 2013 Hakan Lindestaf
19 */
20
21#ifndef PLUGINS_RENARD_RENARDDEVICE_H_
22#define PLUGINS_RENARD_RENARDDEVICE_H_
23
24#include <memory>
25#include <string>
26
27#include "olad/Device.h"
28
29namespace ola {
30
31class AbstractPlugin;
32
33namespace plugin {
34namespace renard {
35
37 public:
39 class Preferences *preferences,
40 const std::string &dev_path);
42
43 std::string DeviceId() const { return m_dev_path; }
44 ola::io::ConnectedDescriptor *GetSocket() const;
45
46 protected:
47 bool StartHook();
48 void PrePortStop();
49
50 private:
51 std::auto_ptr<class RenardWidget> m_widget;
52 const std::string m_dev_path;
53 class Preferences *m_preferences;
54
55 // Per device options
56 std::string DeviceBaudrateKey() const;
57 std::string DeviceChannelsKey() const;
58 std::string DeviceDmxOffsetKey() const;
59
60 void SetDefaults();
61
62 static const char RENARD_DEVICE_NAME[];
63 static const uint8_t RENARD_START_ADDRESS;
64 static const uint8_t RENARD_AVAILABLE_ADDRESSES;
65 static const uint8_t DEFAULT_DMX_OFFSET;
66 static const uint8_t DEFAULT_NUM_CHANNELS;
67 static const uint32_t DEFAULT_BAUDRATE;
68};
69} // namespace renard
70} // namespace plugin
71} // namespace ola
72#endif // PLUGINS_RENARD_RENARDDEVICE_H_
Definition Plugin.h:38
Definition Device.h:89
Definition Preferences.h:148
A BidirectionalFileDescriptor that also generates notifications when closed.
Definition Descriptor.h:283
Definition RenardDevice.h:36
bool StartHook()
Called during Start().
Definition RenardDevice.cpp:105
std::string DeviceId() const
The device ID.
Definition RenardDevice.h:43
The namespace containing all OLA symbols.
Definition Credentials.cpp:44