Expose Content-Disposition on net message parts.
This commit is contained in:
parent
fe5492ceb3
commit
16912a5ed7
@ -95,6 +95,13 @@ IMAPMessagePart::IMAPMessagePart(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (part->body_ext_1part && part->body_ext_1part->body_fld_dsp) {
|
||||||
|
auto *cdisp = part->body_ext_1part->body_fld_dsp->str();
|
||||||
|
if (cdisp) {
|
||||||
|
m_dispType = contentDisposition(cdisp->value);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
m_structure = null;
|
m_structure = null;
|
||||||
@ -133,6 +140,12 @@ const mediaType& IMAPMessagePart::getType() const {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
const contentDisposition &IMAPMessagePart::getDisposition() const {
|
||||||
|
|
||||||
|
return m_dispType;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
size_t IMAPMessagePart::getSize() const {
|
size_t IMAPMessagePart::getSize() const {
|
||||||
|
|
||||||
return m_size;
|
return m_size;
|
||||||
|
@ -66,6 +66,7 @@ public:
|
|||||||
shared_ptr <const IMAPMessagePart> getParent() const;
|
shared_ptr <const IMAPMessagePart> getParent() const;
|
||||||
|
|
||||||
const mediaType& getType() const;
|
const mediaType& getType() const;
|
||||||
|
const contentDisposition &getDisposition() const;
|
||||||
size_t getSize() const;
|
size_t getSize() const;
|
||||||
size_t getNumber() const;
|
size_t getNumber() const;
|
||||||
string getName() const;
|
string getName() const;
|
||||||
@ -92,6 +93,7 @@ private:
|
|||||||
size_t m_size;
|
size_t m_size;
|
||||||
string m_name;
|
string m_name;
|
||||||
mediaType m_mediaType;
|
mediaType m_mediaType;
|
||||||
|
contentDisposition m_dispType;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -54,6 +54,11 @@ maildirMessagePart::maildirMessagePart(
|
|||||||
m_size = part.getBody()->getContents()->getLength();
|
m_size = part.getBody()->getContents()->getLength();
|
||||||
|
|
||||||
m_mediaType = part.getBody()->getContentType();
|
m_mediaType = part.getBody()->getContentType();
|
||||||
|
|
||||||
|
auto cdispField = part.getHeader()->ContentDisposition();
|
||||||
|
if (cdispField) {
|
||||||
|
m_dispType = dynamic_cast <const contentDisposition&>(*cdispField->getValue());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -103,6 +108,12 @@ const mediaType& maildirMessagePart::getType() const {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
const contentDisposition &maildirMessagePart::getDisposition() const {
|
||||||
|
|
||||||
|
return m_dispType;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
size_t maildirMessagePart::getSize() const {
|
size_t maildirMessagePart::getSize() const {
|
||||||
|
|
||||||
return m_size;
|
return m_size;
|
||||||
|
@ -61,6 +61,7 @@ public:
|
|||||||
weak_ptr <const maildirMessagePart> getParent() const { return (m_parent); }
|
weak_ptr <const maildirMessagePart> getParent() const { return (m_parent); }
|
||||||
|
|
||||||
const mediaType& getType() const;
|
const mediaType& getType() const;
|
||||||
|
const contentDisposition &getDisposition() const;
|
||||||
size_t getSize() const;
|
size_t getSize() const;
|
||||||
size_t getNumber() const;
|
size_t getNumber() const;
|
||||||
|
|
||||||
@ -85,6 +86,7 @@ private:
|
|||||||
size_t m_number;
|
size_t m_number;
|
||||||
size_t m_size;
|
size_t m_size;
|
||||||
mediaType m_mediaType;
|
mediaType m_mediaType;
|
||||||
|
contentDisposition m_dispType;
|
||||||
|
|
||||||
size_t m_headerParsedOffset;
|
size_t m_headerParsedOffset;
|
||||||
size_t m_headerParsedLength;
|
size_t m_headerParsedLength;
|
||||||
|
@ -33,6 +33,7 @@
|
|||||||
|
|
||||||
#include "vmime/header.hpp"
|
#include "vmime/header.hpp"
|
||||||
#include "vmime/mediaType.hpp"
|
#include "vmime/mediaType.hpp"
|
||||||
|
#include "vmime/contentDisposition.hpp"
|
||||||
|
|
||||||
#include "vmime/utility/progressListener.hpp"
|
#include "vmime/utility/progressListener.hpp"
|
||||||
#include "vmime/utility/stream.hpp"
|
#include "vmime/utility/stream.hpp"
|
||||||
@ -85,6 +86,12 @@ public:
|
|||||||
*/
|
*/
|
||||||
virtual const mediaType& getType() const = 0;
|
virtual const mediaType& getType() const = 0;
|
||||||
|
|
||||||
|
/** Return the disposition type of the content in this part.
|
||||||
|
*
|
||||||
|
* @return content disposition type
|
||||||
|
*/
|
||||||
|
virtual const contentDisposition &getDisposition() const = 0;
|
||||||
|
|
||||||
/** Return the size of this part.
|
/** Return the size of this part.
|
||||||
*
|
*
|
||||||
* @return size of the part (in bytes)
|
* @return size of the part (in bytes)
|
||||||
|
Loading…
Reference in New Issue
Block a user