1// Copyright 2016 the V8 project 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 V8_INSPECTOR_V8SCHEMAAGENTIMPL_H_
6#define V8_INSPECTOR_V8SCHEMAAGENTIMPL_H_
7
8#include "src/base/macros.h"
9#include "src/inspector/protocol/Forward.h"
10#include "src/inspector/protocol/Schema.h"
11
12namespace v8_inspector {
13
14class V8InspectorSessionImpl;
15
16using protocol::Response;
17
18class V8SchemaAgentImpl : public protocol::Schema::Backend {
19 public:
20  V8SchemaAgentImpl(V8InspectorSessionImpl*, protocol::FrontendChannel*,
21                    protocol::DictionaryValue* state);
22  ~V8SchemaAgentImpl() override;
23
24  Response getDomains(
25      std::unique_ptr<protocol::Array<protocol::Schema::Domain>>*) override;
26
27 private:
28  V8InspectorSessionImpl* m_session;
29  protocol::Schema::Frontend m_frontend;
30
31  DISALLOW_COPY_AND_ASSIGN(V8SchemaAgentImpl);
32};
33
34}  // namespace v8_inspector
35
36#endif  // V8_INSPECTOR_V8SCHEMAAGENTIMPL_H_
37