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