Eager Gesture Recognition on Aura
[chromium-blink-merge.git] / native_client_sdk / src / libraries / nacl_io / host_resolver.h
blob2647e29a674e270421f7ee0653d15a0d13fc1fa3
1 // 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.
5 #ifndef LIBRARIES_NACL_IO_HOST_RESOLVER_H_
6 #define LIBRARIES_NACL_IO_HOST_RESOLVER_H_
8 #include "nacl_io/ossocket.h"
9 #include "nacl_io/pepper_interface.h"
10 #include "sdk_util/simple_lock.h"
12 #ifdef PROVIDES_SOCKET_API
14 namespace nacl_io {
16 class HostResolver {
17 public:
18 HostResolver();
19 ~HostResolver();
21 void Init(PepperInterface* ppapi);
23 void freeaddrinfo(struct addrinfo* res);
24 int getaddrinfo(const char* node,
25 const char* service,
26 const struct addrinfo* hints,
27 struct addrinfo** res);
28 struct hostent* gethostbyname(const char* name);
30 private:
31 void hostent_initialize();
32 void hostent_cleanup();
34 struct hostent hostent_;
35 PepperInterface* ppapi_;
36 sdk_util::SimpleLock gethostbyname_lock_;
39 } // namespace nacl_io
41 #endif // PROVIDES_SOCKET_API
42 #endif // LIBRARIES_NACL_IO_HOST_RESOLVER_H_