Overte C++ Documentation
OculusMobileControllerManager.h
1 //
2 // Created by Bradley Austin Davis on 2016/03/04
3 // Copyright 2013-2016 High Fidelity, Inc.
4 //
5 // Distributed under the Apache License, Version 2.0.
6 // See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
7 //
8 
9 #ifndef hifi__OculusMobileControllerManager
10 #define hifi__OculusMobileControllerManager
11 
12 #include <QObject>
13 #include <unordered_set>
14 #include <map>
15 
16 #include <GLMHelpers.h>
17 
18 #include <controllers/InputDevice.h>
19 #include <plugins/InputPlugin.h>
20 
21 class OculusMobileControllerManager : public InputPlugin {
22 Q_OBJECT
23 public:
24  // Plugin functions
25  bool isSupported() const override;
26  const QString getName() const override { return NAME; }
27  bool isHandController() const override;
28  bool isHeadController() const override { return true; }
29  QStringList getSubdeviceNames() override;
30 
31  bool activate() override;
32  void deactivate() override;
33 
34  void pluginFocusOutEvent() override;
35  void pluginUpdate(float deltaTime, const controller::InputCalibrationData& inputCalibrationData) override;
36 
37 private:
38  static const char* NAME;
39 
40  void checkForConnectedDevices();
41 };
42 
43 #endif // hifi__OculusMobileControllerManager