| 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_tcp_socket_private.h" | 7 #include "ppapi/c/private/ppb_tcp_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/thunk.h" | 10 #include "ppapi/thunk/thunk.h" |
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 66 return enter.object()->GetRemoteAddress(remote_addr); | 66 return enter.object()->GetRemoteAddress(remote_addr); |
| 67 } | 67 } |
| 68 | 68 |
| 69 int32_t SSLHandshake(PP_Resource tcp_socket, | 69 int32_t SSLHandshake(PP_Resource tcp_socket, |
| 70 const char* server_name, | 70 const char* server_name, |
| 71 uint16_t server_port, | 71 uint16_t server_port, |
| 72 PP_CompletionCallback callback) { | 72 PP_CompletionCallback callback) { |
| 73 EnterTCP enter(tcp_socket, callback, true); | 73 EnterTCP enter(tcp_socket, callback, true); |
| 74 if (enter.failed()) | 74 if (enter.failed()) |
| 75 return enter.retval(); | 75 return enter.retval(); |
| 76 return enter.SetResult(enter.object()->SSLHandshake(server_name, server_port, | 76 return enter.SetResult( |
| 77 enter.callback())); | 77 enter.object()->SSLHandshake(server_name, server_port, enter.callback())); |
| 78 } | 78 } |
| 79 | 79 |
| 80 PP_Resource GetServerCertificate(PP_Resource tcp_socket) { | 80 PP_Resource GetServerCertificate(PP_Resource tcp_socket) { |
| 81 EnterTCP enter(tcp_socket, true); | 81 EnterTCP enter(tcp_socket, true); |
| 82 if (enter.failed()) | 82 if (enter.failed()) |
| 83 return 0; | 83 return 0; |
| 84 return enter.object()->GetServerCertificate(); | 84 return enter.object()->GetServerCertificate(); |
| 85 } | 85 } |
| 86 | 86 |
| 87 PP_Bool AddChainBuildingCertificate(PP_Resource tcp_socket, | 87 PP_Bool AddChainBuildingCertificate(PP_Resource tcp_socket, |
| 88 PP_Resource certificate, | 88 PP_Resource certificate, |
| 89 PP_Bool trusted) { | 89 PP_Bool trusted) { |
| 90 EnterTCP enter(tcp_socket, true); | 90 EnterTCP enter(tcp_socket, true); |
| 91 if (enter.failed()) | 91 if (enter.failed()) |
| 92 return PP_FALSE; | 92 return PP_FALSE; |
| 93 return enter.object()->AddChainBuildingCertificate(certificate, trusted); | 93 return enter.object()->AddChainBuildingCertificate(certificate, trusted); |
| 94 } | 94 } |
| 95 | 95 |
| 96 int32_t Read(PP_Resource tcp_socket, | 96 int32_t Read(PP_Resource tcp_socket, |
| 97 char* buffer, | 97 char* buffer, |
| 98 int32_t bytes_to_read, | 98 int32_t bytes_to_read, |
| 99 PP_CompletionCallback callback) { | 99 PP_CompletionCallback callback) { |
| 100 EnterTCP enter(tcp_socket, callback, true); | 100 EnterTCP enter(tcp_socket, callback, true); |
| 101 if (enter.failed()) | 101 if (enter.failed()) |
| 102 return enter.retval(); | 102 return enter.retval(); |
| 103 return enter.SetResult(enter.object()->Read(buffer, bytes_to_read, | 103 return enter.SetResult( |
| 104 enter.callback())); | 104 enter.object()->Read(buffer, bytes_to_read, enter.callback())); |
| 105 } | 105 } |
| 106 | 106 |
| 107 int32_t Write(PP_Resource tcp_socket, | 107 int32_t Write(PP_Resource tcp_socket, |
| 108 const char* buffer, | 108 const char* buffer, |
| 109 int32_t bytes_to_write, | 109 int32_t bytes_to_write, |
| 110 PP_CompletionCallback callback) { | 110 PP_CompletionCallback callback) { |
| 111 EnterTCP enter(tcp_socket, callback, true); | 111 EnterTCP enter(tcp_socket, callback, true); |
| 112 if (enter.failed()) | 112 if (enter.failed()) |
| 113 return enter.retval(); | 113 return enter.retval(); |
| 114 return enter.SetResult(enter.object()->Write(buffer, bytes_to_write, | 114 return enter.SetResult( |
| 115 enter.callback())); | 115 enter.object()->Write(buffer, bytes_to_write, enter.callback())); |
| 116 } | 116 } |
| 117 | 117 |
| 118 void Disconnect(PP_Resource tcp_socket) { | 118 void Disconnect(PP_Resource tcp_socket) { |
| 119 EnterTCP enter(tcp_socket, true); | 119 EnterTCP enter(tcp_socket, true); |
| 120 if (enter.succeeded()) | 120 if (enter.succeeded()) |
| 121 enter.object()->Disconnect(); | 121 enter.object()->Disconnect(); |
| 122 } | 122 } |
| 123 | 123 |
| 124 int32_t SetOption(PP_Resource tcp_socket, | 124 int32_t SetOption(PP_Resource tcp_socket, |
| 125 PP_TCPSocketOption_Private name, | 125 PP_TCPSocketOption_Private name, |
| 126 PP_Var value, | 126 PP_Var value, |
| 127 PP_CompletionCallback callback) { | 127 PP_CompletionCallback callback) { |
| 128 EnterTCP enter(tcp_socket, callback, true); | 128 EnterTCP enter(tcp_socket, callback, true); |
| 129 if (enter.failed()) | 129 if (enter.failed()) |
| 130 return enter.retval(); | 130 return enter.retval(); |
| 131 return enter.SetResult( | 131 return enter.SetResult( |
| 132 enter.object()->SetOption(name, value, enter.callback())); | 132 enter.object()->SetOption(name, value, enter.callback())); |
| 133 } | 133 } |
| 134 | 134 |
| 135 const PPB_TCPSocket_Private_0_3 g_ppb_tcp_socket_thunk_0_3 = { | 135 const PPB_TCPSocket_Private_0_3 g_ppb_tcp_socket_thunk_0_3 = { |
| 136 &Create, | 136 &Create, &IsTCPSocket, &Connect, &ConnectWithNetAddress, |
| 137 &IsTCPSocket, | 137 &GetLocalAddress, &GetRemoteAddress, &SSLHandshake, &Read, |
| 138 &Connect, | 138 &Write, &Disconnect}; |
| 139 &ConnectWithNetAddress, | |
| 140 &GetLocalAddress, | |
| 141 &GetRemoteAddress, | |
| 142 &SSLHandshake, | |
| 143 &Read, | |
| 144 &Write, | |
| 145 &Disconnect | |
| 146 }; | |
| 147 | 139 |
| 148 const PPB_TCPSocket_Private_0_4 g_ppb_tcp_socket_thunk_0_4 = { | 140 const PPB_TCPSocket_Private_0_4 g_ppb_tcp_socket_thunk_0_4 = { |
| 149 &Create, | 141 &Create, &IsTCPSocket, &Connect, |
| 150 &IsTCPSocket, | 142 &ConnectWithNetAddress, &GetLocalAddress, &GetRemoteAddress, |
| 151 &Connect, | 143 &SSLHandshake, &GetServerCertificate, &AddChainBuildingCertificate, |
| 152 &ConnectWithNetAddress, | 144 &Read, &Write, &Disconnect}; |
| 153 &GetLocalAddress, | |
| 154 &GetRemoteAddress, | |
| 155 &SSLHandshake, | |
| 156 &GetServerCertificate, | |
| 157 &AddChainBuildingCertificate, | |
| 158 &Read, | |
| 159 &Write, | |
| 160 &Disconnect | |
| 161 }; | |
| 162 | 145 |
| 163 const PPB_TCPSocket_Private_0_5 g_ppb_tcp_socket_thunk_0_5 = { | 146 const PPB_TCPSocket_Private_0_5 g_ppb_tcp_socket_thunk_0_5 = { |
| 164 &Create, | 147 &Create, &IsTCPSocket, &Connect, |
| 165 &IsTCPSocket, | 148 &ConnectWithNetAddress, &GetLocalAddress, &GetRemoteAddress, |
| 166 &Connect, | 149 &SSLHandshake, &GetServerCertificate, &AddChainBuildingCertificate, |
| 167 &ConnectWithNetAddress, | 150 &Read, &Write, &Disconnect, |
| 168 &GetLocalAddress, | 151 &SetOption}; |
| 169 &GetRemoteAddress, | |
| 170 &SSLHandshake, | |
| 171 &GetServerCertificate, | |
| 172 &AddChainBuildingCertificate, | |
| 173 &Read, | |
| 174 &Write, | |
| 175 &Disconnect, | |
| 176 &SetOption | |
| 177 }; | |
| 178 | 152 |
| 179 } // namespace | 153 } // namespace |
| 180 | 154 |
| 181 const PPB_TCPSocket_Private_0_3* GetPPB_TCPSocket_Private_0_3_Thunk() { | 155 const PPB_TCPSocket_Private_0_3* GetPPB_TCPSocket_Private_0_3_Thunk() { |
| 182 return &g_ppb_tcp_socket_thunk_0_3; | 156 return &g_ppb_tcp_socket_thunk_0_3; |
| 183 } | 157 } |
| 184 | 158 |
| 185 const PPB_TCPSocket_Private_0_4* GetPPB_TCPSocket_Private_0_4_Thunk() { | 159 const PPB_TCPSocket_Private_0_4* GetPPB_TCPSocket_Private_0_4_Thunk() { |
| 186 return &g_ppb_tcp_socket_thunk_0_4; | 160 return &g_ppb_tcp_socket_thunk_0_4; |
| 187 } | 161 } |
| 188 | 162 |
| 189 const PPB_TCPSocket_Private_0_5* GetPPB_TCPSocket_Private_0_5_Thunk() { | 163 const PPB_TCPSocket_Private_0_5* GetPPB_TCPSocket_Private_0_5_Thunk() { |
| 190 return &g_ppb_tcp_socket_thunk_0_5; | 164 return &g_ppb_tcp_socket_thunk_0_5; |
| 191 } | 165 } |
| 192 | 166 |
| 193 } // namespace thunk | 167 } // namespace thunk |
| 194 } // namespace ppapi | 168 } // namespace ppapi |
| OLD | NEW |