#pragma once #include "exptcef.h" #include "Cef3IRunEngine.h" #include "webview\Cef3MainContextImpl.h" namespace SOUI { class SMsgLoopCef :public SMessageLoop { public: virtual BOOL OnIdle(int nIdleCount) { browser::CCef3MainContext::DoMessageLoopWork(); return __super::OnIdle(nIdleCount); } }; class SMsgLoopFactory :public TObjRefImpl { public: virtual SMessageLoop *CreateMsgLoop() { return new SMsgLoopCef; } virtual void DestoryMsgLoop(SMessageLoop *pMsgLoop) { delete pMsgLoop; } }; } class DLL_EXPORT_IMPORT CCef3RunEngine:public IRunEngine { public: CCef3RunEngine(void); ~CCef3RunEngine(void); public: virtual BOOL Initialize(SApplication *app,HINSTANCE hInstance); void InitializeCef(SApplication *app,HINSTANCE hInstance); virtual void Release(); public: scoped_ptr cef_ctx_; };