27 #include <boost/signals.hpp>
28 #include <boost/shared_ptr.hpp>
29 #include <boost/unordered_set.hpp>
30 #include <boost/unordered_map.hpp>
35 class DtJoystickManager;
47 functionGroup(orig.functionGroup), function(orig.function), configuration(orig.configuration)
52 std::string functionGroup;
70 virtual void tick(
bool sentEvents);
73 virtual void gameControllerDeviceRemoved(
int);
76 virtual void gameControllerDeviceAdded(
int);
81 virtual bool enableJoystickFunctions(
const std::string& configuration,
const std::set<std::string>& functionalGroups,
82 std::set<std::string>& enabled);
86 virtual bool disableJoystickFunctions(
const std::set<std::string>& functionalGroups,
87 std::set<std::string>& disabled);
90 virtual std::set<std::string> controlledFunctionGroups()
const;
93 virtual bool canFunctionGroupBeAssigned(
const std::string& functionGroup)
const;
102 virtual bool anyFunctionGroupsActive()
const;
105 virtual void releaseAllControllerInformation();
112 virtual bool isFunctionGroupActive(
const std::string& configuration,
const std::string&)
const;
115 virtual void activateFunctionGroup(
const std::string& configuration,
const std::string&);
118 virtual void deactivateFunctionGroup(
const std::string& configuration,
const std::string&);
120 virtual void switchControlOfFunction(
const std::string& configuration,
const std::string& functionGroup);
123 virtual void noQueuedEvents();
127 virtual void gameControlInformationAdded(
const std::string& configuration,
133 virtual bool joystickFunctionFired(
const std::string& functionGroup,
const std::string&
function,
134 double value,
bool repeat,
bool valueChanged) = 0;
153 typedef boost::unordered_map<std::string, ControlStruct>
InControlOf;
163 typedef boost::unordered_map<DtGameControlProcessor*, std::pair<ControlStatus, DtGenericControllerEvent*> >
RepeatQueue;