1// Copyright (c) 2013 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef CONTENT_PUBLIC_BROWSER_DEVTOOLS_EXTERNAL_AGENT_PROXY_DELEGATE_H_
6#define CONTENT_PUBLIC_BROWSER_DEVTOOLS_EXTERNAL_AGENT_PROXY_DELEGATE_H_
7
8#include <string>
9
10#include "content/common/content_export.h"
11
12namespace content {
13
14class DevToolsExternalAgentProxy;
15
16// Describes the interface for sending messages to an external DevTools agent.
17class DevToolsExternalAgentProxyDelegate {
18 public:
19   virtual ~DevToolsExternalAgentProxyDelegate() {}
20
21   // Informs the agent that a client host has attached.
22   virtual void Attach(DevToolsExternalAgentProxy* proxy) = 0;
23
24   // Informs the agent that a client host has detached.
25   virtual void Detach() = 0;
26
27   // Sends a message to the agent.
28   virtual void SendMessageToBackend(const std::string& message) = 0;
29};
30
31}  // namespace content
32
33#endif  // CONTENT_PUBLIC_BROWSER_DEVTOOLS_EXTERNAL_AGENT_PROXY_DELEGATE_H_
34