flash_drm_resource.h revision d0247b1b59f9c528cb6df88b4f2b9afaf80d181e
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#ifndef PPAPI_PROXY_FLASH_DRM_RESOURCE_H_ 6#define PPAPI_PROXY_FLASH_DRM_RESOURCE_H_ 7 8#include "ppapi/proxy/plugin_resource.h" 9#include "ppapi/proxy/ppapi_proxy_export.h" 10#include "ppapi/shared_impl/tracked_callback.h" 11#include "ppapi/thunk/ppb_flash_drm_api.h" 12 13namespace ppapi { 14struct FileRefCreateInfo; 15} 16 17namespace ppapi { 18namespace proxy { 19 20class FlashDRMResource 21 : public PluginResource, 22 public thunk::PPB_Flash_DRM_API { 23 public: 24 FlashDRMResource(Connection connection, 25 PP_Instance instance); 26 virtual ~FlashDRMResource(); 27 28 // Resource override. 29 virtual thunk::PPB_Flash_DRM_API* AsPPB_Flash_DRM_API() OVERRIDE; 30 31 // PPB_Flash_DRM_API implementation. 32 virtual int32_t GetDeviceID(PP_Var* id, 33 scoped_refptr<TrackedCallback> callback) OVERRIDE; 34 virtual PP_Bool GetHmonitor(int64_t* hmonitor) OVERRIDE; 35 virtual int32_t GetVoucherFile( 36 PP_Resource* file_ref, 37 scoped_refptr<TrackedCallback> callback) OVERRIDE; 38 39 private: 40 void OnPluginMsgGetDeviceIDReply(PP_Var* dest, 41 scoped_refptr<TrackedCallback> callback, 42 const ResourceMessageReplyParams& params, 43 const std::string& id); 44 void OnPluginMsgGetVoucherFileReply(PP_Resource* dest, 45 scoped_refptr<TrackedCallback> callback, 46 const ResourceMessageReplyParams& params, 47 const FileRefCreateInfo& file_info); 48 49 DISALLOW_COPY_AND_ASSIGN(FlashDRMResource); 50}; 51 52} // namespace proxy 53} // namespace ppapi 54 55#endif // PPAPI_PROXY_FLASH_DRM_RESOURCE_H_ 56