cgv
Loading...
Searching...
No Matches
gamepad_driver.cxx
1#include "gamepad_driver.h"
2
3namespace gamepad {
5 void register_driver(gamepad_driver* gpd)
6 {
7 gpd->driver_index = unsigned(ref_drivers().size());
8 ref_drivers().push_back(gpd);
9 ref_driver_infos().resize(ref_driver_infos().size() + 1);
10 ref_driver_infos().back().name = gpd->get_name();
11 ref_driver_infos().back().enabled = true;
12 }
14 std::vector<gamepad_driver*>& ref_drivers()
15 {
16 static std::vector<gamepad_driver*> drivers;
17 return drivers;
18 }
20 std::vector<device_info>& ref_device_infos()
21 {
22 static std::vector<device_info> device_infos;
23 return device_infos;
24 }
26 device_info* ref_device_info(void* device_handle)
27 {
28 for (auto& di : ref_device_infos())
29 if (di.device_handle == device_handle)
30 return &di;
31 return 0;
32 }
33
35 std::vector<driver_info>& ref_driver_infos()
36 {
37 static std::vector<driver_info> driver_infos;
38 return driver_infos;
39 }
40}
std::vector< vr_driver * > & ref_drivers()
return registered drivers
void register_driver(vr_driver *vrd)
register a new driver