Implement multiple alternative services per origin.
[chromium-blink-merge.git] / chrome / common / service_messages.h
blobc1b598b134b9c68295e8b681cf3aa6af69cc2592
1 // Copyright (c) 2011 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.
5 // Multiply-included message file, no traditional include guard.
6 #include <string>
7 #include <vector>
9 #include "base/values.h"
10 #include "chrome/common/cloud_print/cloud_print_proxy_info.h"
11 #include "ipc/ipc_channel_handle.h"
12 #include "ipc/ipc_message_macros.h"
14 #define IPC_MESSAGE_START ServiceMsgStart
16 IPC_STRUCT_TRAITS_BEGIN(cloud_print::CloudPrintProxyInfo)
17 IPC_STRUCT_TRAITS_MEMBER(enabled)
18 IPC_STRUCT_TRAITS_MEMBER(email)
19 IPC_STRUCT_TRAITS_MEMBER(proxy_id)
20 IPC_STRUCT_TRAITS_END()
22 // Tell the service process to enable the cloud proxy passing in the OAuth2
23 // auth code of a robot account.
24 IPC_MESSAGE_CONTROL4(ServiceMsg_EnableCloudPrintProxyWithRobot,
25 std::string /* robot_auth_code */,
26 std::string /* robot_email */,
27 std::string /* user_email */,
28 base::DictionaryValue /* user_settings */)
30 // Tell the service process to disable the cloud proxy.
31 IPC_MESSAGE_CONTROL0(ServiceMsg_DisableCloudPrintProxy)
33 // Requests a message back on the current status of the cloud print proxy
34 // (whether it is enabled, the email address and the proxy id).
35 IPC_MESSAGE_CONTROL0(ServiceMsg_GetCloudPrintProxyInfo)
37 // Requests a message back with serialized UMA histograms.
38 IPC_MESSAGE_CONTROL0(ServiceMsg_GetHistograms)
40 // Requests a message back with all available printers.
41 IPC_MESSAGE_CONTROL0(ServiceMsg_GetPrinters)
43 // Tell the service process to shutdown.
44 IPC_MESSAGE_CONTROL0(ServiceMsg_Shutdown)
46 // Tell the service process that an update is available.
47 IPC_MESSAGE_CONTROL0(ServiceMsg_UpdateAvailable)
49 //-----------------------------------------------------------------------------
50 // Service process host messages:
51 // These are messages from the service process to the browser.
52 // Sent as a response to a request for cloud print proxy info
53 IPC_MESSAGE_CONTROL1(ServiceHostMsg_CloudPrintProxy_Info,
54 cloud_print::CloudPrintProxyInfo /* proxy info */)
56 // Sent as a response to ServiceMsg_GetHistograms.
57 IPC_MESSAGE_CONTROL1(ServiceHostMsg_Histograms,
58 std::vector<std::string> /* pickled_histograms */)
60 // Sent as a response to ServiceMsg_GetPrinters.
61 IPC_MESSAGE_CONTROL1(ServiceHostMsg_Printers,
62 std::vector<std::string> /* printers */)