diff options
Diffstat (limited to 'src/core/abstract/MCAbstractMessagePart.cc')
-rw-r--r-- | src/core/abstract/MCAbstractMessagePart.cc | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/core/abstract/MCAbstractMessagePart.cc b/src/core/abstract/MCAbstractMessagePart.cc index be6e8e9b..65d7b8cc 100644 --- a/src/core/abstract/MCAbstractMessagePart.cc +++ b/src/core/abstract/MCAbstractMessagePart.cc @@ -77,3 +77,22 @@ AbstractPart * AbstractMessagePart::partForUniqueID(String * contentID) { return mainPart()->partForUniqueID(contentID); } + +HashMap * AbstractMessagePart::serializable() +{ + HashMap * result = (HashMap *) AbstractPart::serializable(); + if (mainPart() != NULL) { + result->setObjectForKey(MCSTR("mainPart"), mainPart()->serializable()); + } + if (header() != NULL) { + result->setObjectForKey(MCSTR("header"), header()->serializable()); + } + return result; +} + +void AbstractMessagePart::importSerializable(HashMap * serializable) +{ + AbstractPart::importSerializable(serializable); + setMainPart((AbstractPart *) Object::objectWithSerializable((HashMap *) serializable->objectForKey(MCSTR("mainPart")))); + setHeader((MessageHeader *) Object::objectWithSerializable((HashMap *) serializable->objectForKey(MCSTR("header")))); +} |