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