aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/abstract/MCAbstractMessagePart.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/abstract/MCAbstractMessagePart.cc')
-rw-r--r--src/core/abstract/MCAbstractMessagePart.cc19
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"))));
+}