• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2015 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_REMOTE_OBJECT_ID_H_
6 #define V8_INSPECTOR_REMOTE_OBJECT_ID_H_
7 
8 #include "src/inspector/protocol/Forward.h"
9 
10 namespace v8_inspector {
11 
12 using protocol::Response;
13 
14 class RemoteObjectIdBase {
15  public:
contextId()16   int contextId() const { return m_injectedScriptId; }
17 
18  protected:
19   RemoteObjectIdBase();
~RemoteObjectIdBase()20   ~RemoteObjectIdBase() {}
21 
22   std::unique_ptr<protocol::DictionaryValue> parseInjectedScriptId(
23       const String16&);
24 
25   int m_injectedScriptId;
26 };
27 
28 class RemoteObjectId final : public RemoteObjectIdBase {
29  public:
30   static Response parse(const String16&, std::unique_ptr<RemoteObjectId>*);
~RemoteObjectId()31   ~RemoteObjectId() {}
id()32   int id() const { return m_id; }
33 
34  private:
35   RemoteObjectId();
36 
37   int m_id;
38 };
39 
40 class RemoteCallFrameId final : public RemoteObjectIdBase {
41  public:
42   static Response parse(const String16&, std::unique_ptr<RemoteCallFrameId>*);
~RemoteCallFrameId()43   ~RemoteCallFrameId() {}
44 
frameOrdinal()45   int frameOrdinal() const { return m_frameOrdinal; }
46 
47   static String16 serialize(int injectedScriptId, int frameOrdinal);
48 
49  private:
50   RemoteCallFrameId();
51 
52   int m_frameOrdinal;
53 };
54 
55 }  // namespace v8_inspector
56 
57 #endif  // V8_INSPECTOR_REMOTE_OBJECT_ID_H_
58