blob: eaf5fb31858d8f0a721156d276c8c61c41c092f4 [file] [log] [blame]
[email protected]4614f192011-01-21 00:26:431// Copyright (c) 2011 The Chromium Authors. All rights reserved.
[email protected]1054c072010-11-05 22:52:482// 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_PROXY_PPB_TESTING_PROXY_H_
6#define PPAPI_PROXY_PPB_TESTING_PROXY_H_
7
8#include "base/basictypes.h"
[email protected]4614f192011-01-21 00:26:439#include "ppapi/c/pp_instance.h"
[email protected]1054c072010-11-05 22:52:4810#include "ppapi/c/pp_resource.h"
[email protected]1054c072010-11-05 22:52:4811#include "ppapi/proxy/interface_proxy.h"
[email protected]be0a84b2011-08-13 04:18:4412#include "ppapi/shared_impl/host_resource.h"
[email protected]1054c072010-11-05 22:52:4813
14struct PP_Point;
15struct PPB_Testing_Dev;
16
[email protected]4d2efd22011-08-18 21:58:0217namespace ppapi {
[email protected]1054c072010-11-05 22:52:4818namespace proxy {
19
20class PPB_Testing_Proxy : public InterfaceProxy {
21 public:
[email protected]5c966022011-09-13 18:09:3722 PPB_Testing_Proxy(Dispatcher* dispatcher);
[email protected]1054c072010-11-05 22:52:4823 virtual ~PPB_Testing_Proxy();
24
[email protected]465faa22011-02-08 16:31:4625 static const Info* GetInfo();
26
[email protected]1054c072010-11-05 22:52:4827 // InterfaceProxy implementation.
[email protected]a95986a82010-12-24 06:19:2828 virtual bool OnMessageReceived(const IPC::Message& msg);
[email protected]1054c072010-11-05 22:52:4829
30 private:
31 // Message handlers.
[email protected]be0a84b2011-08-13 04:18:4432 void OnMsgReadImageData(const ppapi::HostResource& device_context_2d,
33 const ppapi::HostResource& image,
[email protected]1054c072010-11-05 22:52:4834 const PP_Point& top_left,
[email protected]19d2b012010-11-08 16:32:1835 PP_Bool* result);
[email protected]7358d572011-02-15 18:44:4036 void OnMsgRunMessageLoop(PP_Instance instance);
37 void OnMsgQuitMessageLoop(PP_Instance instance);
[email protected]4614f192011-01-21 00:26:4338 void OnMsgGetLiveObjectsForInstance(PP_Instance instance, uint32_t* result);
[email protected]1054c072010-11-05 22:52:4839
[email protected]5c966022011-09-13 18:09:3740 // When this proxy is in the host side, this value caches the interface
41 // pointer so we don't have to retrieve it from the dispatcher each time.
42 // In the plugin, this value is always NULL.
43 const PPB_Testing_Dev* ppb_testing_impl_;
44
[email protected]1054c072010-11-05 22:52:4845 DISALLOW_COPY_AND_ASSIGN(PPB_Testing_Proxy);
46};
47
48} // namespace proxy
[email protected]4d2efd22011-08-18 21:58:0249} // namespace ppapi
[email protected]1054c072010-11-05 22:52:4850
51#endif // PPAPI_PROXY_PPB_TESTING_PROXY_H_