diff options
Diffstat (limited to 'src/core/rfc822/MCMessageParser.cpp')
-rw-r--r-- | src/core/rfc822/MCMessageParser.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/core/rfc822/MCMessageParser.cpp b/src/core/rfc822/MCMessageParser.cpp index 71071c02..beddeebc 100644 --- a/src/core/rfc822/MCMessageParser.cpp +++ b/src/core/rfc822/MCMessageParser.cpp @@ -5,6 +5,7 @@ #include <CoreFoundation/CoreFoundation.h> #endif +#include "MCDefines.h" #include "MCAttachment.h" #include "MCMessageHeader.h" #include "MCHTMLRenderer.h" @@ -140,6 +141,15 @@ HashMap * MessageParser::serializable() return result; } +void MessageParser::importSerializable(HashMap * serializable) +{ + AbstractMessage::importSerializable(serializable); + MC_SAFE_REPLACE_RETAIN(AbstractPart, mMainPart, Object::objectWithSerializable((HashMap *) serializable->objectForKey(MCSTR("mainPart")))); + if (mMainPart != NULL) { + mMainPart->applyUniquePartID(); + } +} + Object * MessageParser::copy() { return new MessageParser(this); @@ -190,3 +200,13 @@ String * MessageParser::plainTextBodyRendering(bool stripWhitespace) } return plainTextBodyString; } + +static void * createObject() +{ + return new MessageParser(); +} + +INITIALIZE(MessageParser) +{ + Object::registerObjectConstructor("mailcore::MessageParser", &createObject); +} |