diff options
Diffstat (limited to 'webkit/plugins/ppapi/ppb_flash_impl.h')
-rw-r--r-- | webkit/plugins/ppapi/ppb_flash_impl.h | 54 |
1 files changed, 50 insertions, 4 deletions
diff --git a/webkit/plugins/ppapi/ppb_flash_impl.h b/webkit/plugins/ppapi/ppb_flash_impl.h index 44ed224..25b20d0 100644 --- a/webkit/plugins/ppapi/ppb_flash_impl.h +++ b/webkit/plugins/ppapi/ppb_flash_impl.h @@ -1,4 +1,4 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Copyright (c) 2011 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -6,14 +6,14 @@ #define WEBKIT_PLUGINS_PPAPI_PPB_FLASH_IMPL_H_ #include "base/basictypes.h" +#include "base/ref_counted.h" #include "build/build_config.h" #include "ppapi/c/pp_point.h" #include "ppapi/c/pp_rect.h" +#include "ppapi/c/private/ppb_flash.h" +#include "webkit/plugins/ppapi/callbacks.h" #include "webkit/plugins/ppapi/resource.h" -struct PP_FontDescription_Dev; -struct PPB_Flash; - namespace webkit { namespace ppapi { @@ -42,6 +42,52 @@ class PPB_Flash_Impl { DISALLOW_COPY_AND_ASSIGN(PPB_Flash_Impl); }; +class PPB_Flash_NetConnector_Impl : public Resource { + public: + explicit PPB_Flash_NetConnector_Impl(PluginInstance* instance); + virtual ~PPB_Flash_NetConnector_Impl(); + + static const PPB_Flash_NetConnector* GetInterface(); + + // Resource override. + virtual PPB_Flash_NetConnector_Impl* AsPPB_Flash_NetConnector_Impl(); + + PluginInstance* instance() { return instance_; } + + // PPB_Flash_NetConnector implementation. + int32_t ConnectTcp(const char* host, + uint16_t port, + PP_FileHandle* socket_out, + PP_Flash_NetAddress* local_addr_out, + PP_Flash_NetAddress* remote_addr_out, + PP_CompletionCallback callback); + int32_t ConnectTcpAddress(const PP_Flash_NetAddress* addr, + PP_FileHandle* socket_out, + PP_Flash_NetAddress* local_addr_out, + PP_Flash_NetAddress* remote_addr_out, + PP_CompletionCallback callback); + + // Called to complete |ConnectTcp()| and |ConnectTcpAddress()|. + void CompleteConnectTcp(PP_FileHandle socket, + const PP_Flash_NetAddress& local_addr, + const PP_Flash_NetAddress& remote_addr); + + private: + // Plugin instance this connector with which is associated. + PluginInstance* instance_; + + // Any pending callback (for |ConnectTcp()| or |ConnectTcpAddress()|). + scoped_refptr<TrackedCompletionCallback> callback_; + + // Output buffers to be filled in when the callback is completed successfully + // (|{local,remote}_addr_out| are optional and may be null). + PP_FileHandle* socket_out_; + PP_Flash_NetAddress* local_addr_out_; + PP_Flash_NetAddress* remote_addr_out_; + + DISALLOW_COPY_AND_ASSIGN(PPB_Flash_NetConnector_Impl); +}; + } // namespace ppapi } // namespace webkit |