]> err.no Git - sope/blobdiff - sope-ical/NGiCal/iCalAlarm.m
NSCopying support added
[sope] / sope-ical / NGiCal / iCalAlarm.m
index 6cf095b4c7859c71d94ba1902806547da0ab26fc..b7a20dd6877becaf0ae5d51dc3a312cf95a84669 100644 (file)
@@ -1,24 +1,23 @@
 /*
-  Copyright (C) 2000-2003 SKYRIX Software AG
+  Copyright (C) 2000-2005 SKYRIX Software AG
 
-  This file is part of OGo
+  This file is part of SOPE.
 
-  OGo is free software; you can redistribute it and/or modify it under
+  SOPE is free software; you can redistribute it and/or modify it under
   the terms of the GNU Lesser General Public License as published by the
   Free Software Foundation; either version 2, or (at your option) any
   later version.
 
-  OGo is distributed in the hope that it will be useful, but WITHOUT ANY
+  SOPE is distributed in the hope that it will be useful, but WITHOUT ANY
   WARRANTY; without even the implied warranty of MERCHANTABILITY or
   FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
   License for more details.
 
   You should have received a copy of the GNU Lesser General Public
-  License along with OGo; see the file COPYING.  If not, write to the
+  License along with SOPE; see the file COPYING.  If not, write to the
   Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
   02111-1307, USA.
 */
-// $Id$
 
 #include "iCalAlarm.h"
 #include "common.h"
 @implementation iCalAlarm
 
 - (void)dealloc {
-  [self->trigger release];
-  [self->comment release];
-  [self->action  release];
-  [self->attach  release];
+  [self->trigger        release];
+  [self->comment        release];
+  [self->action         release];
+  [self->attach         release];
+  [self->recurrenceRule release];
   [super dealloc];
 }
 
+/* NSCopying */
+
+- (id)copyWithZone:(NSZone *)_zone {
+  iCalAlarm *new;
+  
+  new = [super copyWithZone:_zone];
+  
+  ASSIGNCOPY(new->trigger,        self->trigger);
+  ASSIGNCOPY(new->comment,        self->comment);
+  ASSIGNCOPY(new->action,         self->action);
+  ASSIGNCOPY(new->attach,         self->attach);
+  ASSIGNCOPY(new->recurrenceRule, self->recurrenceRule);
+  
+  return new;
+}
+
 /* accessors */
 
 - (void)setTrigger:(id)_value {
   return self->action;
 }
 
+- (void)setRecurrenceRule:(NSString *)_recurrenceRule {
+  ASSIGN(self->recurrenceRule, _recurrenceRule);
+}
+- (NSString *)recurrenceRule {
+  return self->recurrenceRule;
+}
+
 /* descriptions */
 
 - (NSString *)description {
     [ms appendFormat:@" comment=%@", self->comment];
   if (self->trigger)
     [ms appendFormat:@" trigger=%@", self->trigger];
+  if (self->recurrenceRule)
+    [ms appendFormat:@" recurrenceRule=%@", self->recurrenceRule];
   
   [ms appendString:@">"];
   return ms;