]> err.no Git - sope/commitdiff
convenience methods from SOGo
authorznek <znek@e4a50df8-12e2-0310-a44c-efbce7f8a7e3>
Mon, 13 Dec 2004 18:38:35 +0000 (18:38 +0000)
committerznek <znek@e4a50df8-12e2-0310-a44c-efbce7f8a7e3>
Mon, 13 Dec 2004 18:38:35 +0000 (18:38 +0000)
git-svn-id: http://svn.opengroupware.org/SOPE/trunk@436 e4a50df8-12e2-0310-a44c-efbce7f8a7e3

sope-ical/NGiCal/ChangeLog
sope-ical/NGiCal/Version
sope-ical/NGiCal/iCalPerson.h
sope-ical/NGiCal/iCalPerson.m

index 5be21981b4311f71ef8569ff33da019c1554b891..d7e2e54a1fc890ab32b17ed4159c6c6cbdda3d65 100644 (file)
@@ -1,3 +1,9 @@
+2004-12-13  Marcus Mueller  <znek@mulle-kybernetik.com>
+
+       * iCalPerson.[hm]: added -cnWithoutQuotes and -rfc822Email convenience
+         methods to simplify client code dealing with these properties
+         (v4.5.36)
+
 2004-11-07  Marcus Mueller  <znek@mulle-kybernetik.com>
 
        * NGiCal.xcode: provide SOPE_{MAJOR,MINOR}_VERSION to the build
index 40f730b0aed5ffeb35abb388a4bfa1511d95192c..32c124be4da81454426d9cf8cf1c4e966688a833 100644 (file)
@@ -2,4 +2,4 @@
 
 MAJOR_VERSION=4
 MINOR_VERSION=5
-SUBMINOR_VERSION:=35
+SUBMINOR_VERSION:=36
index 2fb6bf87354a7686c0d80c960eb48f80ee4f42c9..83c098d9357b7969f285866d4a0b3aeaa409327f 100644 (file)
 
 - (void)setCn:(NSString *)_s;
 - (NSString *)cn;
+- (NSString *)cnWithoutQuotes;
 
 - (void)setEmail:(NSString *)_s;
 - (NSString *)email;
+- (NSString *)rfc822Email; /* email without 'mailto:' prefix */
 
 - (void)setRsvp:(NSString *)_s;
 - (NSString *)rsvp;
index 0b7073562eb92890010328af024d22ef4c2b66c4..f9110eff147113406758c0fb3a9220f8221e3dd6 100644 (file)
 - (NSString *)cn {
   return self->cn;
 }
+- (NSString *)cnWithoutQuotes {
+  /* remove quotes around a CN */
+  NSString *_cn;
+  
+  _cn = [self cn];
+  if ([_cn length] <= 2)
+    return _cn;
+  if ([_cn characterAtIndex:0] != '"')
+    return _cn;
+  if (![_cn hasSuffix:@"\""])
+    return _cn;
+  
+  return [_cn substringWithRange:NSMakeRange(1, [_cn length] - 2)];
+}
 
 - (void)setEmail:(NSString *)_s {
   ASSIGNCOPY(self->email, _s);
   return self->email;
 }
 
+- (NSString *)rfc822Email {
+  NSString *_email;
+  unsigned idx;
+
+  _email = [self email];
+  idx    = NSMaxRange([_email rangeOfString:@":"]);
+
+  if ((idx > 0) && ([_email length] > idx))
+    return [_email substringFromIndex:idx];
+
+  return _email;
+}
+
 - (void)setRsvp:(NSString *)_s {
   ASSIGNCOPY(self->rsvp, _s);
 }