Separate Simple Backend creation from initialization.
[chromium-blink-merge.git] / ppapi / thunk / ppb_network_list_private_api.h
blobea9134949ac8a9e8cf4c0669647c0087c8343868
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.
5 #ifndef PPAPI_THUNK_PPB_NETWORK_LIST_PRIVATE_API_H_
6 #define PPAPI_THUNK_PPB_NETWORK_LIST_PRIVATE_API_H_
8 #include <vector>
10 #include "ppapi/c/private/ppb_network_list_private.h"
11 #include "ppapi/thunk/ppapi_thunk_export.h"
13 namespace ppapi {
15 struct NetworkInfo;
16 typedef std::vector<NetworkInfo> NetworkList;
18 namespace thunk {
20 class PPAPI_THUNK_EXPORT PPB_NetworkList_Private_API {
21 public:
22 virtual ~PPB_NetworkList_Private_API() {}
24 // This function is not exposed through the C API, but returns the
25 // internal data for easy proxying.
26 virtual const NetworkList& GetNetworkListData() const = 0;
28 virtual uint32_t GetCount() = 0;
29 virtual PP_Var GetName(uint32_t index) = 0;
30 virtual PP_NetworkListType_Private GetType(uint32_t index) = 0;
31 virtual PP_NetworkListState_Private GetState(uint32_t index) = 0;
32 virtual int32_t GetIpAddresses(uint32_t index,
33 PP_NetAddress_Private addresses[],
34 uint32_t count) = 0;
35 virtual PP_Var GetDisplayName(uint32_t index) = 0;
36 virtual uint32_t GetMTU(uint32_t index) = 0;
39 } // namespace thunk
40 } // namespace ppapi
42 #endif // PPAPI_THUNK_PPB_NETWORK_LIST_PRIVATE_API_H_