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);
85 virtual bool inControlOfConfiguration(
const std::string& configuration)
const;
89 virtual bool disableJoystickFunctions(
const std::set<std::string>& functionalGroups,
90 std::set<std::string>& disabled);
93 virtual std::set<std::string> controlledFunctionGroups()
const;
96 virtual bool canFunctionGroupBeAssigned(
const std::string& functionGroup)
const;
105 virtual bool anyFunctionGroupsActive()
const;
108 virtual void releaseAllControllerInformation();
115 virtual bool isFunctionGroupActive(
const std::string& configuration,
const std::string&)
const;
118 virtual void activateFunctionGroup(
const std::string& configuration,
const std::string&);
121 virtual void deactivateFunctionGroup(
const std::string& configuration,
const std::string&);
123 virtual void switchControlOfFunction(
const std::string& configuration,
const std::string& functionGroup);
126 virtual void noQueuedEvents();
130 virtual void gameControlInformationAdded(
const std::string& configuration,
136 virtual bool joystickFunctionFired(
const std::string& functionGroup,
const std::string&
function,
137 double value,
bool repeat,
bool valueChanged) = 0;
156 typedef boost::unordered_map<std::string, ControlStruct>
InControlOf;
166 typedef boost::unordered_map<DtGameControlProcessor*, std::pair<ControlStatus, DtGenericControllerEvent*> >
RepeatQueue;