aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/async/imap/MCIMAPStoreFlagsOperation.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/async/imap/MCIMAPStoreFlagsOperation.cc')
-rw-r--r--src/async/imap/MCIMAPStoreFlagsOperation.cc14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/async/imap/MCIMAPStoreFlagsOperation.cc b/src/async/imap/MCIMAPStoreFlagsOperation.cc
index e0464c8c..df68529a 100644
--- a/src/async/imap/MCIMAPStoreFlagsOperation.cc
+++ b/src/async/imap/MCIMAPStoreFlagsOperation.cc
@@ -18,11 +18,13 @@ IMAPStoreFlagsOperation::IMAPStoreFlagsOperation()
mUids = NULL;
mKind = IMAPStoreFlagsRequestKindAdd;
mFlags = MessageFlagNone;
+ mCustomFlags = NULL;
}
IMAPStoreFlagsOperation::~IMAPStoreFlagsOperation()
{
MC_SAFE_RELEASE(mUids);
+ MC_SAFE_RELEASE(mCustomFlags);
}
void IMAPStoreFlagsOperation::setUids(IndexSet * uids)
@@ -55,9 +57,19 @@ MessageFlag IMAPStoreFlagsOperation::flags()
return mFlags;
}
+void IMAPStoreFlagsOperation::setCustomFlags(Array * customFlags)
+{
+ MC_SAFE_REPLACE_RETAIN(Array, mCustomFlags, customFlags);
+}
+
+Array * IMAPStoreFlagsOperation::customFlags()
+{
+ return mCustomFlags;
+}
+
void IMAPStoreFlagsOperation::main()
{
ErrorCode error;
- session()->session()->storeFlags(folder(), mUids, mKind, mFlags, &error);
+ session()->session()->storeFlagsAndCustomFlags(folder(), mUids, mKind, mFlags, mCustomFlags, &error);
setError(error);
}