| Index: ipc/ipc_param_traits_write_macros.h
|
| ===================================================================
|
| --- ipc/ipc_param_traits_write_macros.h (revision 0)
|
| +++ ipc/ipc_param_traits_write_macros.h (revision 0)
|
| @@ -0,0 +1,51 @@
|
| +// Copyright (c) 2011 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.
|
| +
|
| +#ifndef IPC_IPC_PARAM_TRAITS_WRITE_MACROS_H_
|
| +#define IPC_IPC_PARAM_TRAITS_WRITE_MACROS_H_
|
| +
|
| +// Enable multiple inclusion.
|
| +#undef IPC_MESSAGE_REINCLUDE
|
| +#define IPC_MESSAGE_REINCLUDE 1
|
| +
|
| +// Null out all the macros that need nulling.
|
| +#include "ipc/ipc_message_null_macros.h"
|
| +
|
| +// STRUCT declarations cause corresponding STRUCT_TRAITS declarations to occur.
|
| +#undef IPC_STRUCT_BEGIN
|
| +#undef IPC_STRUCT_MEMBER
|
| +#undef IPC_STRUCT_END
|
| +#define IPC_STRUCT_BEGIN(struct_name) IPC_STRUCT_TRAITS_BEGIN(struct_name)
|
| +#define IPC_STRUCT_MEMBER(type, name) IPC_STRUCT_TRAITS_MEMBER(name)
|
| +#define IPC_STRUCT_END(struct_name) IPC_STRUCT_TRAITS_END(struct_name)
|
| +
|
| +// ENUM declarations cause corresponding ENUM_TRAITS declartions to occur.
|
| +#undef IPC_ENUM_BEGIN
|
| +#undef IPC_ENUM_VALUE
|
| +#undef IPC_ENUM_END
|
| +#define IPC_ENUM_BEGIN(enum_name) IPC_ENUM_TRAITS_BEGIN(enum_name)
|
| +#define IPC_ENUM_VALUE(enum_name) IPC_ENUM_TRAITS_VALUE(enum_name)
|
| +#define IPC_ENUM_END(enum_name) IPC_ENUM_TRAITS_END(enum_name)
|
| +
|
| +// Set up so next include will generate write methods.
|
| +#undef IPC_STRUCT_TRAITS_BEGIN
|
| +#undef IPC_STRUCT_TRAITS_MEMBER
|
| +#undef IPC_STRUCT_TRAITS_END
|
| +#define IPC_STRUCT_TRAITS_BEGIN(struct_name) \
|
| + void ParamTraits<struct_name>::Write(Message* m, const param_type& p) {
|
| +#define IPC_STRUCT_TRAITS_MEMBER(name) WriteParam(m, p.name);
|
| +#define IPC_STRUCT_TRAITS_END(struct_name) }
|
| +
|
| +#undef IPC_ENUM_TRAITS_BEGIN
|
| +#undef IPC_ENUM_TRAITS_VALUE
|
| +#undef IPC_ENUM_TRAITS_END
|
| +#define IPC_ENUM_TRAITS_BEGIN(enum_name) \
|
| + void ParamTraits<enum_name>::Write(Message* m, const param_type& p) { \
|
| + m->WriteInt(static_cast<int>(p)); \
|
| + }
|
| +#define IPC_ENUM_TRAITS_VALUE(name)
|
| +#define IPC_ENUM_TRAITS_END(enum_name)
|
| +
|
| +#endif // IPC_IPC_PARAM_TRAITS_WRITE_MACROS_H_
|
| +
|
|
|
| Property changes on: ipc/ipc_param_traits_write_macros.h
|
| ___________________________________________________________________
|
| Added: svn:eol-style
|
| + LF
|
|
|
|
|