1*6777b538SAndroid Build Coastguard Worker // Copyright 2012 The Chromium Authors 2*6777b538SAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be 3*6777b538SAndroid Build Coastguard Worker // found in the LICENSE file. 4*6777b538SAndroid Build Coastguard Worker 5*6777b538SAndroid Build Coastguard Worker #ifndef IPC_STRUCT_CONSTRUCTOR_MACROS_H_ 6*6777b538SAndroid Build Coastguard Worker #define IPC_STRUCT_CONSTRUCTOR_MACROS_H_ 7*6777b538SAndroid Build Coastguard Worker 8*6777b538SAndroid Build Coastguard Worker // Null out all the macros that need nulling. 9*6777b538SAndroid Build Coastguard Worker #include "ipc/ipc_message_null_macros.h" 10*6777b538SAndroid Build Coastguard Worker 11*6777b538SAndroid Build Coastguard Worker // Set up so next include will generate constructors. 12*6777b538SAndroid Build Coastguard Worker #undef IPC_STRUCT_BEGIN_WITH_PARENT 13*6777b538SAndroid Build Coastguard Worker #undef IPC_STRUCT_MEMBER 14*6777b538SAndroid Build Coastguard Worker #undef IPC_STRUCT_END 15*6777b538SAndroid Build Coastguard Worker #define IPC_STRUCT_BEGIN_WITH_PARENT(struct_name, parent) \ 16*6777b538SAndroid Build Coastguard Worker struct_name::struct_name() : parent() 17*6777b538SAndroid Build Coastguard Worker #define IPC_STRUCT_MEMBER(type, name, ...) , name(__VA_ARGS__) 18*6777b538SAndroid Build Coastguard Worker #define IPC_STRUCT_END() {} 19*6777b538SAndroid Build Coastguard Worker 20*6777b538SAndroid Build Coastguard Worker #endif // IPC_STRUCT_CONSTRUCTOR_MACROS_H_ 21*6777b538SAndroid Build Coastguard Worker 22