1 /*******************************************************************
\r
5 * Author: Peter van Sebille (peter@yipton.net)
\r
7 * Modified/adapted for picodriveN by notaz, 2006
\r
9 * (c) Copyright 2006, notaz
\r
10 * (c) Copyright 2002, Peter van Sebille
\r
11 * All Rights Reserved
\r
13 *******************************************************************/
\r
18 #include <e32base.h>
\r
21 #include "../ClientServer.h"
\r
25 #ifdef __DEBUG_PRINT
\r
26 #define DEBUGPRINT(x...) RDebug::Print(x)
\r
28 #define DEBUGPRINT(x...)
\r
35 virtual void NotifyEmuDeath() = 0;
\r
36 virtual void NotifyForcedExit() = 0;
\r
40 class CGameRunner : public CActive
\r
43 static CGameRunner* NewL(MGameWatcher& aGameWatcher);
\r
46 void KillAfter(TInt ms);
\r
49 CGameRunner(MGameWatcher& aGameWatcher);
\r
52 virtual void RunL();
\r
53 virtual void DoCancel();
\r
55 MGameWatcher& iGameWatcher;
\r
56 TProcessId iProcessId;
\r
60 class CExitForcer : public CActive
\r
63 static CExitForcer* NewL(MGameWatcher& aGameWatcher, TInt ms);
\r
67 CExitForcer(MGameWatcher& aGameWatcher);
\r
68 void ConstructL(TInt ms);
\r
70 virtual void RunL();
\r
71 virtual void DoCancel();
\r
73 MGameWatcher& iGameWatcher;
\r
78 class CThreadWatcher : public CActive
\r
81 static CThreadWatcher* NewL(MGameWatcher& aGameWatcher, const TDesC& aName);
\r
85 CThreadWatcher(MGameWatcher& aGameWatcher, const TDesC& aName);
\r
88 virtual void RunL();
\r
89 virtual void DoCancel();
\r
91 MGameWatcher& iGameWatcher;
\r
92 const TDesC& iName; // thread name
\r
96 // configuration emu process doesn't care about
\r
97 class TPLauncherConfig {
\r
99 TPLauncherConfig(TPicoConfig &cfg);
\r
103 TBool iPad; // was iPauseOnCall
\r
104 TFileName iLastROMFile;
\r
105 TPicoConfig &iEmuConfig;
\r
108 TFileName iIniFileName;
\r