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 */
37struct 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
55typedef struct PPP_Instance_Private_0_1 PPP_Instance_Private;
56/**
57 * @}
58 */
59
60#endif  /* PPAPI_C_PRIVATE_PPP_INSTANCE_PRIVATE_H_ */
61
62