From b143bc459dcf70e7a68c1f7b9cc324d2966fd3b7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=A9bastien=20Blin?=
 <sebastien.blin@savoirfairelinux.com>
Date: Wed, 21 Nov 2018 23:12:20 -0500
Subject: [PATCH] default_types: add metadatas map into ImMessage

Give the ability to store more datas into an ImMessage

Issue: #345
---
 include/opendht/default_types.h | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/include/opendht/default_types.h b/include/opendht/default_types.h
index 47932755..11a3c558 100644
--- a/include/opendht/default_types.h
+++ b/include/opendht/default_types.h
@@ -114,8 +114,10 @@ public:
     ImMessage() {}
     ImMessage(dht::Value::Id id, std::string&& m, long d = 0)
         : id(id), msg(std::move(m)), date(d) {}
-    ImMessage(dht::Value::Id id, std::string&& dt, std::string&& m, long d = 0)
+    ImMessage(dht::Value::Id id, std::string &&dt, std::string &&m, long d = 0)
         : id(id), msg(std::move(m)), datatype(std::move(dt)), date(d) {}
+    ImMessage(dht::Value::Id id, std::string &&dt, std::string &&m, std::map<std::string, std::string> &&md, long d = 0)
+        : id(id), msg(std::move(m)), datatype(std::move(dt)), metadatas(std::move(md)), date(d) {}
 
     virtual void unpackValue(const Value& v) override {
         to = v.recipient;
@@ -126,10 +128,11 @@ public:
     dht::Value::Id id {0};
     std::string msg;
     std::string datatype;
+    std::map<std::string, std::string> metadatas;
     long date {0};
     ImStatus status {ImStatus::NONE};
 
-    MSGPACK_DEFINE_MAP(id, msg, date, status, datatype)
+    MSGPACK_DEFINE_MAP(id, msg, date, status, datatype, metadatas)
 };
 
 class OPENDHT_PUBLIC TrustRequest : public EncryptedValue<TrustRequest>
-- 
GitLab