/** @file JCConch.h @brief @author James @version 1.0 @date 2017_11_28 */ #ifndef __JCConch_H__ #define __JCConch_H__ #include #include #include "JCConchRender.h" #ifndef WEBASM #include "JSWrapper/JSInterface/JSInterface.h" #include "JCThreadCmdMgr.h" #endif namespace laya { enum JS_DEBUG_MODE { JS_DEBUG_MODE_OFF = 0, //关闭 JS_DEBUG_MODE_NORMAL, //正常 JS_DEBUG_MODE_WAIT, //等待 }; #ifndef WEBASM class JCFileResManager; class JCFileSource; class DebuggerAgent; #endif class JCScriptRuntime; class JCConch { public: enum CMDMSG { CMD_ActiveProcess = 0x400 + 3333 + 100, //0x400=WM_USER CMD_DeactiveProcess, CMD_ReloadProcess, CMD_CloseProcess, CMD_UrlBack, CMD_UrlForward, CMD_ClearRender, CMD_MgrStartThread, CMD_onOrientationChanged = 0x400 + 3333 + 110, //屏幕切换已经完成。 }; public: JCConch( int nDownloadThreadNum,JS_DEBUG_MODE nJSDebugMode,int nJSDebugPort ); ~JCConch(); void delAppRes(); void onRunCmdInMainThread(int nCmd, int nParam1, int nParam2); void onAppStart(); void reload(); int urlHistoryLength(); void urlBack(); void urlGo(int s); void urlForward(); void urlHistoryPush(const char* sUrl); void exit(); void onClearMemory(); void onAppDestory(); void postCmdToMainThread(int nCmd, int nParam1, int nParam2); const char* getLocalStoragePath() { return m_strLocalStoragePath.c_str(); } public: static JCConch* s_pConch; static int64_t s_nUpdateTime; static std::shared_ptr s_pConchRender; std::function m_funcPostMsgToMainThread; std::string m_strLocalStoragePath; JCScriptRuntime* m_pScrpitRuntime; #ifndef WEBASM static JCFileSource* s_pAssetsFiles; JCFileSource* m_pAssetsRes; std::string m_strStartJS; std::string m_sCachePath; JCThreadCmdMgr m_ThreadCmdMgr; int m_nJSDebugPort; JS_DEBUG_MODE m_nJSDebugMode; #ifdef JS_V8 DebuggerAgent* m_pDbgAgent; #endif JCFileResManager* m_pFileResMgr; protected: bool m_bDestroying; std::vector m_vUrlHistory; int m_nUrlHistoryPos; #endif }; }; //------------------------------------------------------------------------------ #endif //__JCConch_H__ //-----------------------------END FILE--------------------------------