OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // Defining IPC Messages | 5 // Defining IPC Messages |
6 // | 6 // |
7 // Your IPC messages will be defined by macros inside of an XXX_messages.h | 7 // Your IPC messages will be defined by macros inside of an XXX_messages.h |
8 // header file. Most of the time, the system can automatically generate all | 8 // header file. Most of the time, the system can automatically generate all |
9 // of messaging mechanism from these definitions, but sometimes some manual | 9 // of messaging mechanism from these definitions, but sometimes some manual |
10 // coding is required. In these cases, you will also have an XXX_messages.cc | 10 // coding is required. In these cases, you will also have an XXX_messages.cc |
(...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
195 #define IPC_IPC_MESSAGE_MACROS_H_ | 195 #define IPC_IPC_MESSAGE_MACROS_H_ |
196 | 196 |
197 #include "base/profiler/scoped_profile.h" | 197 #include "base/profiler/scoped_profile.h" |
198 #include "ipc/ipc_message_utils.h" | 198 #include "ipc/ipc_message_utils.h" |
199 #include "ipc/param_traits_macros.h" | 199 #include "ipc/param_traits_macros.h" |
200 | 200 |
201 #if defined(IPC_MESSAGE_IMPL) | 201 #if defined(IPC_MESSAGE_IMPL) |
202 #include "ipc/ipc_message_utils_impl.h" | 202 #include "ipc/ipc_message_utils_impl.h" |
203 #endif | 203 #endif |
204 | 204 |
205 // Convenience macro for defining structs without inheritence. Should not need | 205 // Convenience macro for defining structs without inheritance. Should not need |
206 // to be subsequently redefined. | 206 // to be subsequently redefined. |
207 #define IPC_STRUCT_BEGIN(struct_name) \ | 207 #define IPC_STRUCT_BEGIN(struct_name) \ |
208 IPC_STRUCT_BEGIN_WITH_PARENT(struct_name, IPC::NoParams) | 208 IPC_STRUCT_BEGIN_WITH_PARENT(struct_name, IPC::NoParams) |
209 | 209 |
210 // Macros for defining structs. Will be subsequently redefined. | 210 // Macros for defining structs. Will be subsequently redefined. |
211 #define IPC_STRUCT_BEGIN_WITH_PARENT(struct_name, parent) \ | 211 #define IPC_STRUCT_BEGIN_WITH_PARENT(struct_name, parent) \ |
212 struct struct_name; \ | 212 struct struct_name; \ |
213 IPC_STRUCT_TRAITS_BEGIN(struct_name) \ | 213 IPC_STRUCT_TRAITS_BEGIN(struct_name) \ |
214 IPC_STRUCT_TRAITS_END() \ | 214 IPC_STRUCT_TRAITS_END() \ |
215 struct IPC_MESSAGE_EXPORT struct_name : parent { \ | 215 struct IPC_MESSAGE_EXPORT struct_name : parent { \ |
(...skipping 798 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1014 // equivalent without the #ifdef, VS2013 contains a bug where it is | 1014 // equivalent without the #ifdef, VS2013 contains a bug where it is |
1015 // over-aggressive in optimizing out #includes. Putting the #ifdef is a | 1015 // over-aggressive in optimizing out #includes. Putting the #ifdef is a |
1016 // workaround for this bug. See http://goo.gl/eGt2Fb for more details. | 1016 // workaround for this bug. See http://goo.gl/eGt2Fb for more details. |
1017 // This can be removed once VS2013 is fixed. | 1017 // This can be removed once VS2013 is fixed. |
1018 #ifdef IPC_MESSAGE_START | 1018 #ifdef IPC_MESSAGE_START |
1019 // Clean up IPC_MESSAGE_START in this unguarded section so that the | 1019 // Clean up IPC_MESSAGE_START in this unguarded section so that the |
1020 // XXX_messages.h files need not do so themselves. This makes the | 1020 // XXX_messages.h files need not do so themselves. This makes the |
1021 // XXX_messages.h files easier to write. | 1021 // XXX_messages.h files easier to write. |
1022 #undef IPC_MESSAGE_START | 1022 #undef IPC_MESSAGE_START |
1023 #endif | 1023 #endif |
OLD | NEW |