• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /* Copyright (c) 2012 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 
6 /* From private/ppp_instance_private.idl modified Thu Mar 28 10:22:54 2013. */
7 
8 #ifndef PPAPI_C_PRIVATE_PPP_INSTANCE_PRIVATE_H_
9 #define PPAPI_C_PRIVATE_PPP_INSTANCE_PRIVATE_H_
10 
11 #include "ppapi/c/pp_bool.h"
12 #include "ppapi/c/pp_instance.h"
13 #include "ppapi/c/pp_macros.h"
14 #include "ppapi/c/pp_stdint.h"
15 #include "ppapi/c/pp_var.h"
16 
17 #define PPP_INSTANCE_PRIVATE_INTERFACE_0_1 "PPP_Instance_Private;0.1"
18 #define PPP_INSTANCE_PRIVATE_INTERFACE PPP_INSTANCE_PRIVATE_INTERFACE_0_1
19 
20 /**
21  * @file
22  * This file defines the PPP_InstancePrivate structure; a series of functions
23  * that a trusted plugin may implement to provide capabilities only available
24  * to trusted plugins.
25  */
26 
27 
28 /**
29  * @addtogroup Interfaces
30  * @{
31  */
32 /**
33  * The PPP_Instance_Private interface contains pointers to a series of
34  * functions that may be implemented in a trusted plugin to provide capabilities
35  * that aren't possible in untrusted modules.
36  */
37 struct PPP_Instance_Private_0_1 {
38   /**
39    * GetInstanceObject returns a PP_Var representing the scriptable object for
40    * the given instance. Normally this will be a PPP_Class_Deprecated object
41    * that exposes methods and properties to JavaScript.
42    *
43    * On Failure, the returned PP_Var should be a "void" var.
44    *
45    * The returned PP_Var should have a reference added for the caller, which
46    * will be responsible for Release()ing that reference.
47    *
48    * @param[in] instance A PP_Instance identifying the instance from which the
49    *            instance object is being requested.
50    * @return A PP_Var containing scriptable object.
51    */
52   struct PP_Var (*GetInstanceObject)(PP_Instance instance);
53 };
54 
55 typedef struct PPP_Instance_Private_0_1 PPP_Instance_Private;
56 /**
57  * @}
58  */
59 
60 #endif  /* PPAPI_C_PRIVATE_PPP_INSTANCE_PRIVATE_H_ */
61 
62