- add sources.
[platform/framework/web/crosswalk.git] / src / ppapi / proxy / flash_drm_resource.h
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
13 namespace ppapi {
14 struct FileRefCreateInfo;
15 }
16
17 namespace ppapi {
18 namespace proxy {
19
20 class 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_