OLD | NEW |
| (Empty) |
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/c/pp_errors.h" | |
6 #include "ppapi/thunk/enter.h" | |
7 #include "ppapi/thunk/thunk.h" | |
8 #include "ppapi/thunk/ppb_network_list_private_api.h" | |
9 | |
10 namespace ppapi { | |
11 namespace thunk { | |
12 | |
13 namespace { | |
14 | |
15 typedef EnterResource<PPB_NetworkList_Private_API> EnterNetworkList; | |
16 | |
17 PP_Bool IsNetworkList(PP_Resource resource) { | |
18 EnterNetworkList enter(resource, false); | |
19 return PP_FromBool(enter.succeeded()); | |
20 } | |
21 | |
22 uint32_t GetCount(PP_Resource network_list) { | |
23 EnterNetworkList enter(network_list, true); | |
24 if (enter.failed()) | |
25 return 0; | |
26 return enter.object()->GetCount(); | |
27 } | |
28 | |
29 PP_Var GetName(PP_Resource network_list, uint32_t index) { | |
30 EnterNetworkList enter(network_list, true); | |
31 if (enter.failed()) | |
32 return PP_MakeUndefined(); | |
33 return enter.object()->GetName(index); | |
34 } | |
35 | |
36 PP_NetworkListType_Private GetType(PP_Resource network_list, uint32_t index) { | |
37 EnterNetworkList enter(network_list, true); | |
38 if (enter.failed()) | |
39 return PP_NETWORKLIST_UNKNOWN; | |
40 return enter.object()->GetType(index); | |
41 } | |
42 | |
43 PP_NetworkListState_Private GetState(PP_Resource network_list, uint32_t index) { | |
44 EnterNetworkList enter(network_list, true); | |
45 if (enter.failed()) | |
46 return PP_NETWORKLIST_DOWN; | |
47 return enter.object()->GetState(index); | |
48 } | |
49 | |
50 int32_t GetIpAddresses(PP_Resource network_list, | |
51 uint32_t index, | |
52 struct PP_NetAddress_Private addresses[], | |
53 uint32_t count) { | |
54 EnterNetworkList enter(network_list, true); | |
55 if (enter.failed()) | |
56 return enter.retval(); | |
57 return enter.object()->GetIpAddresses(index, addresses, count); | |
58 } | |
59 | |
60 PP_Var GetDisplayName(PP_Resource network_list, uint32_t index) { | |
61 EnterNetworkList enter(network_list, true); | |
62 if (enter.failed()) | |
63 return PP_MakeUndefined(); | |
64 return enter.object()->GetDisplayName(index); | |
65 } | |
66 | |
67 uint32_t GetMTU(PP_Resource network_list, uint32_t index) { | |
68 EnterNetworkList enter(network_list, true); | |
69 if (enter.failed()) | |
70 return 0; | |
71 return enter.object()->GetMTU(index); | |
72 } | |
73 | |
74 const PPB_NetworkList_Private g_ppb_network_list_private_thunk = { | |
75 &IsNetworkList, | |
76 &GetCount, | |
77 &GetName, | |
78 &GetType, | |
79 &GetState, | |
80 &GetIpAddresses, | |
81 &GetDisplayName, | |
82 &GetMTU, | |
83 }; | |
84 | |
85 } // namespace | |
86 | |
87 const PPB_NetworkList_Private_0_2* GetPPB_NetworkList_Private_0_2_Thunk() { | |
88 return &g_ppb_network_list_private_thunk; | |
89 } | |
90 | |
91 } // namespace thunk | |
92 } // namespace ppapi | |
OLD | NEW |