Chromium Code Reviews| Index: ppapi/cpp/private/content_decryptor_private.h |
| diff --git a/ppapi/cpp/private/content_decryptor_private.h b/ppapi/cpp/private/content_decryptor_private.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..ef2cd870bcebb3ab81f3b957edf9aa791501e998 |
| --- /dev/null |
| +++ b/ppapi/cpp/private/content_decryptor_private.h |
| @@ -0,0 +1,64 @@ |
| +// Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#ifndef PPAPI_CPP_PRIVATE_CONTENT_DECRYPTOR_PRIVATE_H_ |
| +#define PPAPI_CPP_PRIVATE_CONTENT_DECRYPTOR_PRIVATE_H_ |
| + |
| +#include "ppapi/cpp/instance_handle.h" |
| +#include "ppapi/cpp/var.h" |
| +#include "ppapi/cpp/var_array_buffer.h" |
| +#include "ppapi/cpp/dev/buffer_dev.h" |
| +#include "ppapi/c/private/ppb_content_decryptor_private.h" |
| +#include "ppapi/c/private/ppp_content_decryptor_private.h" |
| + |
| +namespace pp { |
| + |
| +class Instance; |
| + |
| +class ContentDecryptor_Private { |
| + public: |
| + explicit ContentDecryptor_Private(Instance* instance); |
| + virtual ~ContentDecryptor_Private(); |
| + |
| + // PPP_ContentDecryptor_Private functions exposed as virtual functions |
| + // for you to override. |
| + virtual bool GenerateKeyRequest(const std::string& key_system, |
| + pp::VarArrayBuffer init_data) = 0; |
| + virtual bool AddKey(const std::string& session_id, |
| + pp::VarArrayBuffer key) = 0; |
| + virtual bool CancelKeyRequest(const std::string& session_id) = 0; |
| + virtual bool Decrypt(pp::Buffer_Dev encrypted_block, |
|
xhwang
2012/08/15 00:27:57
Since the type is pp::Buffer_Dev, make the variabl
Tom Finegan
2012/08/16 03:10:48
Done.
|
| + int32_t request_id) = 0; |
| + virtual bool DecryptAndDecode(pp::Buffer_Dev encrypted_block, |
| + int32_t request_id) = 0; |
| + |
| + // PPB_ContentDecryptor_Private methods for passing data from the decryptor |
| + // to the browser. |
| + void NeedKey(const std::string& key_system, |
| + const std::string& session_id, |
| + const std::string& init_data); |
| + void KeyAdded(const std::string& key_system, |
| + const std::string& session_id); |
| + void KeyMessage(const std::string& key_system, |
| + const std::string& session_id, |
| + pp::Buffer_Dev message, |
| + const std::string& default_url); // String. |
|
xhwang
2012/08/15 00:27:57
Do we need this comment "// String"?
Tom Finegan
2012/08/16 03:10:48
Done.
|
| + void KeyError(const std::string& key_system, |
| + const std::string& session_id, |
| + int32_t media_error, |
| + int32_t system_code); |
| + void DeliverBlock(pp::Buffer_Dev decrypted_block, |
| + int32_t request_id); |
| + void DeliverFrame(pp::Buffer_Dev decrypted_frame, |
| + int32_t request_id); |
| + void DeliverSamples(pp::Buffer_Dev decrypted_samples, |
| + int32_t request_id); |
| + |
| + private: |
| + InstanceHandle associated_instance_; |
| +}; |
| + |
| +} // namespace pp |
| + |
| +#endif // PPAPI_CPP_PRIVATE_CONTENT_DECRYPTOR_PRIVATE_H_ |