[cppdap] Merge from upstream for response cb fixes

Change-Id: Id4faf9ffce7babf93fec89bf9ba67f323edf126b
diff --git a/.gitmodules b/.gitmodules
index d7640fe..e69de29 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,6 +0,0 @@
-[submodule "third_party/json"]
-	path = third_party/json
-	url = https://github.com/nlohmann/json.git
-[submodule "third_party/googletest"]
-	path = third_party/googletest
-	url = https://github.com/google/googletest.git
diff --git a/BUILD.gn b/BUILD.gn
new file mode 100644
index 0000000..1f9f24f
--- /dev/null
+++ b/BUILD.gn
@@ -0,0 +1,68 @@
+# Copyright 2020 The Fuchsia Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+config("includes") {
+  include_dirs = [ "include" ]
+}
+
+static_library("cppdap") {
+  sources = [
+    "src/chan.h",
+    "src/content_stream.cpp",
+    "src/content_stream.h",
+    "src/io.cpp",
+    "src/json_serializer.h",
+    "src/network.cpp",
+    "src/null_json_serializer.cpp",
+    "src/protocol_events.cpp",
+    "src/protocol_requests.cpp",
+    "src/protocol_response.cpp",
+    "src/protocol_types.cpp",
+    "src/rapid_json_serializer.cpp",
+    "src/rwmutex.h",
+    "src/session.cpp",
+    "src/socket.cpp",
+    "src/socket.h",
+    "src/string_buffer.h",
+    "src/typeinfo.cpp",
+    "src/typeof.cpp",
+  ]
+
+  cflags = [ "-DCPPDAP_JSON_RAPID" ]
+
+  public_configs = [ ":includes" ]
+
+  deps = [ "//third_party/rapidjson" ]
+}
+
+if (is_host) {
+  executable("json_test") {
+    testonly = true
+    sources = [
+      "src/json_serializer_test.cpp",
+      "src/null_json_serializer.cpp",
+      "src/rapid_json_serializer.cpp",
+      "src/typeinfo.cpp",
+      "src/typeof.cpp",
+    ]
+
+    cflags = [ "-DCPPDAP_JSON_RAPID" ]
+
+    public_configs = [ ":includes" ]
+
+    deps = [
+      # TODO(fxbug.dev/57392): Move it back to //third_party once unification completes.
+      "//src/lib/fxl/test:gtest_main",
+      "//third_party/googletest:gmock",
+      "//third_party/googletest:gtest",
+      "//zircon/third_party/rapidjson",
+    ]
+  }
+}
+
+group("tests") {
+  testonly = true
+
+  deps = [ ":json_test($host_toolchain)" ]
+}
diff --git a/README.fuchsia b/README.fuchsia
new file mode 100644
index 0000000..e5274e0
--- /dev/null
+++ b/README.fuchsia
@@ -0,0 +1,13 @@
+Name: cppdap
+URL: https://github.com/google/cppdap
+Version: 1fd23dd
+License: Apache 2.0
+License File: LICENSE
+
+Description:
+C++ based Debug adapter library that implements Debug adapter protocol
+(https://microsoft.github.io/debug-adapter-protocol/).
+This protocol is used by IDE's to integrate with debuggers.
+
+Usage:
+Development use, for adding debug adapter support to zxdb.
diff --git a/third_party/googletest b/third_party/googletest
deleted file mode 160000
index 0a03480..0000000
--- a/third_party/googletest
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 0a03480824b4fc7883255dbd2fd8940c9f81e22e
diff --git a/third_party/json b/third_party/json
deleted file mode 160000
index f272ad5..0000000
--- a/third_party/json
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit f272ad533d32a40a3b2154a76f1ae9a45eacd6d3