#include #include #include #include #include namespace sp { InputModule::InputModule(PlatformInput *platform) : m_platform (platform) { // Let user "install" devices? m_mouse = m_platform->createMouse(); m_keyboard = m_platform->createKeyboard(); addInputDevice(m_mouse); addInputDevice(m_keyboard); } InputModule::~InputModule() { InputDeviceVec::iterator it; for(it = m_devices.begin(); it != m_devices.end(); it++) { delete (*it); } } void InputModule::addInputDevice(InputDevice *device) { device->init(); m_devices.push_back(device); } Mouse* InputModule::getMouse() { return m_mouse; } Keyboard* InputModule::getKeyboard() { return m_keyboard; } void InputModule::update() { InputDeviceVec::iterator it; // Update all devices. for(it = m_devices.begin(); it != m_devices.end(); it++) { (*it)->update(this); } } } // namespace sp