get_browser_interface.h revision f2477e01787aa58f445919b809d89e252beef54f
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// Defines helper functions for all interfaces supported by the Native Client 6// proxy. 7 8#ifndef NATIVE_CLIENT_TESTS_PPAPI_TEST_PPB_TEMPLATE_GET_BROWSER_INTERFACE_H 9#define NATIVE_CLIENT_TESTS_PPAPI_TEST_PPB_TEMPLATE_GET_BROWSER_INTERFACE_H 10 11#include "ppapi/c/ppb_audio.h" 12#include "ppapi/c/ppb_audio_config.h" 13#include "ppapi/c/ppb_core.h" 14#include "ppapi/c/ppb_file_io.h" 15#include "ppapi/c/ppb_file_ref.h" 16#include "ppapi/c/ppb_file_system.h" 17#include "ppapi/c/ppb_fullscreen.h" 18#include "ppapi/c/ppb_graphics_2d.h" 19#include "ppapi/c/ppb_graphics_3d.h" 20#include "ppapi/c/ppb_image_data.h" 21#include "ppapi/c/ppb_input_event.h" 22#include "ppapi/c/ppb_instance.h" 23#include "ppapi/c/ppb_messaging.h" 24#include "ppapi/c/ppb_mouse_cursor.h" 25#include "ppapi/c/ppb_opengles2.h" 26#include "ppapi/c/ppb_url_loader.h" 27#include "ppapi/c/ppb_url_request_info.h" 28#include "ppapi/c/ppb_url_response_info.h" 29#include "ppapi/c/ppb_var.h" 30#include "ppapi/c/ppb_view.h" 31#include "ppapi/c/dev/ppb_font_dev.h" 32#include "ppapi/c/dev/ppb_memory_dev.h" 33#include "ppapi/c/private/ppb_testing_private.h" 34 35// Looks up the interface and returns its pointer or NULL. 36const void* GetBrowserInterface(const char* interface_name); 37// Uses GetBrowserInterface() and CHECKs for NULL. 38const void* GetBrowserInterfaceSafe(const char* interface_name); 39 40// 41// Stable interfaces. 42// Lookup guarantees that the interface is available by using NULL CHECKs. 43// 44 45const PPB_Audio* PPBAudio(); 46const PPB_AudioConfig* PPBAudioConfig(); 47const PPB_Core* PPBCore(); 48const PPB_FileIO* PPBFileIO(); 49const PPB_FileRef* PPBFileRef(); 50const PPB_FileSystem* PPBFileSystem(); 51const PPB_Fullscreen* PPBFullscreen(); 52const PPB_Graphics2D* PPBGraphics2D(); 53const PPB_Graphics3D* PPBGraphics3D(); 54const PPB_ImageData* PPBImageData(); 55const PPB_InputEvent* PPBInputEvent(); 56const PPB_Instance* PPBInstance(); 57const PPB_KeyboardInputEvent* PPBKeyboardInputEvent(); 58const PPB_Messaging* PPBMessaging(); 59const PPB_MouseCursor* PPBMouseCursor(); 60const PPB_MouseInputEvent* PPBMouseInputEvent(); 61const PPB_OpenGLES2* PPBOpenGLES2(); 62const PPB_URLLoader* PPBURLLoader(); 63const PPB_URLRequestInfo* PPBURLRequestInfo(); 64const PPB_URLResponseInfo* PPBURLResponseInfo(); 65const PPB_Var* PPBVar(); 66const PPB_View* PPBView(); 67const PPB_WheelInputEvent* PPBWheelInputEvent(); 68 69// 70// Experimental (aka Dev) interfaces. 71// Lookup returns NULL if the interface is not available. 72// 73 74const PPB_Font_Dev* PPBFontDev(); 75const PPB_Memory_Dev* PPBMemoryDev(); 76 77// 78// Private interfaces. 79// Lookup returns NULL if the interface is not available. 80// 81 82const PPB_Testing_Private* PPBTestingPrivate(); 83 84#endif // NATIVE_CLIENT_TESTS_PPAPI_TEST_PPB_TEMPLATE_GET_BROWSER_INTERFACE_H 85