// Copyright 2016 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 HEADLESS_PUBLIC_HEADLESS_DEVTOOLS_TARGET_H_
#define HEADLESS_PUBLIC_HEADLESS_DEVTOOLS_TARGET_H_

#include "base/macros.h"
#include "headless/public/headless_devtools_channel.h"
#include "headless/public/headless_devtools_client.h"
#include "headless/public/headless_export.h"

namespace headless {

// A target which can be controlled and inspected using DevTools.
// TODO(dgozman): remove this class once all clients switch.
class HEADLESS_EXPORT HeadlessDevToolsTarget {
 public:
  virtual ~HeadlessDevToolsTarget() {}

  // Attach or detach a client to this target. A client must be attached in
  // order to send commands or receive notifications from the target.
  //
  // A single client may be attached to at most one target at a time.
  // |client| must outlive this target.
  virtual void AttachClient(HeadlessDevToolsClient* client) = 0;
  virtual void DetachClient(HeadlessDevToolsClient* client) = 0;

  // Returns true if a devtools client is attached.
  virtual bool IsAttached() = 0;
};

}  // namespace headless

#endif  // HEADLESS_PUBLIC_HEADLESS_DEVTOOLS_TARGET_H_
