1 // Copyright (c) 2012 The Chromium 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 #include "ppapi/proxy/host_resolver_private_resource.h"
6
7 #include "ppapi/proxy/net_address_resource.h"
8 #include "ppapi/shared_impl/tracked_callback.h"
9
10 namespace ppapi {
11 namespace proxy {
12
HostResolverPrivateResource(Connection connection,PP_Instance instance)13 HostResolverPrivateResource::HostResolverPrivateResource(Connection connection,
14 PP_Instance instance)
15 : HostResolverResourceBase(connection, instance, true) {
16 }
17
~HostResolverPrivateResource()18 HostResolverPrivateResource::~HostResolverPrivateResource() {
19 }
20
21 thunk::PPB_HostResolver_Private_API*
AsPPB_HostResolver_Private_API()22 HostResolverPrivateResource::AsPPB_HostResolver_Private_API() {
23 return this;
24 }
25
Resolve(const char * host,uint16_t port,const PP_HostResolver_Private_Hint * hint,scoped_refptr<TrackedCallback> callback)26 int32_t HostResolverPrivateResource::Resolve(
27 const char* host,
28 uint16_t port,
29 const PP_HostResolver_Private_Hint* hint,
30 scoped_refptr<TrackedCallback> callback) {
31 return ResolveImpl(host, port, hint, callback);
32 }
33
GetCanonicalName()34 PP_Var HostResolverPrivateResource::GetCanonicalName() {
35 return GetCanonicalNameImpl();
36 }
37
GetSize()38 uint32_t HostResolverPrivateResource::GetSize() {
39 return GetSizeImpl();
40 }
41
GetNetAddress(uint32_t index,PP_NetAddress_Private * address)42 bool HostResolverPrivateResource::GetNetAddress(
43 uint32_t index,
44 PP_NetAddress_Private* address) {
45 if (!address)
46 return false;
47
48 scoped_refptr<NetAddressResource> addr_resource = GetNetAddressImpl(index);
49 if (!addr_resource.get())
50 return false;
51
52 *address = addr_resource->GetNetAddressPrivate();
53 return true;
54 }
55
56 } // namespace proxy
57 } // namespace ppapi
58