aboutsummaryrefslogtreecommitdiff
path: root/libcmix-common/cmixprotofunctor.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'libcmix-common/cmixprotofunctor.hpp')
-rw-r--r--libcmix-common/cmixprotofunctor.hpp47
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
};