blob: 073f0fd5e1e1c4f7fe8ec27c73c6a1c2b2fd45d5 [file] [log] [blame]
// Copyright (c) 2013 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CONTENT_PUBLIC_BROWSER_DEVTOOLS_EXTERNAL_AGENT_PROXY_DELEGATE_H_
#define CONTENT_PUBLIC_BROWSER_DEVTOOLS_EXTERNAL_AGENT_PROXY_DELEGATE_H_
#include <string>
#include "content/common/content_export.h"
namespace content {
class DevToolsExternalAgentProxy;
// Describes the interface for sending messages to an external DevTools agent.
class DevToolsExternalAgentProxyDelegate {
public:
virtual ~DevToolsExternalAgentProxyDelegate() {}
// Informs the agent that a client has attached.
virtual void Attach(DevToolsExternalAgentProxy* proxy) = 0;
// Informs the agent that a client has detached.
virtual void Detach(DevToolsExternalAgentProxy* proxy) = 0;
// Sends a message to the agent from a client.
virtual void SendMessageToBackend(DevToolsExternalAgentProxy* proxy,
const std::string& message) = 0;
// Returns agent host type.
virtual std::string GetType() = 0;
// Returns agent host title.
virtual std::string GetTitle() = 0;
// Returns the agent host description.
virtual std::string GetDescription() = 0;
// Returns url associated with agent host.
virtual GURL GetURL() = 0;
// Returns the favicon url for this agent host.
virtual GURL GetFaviconURL() = 0;
// Returns the front-end url for this agent host.
virtual std::string GetFrontendURL() = 0;
// Activates agent host.
virtual bool Activate() = 0;
// Reloads agent host.
virtual void Reload() = 0;
// Reloads agent host.
virtual bool Close() = 0;
// Returns the time when the host was last active.
virtual base::TimeTicks GetLastActivityTime() = 0;
};
} // namespace content
#endif // CONTENT_PUBLIC_BROWSER_DEVTOOLS_EXTERNAL_AGENT_PROXY_DELEGATE_H_