diff options
Diffstat (limited to 'libcmix-common/cmixprotofunctor.hpp')
| -rw-r--r-- | libcmix-common/cmixprotofunctor.hpp | 47 |
1 files changed, 28 insertions, 19 deletions
diff --git a/libcmix-common/cmixprotofunctor.hpp b/libcmix-common/cmixprotofunctor.hpp index bd69504..75944f9 100644 --- a/libcmix-common/cmixprotofunctor.hpp +++ b/libcmix-common/cmixprotofunctor.hpp @@ -19,46 +19,55 @@ struct CMixProtoFunctor { typedef cmix_proto::CMixMessage proto_type; /*! - * \def MESSAGE_SETTER_DECL(TYPE) - * Generates a message setter declaration for the Protobuf type in TYPE. + * \def MESSAGE_SETTER_DEF(TYPE, NAME) + * Generates a message setter definition for the Protobuf type in TYPE with member name NAME. */ - #define MESSAGE_SETTER_DECL(TYPE) \ - proto_type operator()(cmix_proto::TYPE const& v) + #define MESSAGE_SETTER_DEF(TYPE, NAME) \ + proto_type operator()(cmix_proto::TYPE const& v) { \ + proto_type m; \ + *m.mutable_##NAME() = v; \ + return m; \ + } \ /*! - * #MESSAGE_SETTER_DECL(Initialization) + * #MESSAGE_SETTER_DECL(Initialization, initialization) */ - MESSAGE_SETTER_DECL(Initialization); + MESSAGE_SETTER_DEF(Initialization, initialization) /*! - * #MESSAGE_SETTER_DECL(ImANode) + * #MESSAGE_SETTER_DECL(ImANode, imanode) */ - MESSAGE_SETTER_DECL(ImANode); + MESSAGE_SETTER_DEF(ImANode, imanode) /*! - * #MESSAGE_SETTER_DECL(ImAClient) + * #MESSAGE_SETTER_DECL(ImAClient, imaclient) */ - MESSAGE_SETTER_DECL(ImAClient); + MESSAGE_SETTER_DEF(ImAClient, imaclient) /*! - * #MESSAGE_SETTER_DECL(Bye) + * #MESSAGE_SETTER_DECL(Bye, bye) */ - MESSAGE_SETTER_DECL(Bye); + MESSAGE_SETTER_DEF(Bye, bye) /*! - * #MESSAGE_SETTER_DECL(KeyExchange) + * #MESSAGE_SETTER_DECL(KeyExchange, keyexchange) */ - MESSAGE_SETTER_DECL(KeyExchange); + MESSAGE_SETTER_DEF(KeyExchange, keyexchange) /*! - * #MESSAGE_SETTER_DECL(SecretKey) + * #MESSAGE_SETTER_DECL(SecretKey, secretkey) */ - MESSAGE_SETTER_DECL(SecretKey); + MESSAGE_SETTER_DEF(SecretKey, secretkey) /*! - * + * #MESSAGE_SETTER_DECL(NodeReady, nodeready) */ - MESSAGE_SETTER_DECL(NodeReady); + MESSAGE_SETTER_DEF(NodeReady, nodeready) + + /*! + * #MESSAGE_SETTER_DECL(PrePre, prepre) + */ + MESSAGE_SETTER_DEF(PrePre, prepre); - #undef MESSAGE_SETTER + #undef MESSAGE_SETTER_DEF }; |
