Seaside/SpyCustom/sdk/ichromehtmlwrapper.h
2021-06-16 18:46:33 +03:00

52 lines
1.5 KiB
C++

#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