]> err.no Git - sope/commitdiff
added method to store flags for MSN sequences
authorhelge <helge@e4a50df8-12e2-0310-a44c-efbce7f8a7e3>
Thu, 7 Jul 2005 15:51:25 +0000 (15:51 +0000)
committerhelge <helge@e4a50df8-12e2-0310-a44c-efbce7f8a7e3>
Thu, 7 Jul 2005 15:51:25 +0000 (15:51 +0000)
git-svn-id: http://svn.opengroupware.org/SOPE/trunk@869 e4a50df8-12e2-0310-a44c-efbce7f8a7e3

sope-mime/ChangeLog
sope-mime/NGImap4/ChangeLog
sope-mime/NGImap4/NGImap4Client.h
sope-mime/NGImap4/NGImap4Client.m
sope-mime/Version

index 9ec18c8b9eb793fc2cd40c5a657d1ab1215f2b34..2521dd0428f274e7cc718504506de84b4a9ab4d3 100644 (file)
@@ -1,3 +1,7 @@
+2005-07-07  Helge Hess  <helge.hess@opengroupware.org>
+
+       * NGImap4: added method to store flags for MSN sequences (v4.5.222)
+
 2005-07-05  Helge Hess  <helge.hess@opengroupware.org>
 
        * NGImap4ResponseNormalizer.[hm], NGImap4Client.[hm],
index 258d292c890ae688e89664cdf6519815b4bad8c6..e2bbfe86593639087ac62a7d33e74a6916d127b8 100644 (file)
@@ -1,3 +1,8 @@
+2005-07-07  Helge Hess  <helge.hess@opengroupware.org>
+
+       * NGImap4Client.m: added -storeFlags:forMSNs:addOrRemove: method to
+         change flags for a set of MSNs (instead of ranges)
+
 2005-04-24  Helge Hess  <helge.hess@opengroupware.org>
 
        * fixed gcc 4.0 warnings
index 52106a3cc563173da589a9497bcf3eb485b854e3..a99974a460401da5066dda69b9c5a00f9240b5ce 100644 (file)
@@ -138,6 +138,8 @@ typedef enum {
   flags:(NSArray *)_flags;
 - (NSDictionary *)storeFrom:(unsigned)_from to:(unsigned)_to
   add:(NSNumber *)_add flags:(NSArray *)_flags;
+- (NSDictionary *)storeFlags:(NSArray *)_flags forMSNs:(id)_msns
+  addOrRemove:(BOOL)_flag;
 
 - (NSDictionary *)copyUid:(unsigned)_uid    toFolder:(NSString *)_folder;
 - (NSDictionary *)copyUids:(NSArray *)_uids toFolder:(NSString *)_folder;
index 551678f2aa811f06025cda24c24ddfd810133f86..408226278b9a1cf17041429546eef402ca75474f 100644 (file)
@@ -816,6 +816,28 @@ static BOOL         ImapDebugEnabled   = NO;
   return [self->normer normalizeResponse:[self processCommand:cmd]];
 }
 
+- (NSDictionary *)storeFlags:(NSArray *)_flags forMSNs:(id)_msns
+  addOrRemove:(BOOL)_flag
+{
+  NSString *cmd;
+  NSString *flagstr;
+  NSString *seqstr;
+  
+  if ([_msns isKindOfClass:[NSArray class]]) {
+    // TODO: improve by using ranges, eg 1:5 instead of 1,2,3,4,5
+    _msns  = [_msns valueForKey:@"stringValue"];
+    seqstr = [_msns componentsJoinedByString:@","];
+  }
+  else
+    seqstr = [_msns stringValue];
+  
+  flagstr = [_flags2ImapFlags(self, _flags) componentsJoinedByString:@" "];
+  cmd = [NSString stringWithFormat:@"store %@ %cFLAGS (%@)",
+                   seqstr, _flag ? '+' : '-', flagstr];
+  
+  return [self->normer normalizeResponse:[self processCommand:cmd]];
+}
+
 - (NSDictionary *)copyFrom:(unsigned)_from to:(unsigned)_to
   toFolder:(NSString *)_folder
 {
index a2300f74fdf1facae61f1265e8c1e0537ad7d45c..31c2fe4f5bff3f5ab484ceb388b50e7cdd08b966 100644 (file)
@@ -2,7 +2,7 @@
 
 MAJOR_VERSION:=4
 MINOR_VERSION:=5
-SUBMINOR_VERSION:=221
+SUBMINOR_VERSION:=222
 
 # v4.5.214 requires libNGExtensions v4.5.146
 # v4.2.149 requires libNGStreams    v4.2.34