OSSIA
Open Scenario System for Interactive Application
leapmotion_device.hpp
1 #pragma once
2 #include <ossia/network/base/protocol.hpp>
3 #include <ossia/network/context_functions.hpp>
4 
5 namespace Leap
6 {
7 class Controller;
8 }
9 
10 namespace ossia
11 {
12 
13 class OSSIA_EXPORT leapmotion_protocol final : public ossia::net::protocol_base
14 {
15 public:
16  leapmotion_protocol(ossia::net::network_context_ptr);
17  ~leapmotion_protocol();
18 
19 private:
20  void set_device(ossia::net::device_base& dev) override;
21  bool pull(net::parameter_base&) override;
22  bool push(const net::parameter_base&, const ossia::value& v) override;
23  bool push_raw(const net::full_parameter_data&) override;
24  bool observe(net::parameter_base&, bool) override;
25  bool update(net::node_base& node_base) override;
26 
27  ossia::net::network_context_ptr m_context;
28  class leap_listener;
29  std::unique_ptr<leap_listener> listener;
30  std::unique_ptr<Leap::Controller> controller;
31 };
32 }
Root of a device tree.
Definition: ossia/network/base/device.hpp:58
The protocol_base class.
Definition: protocol.hpp:40
The value class.
Definition: value.hpp:173
Definition: git_info.h:7