blob: cb6e6b4ffadee547c2ee74f9da27d54438f3fb58 [file] [log] [blame]
Torne (Richard Coles)58218062012-11-14 11:43:16 +00001/* 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
Torne (Richard Coles)5d1f7b12014-02-21 12:16:55 +00006/* From ppb.idl modified Fri Jan 24 16:19:56 2014. */
Torne (Richard Coles)58218062012-11-14 11:43:16 +00007
8#ifndef PPAPI_C_PPB_H_
9#define PPAPI_C_PPB_H_
10
11#include "ppapi/c/pp_macros.h"
12#include "ppapi/c/pp_stdint.h"
13
14/**
15 * @file
16 * This file defines a function pointer type for the
17 * <code>PPB_GetInterface</code> function.
18 */
19
20
21/**
22 * @addtogroup Typedefs
23 * @{
24 */
25/**
26 * This function pointer type defines the signature for the
27 * <code>PPB_GetInterface</code> function. A generic
28 * <code>PPB_GetInterface</code> pointer is passed to
29 * <code>PPP_InitializedModule</code> when your module is loaded. You can use
30 * this pointer to request a pointer to a specific browser interface. Browser
31 * interface names are ASCII strings and are generally defined in the header
32 * file for the interface, such as <code>PPB_AUDIO_INTERFACE</code> found in
33 * <code>ppb.audio.h</code> or
34 * <code>PPB_GRAPHICS_2D_INTERFACE</code> in <code>ppb_graphics_2d.h</code>.
35 * Click
Torne (Richard Coles)5d1f7b12014-02-21 12:16:55 +000036 * <a href="globals_defs.html"
Torne (Richard Coles)58218062012-11-14 11:43:16 +000037 * title="macros">here</a> for a complete list of interface
38 * names.
39 *
40 * This value will be NULL if the interface is not supported on the browser.
41 */
42typedef const void* (*PPB_GetInterface)(const char* interface_name);
43/**
44 * @}
45 */
46
47#endif /* PPAPI_C_PPB_H_ */
48