| Index: webkit/plugins/ppapi/ppb_transport_impl.cc
|
| ===================================================================
|
| --- webkit/plugins/ppapi/ppb_transport_impl.cc (revision 89672)
|
| +++ webkit/plugins/ppapi/ppb_transport_impl.cc (working copy)
|
| @@ -17,6 +17,7 @@
|
| #include "webkit/plugins/ppapi/ppapi_plugin_instance.h"
|
| #include "webkit/plugins/ppapi/var.h"
|
|
|
| +using ppapi::thunk::PPB_Transport_API;
|
| using webkit_glue::P2PTransport;
|
|
|
| namespace webkit {
|
| @@ -27,81 +28,6 @@
|
| const char kUdpProtocolName[] = "udp";
|
| const char kTcpProtocolName[] = "tcp";
|
|
|
| -PP_Resource CreateTransport(PP_Instance instance_id, const char* name,
|
| - const char* proto) {
|
| - PluginInstance* instance = ResourceTracker::Get()->GetInstance(instance_id);
|
| - if (!instance)
|
| - return 0;
|
| -
|
| - scoped_refptr<PPB_Transport_Impl> t(new PPB_Transport_Impl(instance));
|
| - if (!t->Init(name, proto))
|
| - return 0;
|
| -
|
| - return t->GetReference();
|
| -}
|
| -
|
| -PP_Bool IsTransport(PP_Resource resource) {
|
| - return BoolToPPBool(Resource::GetAs<PPB_Transport_Impl>(resource) != NULL);
|
| -}
|
| -
|
| -PP_Bool IsWritable(PP_Resource resource) {
|
| - scoped_refptr<PPB_Transport_Impl> t(
|
| - Resource::GetAs<PPB_Transport_Impl>(resource));
|
| - return BoolToPPBool((t.get()) ? t->IsWritable() : false);
|
| -}
|
| -
|
| -int32_t Connect(PP_Resource resource, PP_CompletionCallback callback) {
|
| - scoped_refptr<PPB_Transport_Impl> t(
|
| - Resource::GetAs<PPB_Transport_Impl>(resource));
|
| - return (t.get()) ? t->Connect(callback) : PP_ERROR_BADRESOURCE;
|
| -}
|
| -
|
| -int32_t GetNextAddress(PP_Resource resource, PP_Var* address,
|
| - PP_CompletionCallback callback) {
|
| - scoped_refptr<PPB_Transport_Impl> t(
|
| - Resource::GetAs<PPB_Transport_Impl>(resource));
|
| - return (t.get())? t->GetNextAddress(address, callback) : PP_ERROR_BADRESOURCE;
|
| -}
|
| -
|
| -int32_t ReceiveRemoteAddress(PP_Resource resource, PP_Var address) {
|
| - scoped_refptr<PPB_Transport_Impl> t(
|
| - Resource::GetAs<PPB_Transport_Impl>(resource));
|
| - return (t.get())? t->ReceiveRemoteAddress(address) : PP_ERROR_BADRESOURCE;
|
| -}
|
| -
|
| -int32_t Recv(PP_Resource resource, void* data, uint32_t len,
|
| - PP_CompletionCallback callback) {
|
| - scoped_refptr<PPB_Transport_Impl> t(
|
| - Resource::GetAs<PPB_Transport_Impl>(resource));
|
| - return (t.get())? t->Recv(data, len, callback) : PP_ERROR_BADRESOURCE;
|
| -}
|
| -
|
| -int32_t Send(PP_Resource resource, const void* data, uint32_t len,
|
| - PP_CompletionCallback callback) {
|
| - scoped_refptr<PPB_Transport_Impl> t(
|
| - Resource::GetAs<PPB_Transport_Impl>(resource));
|
| - return (t.get())? t->Send(data, len, callback) : PP_ERROR_BADRESOURCE;
|
| -}
|
| -
|
| -// Disconnects from the remote peer.
|
| -int32_t Close(PP_Resource resource) {
|
| - scoped_refptr<PPB_Transport_Impl> t(
|
| - Resource::GetAs<PPB_Transport_Impl>(resource));
|
| - return (t.get())? t->Close() : PP_ERROR_BADRESOURCE;
|
| -}
|
| -
|
| -const PPB_Transport_Dev ppb_transport = {
|
| - &CreateTransport,
|
| - &IsTransport,
|
| - &IsWritable,
|
| - &Connect,
|
| - &GetNextAddress,
|
| - &ReceiveRemoteAddress,
|
| - &Recv,
|
| - &Send,
|
| - &Close,
|
| -};
|
| -
|
| int MapNetError(int result) {
|
| if (result > 0)
|
| return result;
|
| @@ -133,11 +59,21 @@
|
| PPB_Transport_Impl::~PPB_Transport_Impl() {
|
| }
|
|
|
| -const PPB_Transport_Dev* PPB_Transport_Impl::GetInterface() {
|
| - return &ppb_transport;
|
| +// static
|
| +PP_Resource PPB_Transport_Impl::Create(PP_Instance pp_instance,
|
| + const char* name,
|
| + const char* proto) {
|
| + PluginInstance* instance = ResourceTracker::Get()->GetInstance(pp_instance);
|
| + if (!instance)
|
| + return 0;
|
| +
|
| + scoped_refptr<PPB_Transport_Impl> t(new PPB_Transport_Impl(instance));
|
| + if (!t->Init(name, proto))
|
| + return 0;
|
| + return t->GetReference();
|
| }
|
|
|
| -PPB_Transport_Impl* PPB_Transport_Impl::AsPPB_Transport_Impl() {
|
| +PPB_Transport_API* PPB_Transport_Impl::AsPPB_Transport_API() {
|
| return this;
|
| }
|
|
|
| @@ -157,11 +93,11 @@
|
| return p2p_transport_.get() != NULL;
|
| }
|
|
|
| -bool PPB_Transport_Impl::IsWritable() const {
|
| +PP_Bool PPB_Transport_Impl::IsWritable() {
|
| if (!p2p_transport_.get())
|
| - return false;
|
| + return PP_FALSE;
|
|
|
| - return writable_;
|
| + return PP_FromBool(writable_);
|
| }
|
|
|
| int32_t PPB_Transport_Impl::Connect(PP_CompletionCallback callback) {
|
|
|