28 #include <boost/signals.hpp>
29 #include <boost/function.hpp>
30 #include <boost/unordered_set.hpp>
31 #include <boost/unordered_map.hpp>
36 class DtRecordSettingsBackupInterface;
47 class DtGuiThreadVrfRemoteController;
48 class DtVrfGuiJoystickControlHandler;
73 virtual void requestJoystickControlInformation(
const DtUUID&);
78 virtual JoystickControls joystickControlInformation(
const DtEntityType&)
const;
80 virtual bool hasJoystickControlInformation(
const DtUUID&)
const;
81 virtual bool hasJoystickControlInformation(
const DtEntityType&)
const;
88 virtual void takeControlOf(
makVrv::DtUniqueID,
const std::string& configuration,
const std::set<std::string>& functionalGroups);
89 virtual void takeControlOf(
const DtUUID&,
const std::string& configuration,
const std::set<std::string>& functionalGroups);
93 virtual bool inControlOf(
const DtUUID&)
const;
96 virtual bool inControlOf(
const DtUUID&,
const std::string&)
const;
99 virtual bool canAnyFunctionGroupBeAssigned(
makVrv::DtUniqueID,
const std::string& configuration)
const;
100 virtual bool canAnyFunctionGroupBeAssigned(
const DtUUID&,
const std::string& configuration)
const;
104 virtual void releaseControlOf(
makVrv::DtUniqueID,
const std::set<std::string>& functionalGroups = std::set<std::string>(),
105 bool objectRemoved =
false);
106 virtual void releaseControlOf(
const DtUUID&,
const std::set<std::string>& functionalGroups = std::set<std::string>(),
107 bool objectRemoved =
false);
110 virtual void releaseControlOfAll();
116 virtual std::set<std::string> uncontrolledFunctionGroups(
const DtUUID&)
const;
120 virtual std::set<std::string> functionGroupsDefinedFor(
const DtUUID&)
const;
123 virtual bool canFunctionGroupBeAssigned(
const DtUUID& uuid,
124 const std::string& configuration,
const std::string& functionGroup)
const;
127 boost::signal<void (const DtUUID&, const std::string& configuration, const std::set<std::string>&)> signal_hasTakenControl;
130 boost::signal<void (const DtUUID&, const std::set<std::string>&)> signal_hasReleasedControl;
136 virtual void initialize();
142 virtual void processJoystickControlsResponse(
DtSimMessage*);
146 virtual void cleanupHandlers();
158 typedef boost::unordered_map<DtUUID, DtVrfGuiJoystickControlHandler*>
InControlOf;