Store content-type for attachments
authorAndre Heinecke <aheinecke@gnupg.org>
Mon, 11 Feb 2019 14:44:15 +0000 (15:44 +0100)
committerAndre Heinecke <aheinecke@gnupg.org>
Mon, 11 Feb 2019 14:44:15 +0000 (15:44 +0100)
* src/attachment.cpp (get_content_type, set_content_type): New.
* src/mimedataprovider.cpp (create_attachment): Set it.
* src/attachment.h: Update accordingly.

src/attachment.cpp
src/attachment.h
src/mimedataprovider.cpp

index e626d26..265483a 100644 (file)
@@ -77,3 +77,15 @@ Attachment::get_content_id() const
 {
   return m_cid;
 }
+
+void
+Attachment::set_content_type(const char *ctype)
+{
+  m_ctype = ctype;
+}
+
+std::string
+Attachment::get_content_type() const
+{
+  return m_ctype;
+}
index 92bcd78..79f91df 100644 (file)
@@ -43,6 +43,10 @@ public:
   void set_content_id (const char *cid);
   std::string get_content_id() const;
 
+  /* Content type */
+  void set_content_type (const char *type);
+  std::string get_content_type () const;
+
   /* get the underlying data structure */
   GpgME::Data& get_data();
 
@@ -51,6 +55,7 @@ private:
   std::string m_utf8DisplayName;
   attachtype_t m_type;
   std::string m_cid;
+  std::string m_ctype;
 };
 
 #endif // ATTACHMENT_H
index be10e14..25e576c 100644 (file)
@@ -1059,6 +1059,14 @@ MimeDataProvider::create_attachment()
   if (m_mime_ctx->mimestruct_cur && m_mime_ctx->mimestruct_cur->cid)
     {
       attach->set_content_id (m_mime_ctx->mimestruct_cur->cid);
+      log_data ("%s:%s: content-id: %s",
+                SRCNAME, __func__, m_mime_ctx->mimestruct_cur->cid);
+    }
+  if (m_mime_ctx->mimestruct_cur && m_mime_ctx->mimestruct_cur->content_type)
+    {
+      attach->set_content_type (m_mime_ctx->mimestruct_cur->content_type);
+      log_data ("%s:%s: content-type: %s",
+                SRCNAME, __func__, m_mime_ctx->mimestruct_cur->content_type);
     }
   m_attachments.push_back (attach);