// // 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