diff options
Diffstat (limited to 'src/core/imap/MCIMAPMultipart.cc')
-rw-r--r-- | src/core/imap/MCIMAPMultipart.cc | 28 |
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); +} + |