#ifndef CONTENT_BROWSER_DEVTOOLS_PROTOCOL_DEVTOOLS_DOMAIN_HANDLER_H_
#define CONTENT_BROWSER_DEVTOOLS_PROTOCOL_DEVTOOLS_DOMAIN_HANDLER_H_
#include <string>
#include "base/memory/raw_ptr.h"
#include "content/browser/devtools/protocol/protocol.h"
namespace content {
class RenderFrameHostImpl;
class DevToolsSession;
namespace protocol {
class DevToolsDomainHandler {
public:
explicit DevToolsDomainHandler(const std::string& name);
DevToolsDomainHandler(const DevToolsDomainHandler&) = delete;
DevToolsDomainHandler& operator=(const DevToolsDomainHandler&) = delete;
virtual ~DevToolsDomainHandler();
virtual void SetRenderer(int process_host_id,
RenderFrameHostImpl* frame_host);
virtual void Wire(UberDispatcher* dispatcher);
void SetSession(DevToolsSession* session);
virtual Response Disable();
const std::string& name() const;
protected:
DevToolsSession* session();
private:
std::string name_;
raw_ptr<DevToolsSession> session_;
};
}
}
#endif