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: 13 BadType() {} 14 }; 15 16 namespace IPC { 17 18 template <> 19 struct ParamTraits<BadType> { 20 static void Write(Message* m, const BadType& p) {} 21 static bool Read(const Message* m, PickleIterator* iter, BadType* r) { 22 return false; 23 } 24 static void Log(const BadType& p, std::string* l) {} 25 }; 26 27 } 28 29 #endif // IPC_CHANNEL_PROXY_UNITTEST_MESSAGES_H_ 30 31 32 #define IPC_MESSAGE_START TestMsgStart 33 IPC_MESSAGE_CONTROL0(TestMsg_Bounce) 34 IPC_MESSAGE_CONTROL0(TestMsg_SendBadMessage) 35 IPC_MESSAGE_CONTROL1(TestMsg_BadMessage, BadType) 36 37 #undef IPC_MESSAGE_START 38 #define IPC_MESSAGE_START UtilityMsgStart 39 IPC_MESSAGE_CONTROL0(UtilityMsg_Bounce) 40 41 #undef IPC_MESSAGE_START 42 #define IPC_MESSAGE_START WorkerMsgStart 43 IPC_MESSAGE_CONTROL0(WorkerMsg_Bounce) 44 IPC_MESSAGE_CONTROL0(WorkerMsg_Quit) 45