1 // Copyright 2014 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 // IPC messages for content decryption module (CDM) implementation. 6 // Multiply-included message file, hence no include guard. 7 8 #include <string> 9 #include <vector> 10 11 #include "base/basictypes.h" 12 #include "content/common/content_export.h" 13 #include "content/common/media/cdm_messages_enums.h" 14 #include "ipc/ipc_message_macros.h" 15 #include "media/base/media_keys.h" 16 #include "url/gurl.h" 17 18 #undef IPC_MESSAGE_EXPORT 19 #define IPC_MESSAGE_EXPORT CONTENT_EXPORT 20 #define IPC_MESSAGE_START CdmMsgStart 21 22 IPC_ENUM_TRAITS(media::MediaKeys::KeyError) 23 IPC_ENUM_TRAITS(CdmHostMsg_CreateSession_ContentType) 24 25 IPC_MESSAGE_ROUTED3(CdmHostMsg_InitializeCdm, 26 int /* cdm_id */, 27 std::string /* key_system */, 28 GURL /* security_origin */) 29 30 IPC_MESSAGE_ROUTED4(CdmHostMsg_CreateSession, 31 int /* cdm_id */, 32 uint32_t /* session_id */, 33 CdmHostMsg_CreateSession_ContentType /* content_type */, 34 std::vector<uint8> /* init_data */) 35 36 IPC_MESSAGE_ROUTED3(CdmHostMsg_UpdateSession, 37 int /* cdm_id */, 38 uint32_t /* session_id */, 39 std::vector<uint8> /* response */) 40 41 IPC_MESSAGE_ROUTED2(CdmHostMsg_ReleaseSession, 42 int /* cdm_id */, 43 uint32_t /* session_id */) 44 45 IPC_MESSAGE_ROUTED1(CdmHostMsg_DestroyCdm, int /* cdm_id */) 46 47 IPC_MESSAGE_ROUTED3(CdmMsg_SessionCreated, 48 int /* cdm_id */, 49 uint32_t /* session_id */, 50 std::string /* web_session_id */) 51 52 IPC_MESSAGE_ROUTED4(CdmMsg_SessionMessage, 53 int /* cdm_id */, 54 uint32_t /* session_id */, 55 std::vector<uint8> /* message */, 56 GURL /* destination_url */) 57 58 IPC_MESSAGE_ROUTED2(CdmMsg_SessionReady, 59 int /* cdm_id */, 60 uint32_t /* session_id */) 61 62 IPC_MESSAGE_ROUTED2(CdmMsg_SessionClosed, 63 int /* cdm_id */, 64 uint32_t /* session_id */) 65 66 IPC_MESSAGE_ROUTED4(CdmMsg_SessionError, 67 int /* cdm_id */, 68 uint32_t /* session_id */, 69 media::MediaKeys::KeyError /* error_code */, 70 uint32_t /* system_code */) 71