blob: 055dfb8107100dfb7fff8c67784b6adcb085e4ad [file] [log] [blame]
[email protected]0edbfc82013-06-14 06:15:391// Copyright 2013 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#ifndef PPAPI_PROXY_HOST_RESOLVER_RESOURCE_H_
6#define PPAPI_PROXY_HOST_RESOLVER_RESOURCE_H_
7
8#include "base/basictypes.h"
9#include "base/compiler_specific.h"
10#include "ppapi/proxy/host_resolver_resource_base.h"
11#include "ppapi/proxy/ppapi_proxy_export.h"
12#include "ppapi/thunk/ppb_host_resolver_api.h"
13
14namespace ppapi {
15namespace proxy {
16
17class PPAPI_PROXY_EXPORT HostResolverResource
18 : public HostResolverResourceBase,
19 public thunk::PPB_HostResolver_API {
20 public:
21 HostResolverResource(Connection connection, PP_Instance instance);
22 virtual ~HostResolverResource();
23
24 // PluginResource overrides.
25 virtual thunk::PPB_HostResolver_API* AsPPB_HostResolver_API() OVERRIDE;
26
27 // thunk::PPB_HostResolver_API implementation.
28 virtual int32_t Resolve(const char* host,
29 uint16_t port,
[email protected]c54f81b2013-06-24 06:05:3930 const PP_HostResolver_Hint* hint,
[email protected]0edbfc82013-06-14 06:15:3931 scoped_refptr<TrackedCallback> callback) OVERRIDE;
32 virtual PP_Var GetCanonicalName() OVERRIDE;
33 virtual uint32_t GetNetAddressCount() OVERRIDE;
34 virtual PP_Resource GetNetAddress(uint32_t index) OVERRIDE;
35
36 private:
37 DISALLOW_COPY_AND_ASSIGN(HostResolverResource);
38};
39
40} // namespace proxy
41} // namespace ppapi
42
43#endif // PPAPI_PROXY_HOST_RESOLVER_RESOURCE_H_