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// Multiply-included message file, so no include guard.
6
7#include <string>
8
9#include "extensions/common/update_manifest.h"
10#include "ipc/ipc_message_macros.h"
11
12#define IPC_MESSAGE_START ExtensionUtilityMsgStart
13
14IPC_STRUCT_TRAITS_BEGIN(UpdateManifest::Result)
15  IPC_STRUCT_TRAITS_MEMBER(extension_id)
16  IPC_STRUCT_TRAITS_MEMBER(version)
17  IPC_STRUCT_TRAITS_MEMBER(browser_min_version)
18  IPC_STRUCT_TRAITS_MEMBER(package_hash)
19  IPC_STRUCT_TRAITS_MEMBER(crx_url)
20IPC_STRUCT_TRAITS_END()
21
22IPC_STRUCT_TRAITS_BEGIN(UpdateManifest::Results)
23  IPC_STRUCT_TRAITS_MEMBER(list)
24  IPC_STRUCT_TRAITS_MEMBER(daystart_elapsed_seconds)
25IPC_STRUCT_TRAITS_END()
26
27//------------------------------------------------------------------------------
28// Utility process messages:
29// These are messages from the browser to the utility process.
30
31// Tell the utility process to parse the given xml document.
32IPC_MESSAGE_CONTROL1(ExtensionUtilityMsg_ParseUpdateManifest,
33                     std::string /* xml document contents */)
34
35//------------------------------------------------------------------------------
36// Utility process host messages:
37// These are messages from the utility process to the browser.
38
39// Reply when the utility process has succeeded in parsing an update manifest
40// xml document.
41IPC_MESSAGE_CONTROL1(ExtensionUtilityHostMsg_ParseUpdateManifest_Succeeded,
42                     UpdateManifest::Results /* updates */)
43
44// Reply when an error occurred parsing the update manifest. |error_message|
45// is a description of what went wrong suitable for logging.
46IPC_MESSAGE_CONTROL1(ExtensionUtilityHostMsg_ParseUpdateManifest_Failed,
47                     std::string /* error_message, if any */)
48