| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "ppapi/c/pp_completion_callback.h" | 5 #include "ppapi/c/pp_completion_callback.h" |
| 6 #include "ppapi/c/pp_errors.h" | 6 #include "ppapi/c/pp_errors.h" |
| 7 #include "ppapi/c/private/ppb_udp_socket_private.h" | 7 #include "ppapi/c/private/ppb_udp_socket_private.h" |
| 8 #include "ppapi/shared_impl/tracked_callback.h" | 8 #include "ppapi/shared_impl/tracked_callback.h" |
| 9 #include "ppapi/thunk/enter.h" | 9 #include "ppapi/thunk/enter.h" |
| 10 #include "ppapi/thunk/ppb_udp_socket_private_api.h" | 10 #include "ppapi/thunk/ppb_udp_socket_private_api.h" |
| (...skipping 22 matching lines...) Expand all Loading... |
| 33 int32_t SetSocketFeature(PP_Resource udp_socket, | 33 int32_t SetSocketFeature(PP_Resource udp_socket, |
| 34 PP_UDPSocketFeature_Private name, | 34 PP_UDPSocketFeature_Private name, |
| 35 PP_Var value) { | 35 PP_Var value) { |
| 36 EnterUDP enter(udp_socket, true); | 36 EnterUDP enter(udp_socket, true); |
| 37 if (enter.failed()) | 37 if (enter.failed()) |
| 38 return PP_ERROR_BADRESOURCE; | 38 return PP_ERROR_BADRESOURCE; |
| 39 return enter.object()->SetSocketFeature(name, value); | 39 return enter.object()->SetSocketFeature(name, value); |
| 40 } | 40 } |
| 41 | 41 |
| 42 int32_t Bind(PP_Resource udp_socket, | 42 int32_t Bind(PP_Resource udp_socket, |
| 43 const PP_NetAddress_Private *addr, | 43 const PP_NetAddress_Private* addr, |
| 44 PP_CompletionCallback callback) { | 44 PP_CompletionCallback callback) { |
| 45 EnterUDP enter(udp_socket, callback, true); | 45 EnterUDP enter(udp_socket, callback, true); |
| 46 if (enter.failed()) | 46 if (enter.failed()) |
| 47 return enter.retval(); | 47 return enter.retval(); |
| 48 return enter.SetResult(enter.object()->Bind(addr, enter.callback())); | 48 return enter.SetResult(enter.object()->Bind(addr, enter.callback())); |
| 49 } | 49 } |
| 50 | 50 |
| 51 PP_Bool GetBoundAddress(PP_Resource udp_socket, | 51 PP_Bool GetBoundAddress(PP_Resource udp_socket, PP_NetAddress_Private* addr) { |
| 52 PP_NetAddress_Private* addr) { | |
| 53 EnterUDP enter(udp_socket, true); | 52 EnterUDP enter(udp_socket, true); |
| 54 if (enter.failed()) | 53 if (enter.failed()) |
| 55 return PP_FALSE; | 54 return PP_FALSE; |
| 56 return enter.object()->GetBoundAddress(addr); | 55 return enter.object()->GetBoundAddress(addr); |
| 57 } | 56 } |
| 58 | 57 |
| 59 int32_t RecvFrom(PP_Resource udp_socket, | 58 int32_t RecvFrom(PP_Resource udp_socket, |
| 60 char* buffer, | 59 char* buffer, |
| 61 int32_t num_bytes, | 60 int32_t num_bytes, |
| 62 PP_CompletionCallback callback) { | 61 PP_CompletionCallback callback) { |
| 63 #ifdef NDEBUG | 62 #ifdef NDEBUG |
| 64 EnterUDP enter(udp_socket, callback, false); | 63 EnterUDP enter(udp_socket, callback, false); |
| 65 #else | 64 #else |
| 66 EnterUDP enter(udp_socket, callback, true); | 65 EnterUDP enter(udp_socket, callback, true); |
| 67 #endif | 66 #endif |
| 68 if (enter.failed()) | 67 if (enter.failed()) |
| 69 return enter.retval(); | 68 return enter.retval(); |
| 70 return enter.SetResult(enter.object()->RecvFrom(buffer, num_bytes, | 69 return enter.SetResult( |
| 71 enter.callback())); | 70 enter.object()->RecvFrom(buffer, num_bytes, enter.callback())); |
| 72 } | 71 } |
| 73 | 72 |
| 74 PP_Bool GetRecvFromAddress(PP_Resource udp_socket, | 73 PP_Bool GetRecvFromAddress(PP_Resource udp_socket, |
| 75 PP_NetAddress_Private* addr) { | 74 PP_NetAddress_Private* addr) { |
| 76 EnterUDP enter(udp_socket, true); | 75 EnterUDP enter(udp_socket, true); |
| 77 if (enter.failed()) | 76 if (enter.failed()) |
| 78 return PP_FALSE; | 77 return PP_FALSE; |
| 79 return enter.object()->GetRecvFromAddress(addr); | 78 return enter.object()->GetRecvFromAddress(addr); |
| 80 } | 79 } |
| 81 | 80 |
| 82 int32_t SendTo(PP_Resource udp_socket, | 81 int32_t SendTo(PP_Resource udp_socket, |
| 83 const char* buffer, | 82 const char* buffer, |
| 84 int32_t num_bytes, | 83 int32_t num_bytes, |
| 85 const PP_NetAddress_Private* addr, | 84 const PP_NetAddress_Private* addr, |
| 86 PP_CompletionCallback callback) { | 85 PP_CompletionCallback callback) { |
| 87 EnterUDP enter(udp_socket, callback, true); | 86 EnterUDP enter(udp_socket, callback, true); |
| 88 if (enter.failed()) | 87 if (enter.failed()) |
| 89 return enter.retval(); | 88 return enter.retval(); |
| 90 return enter.SetResult(enter.object()->SendTo(buffer, num_bytes, addr, | 89 return enter.SetResult( |
| 91 enter.callback())); | 90 enter.object()->SendTo(buffer, num_bytes, addr, enter.callback())); |
| 92 } | 91 } |
| 93 | 92 |
| 94 void Close(PP_Resource udp_socket) { | 93 void Close(PP_Resource udp_socket) { |
| 95 EnterUDP enter(udp_socket, true); | 94 EnterUDP enter(udp_socket, true); |
| 96 if (enter.succeeded()) | 95 if (enter.succeeded()) |
| 97 enter.object()->Close(); | 96 enter.object()->Close(); |
| 98 } | 97 } |
| 99 | 98 |
| 100 const PPB_UDPSocket_Private_0_2 g_ppb_udp_socket_thunk_0_2 = { | 99 const PPB_UDPSocket_Private_0_2 g_ppb_udp_socket_thunk_0_2 = { |
| 101 &Create, | 100 &Create, &IsUDPSocket, &Bind, &RecvFrom, |
| 102 &IsUDPSocket, | 101 &GetRecvFromAddress, &SendTo, &Close}; |
| 103 &Bind, | |
| 104 &RecvFrom, | |
| 105 &GetRecvFromAddress, | |
| 106 &SendTo, | |
| 107 &Close | |
| 108 }; | |
| 109 | 102 |
| 110 const PPB_UDPSocket_Private_0_3 g_ppb_udp_socket_thunk_0_3 = { | 103 const PPB_UDPSocket_Private_0_3 g_ppb_udp_socket_thunk_0_3 = { |
| 111 &Create, | 104 &Create, &IsUDPSocket, &Bind, &GetBoundAddress, |
| 112 &IsUDPSocket, | 105 &RecvFrom, &GetRecvFromAddress, &SendTo, &Close}; |
| 113 &Bind, | |
| 114 &GetBoundAddress, | |
| 115 &RecvFrom, | |
| 116 &GetRecvFromAddress, | |
| 117 &SendTo, | |
| 118 &Close | |
| 119 }; | |
| 120 | 106 |
| 121 const PPB_UDPSocket_Private_0_4 g_ppb_udp_socket_thunk_0_4 = { | 107 const PPB_UDPSocket_Private_0_4 g_ppb_udp_socket_thunk_0_4 = { |
| 122 &Create, | 108 &Create, &IsUDPSocket, &SetSocketFeature, &Bind, &GetBoundAddress, |
| 123 &IsUDPSocket, | 109 &RecvFrom, &GetRecvFromAddress, &SendTo, &Close}; |
| 124 &SetSocketFeature, | |
| 125 &Bind, | |
| 126 &GetBoundAddress, | |
| 127 &RecvFrom, | |
| 128 &GetRecvFromAddress, | |
| 129 &SendTo, | |
| 130 &Close | |
| 131 }; | |
| 132 | 110 |
| 133 } // namespace | 111 } // namespace |
| 134 | 112 |
| 135 const PPB_UDPSocket_Private_0_2* GetPPB_UDPSocket_Private_0_2_Thunk() { | 113 const PPB_UDPSocket_Private_0_2* GetPPB_UDPSocket_Private_0_2_Thunk() { |
| 136 return &g_ppb_udp_socket_thunk_0_2; | 114 return &g_ppb_udp_socket_thunk_0_2; |
| 137 } | 115 } |
| 138 | 116 |
| 139 const PPB_UDPSocket_Private_0_3* GetPPB_UDPSocket_Private_0_3_Thunk() { | 117 const PPB_UDPSocket_Private_0_3* GetPPB_UDPSocket_Private_0_3_Thunk() { |
| 140 return &g_ppb_udp_socket_thunk_0_3; | 118 return &g_ppb_udp_socket_thunk_0_3; |
| 141 } | 119 } |
| 142 | 120 |
| 143 const PPB_UDPSocket_Private_0_4* GetPPB_UDPSocket_Private_0_4_Thunk() { | 121 const PPB_UDPSocket_Private_0_4* GetPPB_UDPSocket_Private_0_4_Thunk() { |
| 144 return &g_ppb_udp_socket_thunk_0_4; | 122 return &g_ppb_udp_socket_thunk_0_4; |
| 145 } | 123 } |
| 146 | 124 |
| 147 } // namespace thunk | 125 } // namespace thunk |
| 148 } // namespace ppapi | 126 } // namespace ppapi |
| OLD | NEW |