ppp_content_decryptor_private_proxy.h revision 5821806d5e7f356e8fa4b058a389a808ea183019
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_PPP_CONTENT_DECRYPTOR_PRIVATE_PROXY_H_ 6#define PPAPI_PROXY_PPP_CONTENT_DECRYPTOR_PRIVATE_PROXY_H_ 7 8#include <string> 9 10#include "ppapi/c/pp_instance.h" 11#include "ppapi/c/private/ppp_content_decryptor_private.h" 12#include "ppapi/proxy/interface_proxy.h" 13#include "ppapi/proxy/serialized_structs.h" 14#include "ppapi/shared_impl/host_resource.h" 15 16namespace ppapi { 17namespace proxy { 18 19class SerializedVarReceiveInput; 20 21class PPP_ContentDecryptor_Private_Proxy : public InterfaceProxy { 22 public: 23 explicit PPP_ContentDecryptor_Private_Proxy(Dispatcher* dispatcher); 24 virtual ~PPP_ContentDecryptor_Private_Proxy(); 25 26 static const PPP_ContentDecryptor_Private* GetProxyInterface(); 27 28 private: 29 // InterfaceProxy implementation. 30 virtual bool OnMessageReceived(const IPC::Message& msg); 31 32 // Message handlers. 33 void OnMsgGenerateKeyRequest(PP_Instance instance, 34 SerializedVarReceiveInput key_system, 35 SerializedVarReceiveInput type, 36 SerializedVarReceiveInput init_data); 37 void OnMsgAddKey(PP_Instance instance, 38 SerializedVarReceiveInput session_id, 39 SerializedVarReceiveInput key, 40 SerializedVarReceiveInput init_data); 41 void OnMsgCancelKeyRequest(PP_Instance instance, 42 SerializedVarReceiveInput session_id); 43 void OnMsgDecrypt(PP_Instance instance, 44 const PPPDecryptor_Buffer& encrypted_buffer, 45 const std::string& serialized_encrypted_block_info); 46 void OnMsgInitializeAudioDecoder( 47 PP_Instance instance, 48 const std::string& decoder_config, 49 const PPPDecryptor_Buffer& extra_data_buffer); 50 void OnMsgInitializeVideoDecoder( 51 PP_Instance instance, 52 const std::string& decoder_config, 53 const PPPDecryptor_Buffer& extra_data_buffer); 54 void OnMsgDeinitializeDecoder(PP_Instance instance, 55 PP_DecryptorStreamType decoder_type, 56 uint32_t request_id); 57 void OnMsgResetDecoder(PP_Instance instance, 58 PP_DecryptorStreamType decoder_type, 59 uint32_t request_id); 60 void OnMsgDecryptAndDecode( 61 PP_Instance instance, 62 PP_DecryptorStreamType decoder_type, 63 const PPPDecryptor_Buffer& encrypted_buffer, 64 const std::string& serialized_encrypted_block_info); 65 66 const PPP_ContentDecryptor_Private* ppp_decryptor_impl_; 67 68 DISALLOW_COPY_AND_ASSIGN(PPP_ContentDecryptor_Private_Proxy); 69}; 70 71} // namespace proxy 72} // namespace ppapi 73 74#endif // PPAPI_PROXY_PPP_CONTENT_DECRYPTOR_PRIVATE_PROXY_H_ 75