| Index: ppapi/c/private/ppb_talk_private.h
|
| diff --git a/ppapi/c/private/ppb_talk_private.h b/ppapi/c/private/ppb_talk_private.h
|
| index 5783d8b64a69520b19307551a1c695609c8a7ef3..7fc11ccc628006a18aed9d5c12314708f8f825ea 100644
|
| --- a/ppapi/c/private/ppb_talk_private.h
|
| +++ b/ppapi/c/private/ppb_talk_private.h
|
| @@ -3,7 +3,7 @@
|
| * found in the LICENSE file.
|
| */
|
|
|
| -/* From private/ppb_talk_private.idl modified Fri Nov 9 14:42:36 2012. */
|
| +/* From private/ppb_talk_private.idl modified Thu Jun 6 10:54:19 2013. */
|
|
|
| #ifndef PPAPI_C_PRIVATE_PPB_TALK_PRIVATE_H_
|
| #define PPAPI_C_PRIVATE_PPB_TALK_PRIVATE_H_
|
| @@ -15,41 +15,142 @@
|
| #include "ppapi/c/pp_stdint.h"
|
|
|
| #define PPB_TALK_PRIVATE_INTERFACE_1_0 "PPB_Talk_Private;1.0"
|
| -#define PPB_TALK_PRIVATE_INTERFACE PPB_TALK_PRIVATE_INTERFACE_1_0
|
| +#define PPB_TALK_PRIVATE_INTERFACE_2_0 "PPB_Talk_Private;2.0"
|
| +#define PPB_TALK_PRIVATE_INTERFACE PPB_TALK_PRIVATE_INTERFACE_2_0
|
|
|
| /**
|
| * @file
|
| - * This file contains the <code>PPB_Talk</code> interface.
|
| + * This file contains the <code>PPB_Talk_Private</code> interface.
|
| */
|
|
|
|
|
| /**
|
| + * @addtogroup Enums
|
| + * @{
|
| + */
|
| +/**
|
| + * The type of permissions that can be requested from the user.
|
| + */
|
| +typedef enum {
|
| + /**
|
| + * Request permission for screencast.
|
| + */
|
| + PP_TALKPERMISSION_SCREENCAST,
|
| + /**
|
| + * Request permission for Remote Desktop.
|
| + */
|
| + PP_TALKPERMISSION_REMOTING,
|
| + /**
|
| + * Request permission for continuing Remote Desktop.
|
| + */
|
| + PP_TALKPERMISSION_REMOTING_CONTINUE,
|
| + /**
|
| + * Number of permissions.
|
| + */
|
| + PP_TALKPERMISSION_NUM_PERMISSIONS
|
| +} PP_TalkPermission;
|
| +PP_COMPILE_ASSERT_SIZE_IN_BYTES(PP_TalkPermission, 4);
|
| +
|
| +/**
|
| + * Talk event types reported by the browser.
|
| + */
|
| +typedef enum {
|
| + /**
|
| + * Indicates that the user took action to terminate the remoting session.
|
| + */
|
| + PP_TALKEVENT_TERMINATE,
|
| + /**
|
| + * Indicates that an error occurred (e.g. failed to show the UI).
|
| + */
|
| + PP_TALKEVENT_ERROR,
|
| + /**
|
| + * Number of events
|
| + */
|
| + PP_TALKEVENT_NUM_EVENTS
|
| +} PP_TalkEvent;
|
| +PP_COMPILE_ASSERT_SIZE_IN_BYTES(PP_TalkEvent, 4);
|
| +/**
|
| + * @}
|
| + */
|
| +
|
| +/**
|
| + * @addtogroup Typedefs
|
| + * @{
|
| + */
|
| +/**
|
| + * Callback for Talk events.
|
| + */
|
| +typedef void (*PP_TalkEventCallback)(void* user_data, PP_TalkEvent event);
|
| +/**
|
| + * @}
|
| + */
|
| +
|
| +/**
|
| * @addtogroup Interfaces
|
| * @{
|
| */
|
| /**
|
| * Extra interface for Talk.
|
| */
|
| -struct PPB_Talk_Private_1_0 {
|
| +struct PPB_Talk_Private_2_0 {
|
| /**
|
| * Creates a Talk_Private resource.
|
| */
|
| PP_Resource (*Create)(PP_Instance instance);
|
| /**
|
| - * Displays security UI.
|
| + * Requests permission from the user using a system modal dialog.
|
| + *
|
| + * <code>permission</code> specifies the type of permission to request from
|
| + * the user.
|
| *
|
| - * The callback will be issued with 1 as the result if the user gave
|
| - * permission, or 0 if the user denied.
|
| + * <code>callback</code> is the completion callback. It will be issued with 1
|
| + * as the result if the user gave permission, or 0 if the user denied.
|
| *
|
| * You can only have one call pending. It will return PP_OK_COMPLETIONPENDING
|
| * if the request is queued, or PP_ERROR_INPROGRESS if there is already a
|
| * request in progress.
|
| */
|
| - int32_t (*GetPermission)(PP_Resource talk_resource,
|
| + int32_t (*RequestPermission)(PP_Resource talk_resource,
|
| + PP_TalkPermission permission,
|
| + struct PP_CompletionCallback callback);
|
| + /**
|
| + * Shows the remoting-in-progress UI and registers a callback for events.
|
| + *
|
| + * <code>event_callback</code> is the callback for session releated events.
|
| + * It will only start receiving events after the completion callback has been
|
| + * issued. This callback will be called on the pepper main thread.
|
| + *
|
| + * <code>user_data</code> is an opaque value used when
|
| + * <code>event_callback</code> is invoked.
|
| + *
|
| + * <code>callback</code> is the completion callback.
|
| + *
|
| + * You can only have one call pending. It will return PP_OK_COMPLETIONPENDING
|
| + * if the request is queued, or PP_ERROR_INPROGRESS if there is already a
|
| + * request in progress. PP_ERROR_INPROGRESS will also be returned if a
|
| + * previous call to StartRemoting succeeded without a corresponding
|
| + * StopRemoting call.
|
| + */
|
| + int32_t (*StartRemoting)(PP_Resource talk_resource,
|
| + PP_TalkEventCallback event_callback,
|
| + void* user_data,
|
| struct PP_CompletionCallback callback);
|
| + /**
|
| + * Hides the remoting-in-progress UI and unregisters the event callback.
|
| + *
|
| + * <code>callback</code> is the completion callback.
|
| + */
|
| + int32_t (*StopRemoting)(PP_Resource talk_resource,
|
| + struct PP_CompletionCallback callback);
|
| };
|
|
|
| -typedef struct PPB_Talk_Private_1_0 PPB_Talk_Private;
|
| +typedef struct PPB_Talk_Private_2_0 PPB_Talk_Private;
|
| +
|
| +struct PPB_Talk_Private_1_0 {
|
| + PP_Resource (*Create)(PP_Instance instance);
|
| + int32_t (*GetPermission)(PP_Resource talk_resource,
|
| + struct PP_CompletionCallback callback);
|
| +};
|
| /**
|
| * @}
|
| */
|
|
|