15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved.
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file.
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
5c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#ifndef PPAPI_THUNK_PPB_NETWORK_LIST_API_H_
6c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#define PPAPI_THUNK_PPB_NETWORK_LIST_API_H_
75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include <vector>
95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1068043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)#include "ppapi/c/ppb_network_list.h"
115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ppapi/thunk/ppapi_thunk_export.h"
125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace ppapi {
145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace thunk {
155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
16c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)class PPAPI_THUNK_EXPORT PPB_NetworkList_API {
175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) public:
18c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  virtual ~PPB_NetworkList_API() {}
195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
20c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  // Private API
215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  virtual uint32_t GetCount() = 0;
225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  virtual PP_Var GetName(uint32_t index) = 0;
2368043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)  virtual PP_NetworkList_Type GetType(uint32_t index) = 0;
2468043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)  virtual PP_NetworkList_State GetState(uint32_t index) = 0;
255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  virtual int32_t GetIpAddresses(uint32_t index,
2658537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles)                                 const PP_ArrayOutput& output) = 0;
275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  virtual PP_Var GetDisplayName(uint32_t index) = 0;
285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  virtual uint32_t GetMTU(uint32_t index) = 0;
295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)};
305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}  // namespace thunk
325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}  // namespace ppapi
335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
34c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#endif  // PPAPI_THUNK_PPB_NETWORK_LIST_API_H_
35