summaryrefslogtreecommitdiff
path: root/DevTools/Inspector/RemoteObject.h
diff options
context:
space:
mode:
authorAndreas Kling <awesomekling@gmail.com>2019-08-19 20:29:52 +0200
committerAndreas Kling <awesomekling@gmail.com>2019-08-19 20:29:52 +0200
commit4f3234148a3e994db1532671a911b97c996e590a (patch)
treebd54b8bfa0dd2936265cc998e02b173773c23136 /DevTools/Inspector/RemoteObject.h
parent736dc5f6c061483c62817d48e1ba57bdd79e2ede (diff)
downloadserenity-4f3234148a3e994db1532671a911b97c996e590a.zip
Inspector: Show remote object properties in a table view
This patch expands the object model of this program quite a bit. We now have a RemoteProcess object that contains a list of remote root RemoteObject objects. The RemoteProcess vends a RemoteObjectGraphModel&, and indices in that model have internal_data() pointing to a corresponding RemoteObject. RemoteObjects in turn vend a RemoteObjectPropertyModel&, which is what we use to show the object properties. This is pretty cool :^)
Diffstat (limited to 'DevTools/Inspector/RemoteObject.h')
-rw-r--r--DevTools/Inspector/RemoteObject.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/DevTools/Inspector/RemoteObject.h b/DevTools/Inspector/RemoteObject.h
new file mode 100644
index 0000000000..1718683276
--- /dev/null
+++ b/DevTools/Inspector/RemoteObject.h
@@ -0,0 +1,27 @@
+#pragma once
+
+#include <AK/AKString.h>
+#include <AK/JsonObject.h>
+#include <AK/NonnullOwnPtrVector.h>
+#include <AK/Vector.h>
+
+class RemoteObjectPropertyModel;
+
+class RemoteObject {
+public:
+ RemoteObject();
+
+ RemoteObjectPropertyModel& property_model();
+
+ RemoteObject* parent { nullptr };
+ NonnullOwnPtrVector<RemoteObject> children;
+
+ String address;
+ String parent_address;
+ String class_name;
+ String name;
+
+ JsonObject json;
+
+ NonnullRefPtr<RemoteObjectPropertyModel> m_property_model;
+};