blob: b52a500ab610e6c4a8bee743b9a2cd3fc54d592f [file] [log] [blame]
[email protected]8c3bd1d2011-04-12 20:01:421// Copyright (c) 2011 The Chromium Authors. All rights reserved.
2// 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_PPP_GRAPHICS_3D_PROXY_H_
6#define PPAPI_PROXY_PPP_GRAPHICS_3D_PROXY_H_
7
8#include "ppapi/c/pp_instance.h"
[email protected]8c3bd1d2011-04-12 20:01:429#include "ppapi/proxy/interface_proxy.h"
10
11struct PPP_Graphics3D_Dev;
12
13namespace pp {
14namespace proxy {
15
16class PPP_Graphics3D_Proxy : public InterfaceProxy {
17 public:
18 PPP_Graphics3D_Proxy(Dispatcher* dispatcher, const void* target_interface);
19 virtual ~PPP_Graphics3D_Proxy();
20
21 static const Info* GetInfo();
22
23 const PPP_Graphics3D_Dev* ppp_graphics_3d_target() const {
24 return reinterpret_cast<const PPP_Graphics3D_Dev*>(target_interface());
25 }
26
27 // InterfaceProxy implementation.
28 virtual bool OnMessageReceived(const IPC::Message& msg);
29
30 private:
31 // Message handlers.
32 void OnMsgContextLost(PP_Instance instance);
33};
34
35} // namespace proxy
36} // namespace pp
37
38#endif // PPAPI_PROXY_PPP_GRAPHICS_3D_PROXY_H_