Home | History | Annotate | Download | only in private
      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 
      6 /* From private/ppb_flash_drm.idl modified Mon Nov 11 14:49:53 2013. */
      7 
      8 #ifndef PPAPI_C_PRIVATE_PPB_FLASH_DRM_H_
      9 #define PPAPI_C_PRIVATE_PPB_FLASH_DRM_H_
     10 
     11 #include "ppapi/c/pp_bool.h"
     12 #include "ppapi/c/pp_completion_callback.h"
     13 #include "ppapi/c/pp_instance.h"
     14 #include "ppapi/c/pp_macros.h"
     15 #include "ppapi/c/pp_resource.h"
     16 #include "ppapi/c/pp_stdint.h"
     17 #include "ppapi/c/pp_var.h"
     18 
     19 #define PPB_FLASH_DRM_INTERFACE_1_0 "PPB_Flash_DRM;1.0"
     20 #define PPB_FLASH_DRM_INTERFACE_1_1 "PPB_Flash_DRM;1.1"
     21 #define PPB_FLASH_DRM_INTERFACE PPB_FLASH_DRM_INTERFACE_1_1
     22 
     23 /**
     24  * @file
     25  * This file contains the <code>PPB_Flash_DRM</code> interface.
     26  */
     27 
     28 
     29 /**
     30  * @addtogroup Interfaces
     31  * @{
     32  */
     33 /**
     34  * A resource for performing Flash DRM-related operations.
     35  */
     36 struct PPB_Flash_DRM_1_1 {
     37   /**
     38    * Creates a PPB_Flash_DRM resource for performing DRM-related operations in
     39    * Flash.
     40    */
     41   PP_Resource (*Create)(PP_Instance instance);
     42   /**
     43    * Asynchronously computes the device ID. When available, it will place the
     44    * string in |*id| and will call the completion callback. On failure the
     45    * given var will be PP_VARTYPE_UNDEFINED.
     46    */
     47   int32_t (*GetDeviceID)(PP_Resource drm,
     48                          struct PP_Var* id,
     49                          struct PP_CompletionCallback callback);
     50   /**
     51    * Windows only. Synchronously outputs the HMONITOR corresponding to the
     52    * monitor on which the plugin instance is displayed in |hmonitor|. PP_TRUE is
     53    * returned on success.
     54    */
     55   PP_Bool (*GetHmonitor)(PP_Resource drm, int64_t* hmonitor);
     56   /**
     57    * Asynchronously returns a PPB_FileRef resource in |file_ref| which points to
     58    * the Voucher file for performing DRM verification. |callback| will be called
     59    * upon completion.
     60    */
     61   int32_t (*GetVoucherFile)(PP_Resource drm,
     62                             PP_Resource* file_ref,
     63                             struct PP_CompletionCallback callback);
     64   /**
     65    * Asynchronously returns a value indicating whether the monitor on which the
     66    * plugin instance is displayed is external. |callback| will be called upon
     67    * completion.
     68    */
     69   int32_t (*MonitorIsExternal)(PP_Resource drm,
     70                                PP_Bool* is_external,
     71                                struct PP_CompletionCallback callback);
     72 };
     73 
     74 typedef struct PPB_Flash_DRM_1_1 PPB_Flash_DRM;
     75 
     76 struct PPB_Flash_DRM_1_0 {
     77   PP_Resource (*Create)(PP_Instance instance);
     78   int32_t (*GetDeviceID)(PP_Resource drm,
     79                          struct PP_Var* id,
     80                          struct PP_CompletionCallback callback);
     81   PP_Bool (*GetHmonitor)(PP_Resource drm, int64_t* hmonitor);
     82   int32_t (*GetVoucherFile)(PP_Resource drm,
     83                             PP_Resource* file_ref,
     84                             struct PP_CompletionCallback callback);
     85 };
     86 /**
     87  * @}
     88  */
     89 
     90 #endif  /* PPAPI_C_PRIVATE_PPB_FLASH_DRM_H_ */
     91 
     92