Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(174)

Side by Side Diff: ppapi/thunk/ppb_tcp_socket_private_thunk.cc

Issue 10081020: PPAPI: Make blocking completion callbacks work. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Updated TestURLLoader to test blocking callbacks. Created 8 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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/thunk/enter.h" 8 #include "ppapi/thunk/enter.h"
9 #include "ppapi/thunk/thunk.h" 9 #include "ppapi/thunk/thunk.h"
10 #include "ppapi/thunk/ppb_tcp_socket_private_api.h" 10 #include "ppapi/thunk/ppb_tcp_socket_private_api.h"
(...skipping 18 matching lines...) Expand all
29 return PP_FromBool(enter.succeeded()); 29 return PP_FromBool(enter.succeeded());
30 } 30 }
31 31
32 int32_t Connect(PP_Resource tcp_socket, 32 int32_t Connect(PP_Resource tcp_socket,
33 const char* host, 33 const char* host,
34 uint16_t port, 34 uint16_t port,
35 PP_CompletionCallback callback) { 35 PP_CompletionCallback callback) {
36 EnterTCP enter(tcp_socket, callback, true); 36 EnterTCP enter(tcp_socket, callback, true);
37 if (enter.failed()) 37 if (enter.failed())
38 return enter.retval(); 38 return enter.retval();
39 return enter.SetResult(enter.object()->Connect(host, port, callback)); 39 return enter.SetResult(enter.object()->Connect(host, port, enter.callback()));
40 } 40 }
41 41
42 int32_t ConnectWithNetAddress(PP_Resource tcp_socket, 42 int32_t ConnectWithNetAddress(PP_Resource tcp_socket,
43 const PP_NetAddress_Private* addr, 43 const PP_NetAddress_Private* addr,
44 PP_CompletionCallback callback) { 44 PP_CompletionCallback callback) {
45 EnterTCP enter(tcp_socket, callback, true); 45 EnterTCP enter(tcp_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()->ConnectWithNetAddress(addr, callback)); 48 return enter.SetResult(
49 enter.object()->ConnectWithNetAddress(addr, enter.callback()));
49 } 50 }
50 51
51 PP_Bool GetLocalAddress(PP_Resource tcp_socket, 52 PP_Bool GetLocalAddress(PP_Resource tcp_socket,
52 PP_NetAddress_Private* local_addr) { 53 PP_NetAddress_Private* local_addr) {
53 EnterTCP enter(tcp_socket, true); 54 EnterTCP enter(tcp_socket, true);
54 if (enter.failed()) 55 if (enter.failed())
55 return PP_FALSE; 56 return PP_FALSE;
56 return enter.object()->GetLocalAddress(local_addr); 57 return enter.object()->GetLocalAddress(local_addr);
57 } 58 }
58 59
59 PP_Bool GetRemoteAddress(PP_Resource tcp_socket, 60 PP_Bool GetRemoteAddress(PP_Resource tcp_socket,
60 PP_NetAddress_Private* remote_addr) { 61 PP_NetAddress_Private* remote_addr) {
61 EnterTCP enter(tcp_socket, true); 62 EnterTCP enter(tcp_socket, true);
62 if (enter.failed()) 63 if (enter.failed())
63 return PP_FALSE; 64 return PP_FALSE;
64 return enter.object()->GetRemoteAddress(remote_addr); 65 return enter.object()->GetRemoteAddress(remote_addr);
65 } 66 }
66 67
67 int32_t SSLHandshake(PP_Resource tcp_socket, 68 int32_t SSLHandshake(PP_Resource tcp_socket,
68 const char* server_name, 69 const char* server_name,
69 uint16_t server_port, 70 uint16_t server_port,
70 PP_CompletionCallback callback) { 71 PP_CompletionCallback callback) {
71 EnterTCP enter(tcp_socket, callback, true); 72 EnterTCP enter(tcp_socket, callback, true);
72 if (enter.failed()) 73 if (enter.failed())
73 return enter.retval(); 74 return enter.retval();
74 return enter.SetResult(enter.object()->SSLHandshake(server_name, server_port, 75 return enter.SetResult(enter.object()->SSLHandshake(server_name, server_port,
75 callback)); 76 enter.callback()));
76 } 77 }
77 78
78 PP_Resource GetServerCertificate(PP_Resource tcp_socket) { 79 PP_Resource GetServerCertificate(PP_Resource tcp_socket) {
79 EnterTCP enter(tcp_socket, true); 80 EnterTCP enter(tcp_socket, true);
80 if (enter.failed()) 81 if (enter.failed())
81 return 0; 82 return 0;
82 return enter.object()->GetServerCertificate(); 83 return enter.object()->GetServerCertificate();
83 } 84 }
84 85
85 PP_Bool AddChainBuildingCertificate(PP_Resource tcp_socket, 86 PP_Bool AddChainBuildingCertificate(PP_Resource tcp_socket,
86 PP_Resource certificate, 87 PP_Resource certificate,
87 PP_Bool trusted) { 88 PP_Bool trusted) {
88 EnterTCP enter(tcp_socket, true); 89 EnterTCP enter(tcp_socket, true);
89 if (enter.failed()) 90 if (enter.failed())
90 return PP_FALSE; 91 return PP_FALSE;
91 return enter.object()->AddChainBuildingCertificate(certificate, trusted); 92 return enter.object()->AddChainBuildingCertificate(certificate, trusted);
92 } 93 }
93 94
94 int32_t Read(PP_Resource tcp_socket, 95 int32_t Read(PP_Resource tcp_socket,
95 char* buffer, 96 char* buffer,
96 int32_t bytes_to_read, 97 int32_t bytes_to_read,
97 PP_CompletionCallback callback) { 98 PP_CompletionCallback callback) {
98 EnterTCP enter(tcp_socket, callback, true); 99 EnterTCP enter(tcp_socket, callback, true);
99 if (enter.failed()) 100 if (enter.failed())
100 return enter.retval(); 101 return enter.retval();
101 return enter.SetResult(enter.object()->Read(buffer, bytes_to_read, callback)); 102 return enter.SetResult(enter.object()->Read(buffer, bytes_to_read,
103 enter.callback()));
102 } 104 }
103 105
104 int32_t Write(PP_Resource tcp_socket, 106 int32_t Write(PP_Resource tcp_socket,
105 const char* buffer, 107 const char* buffer,
106 int32_t bytes_to_write, 108 int32_t bytes_to_write,
107 PP_CompletionCallback callback) { 109 PP_CompletionCallback callback) {
108 EnterTCP enter(tcp_socket, callback, true); 110 EnterTCP enter(tcp_socket, callback, true);
109 if (enter.failed()) 111 if (enter.failed())
110 return enter.retval(); 112 return enter.retval();
111 return enter.SetResult(enter.object()->Write(buffer, bytes_to_write, 113 return enter.SetResult(enter.object()->Write(buffer, bytes_to_write,
112 callback)); 114 enter.callback()));
113 } 115 }
114 116
115 void Disconnect(PP_Resource tcp_socket) { 117 void Disconnect(PP_Resource tcp_socket) {
116 EnterTCP enter(tcp_socket, true); 118 EnterTCP enter(tcp_socket, true);
117 if (enter.succeeded()) 119 if (enter.succeeded())
118 enter.object()->Disconnect(); 120 enter.object()->Disconnect();
119 } 121 }
120 122
121 const PPB_TCPSocket_Private_0_3 g_ppb_tcp_socket_thunk_0_3 = { 123 const PPB_TCPSocket_Private_0_3 g_ppb_tcp_socket_thunk_0_3 = {
122 &Create, 124 &Create,
(...skipping 28 matching lines...) Expand all
151 const PPB_TCPSocket_Private_0_3* GetPPB_TCPSocket_Private_0_3_Thunk() { 153 const PPB_TCPSocket_Private_0_3* GetPPB_TCPSocket_Private_0_3_Thunk() {
152 return &g_ppb_tcp_socket_thunk_0_3; 154 return &g_ppb_tcp_socket_thunk_0_3;
153 } 155 }
154 156
155 const PPB_TCPSocket_Private_0_4* GetPPB_TCPSocket_Private_0_4_Thunk() { 157 const PPB_TCPSocket_Private_0_4* GetPPB_TCPSocket_Private_0_4_Thunk() {
156 return &g_ppb_tcp_socket_thunk_0_4; 158 return &g_ppb_tcp_socket_thunk_0_4;
157 } 159 }
158 160
159 } // namespace thunk 161 } // namespace thunk
160 } // namespace ppapi 162 } // namespace ppapi
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698