summaryrefslogtreecommitdiffstats
path: root/chrome/common/service_messages.h
blob: 9d15df4832e28f3613d687599d2076a987ba583b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
// Copyright (c) 2010 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.

// Multiply-included message file, no traditional include guard.
#include <string>

#include "chrome/common/remoting/chromoting_host_info.h"
#include "ipc/ipc_channel_handle.h"
#include "ipc/ipc_message_macros.h"

#define IPC_MESSAGE_START ServiceMsgStart

IPC_STRUCT_TRAITS_BEGIN(remoting::ChromotingHostInfo)
  IPC_STRUCT_TRAITS_MEMBER(host_id)
  IPC_STRUCT_TRAITS_MEMBER(hostname)
  IPC_STRUCT_TRAITS_MEMBER(public_key)
  IPC_STRUCT_TRAITS_MEMBER(enabled)
  IPC_STRUCT_TRAITS_MEMBER(login)
IPC_STRUCT_TRAITS_END()

//-----------------------------------------------------------------------------
// Service process messages:
// These are messages from the browser to the service process.
// Tell the service process to enable the cloud proxy passing in the lsid
// of the account to be used.
IPC_MESSAGE_CONTROL1(ServiceMsg_EnableCloudPrintProxy,
                     std::string /* lsid */)
// Tell the service process to enable the cloud proxy passing in specific
// tokens to be used.
IPC_MESSAGE_CONTROL2(ServiceMsg_EnableCloudPrintProxyWithTokens,
                     std::string, /* token for cloudprint service */
                     std::string  /* token for Google Talk service */)
// Tell the service process to disable the cloud proxy.
IPC_MESSAGE_CONTROL0(ServiceMsg_DisableCloudPrintProxy)

// Requests a message back on whether the cloud print proxy is
// enabled.
IPC_MESSAGE_CONTROL0(ServiceMsg_IsCloudPrintProxyEnabled)

// Set credentials used by the RemotingHost.
IPC_MESSAGE_CONTROL2(ServiceMsg_SetRemotingHostCredentials,
                     std::string, /* username */
                     std::string  /* token for XMPP */)

// Enabled remoting host.
IPC_MESSAGE_CONTROL0(ServiceMsg_EnableRemotingHost)

// Disable remoting host.
IPC_MESSAGE_CONTROL0(ServiceMsg_DisableRemotingHost)

// Get remoting host status information.
IPC_MESSAGE_CONTROL0(ServiceMsg_GetRemotingHostInfo)

// Tell the service process to shutdown.
IPC_MESSAGE_CONTROL0(ServiceMsg_Shutdown)

// Tell the service process that an update is available.
IPC_MESSAGE_CONTROL0(ServiceMsg_UpdateAvailable)

//-----------------------------------------------------------------------------
// Service process host messages:
// These are messages from the service process to the browser.
// Sent when the cloud print proxy has an authentication error.
IPC_MESSAGE_CONTROL0(ServiceHostMsg_CloudPrintProxy_AuthError)

// Sent as a response to a request for enablement status.
IPC_MESSAGE_CONTROL2(ServiceHostMsg_CloudPrintProxy_IsEnabled,
                     bool,       /* Is the proxy enabled? */
                     std::string /* Email address of account */)

IPC_MESSAGE_CONTROL1(ServiceHostMsg_RemotingHost_HostInfo,
                     remoting::ChromotingHostInfo /* host_info */)