| Index: ipc/ipc_message_macros.h
|
| diff --git a/ipc/ipc_message_macros.h b/ipc/ipc_message_macros.h
|
| index 2993014f0468539f89afaf4c0089d6c8d2689e7f..cd036802528211db7f582bf9e1a1740d07eeb19e 100644
|
| --- a/ipc/ipc_message_macros.h
|
| +++ b/ipc/ipc_message_macros.h
|
| @@ -130,7 +130,9 @@
|
| // to proclaim equivalent struct declarations for use by callers, as well
|
| // as later registering the type with the message generation. Note that
|
| // IPC_STRUCT_MEMBER() is only permitted inside matching calls to
|
| -// IPC_STRUCT_BEGIN() / IPC_STRUCT_END().
|
| +// IPC_STRUCT_BEGIN() / IPC_STRUCT_END(). There is also an
|
| +// IPC_STRUCT_BEGIN_WITH_PARENT(), which behaves like IPC_STRUCT_BEGIN(),
|
| +// but also accomodates structs that inherit from other structs.
|
| //
|
| // Externally-defined structs are registered with IPC_STRUCT_TRAITS_BEGIN(),
|
| // IPC_STRUCT_TRAITS_MEMBER(), and IPC_STRUCT_TRAITS_END() macros. These
|
| @@ -141,8 +143,16 @@
|
| // inside matching calls to IPC_STRUCT_TRAITS_BEGIN() /
|
| // IPC_STRUCT_TRAITS_END().
|
| //
|
| -// Enum types are registered with a single IPC_ENUM_TRAITS() macro. There
|
| -// is no need to enumerate each value to the IPC mechanism.
|
| +// Enum types are registered with a single IPC_ENUM_TRAITS_VALIDATE() macro.
|
| +// There is no need to enumerate each value to the IPC mechanism. Instead,
|
| +// pass an expression in terms of the parameter |value| to provide
|
| +// range-checking. For convenience, the IPC_ENUM_TRAITS() is provided which
|
| +// performs no checking, passing everything including out-of-range values.
|
| +// Its use is discouraged. The IPC_ENUM_TRAITS_MAX_VALUE() macro can be used
|
| +// for the typical case where the enum must be in the range 0..maxvalue
|
| +// inclusive. The IPC_ENUM_TRAITS_MIN_MAX_VALUE() macro can be used for the
|
| +// less typical case where the enum must be in the range minvalue..maxvalue
|
| +// inclusive.
|
| //
|
| // Do not place semicolons following these IPC_ macro invocations. There
|
| // is no reason to expect that their expansion corresponds one-to-one with
|
| @@ -192,9 +202,12 @@
|
| #include "ipc/ipc_message_utils_impl.h"
|
| #endif
|
|
|
| -// Macros for defining structs. May be subsequently redefined.
|
| +// Convenience macro for defining structs without inheritence. Should not need
|
| +// to be subsequently redefined.
|
| #define IPC_STRUCT_BEGIN(struct_name) \
|
| IPC_STRUCT_BEGIN_WITH_PARENT(struct_name, IPC::NoParams)
|
| +
|
| +// Macros for defining structs. Will be subsequently redefined.
|
| #define IPC_STRUCT_BEGIN_WITH_PARENT(struct_name, parent) \
|
| struct struct_name; \
|
| IPC_STRUCT_TRAITS_BEGIN(struct_name) \
|
|
|