[email protected] | 25651387 | 2012-01-05 15:41:52 | [diff] [blame] | 1 | // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
[email protected] | 18d871f | 2011-09-08 16:56:34 | [diff] [blame] | 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_MOUSE_LOCK_PROXY_H_ | ||||
6 | #define PPAPI_PROXY_PPP_MOUSE_LOCK_PROXY_H_ | ||||
7 | |||||
[email protected] | c47317e | 2012-06-20 22:35:31 | [diff] [blame] | 8 | #include "base/compiler_specific.h" |
[email protected] | 18d871f | 2011-09-08 16:56:34 | [diff] [blame] | 9 | #include "ppapi/c/pp_instance.h" |
[email protected] | 25651387 | 2012-01-05 15:41:52 | [diff] [blame] | 10 | #include "ppapi/c/ppp_mouse_lock.h" |
[email protected] | 18d871f | 2011-09-08 16:56:34 | [diff] [blame] | 11 | #include "ppapi/proxy/interface_proxy.h" |
12 | |||||
[email protected] | 18d871f | 2011-09-08 16:56:34 | [diff] [blame] | 13 | namespace ppapi { |
14 | namespace proxy { | ||||
15 | |||||
16 | class PPP_MouseLock_Proxy : public InterfaceProxy { | ||||
17 | public: | ||||
[email protected] | 5c96602 | 2011-09-13 18:09:37 | [diff] [blame] | 18 | PPP_MouseLock_Proxy(Dispatcher* dispatcher); |
[email protected] | 18d871f | 2011-09-08 16:56:34 | [diff] [blame] | 19 | virtual ~PPP_MouseLock_Proxy(); |
20 | |||||
[email protected] | 6642ebf | 2013-12-17 20:49:30 | [diff] [blame] | 21 | static const PPP_MouseLock* GetProxyInterface(); |
[email protected] | 18d871f | 2011-09-08 16:56:34 | [diff] [blame] | 22 | |
[email protected] | 18d871f | 2011-09-08 16:56:34 | [diff] [blame] | 23 | // InterfaceProxy implementation. |
mostynb | 699af3c | 2014-10-06 18:03:34 | [diff] [blame] | 24 | virtual bool OnMessageReceived(const IPC::Message& msg) override; |
[email protected] | 18d871f | 2011-09-08 16:56:34 | [diff] [blame] | 25 | |
26 | private: | ||||
27 | // Message handlers. | ||||
28 | void OnMsgMouseLockLost(PP_Instance instance); | ||||
[email protected] | 5c96602 | 2011-09-13 18:09:37 | [diff] [blame] | 29 | |
30 | // When this proxy is in the plugin side, this value caches the interface | ||||
31 | // pointer so we don't have to retrieve it from the dispatcher each time. | ||||
32 | // In the host, this value is always NULL. | ||||
[email protected] | 1314f5f | 2011-10-16 02:26:56 | [diff] [blame] | 33 | const PPP_MouseLock* ppp_mouse_lock_impl_; |
[email protected] | 5c96602 | 2011-09-13 18:09:37 | [diff] [blame] | 34 | |
35 | DISALLOW_COPY_AND_ASSIGN(PPP_MouseLock_Proxy); | ||||
[email protected] | 18d871f | 2011-09-08 16:56:34 | [diff] [blame] | 36 | }; |
37 | |||||
38 | } // namespace proxy | ||||
39 | } // namespace ppapi | ||||
40 | |||||
41 | #endif // PPAPI_PROXY_PPP_MOUSE_LOCK_PROXY_H_ |