3 #include <ossia/network/base/protocol.hpp>
4 #include <ossia/network/common/complex_type.hpp>
5 #include <ossia/network/common/device_parameter.hpp>
6 #include <ossia/network/context_functions.hpp>
7 #include <ossia/network/domain/domain.hpp>
11 typedef struct _SDL_Joystick SDL_Joystick;
15 class joystick_protocol_manager;
16 struct joystick_event_processor;
18 struct OSSIA_EXPORT joystick_info
20 static unsigned int get_joystick_count();
21 static const char* get_joystick_name(
const int index);
22 static int32_t get_joystick_id(
const int index);
23 static void write_joystick_uuid(
const int index, uint8_t* dst);
26 static std::pair<int32_t, int32_t> get_available_id_for_uid(
const uint8_t* uid);
31 friend class joystick_protocol_manager;
32 friend struct joystick_event_processor;
36 ossia::net::network_context_ptr,
const int32_t joystick_id,
37 const int joystick_index);
38 joystick_protocol(
const joystick_protocol&) =
delete;
39 joystick_protocol(joystick_protocol&&) =
delete;
40 joystick_protocol& operator=(
const joystick_protocol&) =
delete;
41 joystick_protocol& operator=(joystick_protocol&&) =
delete;
42 ~joystick_protocol()
override;
55 joystick_protocol_manager& m_manager;
56 joystick_event_processor& m_processor;
57 ossia::net::network_context_ptr m_ctx{};
61 std::vector<device_parameter*> m_axis_parameters;
62 std::vector<device_parameter*> m_hat_parameters;
63 std::vector<device_parameter*> m_ball_parameters;
64 std::vector<device_parameter*> m_button_parameters;
66 int32_t m_joystick_id{};
67 SDL_Joystick* m_joystick{};
Root of a device tree.
Definition: ossia/network/base/device.hpp:58
The node_base class.
Definition: network/base/node.hpp:48
The parameter_base class.
Definition: ossia/network/base/parameter.hpp:48
The protocol_base class.
Definition: protocol.hpp:40
The value class.
Definition: value.hpp:173
Full information about a parameter.
Definition: parameter_data.hpp:61