.. _pepper_dev_cpp_index:
.. _cpp-api-dev:

.. DO NOT EDIT! This document is auto-generated by doxygen/rst_index.py.

.. include:: /migration/deprecation.inc

############################################
Pepper C++ API Reference (Dev)
############################################

This page lists the C++ API for Pepper 61. Apps that use this API can
run in Chrome 61 or higher.

`Classes <pepper_dev/cpp/inherits.html>`__
==================================================
  * `Audio <pepper_dev/cpp/classpp_1_1_audio.html>`__

  * `AudioBuffer <pepper_dev/cpp/classpp_1_1_audio_buffer.html>`__

  * `AudioConfig <pepper_dev/cpp/classpp_1_1_audio_config.html>`__

  * `AudioEncoder <pepper_dev/cpp/classpp_1_1_audio_encoder.html>`__

  * `CompletionCallback <pepper_dev/cpp/classpp_1_1_completion_callback.html>`__

  * `CompletionCallbackFactory <pepper_dev/cpp/classpp_1_1_completion_callback_factory.html>`__

  * `CompletionCallbackWithOutput <pepper_dev/cpp/classpp_1_1_completion_callback_with_output.html>`__

  * `Compositor <pepper_dev/cpp/classpp_1_1_compositor.html>`__

  * `CompositorLayer <pepper_dev/cpp/classpp_1_1_compositor_layer.html>`__

  * `Core <pepper_dev/cpp/classpp_1_1_core.html>`__

  * `DirectoryEntry <pepper_dev/cpp/classpp_1_1_directory_entry.html>`__

  * `FileIO <pepper_dev/cpp/classpp_1_1_file_i_o.html>`__

  * `FileRef <pepper_dev/cpp/classpp_1_1_file_ref.html>`__

  * `FileSystem <pepper_dev/cpp/classpp_1_1_file_system.html>`__

  * `FloatPoint <pepper_dev/cpp/classpp_1_1_float_point.html>`__

  * `FloatRect <pepper_dev/cpp/classpp_1_1_float_rect.html>`__

  * `FloatSize <pepper_dev/cpp/classpp_1_1_float_size.html>`__

  * `Fullscreen <pepper_dev/cpp/classpp_1_1_fullscreen.html>`__

  * `Graphics2D <pepper_dev/cpp/classpp_1_1_graphics2_d.html>`__

  * `Graphics3D <pepper_dev/cpp/classpp_1_1_graphics3_d.html>`__

  * `Graphics3DClient <pepper_dev/cpp/classpp_1_1_graphics3_d_client.html>`__

  * `HostResolver <pepper_dev/cpp/classpp_1_1_host_resolver.html>`__

  * `IMEInputEvent <pepper_dev/cpp/classpp_1_1_i_m_e_input_event.html>`__

  * `ImageData <pepper_dev/cpp/classpp_1_1_image_data.html>`__

  * `InputEvent <pepper_dev/cpp/classpp_1_1_input_event.html>`__

  * `Instance <pepper_dev/cpp/classpp_1_1_instance.html>`__

  * `InstanceHandle <pepper_dev/cpp/classpp_1_1_instance_handle.html>`__

  * `KeyboardInputEvent <pepper_dev/cpp/classpp_1_1_keyboard_input_event.html>`__

  * `MediaStreamAudioTrack <pepper_dev/cpp/classpp_1_1_media_stream_audio_track.html>`__

  * `MediaStreamVideoTrack <pepper_dev/cpp/classpp_1_1_media_stream_video_track.html>`__

  * `MessageHandler <pepper_dev/cpp/classpp_1_1_message_handler.html>`__

  * `MessageLoop <pepper_dev/cpp/classpp_1_1_message_loop.html>`__

  * `Module <pepper_dev/cpp/classpp_1_1_module.html>`__

  * `MouseCursor <pepper_dev/cpp/classpp_1_1_mouse_cursor.html>`__

  * `MouseInputEvent <pepper_dev/cpp/classpp_1_1_mouse_input_event.html>`__

  * `MouseLock <pepper_dev/cpp/classpp_1_1_mouse_lock.html>`__

  * `NetAddress <pepper_dev/cpp/classpp_1_1_net_address.html>`__

  * `NetworkList <pepper_dev/cpp/classpp_1_1_network_list.html>`__

  * `NetworkMonitor <pepper_dev/cpp/classpp_1_1_network_monitor.html>`__

  * `NetworkProxy <pepper_dev/cpp/classpp_1_1_network_proxy.html>`__

  * `Point <pepper_dev/cpp/classpp_1_1_point.html>`__

  * `Rect <pepper_dev/cpp/classpp_1_1_rect.html>`__

  * `Resource <pepper_dev/cpp/classpp_1_1_resource.html>`__

  * `Size <pepper_dev/cpp/classpp_1_1_size.html>`__

  * `TCPSocket <pepper_dev/cpp/classpp_1_1_t_c_p_socket.html>`__

  * `TextInputController <pepper_dev/cpp/classpp_1_1_text_input_controller.html>`__

  * `TouchInputEvent <pepper_dev/cpp/classpp_1_1_touch_input_event.html>`__

  * `TouchPoint <pepper_dev/cpp/classpp_1_1_touch_point.html>`__

  * `UDPSocket <pepper_dev/cpp/classpp_1_1_u_d_p_socket.html>`__

  * `URLLoader <pepper_dev/cpp/classpp_1_1_u_r_l_loader.html>`__

  * `URLRequestInfo <pepper_dev/cpp/classpp_1_1_u_r_l_request_info.html>`__

  * `URLResponseInfo <pepper_dev/cpp/classpp_1_1_u_r_l_response_info.html>`__

  * `Var <pepper_dev/cpp/classpp_1_1_var.html>`__

  * `Var11OutException <pepper_dev/cpp/classpp_1_1_var_1_1_out_exception.html>`__

  * `VarArray <pepper_dev/cpp/classpp_1_1_var_array.html>`__

  * `VarArrayBuffer <pepper_dev/cpp/classpp_1_1_var_array_buffer.html>`__

  * `VarDictionary <pepper_dev/cpp/classpp_1_1_var_dictionary.html>`__

  * `VideoDecoder <pepper_dev/cpp/classpp_1_1_video_decoder.html>`__

  * `VideoEncoder <pepper_dev/cpp/classpp_1_1_video_encoder.html>`__

  * `VideoFrame <pepper_dev/cpp/classpp_1_1_video_frame.html>`__

  * `View <pepper_dev/cpp/classpp_1_1_view.html>`__

  * `VpnProvider <pepper_dev/cpp/classpp_1_1_vpn_provider.html>`__

  * `WebSocket <pepper_dev/cpp/classpp_1_1_web_socket.html>`__

  * `WheelInputEvent <pepper_dev/cpp/classpp_1_1_wheel_input_event.html>`__

  * `Internal::DirectoryEntryArrayOutputAdapterWithStorage <pepper_dev/cpp/classpp_1_1internal_1_1_directory_entry_array_output_adapter_with_storage.html>`__


