Refactor IVRInput logic into several classes

Keeping the action name, handle and type together allows for better
error messages and limited run time type checking, to ensure that the
wrong function isn't called.

It is necessary to initialize the manifest in a class, since the Actions
depend on this being set.

Several files have been moved around to be more consistent.
This commit is contained in:
Vasily
2019-01-19 21:25:15 +01:00
parent 8bcab9b2c0
commit d7e3df185b
11 changed files with 264 additions and 157 deletions
+2 -2
View File
@@ -39,7 +39,7 @@
#include "tabcontrollers/UtilitiesTabController.h"
#include "tabcontrollers/AccessibilityTabController.h"
#include "steamivrinput.h"
#include "ivrinput/steamivrinput.h"
// application namespace
namespace advsettings
@@ -92,7 +92,7 @@ private:
public: // I know it's an ugly hack to make them public to enable external
// access, but I am too lazy to implement getters.
SteamIVRInput m_actions;
input::SteamIVRInput m_actions;
SteamVRTabController m_steamVRTabController;
ChaperoneTabController m_chaperoneTabController;
MoveCenterTabController m_moveCenterTabController;