1f3b273f5e6ffd2f6ba1c18a27a17db41dfb113c3Ben Murdoch// Copyright 2016 the V8 project authors. All rights reserved.
2f3b273f5e6ffd2f6ba1c18a27a17db41dfb113c3Ben Murdoch// Use of this source code is governed by a BSD-style license that can be
3f3b273f5e6ffd2f6ba1c18a27a17db41dfb113c3Ben Murdoch// found in the LICENSE file.
4f3b273f5e6ffd2f6ba1c18a27a17db41dfb113c3Ben Murdoch
5f3b273f5e6ffd2f6ba1c18a27a17db41dfb113c3Ben Murdoch#ifndef V8_INSPECTOR_V8VALUECOPIER_H_
6f3b273f5e6ffd2f6ba1c18a27a17db41dfb113c3Ben Murdoch#define V8_INSPECTOR_V8VALUECOPIER_H_
7f3b273f5e6ffd2f6ba1c18a27a17db41dfb113c3Ben Murdoch
8c8c1d9e03f4babd16833b0f8ccf6aab5fa6e8c7aBen Murdoch#include "src/inspector/protocol/Protocol.h"
9c8c1d9e03f4babd16833b0f8ccf6aab5fa6e8c7aBen Murdoch
10f3b273f5e6ffd2f6ba1c18a27a17db41dfb113c3Ben Murdoch#include "include/v8.h"
11f3b273f5e6ffd2f6ba1c18a27a17db41dfb113c3Ben Murdoch
12f3b273f5e6ffd2f6ba1c18a27a17db41dfb113c3Ben Murdochnamespace v8_inspector {
13f3b273f5e6ffd2f6ba1c18a27a17db41dfb113c3Ben Murdoch
14f3b273f5e6ffd2f6ba1c18a27a17db41dfb113c3Ben Murdochv8::MaybeLocal<v8::Value> copyValueFromDebuggerContext(
15f3b273f5e6ffd2f6ba1c18a27a17db41dfb113c3Ben Murdoch    v8::Isolate*, v8::Local<v8::Context> debuggerContext,
16f3b273f5e6ffd2f6ba1c18a27a17db41dfb113c3Ben Murdoch    v8::Local<v8::Context> toContext, v8::Local<v8::Value>);
17f3b273f5e6ffd2f6ba1c18a27a17db41dfb113c3Ben Murdochv8::Maybe<bool> createDataProperty(v8::Local<v8::Context>,
18f3b273f5e6ffd2f6ba1c18a27a17db41dfb113c3Ben Murdoch                                   v8::Local<v8::Object>,
19f3b273f5e6ffd2f6ba1c18a27a17db41dfb113c3Ben Murdoch                                   v8::Local<v8::Name> key,
20f3b273f5e6ffd2f6ba1c18a27a17db41dfb113c3Ben Murdoch                                   v8::Local<v8::Value>);
21f3b273f5e6ffd2f6ba1c18a27a17db41dfb113c3Ben Murdochv8::Maybe<bool> createDataProperty(v8::Local<v8::Context>, v8::Local<v8::Array>,
22f3b273f5e6ffd2f6ba1c18a27a17db41dfb113c3Ben Murdoch                                   int index, v8::Local<v8::Value>);
23f3b273f5e6ffd2f6ba1c18a27a17db41dfb113c3Ben Murdoch
24c8c1d9e03f4babd16833b0f8ccf6aab5fa6e8c7aBen Murdochprotocol::Response toProtocolValue(v8::Local<v8::Context>, v8::Local<v8::Value>,
25c8c1d9e03f4babd16833b0f8ccf6aab5fa6e8c7aBen Murdoch                                   std::unique_ptr<protocol::Value>* result);
26c8c1d9e03f4babd16833b0f8ccf6aab5fa6e8c7aBen Murdoch
27f3b273f5e6ffd2f6ba1c18a27a17db41dfb113c3Ben Murdoch}  // namespace v8_inspector
28f3b273f5e6ffd2f6ba1c18a27a17db41dfb113c3Ben Murdoch
29f3b273f5e6ffd2f6ba1c18a27a17db41dfb113c3Ben Murdoch#endif  // V8_INSPECTOR_V8VALUECOPIER_H_
30