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

Side by Side Diff: ppapi/cpp/dev/transport_dev.cc

Issue 6899055: PPAPI: Force async callback invocation option. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 years, 6 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) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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/cpp/dev/transport_dev.h" 5 #include "ppapi/cpp/dev/transport_dev.h"
6 6
7 #include "ppapi/c/pp_errors.h" 7 #include "ppapi/c/pp_errors.h"
8 #include "ppapi/cpp/instance.h" 8 #include "ppapi/cpp/instance.h"
9 #include "ppapi/cpp/resource.h" 9 #include "ppapi/cpp/resource.h"
10 #include "ppapi/cpp/module.h" 10 #include "ppapi/cpp/module.h"
(...skipping 20 matching lines...) Expand all
31 31
32 bool Transport_Dev::IsWritable() { 32 bool Transport_Dev::IsWritable() {
33 if (!has_interface<PPB_Transport_Dev>()) 33 if (!has_interface<PPB_Transport_Dev>())
34 return false; 34 return false;
35 return PPBoolToBool( 35 return PPBoolToBool(
36 get_interface<PPB_Transport_Dev>()->IsWritable(pp_resource())); 36 get_interface<PPB_Transport_Dev>()->IsWritable(pp_resource()));
37 } 37 }
38 38
39 int32_t Transport_Dev::Connect(const CompletionCallback& cc) { 39 int32_t Transport_Dev::Connect(const CompletionCallback& cc) {
40 if (!has_interface<PPB_Transport_Dev>()) 40 if (!has_interface<PPB_Transport_Dev>())
41 return PP_ERROR_NOINTERFACE; 41 return cc.MayForce(static_cast<int32_t>(PP_ERROR_NOINTERFACE));
piman 2011/06/07 17:32:14 no need for static_cast ? here and below
polina 2011/06/09 23:53:51 Done.
42 return get_interface<PPB_Transport_Dev>()->Connect( 42 return get_interface<PPB_Transport_Dev>()->Connect(
43 pp_resource(), cc.pp_completion_callback()); 43 pp_resource(), cc.pp_completion_callback());
44 } 44 }
45 45
46 int32_t Transport_Dev::GetNextAddress(Var* address, 46 int32_t Transport_Dev::GetNextAddress(Var* address,
47 const CompletionCallback& cc) { 47 const CompletionCallback& cc) {
48 if (!has_interface<PPB_Transport_Dev>()) 48 if (!has_interface<PPB_Transport_Dev>())
49 return PP_ERROR_NOINTERFACE; 49 return cc.MayForce(static_cast<int32_t>(PP_ERROR_NOINTERFACE));
50 PP_Var temp_address = PP_MakeUndefined(); 50 PP_Var temp_address = PP_MakeUndefined();
51 int32_t ret_val = get_interface<PPB_Transport_Dev>()->GetNextAddress( 51 int32_t ret_val = get_interface<PPB_Transport_Dev>()->GetNextAddress(
52 pp_resource(), &temp_address, cc.pp_completion_callback()); 52 pp_resource(), &temp_address, cc.pp_completion_callback());
53 *address = Var(Var::PassRef(), temp_address); 53 *address = Var(Var::PassRef(), temp_address);
54 return ret_val; 54 return ret_val;
55 } 55 }
56 56
57 int32_t Transport_Dev::ReceiveRemoteAddress(const pp::Var& address) { 57 int32_t Transport_Dev::ReceiveRemoteAddress(const pp::Var& address) {
58 if (!has_interface<PPB_Transport_Dev>()) 58 if (!has_interface<PPB_Transport_Dev>())
59 return PP_ERROR_NOINTERFACE; 59 return PP_ERROR_NOINTERFACE;
60 return get_interface<PPB_Transport_Dev>()->ReceiveRemoteAddress( 60 return get_interface<PPB_Transport_Dev>()->ReceiveRemoteAddress(
61 pp_resource(), address.pp_var()); 61 pp_resource(), address.pp_var());
62 } 62 }
63 63
64 int32_t Transport_Dev::Recv(void* data, uint32_t len, 64 int32_t Transport_Dev::Recv(void* data, uint32_t len,
65 const CompletionCallback& cc) { 65 const CompletionCallback& cc) {
66 if (!has_interface<PPB_Transport_Dev>()) 66 if (!has_interface<PPB_Transport_Dev>())
67 return PP_ERROR_NOINTERFACE; 67 return cc.MayForce(static_cast<int32_t>(PP_ERROR_NOINTERFACE));
68 return get_interface<PPB_Transport_Dev>()->Recv( 68 return get_interface<PPB_Transport_Dev>()->Recv(
69 pp_resource(), data, len, cc.pp_completion_callback()); 69 pp_resource(), data, len, cc.pp_completion_callback());
70 } 70 }
71 71
72 int32_t Transport_Dev::Send(const void* data, uint32_t len, 72 int32_t Transport_Dev::Send(const void* data, uint32_t len,
73 const CompletionCallback& cc) { 73 const CompletionCallback& cc) {
74 if (!has_interface<PPB_Transport_Dev>()) 74 if (!has_interface<PPB_Transport_Dev>())
75 return PP_ERROR_NOINTERFACE; 75 return cc.MayForce(static_cast<int32_t>(PP_ERROR_NOINTERFACE));
76 return get_interface<PPB_Transport_Dev>()->Send( 76 return get_interface<PPB_Transport_Dev>()->Send(
77 pp_resource(), data, len, cc.pp_completion_callback()); 77 pp_resource(), data, len, cc.pp_completion_callback());
78 } 78 }
79 79
80 int32_t Transport_Dev::Close() { 80 int32_t Transport_Dev::Close() {
81 if (!has_interface<PPB_Transport_Dev>()) 81 if (!has_interface<PPB_Transport_Dev>())
82 return PP_ERROR_NOINTERFACE; 82 return PP_ERROR_NOINTERFACE;
83 return get_interface<PPB_Transport_Dev>()->Close(pp_resource()); 83 return get_interface<PPB_Transport_Dev>()->Close(pp_resource());
84 } 84 }
85 85
86 } // namespace pp 86 } // namespace pp
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698