summaryrefslogtreecommitdiffstats
path: root/ipc/ipc_sync_message_unittest.h
blob: 7b252b56c5a551e118c17836e69ae1bda2ee71ca (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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
// Copyright (c) 2006-2008 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.

#include "ipc/ipc_message_macros.h"

IPC_BEGIN_MESSAGES(Test)
  IPC_SYNC_MESSAGE_CONTROL0_0(SyncChannelTestMsg_NoArgs)

  IPC_SYNC_MESSAGE_CONTROL0_1(SyncChannelTestMsg_AnswerToLife,
                              int /* answer */)

  IPC_SYNC_MESSAGE_CONTROL1_1(SyncChannelTestMsg_Double,
                              int /* in */,
                              int /* out */)

  // out1 is false
  IPC_SYNC_MESSAGE_CONTROL0_1(Msg_C_0_1, bool)

  // out1 is true, out2 is 2
  IPC_SYNC_MESSAGE_CONTROL0_2(Msg_C_0_2, bool, int)

  // out1 is false, out2 is 3, out3 is "0_3"
  IPC_SYNC_MESSAGE_CONTROL0_3(Msg_C_0_3, bool, int, std::string)

  // in1 must be 1, out1 is true
  IPC_SYNC_MESSAGE_CONTROL1_1(Msg_C_1_1, int, bool)

  // in1 must be false, out1 is true, out2 is 12
  IPC_SYNC_MESSAGE_CONTROL1_2(Msg_C_1_2, bool, bool, int)

  // in1 must be 3, out1 is "1_3", out2 is 13, out3 is false
  IPC_SYNC_MESSAGE_CONTROL1_3(Msg_C_1_3, int, std::string, int, bool)

  // in1 must be 1, in2 must be false, out1 is true
  IPC_SYNC_MESSAGE_CONTROL2_1(Msg_C_2_1, int, bool, bool)

  // in1 must be false, in2 must be 2, out1 is true, out2 is 22
  IPC_SYNC_MESSAGE_CONTROL2_2(Msg_C_2_2, bool, int, bool, int)

  // in1 must be 3, in2 must be true, out1 is "2_3", out2 is 23, out3 is false
  IPC_SYNC_MESSAGE_CONTROL2_3(Msg_C_2_3, int, bool, std::string, int, bool)

  // in1 must be 1, in2 must be false, in3 must be "3_1", out1 is true
  IPC_SYNC_MESSAGE_CONTROL3_1(Msg_C_3_1, int, bool, std::string, bool)

  // in1 must be "3_3", in2 must be false, in3 must be 2, out1 is true, out2 is
  // 32
  IPC_SYNC_MESSAGE_CONTROL3_2(Msg_C_3_2, std::string, bool, int, bool, int)

  // in1 must be 3, in2 must be "3_3", in3 must be true, out1 is "3_3", out2 is
  // 33, out3 is false
  IPC_SYNC_MESSAGE_CONTROL3_3(Msg_C_3_3, int, std::string, bool, std::string,
                              int, bool)


  // NOTE: routed messages are just a copy of the above...

  // out1 is false
  IPC_SYNC_MESSAGE_ROUTED0_1(Msg_R_0_1, bool)

  // out1 is true, out2 is 2
  IPC_SYNC_MESSAGE_ROUTED0_2(Msg_R_0_2, bool, int)

  // out1 is false, out2 is 3, out3 is "0_3"
  IPC_SYNC_MESSAGE_ROUTED0_3(Msg_R_0_3, bool, int, std::string)

  // in1 must be 1, out1 is true
  IPC_SYNC_MESSAGE_ROUTED1_1(Msg_R_1_1, int, bool)

  // in1 must be false, out1 is true, out2 is 12
  IPC_SYNC_MESSAGE_ROUTED1_2(Msg_R_1_2, bool, bool, int)

  // in1 must be 3, out1 is "1_3", out2 is 13, out3 is false
  IPC_SYNC_MESSAGE_ROUTED1_3(Msg_R_1_3, int, std::string, int, bool)

  // in1 must be 1, in2 must be false, out1 is true
  IPC_SYNC_MESSAGE_ROUTED2_1(Msg_R_2_1, int, bool, bool)

  // in1 must be false, in2 must be 2, out1 is true, out2 is 22
  IPC_SYNC_MESSAGE_ROUTED2_2(Msg_R_2_2, bool, int, bool, int)

  // in1 must be 3, in2 must be true, out1 is "2_3", out2 is 23, out3 is false
  IPC_SYNC_MESSAGE_ROUTED2_3(Msg_R_2_3, int, bool, std::string, int, bool)

  // in1 must be 1, in2 must be false, in3 must be "3_1", out1 is true
  IPC_SYNC_MESSAGE_ROUTED3_1(Msg_R_3_1, int, bool, std::string, bool)

  // in1 must be "3_3", in2 must be false, in3 must be 2, out1 is true, out2
  // is 32
  IPC_SYNC_MESSAGE_ROUTED3_2(Msg_R_3_2, std::string, bool, int, bool, int)

  // in1 must be 3, in2 must be "3_3", in3 must be true, out1 is "3_3", out2 is
  // 33, out3 is false
  IPC_SYNC_MESSAGE_ROUTED3_3(Msg_R_3_3, int, std::string, bool, std::string,
                             int, bool)

IPC_END_MESSAGES(TestMsg)