Files
=====
  * `audio.h <pepper_dev/cpp/audio_8h.html>`__

  * `audio_buffer.h <pepper_dev/cpp/audio__buffer_8h.html>`__

  * `audio_config.h <pepper_dev/cpp/audio__config_8h.html>`__

  * `audio_encoder.h <pepper_dev/cpp/audio__encoder_8h.html>`__

  * `completion_callback.h <pepper_dev/cpp/completion__callback_8h.html>`__

  * `completion_callback_factory.h <pepper_dev/cpp/completion__callback__factory_8h.html>`__

  * `compositor.h <pepper_dev/cpp/compositor_8h.html>`__

  * `compositor_layer.h <pepper_dev/cpp/compositor__layer_8h.html>`__

  * `core.h <pepper_dev/cpp/core_8h.html>`__

  * `directory_entry.h <pepper_dev/cpp/directory__entry_8h.html>`__

  * `file_io.h <pepper_dev/cpp/file__io_8h.html>`__

  * `file_ref.h <pepper_dev/cpp/file__ref_8h.html>`__

  * `file_system.h <pepper_dev/cpp/file__system_8h.html>`__

  * `fullscreen.h <pepper_dev/cpp/fullscreen_8h.html>`__

  * `graphics_2d.h <pepper_dev/cpp/graphics__2d_8h.html>`__

  * `graphics_3d.h <pepper_dev/cpp/graphics__3d_8h.html>`__

  * `graphics_3d_client.h <pepper_dev/cpp/graphics__3d__client_8h.html>`__

  * `host_resolver.h <pepper_dev/cpp/host__resolver_8h.html>`__

  * `image_data.h <pepper_dev/cpp/image__data_8h.html>`__

  * `input_event.h <pepper_dev/cpp/input__event_8h.html>`__

  * `instance.h <pepper_dev/cpp/instance_8h.html>`__

  * `instance_handle.h <pepper_dev/cpp/instance__handle_8h.html>`__

  * `logging.h <pepper_dev/cpp/logging_8h.html>`__

  * `media_stream_audio_track.h <pepper_dev/cpp/media__stream__audio__track_8h.html>`__

  * `media_stream_video_track.h <pepper_dev/cpp/media__stream__video__track_8h.html>`__

  * `message_handler.h <pepper_dev/cpp/message__handler_8h.html>`__

  * `message_loop.h <pepper_dev/cpp/message__loop_8h.html>`__

  * `module.h <pepper_dev/cpp/module_8h.html>`__

  * `module_embedder.h <pepper_dev/cpp/module__embedder_8h.html>`__

  * `module_impl.h <pepper_dev/cpp/module__impl_8h.html>`__

  * `mouse_cursor.h <pepper_dev/cpp/mouse__cursor_8h.html>`__

  * `mouse_lock.h <pepper_dev/cpp/mouse__lock_8h.html>`__

  * `net_address.h <pepper_dev/cpp/net__address_8h.html>`__

  * `network_list.h <pepper_dev/cpp/network__list_8h.html>`__

  * `network_monitor.h <pepper_dev/cpp/network__monitor_8h.html>`__

  * `network_proxy.h <pepper_dev/cpp/network__proxy_8h.html>`__

  * `pass_ref.h <pepper_dev/cpp/pass__ref_8h.html>`__

  * `point.h <pepper_dev/cpp/point_8h.html>`__

  * `rect.h <pepper_dev/cpp/rect_8h.html>`__

  * `resource.h <pepper_dev/cpp/resource_8h.html>`__

  * `size.h <pepper_dev/cpp/size_8h.html>`__

  * `tcp_socket.h <pepper_dev/cpp/tcp__socket_8h.html>`__

  * `text_input_controller.h <pepper_dev/cpp/text__input__controller_8h.html>`__

  * `touch_point.h <pepper_dev/cpp/touch__point_8h.html>`__

  * `udp_socket.h <pepper_dev/cpp/udp__socket_8h.html>`__

  * `url_loader.h <pepper_dev/cpp/url__loader_8h.html>`__

  * `url_request_info.h <pepper_dev/cpp/url__request__info_8h.html>`__

  * `url_response_info.h <pepper_dev/cpp/url__response__info_8h.html>`__

  * `var.h <pepper_dev/cpp/var_8h.html>`__

  * `var_array.h <pepper_dev/cpp/var__array_8h.html>`__

  * `var_array_buffer.h <pepper_dev/cpp/var__array__buffer_8h.html>`__

  * `var_dictionary.h <pepper_dev/cpp/var__dictionary_8h.html>`__

  * `video_decoder.h <pepper_dev/cpp/video__decoder_8h.html>`__

  * `video_encoder.h <pepper_dev/cpp/video__encoder_8h.html>`__

  * `video_frame.h <pepper_dev/cpp/video__frame_8h.html>`__

  * `view.h <pepper_dev/cpp/view_8h.html>`__

  * `vpn_provider.h <pepper_dev/cpp/vpn__provider_8h.html>`__

  * `websocket.h <pepper_dev/cpp/websocket_8h.html>`__

