#pragma once #include "cmix.pb.h" struct CMixProtoFunctor { typedef cmix_proto::CMixMessage proto_type; #define MESSAGE_SETTER_DECL(TYPE) \ proto_type operator()(cmix_proto::TYPE const& v) MESSAGE_SETTER_DECL(Initialization); MESSAGE_SETTER_DECL(ImANode); MESSAGE_SETTER_DECL(ImAClient); MESSAGE_SETTER_DECL(Bye); MESSAGE_SETTER_DECL(KeyExchange); #undef MESSAGE_SETTER };