1 // 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.
5 #ifndef PPAPI_PROXY_PPB_VAR_DEPRECATED_PROXY_H_
6 #define PPAPI_PROXY_PPB_VAR_DEPRECATED_PROXY_H_
10 #include "base/memory/weak_ptr.h"
11 #include "ppapi/c/pp_instance.h"
12 #include "ppapi/proxy/interface_proxy.h"
14 struct PPB_Var_Deprecated;
20 class SerializedVarReceiveInput;
21 class SerializedVarVectorOutParam;
22 class SerializedVarVectorReceiveInput;
23 class SerializedVarOutParam;
24 class SerializedVarReturnValue;
26 class PPB_Var_Deprecated_Proxy : public InterfaceProxy {
28 explicit PPB_Var_Deprecated_Proxy(Dispatcher* dispatcher);
29 virtual ~PPB_Var_Deprecated_Proxy();
31 static const PPB_Var_Deprecated* GetProxyInterface();
33 // InterfaceProxy implementation.
34 virtual bool OnMessageReceived(const IPC::Message& msg);
38 void OnMsgAddRefObject(int64 object_id);
39 void OnMsgReleaseObject(int64 object_id);
40 void OnMsgHasProperty(SerializedVarReceiveInput var,
41 SerializedVarReceiveInput name,
42 SerializedVarOutParam exception,
44 void OnMsgHasMethodDeprecated(SerializedVarReceiveInput var,
45 SerializedVarReceiveInput name,
46 SerializedVarOutParam exception,
48 void OnMsgGetProperty(SerializedVarReceiveInput var,
49 SerializedVarReceiveInput name,
50 SerializedVarOutParam exception,
51 SerializedVarReturnValue result);
52 void OnMsgEnumerateProperties(
53 SerializedVarReceiveInput var,
54 SerializedVarVectorOutParam props,
55 SerializedVarOutParam exception);
56 void OnMsgSetPropertyDeprecated(SerializedVarReceiveInput var,
57 SerializedVarReceiveInput name,
58 SerializedVarReceiveInput value,
59 SerializedVarOutParam exception);
60 void OnMsgDeleteProperty(SerializedVarReceiveInput var,
61 SerializedVarReceiveInput name,
62 SerializedVarOutParam exception,
64 void OnMsgCall(SerializedVarReceiveInput object,
65 SerializedVarReceiveInput this_object,
66 SerializedVarReceiveInput method_name,
67 SerializedVarVectorReceiveInput arg_vector,
68 SerializedVarOutParam exception,
69 SerializedVarReturnValue result);
70 void OnMsgCallDeprecated(SerializedVarReceiveInput object,
71 SerializedVarReceiveInput method_name,
72 SerializedVarVectorReceiveInput arg_vector,
73 SerializedVarOutParam exception,
74 SerializedVarReturnValue result);
75 void OnMsgConstruct(SerializedVarReceiveInput var,
76 SerializedVarVectorReceiveInput arg_vector,
77 SerializedVarOutParam exception,
78 SerializedVarReturnValue result);
79 void OnMsgIsInstanceOfDeprecated(SerializedVarReceiveInput var,
81 int64* ppp_class_data,
83 void OnMsgCreateObjectDeprecated(PP_Instance instance,
86 SerializedVarReturnValue result);
88 // Call in the host for messages that can be reentered.
89 void SetAllowPluginReentrancy();
91 void DoReleaseObject(int64 object_id);
93 const PPB_Var_Deprecated* ppb_var_impl_;
95 base::WeakPtrFactory<PPB_Var_Deprecated_Proxy> task_factory_;
97 DISALLOW_COPY_AND_ASSIGN(PPB_Var_Deprecated_Proxy);
103 #endif // PPAPI_PROXY_PPB_VAR_DEPRECATED_PROXY_H_