#import <SOGo/SOGoContentObject.h>
+@class NSArray;
@class NSString;
@class iCalCalendar;
+@class iCalPerson;
+@class iCalRepeatableEntityObject;
+
+@class SOGoUser;
@interface SOGoCalendarComponent : SOGoContentObject
{
iCalCalendar *calendar;
+ NSString *calContent;
+ BOOL isNew;
}
-/* accessors */
-
-- (NSString *) iCalString;
-- (iCalCalendar *) calendar;
+- (NSString *) componentTag;
+- (iCalCalendar *) calendar: (BOOL) create;
+- (iCalRepeatableEntityObject *) component: (BOOL) create;
+- (BOOL) isNew;
- (NSException *) primarySaveContentString: (NSString *) _iCalString;
- (NSException *) primaryDelete;
- (NSException *) delete;
+- (NSException *) changeParticipationStatus: (NSString *) _status;
+
+/* mail notifications */
+- (BOOL) sendEMailNotifications;
+- (void) sendEMailUsingTemplateNamed: (NSString *) _pageName
+ forOldObject: (iCalRepeatableEntityObject *) _oldObject
+ andNewObject: (iCalRepeatableEntityObject *) _newObject
+ toAttendees: (NSArray *) _attendees;
+
+- (BOOL) isOrganizerOrOwner: (SOGoUser *) user;
+- (iCalPerson *) participant: (SOGoUser *) user;
+
+- (iCalPerson *) iCalPersonWithUID: (NSString *) uid;
+- (NSString *) getUIDForICalPerson: (iCalPerson *) person;
+- (NSArray *) getUIDsForICalPersons: (NSArray *) iCalPersons;
+
@end
#endif /* SOGOCALENDARCOMPONENT_H */