aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/imap/MCIMAPMultipart.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/imap/MCIMAPMultipart.cc')
-rw-r--r--src/core/imap/MCIMAPMultipart.cc28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/core/imap/MCIMAPMultipart.cc b/src/core/imap/MCIMAPMultipart.cc
index be0b2c8e..9bd107e6 100644
--- a/src/core/imap/MCIMAPMultipart.cc
+++ b/src/core/imap/MCIMAPMultipart.cc
@@ -37,3 +37,31 @@ String * IMAPMultipart::partID()
{
return mPartID;
}
+
+HashMap * IMAPMultipart::serializable()
+{
+ HashMap * result = AbstractMultipart::serializable();
+ if (partID() != NULL) {
+ result->setObjectForKey(MCSTR("partID"), partID());
+ }
+ return result;
+}
+
+void IMAPMultipart::importSerializable(HashMap * serializable)
+{
+ AbstractMultipart::importSerializable(serializable);
+ String * partID = (String *) serializable->objectForKey(MCSTR("partID"));
+ setPartID(partID);
+}
+
+static void * createObject()
+{
+ return new IMAPMultipart();
+}
+
+__attribute__((constructor))
+static void initialize()
+{
+ Object::registerObjectConstructor("mailcore::IMAPMultipart", &createObject);
+}
+