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 22IPC_ENUM_TRAITS(media::MediaKeys::KeyError) 23IPC_ENUM_TRAITS(CdmHostMsg_CreateSession_ContentType) 24 25IPC_MESSAGE_ROUTED3(CdmHostMsg_InitializeCdm, 26 int /* cdm_id */, 27 std::string /* key_system */, 28 GURL /* security_origin */) 29 30IPC_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 36IPC_MESSAGE_ROUTED3(CdmHostMsg_UpdateSession, 37 int /* cdm_id */, 38 uint32_t /* session_id */, 39 std::vector<uint8> /* response */) 40 41IPC_MESSAGE_ROUTED2(CdmHostMsg_ReleaseSession, 42 int /* cdm_id */, 43 uint32_t /* session_id */) 44 45IPC_MESSAGE_ROUTED1(CdmHostMsg_DestroyCdm, int /* cdm_id */) 46 47IPC_MESSAGE_ROUTED3(CdmMsg_SessionCreated, 48 int /* cdm_id */, 49 uint32_t /* session_id */, 50 std::string /* web_session_id */) 51 52IPC_MESSAGE_ROUTED4(CdmMsg_SessionMessage, 53 int /* cdm_id */, 54 uint32_t /* session_id */, 55 std::vector<uint8> /* message */, 56 GURL /* destination_url */) 57 58IPC_MESSAGE_ROUTED2(CdmMsg_SessionReady, 59 int /* cdm_id */, 60 uint32_t /* session_id */) 61 62IPC_MESSAGE_ROUTED2(CdmMsg_SessionClosed, 63 int /* cdm_id */, 64 uint32_t /* session_id */) 65 66IPC_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