|  | // | 
|  | // Copyright 2005 The Android Open Source Project | 
|  | // | 
|  | // Application class. | 
|  | // | 
|  | #ifndef _SIM_APPMAIN_H | 
|  | #define _SIM_APPMAIN_H | 
|  |  | 
|  | #include "wx/help.h" | 
|  | #include "wx/html/helpctrl.h" | 
|  |  | 
|  | #include "MainFrame.h" | 
|  | #include "DeviceManager.h" | 
|  | #include "Preferences.h" | 
|  |  | 
|  | #include <utils/AssetManager.h> | 
|  |  | 
|  | /* flag set from signal handler */ | 
|  | extern bool gWantToKill; | 
|  |  | 
|  | /* | 
|  | * Class representing the application. | 
|  | */ | 
|  | class MyApp : public wxApp { | 
|  | public: | 
|  | MyApp(void) | 
|  | : mHelpController(NULL), mpMainFrame(NULL), mpAssetManager(NULL), | 
|  | mResetPaths(false)        // configurable; reset prefs with paths | 
|  | {} | 
|  | ~MyApp(void) | 
|  | { | 
|  | delete mpAssetManager; | 
|  | delete mHelpController; | 
|  | } | 
|  |  | 
|  | virtual bool OnInit(void); | 
|  | virtual int OnExit(void); | 
|  |  | 
|  | wxHtmlHelpController* GetHelpController(void) const { | 
|  | return mHelpController; | 
|  | } | 
|  |  | 
|  | Preferences* GetPrefs(void)                 { return &mPrefs; } | 
|  |  | 
|  | /* return a pointer to the main window */ | 
|  | wxWindow* GetMainFrame(void) { return mpMainFrame; } | 
|  |  | 
|  | /* get a pointer to our Asset Manager */ | 
|  | android::AssetManager* GetAssetManager(void) { return mpAssetManager; } | 
|  |  | 
|  | /* change the asset dir; requires re-creating Asset Manager */ | 
|  | void ChangeAssetDirectory(const wxString& dir); | 
|  |  | 
|  | const wxString& GetConfigFileName(void) const { return mConfigFile; } | 
|  |  | 
|  | wxString GetSimAssetPath()                  { return mSimAssetPath; } | 
|  | wxString GetAndroidRoot()                   { return mAndroidRoot; } | 
|  | wxString GetRuntimeExe()                    { return mRuntimeExe; } | 
|  | bool GetDebuggerOption()                    { return mDebuggerOption; } | 
|  | wxString GetDebuggerScript()                { return mDebuggerScript; } | 
|  | wxString GetAutoRunApp()                    { return mAutoRunApp; } | 
|  |  | 
|  | void Vibrate(int vibrateOn)                 { ((MainFrame*)mpMainFrame)->Vibrate(vibrateOn); } | 
|  |  | 
|  | private: | 
|  | void SetDefaults(); | 
|  | bool ParseArgs(int argc, char** argv); | 
|  | void AbsifyPath(wxString& dir); | 
|  | bool ProcessConfigFile(void); | 
|  | static void FindExe(const wxString& exeName, const wxString paths[], | 
|  | const wxString& defaultPath, wxString* pOut); | 
|  |  | 
|  | wxHtmlHelpController*   mHelpController; | 
|  |  | 
|  | wxWindow*       mpMainFrame; | 
|  |  | 
|  | android::AssetManager*  mpAssetManager; | 
|  |  | 
|  | wxString        mAndroidRoot; | 
|  | wxString        mSimAssetPath; | 
|  | wxString        mRuntimeExe; | 
|  |  | 
|  | /* command-line options */ | 
|  | wxString        mConfigFile; | 
|  | bool            mResetPaths; | 
|  | bool            mDebuggerOption; | 
|  | wxString		mDebuggerScript; | 
|  | wxString        mAutoRunApp; | 
|  |  | 
|  | Preferences     mPrefs; | 
|  | }; | 
|  |  | 
|  | #endif // _SIM_APPMAIN_H |