2 Copyright (C) 2005 SKYRIX Software AG
4 This file is part of OpenGroupware.org.
6 OGo is free software; you can redistribute it and/or modify it under
7 the terms of the GNU Lesser General Public License as published by the
8 Free Software Foundation; either version 2, or (at your option) any
11 OGo is distributed in the hope that it will be useful, but WITHOUT ANY
12 WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
14 License for more details.
16 You should have received a copy of the GNU Lesser General Public
17 License along with OGo; see the file COPYING. If not, write to the
18 Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
22 #ifndef __SOGoUser_H__
23 #define __SOGoUser_H__
25 #import <NGObjWeb/SoUser.h>
30 This adds some additional SOGo properties to the SoUser object. The
31 properties are (currently) looked up using the AgenorUserManager.
33 You have access to this object from the WOContext:
41 @class NSUserDefaults;
44 @class SOGoDateFormatter;
46 extern NSString *SOGoWeekStartHideWeekNumbers;
47 extern NSString *SOGoWeekStartJanuary1;
48 extern NSString *SOGoWeekStartFirst4DayWeek;
49 extern NSString *SOGoWeekStartFirstFullWeek;
51 @interface SOGoUser : SoUser
53 NSString *currentPassword;
57 NSUserDefaults *userDefaults;
58 NSUserDefaults *userSettings;
59 NSTimeZone *userTimeZone;
60 SOGoDateFormatter *dateFormatter;
63 + (SOGoUser *) userWithLogin: (NSString *) login
64 roles: (NSArray *) roles;
65 - (void) setCurrentPassword: (NSString *) newPassword;
66 - (NSString *) currentPassword;
70 - (NSString *) fullEmail;
72 - (NSString *) primaryEmail;
73 - (NSString *) systemEmail;
74 - (NSArray *) allEmails;
76 - (BOOL) hasEmail: (NSString *) email;
79 - (NSURL *) freeBusyURL;
81 - (SOGoDateFormatter *) dateFormatterInContext: (WOContext *) context;
83 /* shares and identities */
85 - (NSString *) primaryIMAP4AccountString;
87 // - (NSString *) primaryIMAP4AccountString;
88 // - (NSString *) primaryMailServer;
89 // - (NSArray *) additionalIMAP4AccountStrings;
90 // - (NSArray *) additionalEMailAddresses;
91 // - (NSDictionary *) additionalIMAP4AccountsAndEMails;
95 - (NSUserDefaults *) userDefaults;
96 - (NSUserDefaults *) userSettings;
98 - (NSString *) language;
99 - (NSTimeZone *) timeZone;
100 - (NSTimeZone *) serverTimeZone;
104 - (id) homeFolderInContext: (id) _ctx;
105 // - (id) schedulingCalendarInContext: (id) _ctx;
107 - (NSArray *) rolesForObject: (NSObject *) object
108 inContext: (WOContext *) context;
112 #endif /* __SOGoUser_H__ */