#ifndef ICHROMEHTMLWRAPPER_H #define ICHROMEHTMLWRAPPER_H #ifdef _WIN32 #pragma once #endif #include "htmlmessages.h" class CUtlString; class IHTMLResponses; struct HTMLCommandBuffer_t; class IHTMLChromeController { public: virtual ~IHTMLChromeController() {} virtual bool Init(const char* pchHTMLCacheDir, const char* pchCookiePath) = 0; virtual void Shutdown() = 0; virtual bool RunFrame() = 0; virtual void SetWebCookie(const char* pchHostname, const char* pchKey, const char* pchValue, const char* pchPath, RTime32 nExpires = 0) = 0; virtual void GetWebCookiesForURL(CUtlString* pstrValue, const char* pchURL, const char* pchName) = 0; virtual void SetClientBuildID(uint64 ulBuildID) = 0; virtual bool BHasPendingMessages() = 0; virtual void CreateBrowser(IHTMLResponses* pBrowser, bool bPopupWindow, const char* pchUserAgentIdentifier) = 0; virtual void RemoveBrowser(IHTMLResponses* pBrowser) = 0; virtual void WakeThread() = 0; virtual HTMLCommandBuffer_t* GetFreeCommandBuffer(EHTMLCommands eCmd, int iBrowser) = 0; virtual void PushCommand(HTMLCommandBuffer_t*) = 0; #ifdef DBGFLAG_VALIDATE virtual void Validate(CValidator& validator, const char* pchName) = 0; virtual bool ChromePrepareForValidate() = 0; virtual bool ChromeResumeFromValidate() = 0; #endif virtual void SetCefThreadTargetFrameRate(uint32 nFPS) = 0; }; #define CHROMEHTML_CONTROLLER_INTERFACE_VERSION "ChromeHTML_Controller_001" #endif