Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5)

Unified Diff: native_client_sdk/src/tests/nacl_io_test/fake_ppapi/fake_net_address_interface.cc

Issue 148223005: [NaCl SDK] Add fake for ppb_host_resolver and ppb_net_address (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: native_client_sdk/src/tests/nacl_io_test/fake_ppapi/fake_net_address_interface.cc
diff --git a/native_client_sdk/src/tests/nacl_io_test/fake_ppapi/fake_net_address_interface.cc b/native_client_sdk/src/tests/nacl_io_test/fake_ppapi/fake_net_address_interface.cc
new file mode 100644
index 0000000000000000000000000000000000000000..78e6f2329becacf1968f399f90eb7b8b04471e2f
--- /dev/null
+++ b/native_client_sdk/src/tests/nacl_io_test/fake_ppapi/fake_net_address_interface.cc
@@ -0,0 +1,88 @@
+// Copyright 2014 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "fake_ppapi/fake_net_address_interface.h"
+
+#include <netinet/in.h>
+
+#include "fake_ppapi/fake_pepper_interface.h"
+#include "fake_ppapi/fake_resource_manager.h"
+#include "fake_ppapi/fake_var_manager.h"
+#include "gtest/gtest.h"
+
+namespace {
+
+class FakeNetAddressResource : public FakeResource {
+ public:
+ explicit FakeNetAddressResource(PP_NetAddress_IPv4 addr) : address(addr) {}
+ static const char* classname() { return "FakeNetAddressResource"; }
+
+ PP_NetAddress_IPv4 address;
+};
+
+} // namespace
+
+FakeNetAddressInterface::FakeNetAddressInterface(FakePepperInterface* ppapi)
+ : ppapi_(ppapi) {}
+
+PP_Resource FakeNetAddressInterface::CreateFromIPv4Address(
+ PP_Instance instance,
+ PP_NetAddress_IPv4* address) {
+ if (instance != ppapi_->GetInstance())
+ return 0;
+
+ FakeNetAddressResource* addr_resource = new FakeNetAddressResource(*address);
+
+ PP_Resource rtn = CREATE_RESOURCE(ppapi_->resource_manager(),
+ FakeNetAddressResource,
+ addr_resource);
+ return rtn;
+}
+
+PP_Resource FakeNetAddressInterface::CreateFromIPv6Address(
+ PP_Instance instance,
+ PP_NetAddress_IPv6* address) {
+ if (instance != ppapi_->GetInstance())
+ return 0;
+
+ // TODO(sbc): implement
+ assert(false);
+ return 0;
+}
+
+PP_Bool FakeNetAddressInterface::IsNetAddress(PP_Resource address) {
+ FakeNetAddressResource* address_resource =
+ ppapi_->resource_manager()->Get<FakeNetAddressResource>(address);
+ if (address_resource == NULL)
+ return PP_FALSE;
+ return PP_TRUE;
+}
+
+PP_NetAddress_Family FakeNetAddressInterface::GetFamily(PP_Resource) {
+ return PP_NETADDRESS_FAMILY_IPV4;
+}
+
+PP_Bool FakeNetAddressInterface::DescribeAsIPv4Address(
+ PP_Resource address, PP_NetAddress_IPv4* target) {
+ FakeNetAddressResource* address_resource =
+ ppapi_->resource_manager()->Get<FakeNetAddressResource>(address);
+ if (address_resource == NULL)
+ return PP_FALSE;
+
+ *target = address_resource->address;
+ return PP_TRUE;
+}
+
+PP_Bool FakeNetAddressInterface::DescribeAsIPv6Address(
+ PP_Resource adddress, PP_NetAddress_IPv6* taret) {
+ // TODO(sbc): implement
+ assert(false);
+ return PP_FALSE;
+}
+
+PP_Var FakeNetAddressInterface::DescribeAsString(PP_Resource, PP_Bool) {
+ // TODO(sbc): implement
+ assert(false);
+ return PP_Var();
+}

Powered by Google App Engine
This is Rietveld 408576698