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)// Defines helper functions for all interfaces supported by the Native Client 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// proxy. 75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef NATIVE_CLIENT_TESTS_PPAPI_TEST_PPB_TEMPLATE_GET_BROWSER_INTERFACE_H 95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define NATIVE_CLIENT_TESTS_PPAPI_TEST_PPB_TEMPLATE_GET_BROWSER_INTERFACE_H 105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ppapi/c/ppb_audio.h" 125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ppapi/c/ppb_audio_config.h" 135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ppapi/c/ppb_core.h" 145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ppapi/c/ppb_file_io.h" 155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ppapi/c/ppb_file_ref.h" 165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ppapi/c/ppb_file_system.h" 175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ppapi/c/ppb_fullscreen.h" 185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ppapi/c/ppb_graphics_2d.h" 195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ppapi/c/ppb_graphics_3d.h" 205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ppapi/c/ppb_image_data.h" 215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ppapi/c/ppb_input_event.h" 225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ppapi/c/ppb_instance.h" 235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ppapi/c/ppb_messaging.h" 245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ppapi/c/ppb_mouse_cursor.h" 255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ppapi/c/ppb_opengles2.h" 265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ppapi/c/ppb_url_loader.h" 275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ppapi/c/ppb_url_request_info.h" 285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ppapi/c/ppb_url_response_info.h" 295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ppapi/c/ppb_var.h" 305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ppapi/c/ppb_view.h" 315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ppapi/c/dev/ppb_font_dev.h" 325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ppapi/c/dev/ppb_memory_dev.h" 33f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)#include "ppapi/c/private/ppb_testing_private.h" 345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Looks up the interface and returns its pointer or NULL. 365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const void* GetBrowserInterface(const char* interface_name); 375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Uses GetBrowserInterface() and CHECKs for NULL. 385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const void* GetBrowserInterfaceSafe(const char* interface_name); 395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// 415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Stable interfaces. 425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Lookup guarantees that the interface is available by using NULL CHECKs. 435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// 445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const PPB_Audio* PPBAudio(); 465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const PPB_AudioConfig* PPBAudioConfig(); 475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const PPB_Core* PPBCore(); 485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const PPB_FileIO* PPBFileIO(); 495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const PPB_FileRef* PPBFileRef(); 505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const PPB_FileSystem* PPBFileSystem(); 515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const PPB_Fullscreen* PPBFullscreen(); 525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const PPB_Graphics2D* PPBGraphics2D(); 535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const PPB_Graphics3D* PPBGraphics3D(); 545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const PPB_ImageData* PPBImageData(); 555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const PPB_InputEvent* PPBInputEvent(); 565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const PPB_Instance* PPBInstance(); 575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const PPB_KeyboardInputEvent* PPBKeyboardInputEvent(); 585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const PPB_Messaging* PPBMessaging(); 595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const PPB_MouseCursor* PPBMouseCursor(); 605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const PPB_MouseInputEvent* PPBMouseInputEvent(); 615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const PPB_OpenGLES2* PPBOpenGLES2(); 625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const PPB_URLLoader* PPBURLLoader(); 635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const PPB_URLRequestInfo* PPBURLRequestInfo(); 645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const PPB_URLResponseInfo* PPBURLResponseInfo(); 655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const PPB_Var* PPBVar(); 665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const PPB_View* PPBView(); 675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const PPB_WheelInputEvent* PPBWheelInputEvent(); 685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// 705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Experimental (aka Dev) interfaces. 715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Lookup returns NULL if the interface is not available. 725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// 735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const PPB_Font_Dev* PPBFontDev(); 755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const PPB_Memory_Dev* PPBMemoryDev(); 76f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 77f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)// 78f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)// Private interfaces. 79f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)// Lookup returns NULL if the interface is not available. 80f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)// 81f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) 82f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)const PPB_Testing_Private* PPBTestingPrivate(); 835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif // NATIVE_CLIENT_TESTS_PPAPI_TEST_PPB_TEMPLATE_GET_BROWSER_INTERFACE_H 85