diff options
author | Lars Persson | 2006-02-12 00:27:19 +0000 |
---|---|---|
committer | Lars Persson | 2006-02-12 00:27:19 +0000 |
commit | 37f433a7ad516df85cd62e32e1a178635212b047 (patch) | |
tree | 9128c436cc09d6bb2ab1031ee0aeb0c0a28dab5b /backends/epoc/S60/ScummVMApp.cpp | |
parent | 80cf2fa46ff638ae25fe85a3a89997ceb7f09aae (diff) | |
download | scummvm-rg350-37f433a7ad516df85cd62e32e1a178635212b047.tar.gz scummvm-rg350-37f433a7ad516df85cd62e32e1a178635212b047.tar.bz2 scummvm-rg350-37f433a7ad516df85cd62e32e1a178635212b047.zip |
* New and tested builds for S60V3 and UIQ3
* New upscaled icons for UIQ3/S60V3. SVG/Scalable version needed for S60V3 for proper good looks
* Critical bug in Symbian-fs fixed (exception for UIQ3/S60V3)
*Removed duplicate files for easier maintanence
*New handling for Symbian error messages, save paths etc
*All naming now is ScummVM for all apps and targets
svn-id: r20585
Diffstat (limited to 'backends/epoc/S60/ScummVMApp.cpp')
-rw-r--r-- | backends/epoc/S60/ScummVMApp.cpp | 166 |
1 files changed, 0 insertions, 166 deletions
diff --git a/backends/epoc/S60/ScummVMApp.cpp b/backends/epoc/S60/ScummVMApp.cpp deleted file mode 100644 index 917f997385..0000000000 --- a/backends/epoc/S60/ScummVMApp.cpp +++ /dev/null @@ -1,166 +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-2006 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. - * - * $URL$ - * $Id$ - */ - -#include "ScummVMapp.h" -#include <scummvms60.rsg> -#include <apgcli.h> -#include <eikdll.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) : CAknDocument(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(); - TApaTaskList taskList(iEikonEnv->WsSession()); - TApaTask myTask=taskList.FindApp(TUid::Uid(0x101f9b57)); - myTask.SendToBackground(); - - 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 - - TApaTask exeTask=taskList.FindByPos(0); - iExeWgId=exeTask.WgId(); - - 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; -} |