diff --git a/lib/message/mu-contact.cc b/lib/message/mu-contact.cc index 1de64c50..fd0da046 100644 --- a/lib/message/mu-contact.cc +++ b/lib/message/mu-contact.cc @@ -19,6 +19,7 @@ #include "mu-contact.hh" #include "mu-message.hh" +#include "utils/mu-utils.hh" #include #include @@ -85,6 +86,21 @@ Mu::make_contacts(const std::string& addrs, } +std::string +Mu::to_string(const Mu::Contacts& contacts) +{ + std::string res; + + seq_for_each(contacts, [&](auto&& contact) { + if (res.empty()) + res = contact.display_name(); + else + res += ", " + contact.display_name(); + }); + + return res; +} + size_t Mu::lowercase_hash(const std::string& s) { diff --git a/lib/message/mu-contact.hh b/lib/message/mu-contact.hh index 75c62108..5f40a8d4 100644 --- a/lib/message/mu-contact.hh +++ b/lib/message/mu-contact.hh @@ -164,6 +164,17 @@ make_contacts(/*const*/ struct _InternetAddressList* addr_lst, Contacts make_contacts(const std::string& addrs, Field::Id field_id, int64_t message_date); + + +/** + * Get contacts as a comma-separated list. + * + * @param contacts contacs + * + * @return string with contacts. + */ +std::string to_string(const Contacts& contacts); + } // namespace Mu /**