summaryrefslogtreecommitdiffstats
path: root/webkit/plugins/ppapi/ppb_flash_impl.h
diff options
context:
space:
mode:
Diffstat (limited to 'webkit/plugins/ppapi/ppb_flash_impl.h')
-rw-r--r--webkit/plugins/ppapi/ppb_flash_impl.h54
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