sogo/SoObjects/SOGo/SOGoAppointment.h
dev-unix.inverse.qc.ca f18c764ffa see ChangeLog
Monotone-Revision: 9054022ef1ca8aeba6e34842d27d9b94ce002b89

Monotone-Author: dev-unix.inverse.qc.ca
Monotone-Date: 2006-06-15T19:34:10
Monotone-Branch: ca.inverse.sogo
2006-06-15 19:34:10 +00:00

146 lines
3.4 KiB
Objective-C

/*
Copyright (C) 2004-2005 SKYRIX Software AG
This file is part of OpenGroupware.org.
OGo 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
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
Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
02111-1307, USA.
*/
#ifndef __SOGoAppointment_H_
#define __SOGoAppointment_H_
#import <Foundation/NSObject.h>
#import <Foundation/NSDate.h>
/*
SOGoAppointment
Wrapper around the iCalendar content of appointments stored in the
OGoContentStore.
*/
@class NSString, NSArray, NSCalendarDate, NGCalendarDateRange;
@class iCalPerson, iCalEvent, iCalRecurrenceRule;
@interface SOGoAppointment : NSObject <NSCopying>
{
id calendar;
iCalEvent *event;
id participants;
}
- (id)initWithICalString:(NSString *)_iCal;
- (void)setUid:(NSString *)_value;
- (NSString *)uid;
- (void)setSummary:(NSString *)_value;
- (NSString *)summary;
- (void)setLocation:(NSString *)_value;
- (NSString *)location;
- (BOOL)hasLocation;
- (void)setComment:(NSString *)_value;
- (NSString *)comment;
- (BOOL)hasComment;
- (void)setUserComment:(NSString *)_userComment;
- (NSString *)userComment;
- (void)setPriority:(NSString *)_value;
- (NSString *)priority;
- (BOOL)hasPriority;
- (void)setCategories:(NSArray *)_value;
- (NSArray *)categories;
- (BOOL)hasCategories;
- (void)setStatus:(NSString *)_value;
- (NSString *)status;
- (void)setStartDate:(NSCalendarDate *)_date;
- (NSCalendarDate *)startDate;
- (void)setEndDate:(NSCalendarDate *)_date;
- (NSCalendarDate *)endDate;
- (BOOL)hasEndDate;
- (BOOL)hasDuration;
- (void)setDuration:(NSTimeInterval)_duration;
- (NSTimeInterval)duration;
- (void)setOrganizer:(iCalPerson *)_organizer;
- (iCalPerson *)organizer;
- (void)setAccessClass:(NSString *)_value;
- (NSString *)accessClass;
- (BOOL)isPublic;
- (void)setTransparency:(NSString *)_value;
- (NSString *)transparency;
- (BOOL)isTransparent;
- (void)setMethod:(NSString *)_method;
- (NSString *)method;
- (void)removeAllAttendees;
- (void)addToAttendees:(iCalPerson *)_person;
- (void)appendAttendees:(NSArray *)_persons;
- (void)setAttendees:(NSArray *)_persons;
- (NSArray *)attendees;
/* attendees -> role != NON-PART */
- (NSArray *)participants;
/* attendees -> role == NON-PART */
- (NSArray *)resources;
/* simplified recurrence API */
- (void)setRecurrenceRule:(iCalRecurrenceRule *)_rrule;
- (iCalRecurrenceRule *)recurrenceRule;
- (BOOL)hasRecurrenceRule;
- (NSArray *)recurrenceRangesWithinCalendarDateRange:(NGCalendarDateRange *)_r;
/* iCal generation */
- (NSString *)iCalString;
- (NSString *)vEventString;
/* raw entity objects */
- (id)calendar;
- (id)event;
/* checking */
- (BOOL)isOrganizer:(id)_email;
- (BOOL)isParticipant:(id)_email;
/* searching */
- (iCalPerson *)findParticipantWithEmail:(id)_email;
/* actions */
- (void)increaseSequence;
- (void)cancelWithoutIncreasingSequence;
- (void)cancelAndIncreaseSequence;
@end
#endif /* __SOGoAppointment_H_ */