#pragma once #include "cmix.pb.h" /*! * \file */ /*! * \brief The CMixProtoFunctor struct Is a functor that enables the ProtobufClient to serialize * all the types you specify below. */ struct CMixProtoFunctor { /*! * \brief proto_type Typedef that exposes the cmix proto container message. */ typedef cmix_proto::CMixMessage proto_type; /*! * \def MESSAGE_SETTER_DECL(TYPE) * Generates a message setter declaration for the Protobuf type in TYPE. */ #define MESSAGE_SETTER_DECL(TYPE) \ proto_type operator()(cmix_proto::TYPE const& v) /*! * #MESSAGE_SETTER_DECL(Initialization) */ MESSAGE_SETTER_DECL(Initialization); /*! * #MESSAGE_SETTER_DECL(ImANode) */ MESSAGE_SETTER_DECL(ImANode); /*! * #MESSAGE_SETTER_DECL(ImAClient) */ MESSAGE_SETTER_DECL(ImAClient); /*! * #MESSAGE_SETTER_DECL(Bye) */ MESSAGE_SETTER_DECL(Bye); /*! * #MESSAGE_SETTER_DECL(KeyExchange) */ MESSAGE_SETTER_DECL(KeyExchange); #undef MESSAGE_SETTER };