• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 #include "ipc/ipc_message_macros.h"
6 
7 // Singly-included section for enums and custom IPC traits.
8 #ifndef IPC_CHANNEL_PROXY_UNITTEST_MESSAGES_H_
9 #define IPC_CHANNEL_PROXY_UNITTEST_MESSAGES_H_
10 
11 class BadType {
12  public:
BadType()13   BadType() {}
14 };
15 
16 namespace IPC {
17 
18 template <>
19 struct ParamTraits<BadType> {
20   static void Write(base::Pickle* m, const BadType& p) {}
21   static bool Read(const base::Pickle* m,
22                    base::PickleIterator* iter,
23                    BadType* r) {
24     return false;
25   }
26   static void Log(const BadType& p, std::string* l) {}
27 };
28 
29 }
30 
31 #endif  // IPC_CHANNEL_PROXY_UNITTEST_MESSAGES_H_
32 
33 #undef IPC_MESSAGE_START
34 #define IPC_MESSAGE_START TestMsgStart
35 IPC_MESSAGE_CONTROL0(TestMsg_Bounce)
36 IPC_MESSAGE_CONTROL0(TestMsg_SendBadMessage)
37 IPC_MESSAGE_CONTROL1(TestMsg_BadMessage, BadType)
38 
39 #undef IPC_MESSAGE_START
40 #define IPC_MESSAGE_START AutomationMsgStart
41 IPC_MESSAGE_CONTROL0(AutomationMsg_Bounce)
42 
43 #undef IPC_MESSAGE_START
44 #define IPC_MESSAGE_START WorkerMsgStart
45 IPC_MESSAGE_CONTROL0(WorkerMsg_Bounce)
46 IPC_MESSAGE_CONTROL0(WorkerMsg_Quit)
47