MAEMO: Add basic platform backend with stubbed keymapper

This commit is contained in:
Tarek Soliman 2011-07-05 00:25:56 -05:00
parent 1439014a26
commit 09b9fbfba9
9 changed files with 243 additions and 2 deletions

View file

@ -0,0 +1,53 @@
/* ScummVM - Graphic Adventure Engine
*
* ScummVM is the legal property of its developers, whose names
* are too numerous to list here. Please refer to the COPYRIGHT
* file distributed with this source distribution.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
*/
#if defined(MAEMO)
#include "common/scummsys.h"
#include "backends/platform/maemo/maemo.h"
#include "backends/events/maemosdl/maemosdl-events.h"
#include "common/textconsole.h"
OSystem_SDL_Maemo::OSystem_SDL_Maemo()
:
OSystem_POSIX() {
}
void OSystem_SDL_Maemo::initBackend() {
// Create the events manager
if (_eventSource == 0)
_eventSource = new MaemoSdlEventSource();
// Call parent implementation of this method
OSystem_POSIX::initBackend();
}
void OSystem_SDL_Maemo::quit() {
delete this;
}
void OSystem_SDL_Maemo::fatalError() {
delete this;
}
#endif

View file

@ -0,0 +1,41 @@
/* ScummVM - Graphic Adventure Engine
*
* ScummVM is the legal property of its developers, whose names
* are too numerous to list here. Please refer to the COPYRIGHT
* file distributed with this source distribution.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
*/
#if defined(MAEMO)
#ifndef PLATFORM_SDL_MAEMO_H
#define PLATFORM_SDL_MAEMO_H
#include "backends/platform/sdl/posix/posix.h"
class OSystem_SDL_Maemo : public OSystem_POSIX {
public:
OSystem_SDL_Maemo();
virtual void initBackend();
virtual void quit();
virtual void fatalError();
};
#endif
#endif

View file

@ -0,0 +1,52 @@
/* ScummVM - Graphic Adventure Engine
*
* ScummVM is the legal property of its developers, whose names
* are too numerous to list here. Please refer to the COPYRIGHT
* file distributed with this source distribution.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
*/
#if defined(MAEMO)
#define FORBIDDEN_SYMBOL_EXCEPTION_unistd_h
#include "backends/platform/maemo/maemo.h"
#include "backends/plugins/sdl/sdl-provider.h"
#include "base/main.h"
#include <unistd.h>
int main(int argc, char* argv[]) {
g_system = new OSystem_SDL_Maemo();
assert(g_system);
((OSystem_SDL_Maemo *)g_system)->init();
#ifdef DYNAMIC_MODULES
PluginManager::instance().addPluginProvider(new SDLPluginProvider());
#endif
// Invoke the actual ScummVM main entry point:
int res = scummvm_main(argc, argv);
// Free OSystem
delete (OSystem_SDL_Maemo *)g_system;
return res;
}
#endif

View file

@ -0,0 +1,13 @@
MODULE := backends/platform/maemo
MODULE_OBJS := \
main.o \
maemo.o
# We don't use rules.mk but rather manually update OBJS and MODULE_DIRS.
MODULE_OBJS := $(addprefix $(MODULE)/, $(MODULE_OBJS))
OBJS := $(MODULE_OBJS) $(OBJS)
MODULE_DIRS += $(sort $(dir $(MODULE_OBJS)))
# Hack to ensure the SDL backend is built so we can use OSystem_SDL.
-include $(srcdir)/backends/platform/sdl/module.mk