blob: 9666e4b470aae10cddcaca3089f2dc605f75f198 [file] [log] [blame]
[email protected]d07fa3792011-02-24 18:58:011// Copyright (c) 2011 The Chromium Authors. All rights reserved.
[email protected]43a40202010-11-12 16:25:012// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef PPAPI_PPB_FLASH_PROXY_H_
6#define PPAPI_PPB_FLASH_PROXY_H_
7
8#include <vector>
9
10#include "ipc/ipc_platform_file.h"
11#include "ppapi/c/pp_instance.h"
12#include "ppapi/c/pp_module.h"
[email protected]181220ba2011-03-28 18:21:0513#include "ppapi/proxy/host_resource.h"
[email protected]43a40202010-11-12 16:25:0114#include "ppapi/proxy/interface_proxy.h"
15
16struct PP_FileInfo_Dev;
[email protected]0bd753682010-12-16 18:15:5217struct PPB_Flash;
[email protected]43a40202010-11-12 16:25:0118
19namespace pp {
20namespace proxy {
21
22struct PPBFlash_DrawGlyphs_Params;
[email protected]43a40202010-11-12 16:25:0123class SerializedVarReturnValue;
24
25class PPB_Flash_Proxy : public InterfaceProxy {
26 public:
27 PPB_Flash_Proxy(Dispatcher* dispatcher, const void* target_interface);
28 virtual ~PPB_Flash_Proxy();
29
[email protected]465faa22011-02-08 16:31:4630 static const Info* GetInfo();
31
[email protected]0bd753682010-12-16 18:15:5232 const PPB_Flash* ppb_flash_target() const {
33 return static_cast<const PPB_Flash*>(target_interface());
[email protected]43a40202010-11-12 16:25:0134 }
35
36 // InterfaceProxy implementation.
[email protected]a95986a82010-12-24 06:19:2837 virtual bool OnMessageReceived(const IPC::Message& msg);
[email protected]43a40202010-11-12 16:25:0138
39 private:
40 // Message handlers.
41 void OnMsgSetInstanceAlwaysOnTop(PP_Instance instance,
[email protected]4614f192011-01-21 00:26:4342 PP_Bool on_top);
[email protected]99627bcf2010-12-02 23:59:5343 void OnMsgDrawGlyphs(const pp::proxy::PPBFlash_DrawGlyphs_Params& params,
[email protected]4614f192011-01-21 00:26:4344 PP_Bool* result);
[email protected]859a7f32011-01-15 03:44:1345 void OnMsgGetProxyForURL(PP_Instance instance,
[email protected]43a40202010-11-12 16:25:0146 const std::string& url,
47 SerializedVarReturnValue result);
[email protected]181220ba2011-03-28 18:21:0548 void OnMsgNavigate(const HostResource& request_info,
49 const std::string& target,
50 bool from_user_action,
51 int32_t* result);
[email protected]7358d572011-02-15 18:44:4052 void OnMsgRunMessageLoop(PP_Instance instance);
53 void OnMsgQuitMessageLoop(PP_Instance instance);
[email protected]43a40202010-11-12 16:25:0154};
55
56} // namespace proxy
57} // namespace pp
58
59#endif // PPAPI_PPB_FLASH_PROXY_H_