aboutsummaryrefslogtreecommitdiff
path: root/backends/epoc/build/S90/ScummVMApp.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'backends/epoc/build/S90/ScummVMApp.cpp')
-rw-r--r--backends/epoc/build/S90/ScummVMApp.cpp170
1 files changed, 0 insertions, 170 deletions
diff --git a/backends/epoc/build/S90/ScummVMApp.cpp b/backends/epoc/build/S90/ScummVMApp.cpp
deleted file mode 100644
index 1a2c89a4f6..0000000000
--- a/backends/epoc/build/S90/ScummVMApp.cpp
+++ /dev/null
@@ -1,170 +0,0 @@
-/* ScummVM - Scumm Interpreter
- * Copyright (C) 2003-2005 Andreas 'Sprawl' Karlsson - Original EPOC port, ESDL
- * Copyright (C) 2003-2005 Lars 'AnotherGuest' Persson - Original EPOC port, Audio System
- * Copyright (C) 2005 Jurgen 'SumthinWicked' Braam - EPOC/CVS maintainer
- * Copyright (C) 2005 The ScummVM project
- *
- * 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.
- *
- * $Header$
- */
-
-#include "backends/epoc/build/S90/ScummVMapp.h"
-#include <escummvms90.rsg>
-#include <apgcli.h>
-#include <eikdll.h>
-#include <apgtask.h>
-
-EXPORT_C CApaApplication *NewApplication() {
- return (new CScummVM);
-}
-
-CScummVM::CScummVM() {
-}
-
-CScummVM::~CScummVM() {
-}
-
-CApaDocument *CScummVM::CreateDocumentL() {
- return new (ELeave)CScummVMDoc(*this);
-}
-
-TUid CScummVM::AppDllUid() const {
- return TUid::Uid(0x101f9b57);
-}
-
-CScummVMDoc::CScummVMDoc(CEikApplication &aApp) : CEikDocument(aApp) {
-}
-
-CScummVMDoc::~CScummVMDoc() {
-}
-
-CEikAppUi *CScummVMDoc::CreateAppUiL() {
- return new (ELeave)CScummVMUi;
-}
-
-void CScummVMUi::HandleForegroundEventL(TBool aForeground) {
- if(aForeground) {
- BringUpEmulatorL();
- }
-}
-
-CScummVMUi::CScummVMUi() {
-}
-
-CScummVMUi::~CScummVMUi() {
- if(iWatcher) {
- iThreadWatch.LogonCancel(iWatcher->iStatus);
- iWatcher->Cancel();
- }
-
- delete iWatcher;
-
- iThreadWatch.Close();
-}
-
-void CScummVMUi::ConstructL() {
- BaseConstructL();
- TBuf<128> startFile;
- startFile = iEikonEnv->EikAppUi()->Application()->AppFullName();
- TParse parser;
- parser.Set(startFile,NULL,NULL);
-
- startFile = parser.DriveAndPath();
-#ifndef __WINS__
- startFile.Append( _L("ScummVM.exe"));
-#else
- startFile.Append( _L("ScummVM.dll"));
-#endif
- CApaCommandLine *cmdLine = CApaCommandLine::NewLC(startFile);
- RApaLsSession lsSession;
-
- lsSession.Connect();
- CleanupClosePushL(lsSession);
- lsSession.StartApp(*cmdLine, iThreadId);
-
- CleanupStack::PopAndDestroy();//close lsSession
- CleanupStack::PopAndDestroy(cmdLine);
-
- User::After(500000);// Let the application start
-
- TApaTaskList taskList(iEikonEnv->WsSession());
-
- TApaTask myTask = taskList.FindApp(TUid::Uid(0x101f9b57));
- myTask.SendToBackground();
-
- TApaTask exeTask = taskList.FindByPos(0);
-
- iExeWgId=exeTask.WgId();
- exeTask.BringToForeground();
-
- if(iExeWgId == myTask.WgId()) { // Should n't be the same
- Exit();
- }
- if(iThreadWatch.Open(iThreadId) == KErrNone) {
- iWatcher = new (ELeave)CScummWatcher;
- iWatcher->iAppUi = this;
- iThreadWatch.Logon(iWatcher->iStatus);
- }
-}
-
-CScummWatcher::CScummWatcher() : CActive(EPriorityStandard) {
- CActiveScheduler::Add(this);
-
- iStatus = KRequestPending;
- SetActive();
-}
-
-CScummWatcher::~CScummWatcher() {
-}
-
-void CScummWatcher::DoCancel() {
-}
-
-void CScummWatcher::RunL() {
- iAppUi->HandleCommandL(EEikCmdExit);
-}
-
-void CScummVMUi::BringUpEmulatorL() {
- RThread thread;
-
- if(thread.Open(iThreadId) == KErrNone) {
- thread.Close();
- TApaTask apaTask(iEikonEnv->WsSession());
- apaTask.SetWgId(iExeWgId);
- apaTask.BringToForeground();
- } else {
- iExeWgId = -1;
- }
-}
-
-void CScummVMUi::HandleCommandL(TInt aCommand) {
- switch(aCommand) {
- case EEikCmdExit:
- {
- RThread thread;
- if(thread.Open(iThreadId) == KErrNone) {
- thread.Terminate(0);
- thread.Close();
- }
- Exit();
- }
- break;
- }
-}
-
-GLDEF_C TInt E32Dll(TDllReason) {
- return KErrNone;
-}