15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* Copyright (c) 2012 The Chromium Authors. All rights reserved.
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Use of this source code is governed by a BSD-style license that can be
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * found in the LICENSE file.
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
65d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)/* From ppb.idl modified Fri Jan 24 16:19:56 2014. */
75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef PPAPI_C_PPB_H_
95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define PPAPI_C_PPB_H_
105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ppapi/c/pp_macros.h"
125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ppapi/c/pp_stdint.h"
135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/**
155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @file
165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * This file defines a function pointer type for the
175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * <code>PPB_GetInterface</code> function.
185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/**
225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @addtogroup Typedefs
235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @{
245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/**
265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * This function pointer type defines the signature for the
275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * <code>PPB_GetInterface</code> function. A generic
285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * <code>PPB_GetInterface</code> pointer is passed to
295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * <code>PPP_InitializedModule</code> when your module is loaded. You can use
305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * this pointer to request a pointer to a specific browser interface. Browser
315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * interface names are ASCII strings and are generally defined in the header
325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * file for the interface, such as <code>PPB_AUDIO_INTERFACE</code> found in
335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * <code>ppb.audio.h</code> or
345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * <code>PPB_GRAPHICS_2D_INTERFACE</code> in <code>ppb_graphics_2d.h</code>.
355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Click
365d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) * <a href="globals_defs.html"
375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * title="macros">here</a> for a complete list of interface
385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * names.
395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) *
405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * This value will be NULL if the interface is not supported on the browser.
415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)typedef const void* (*PPB_GetInterface)(const char* interface_name);
435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/**
445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * @}
455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */
465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif  /* PPAPI_C_PPB_H_ */
485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
49