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