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 |