v8-debugger-id.h 1.09 KB
Newer Older
1 2 3 4 5 6 7 8 9
// Copyright 2020 the V8 project 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 V8_INSPECTOR_V8_DEBUGGER_ID_H_
#define V8_INSPECTOR_V8_DEBUGGER_ID_H_

#include <utility>

10
#include "include/v8-inspector.h"
11 12 13 14 15 16
#include "src/base/macros.h"
#include "src/inspector/protocol/Forward.h"

namespace v8_inspector {
class V8InspectorImpl;

17 18
namespace internal {

19 20 21 22 23 24
class V8DebuggerId {
 public:
  V8DebuggerId() = default;
  explicit V8DebuggerId(std::pair<int64_t, int64_t>);
  explicit V8DebuggerId(const String16&);
  V8DebuggerId(const V8DebuggerId&) V8_NOEXCEPT = default;
25
  V8DebuggerId& operator=(const V8DebuggerId&) V8_NOEXCEPT = default;
26 27 28

  static V8DebuggerId generate(V8InspectorImpl*);

29
  v8_inspector::V8DebuggerId toV8DebuggerId() const { return m_debugger_id; }
30 31 32 33 34
  String16 toString() const;
  bool isValid() const;
  std::pair<int64_t, int64_t> pair() const;

 private:
35
  v8_inspector::V8DebuggerId m_debugger_id;
36 37
};

38
}  // namespace internal
39 40 41
}  // namespace v8_inspector

#endif  // V8_INSPECTOR_V8_DEBUGGER_ID_H_