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:
42 @class NSUserDefaults;
46 @class SOGoAppointmentFolder;
47 @class SOGoAppointmentFolders;
48 @class SOGoDateFormatter;
49 @class SOGoUserFolder;
51 extern NSString *SOGoWeekStartHideWeekNumbers;
52 extern NSString *SOGoWeekStartJanuary1;
53 extern NSString *SOGoWeekStartFirst4DayWeek;
54 extern NSString *SOGoWeekStartFirstFullWeek;
56 @interface SoUser (SOGoExtension)
58 - (NSString *) language;
62 @interface SOGoUser : SoUser
64 NSString *currentPassword;
68 NSUserDefaults *userDefaults;
69 NSUserDefaults *userSettings;
70 NSTimeZone *userTimeZone;
71 SOGoDateFormatter *dateFormatter;
72 NSMutableArray *mailAccounts;
73 SOGoUserFolder *homeFolder;
76 + (NSString *) language;
78 + (SOGoUser *) userWithLogin: (NSString *) login
79 roles: (NSArray *) roles;
80 - (void) setCurrentPassword: (NSString *) newPassword;
81 - (NSString *) currentPassword;
85 // - (NSString *) fullEmail;
87 // - (NSString *) primaryEmail;
88 // - (NSString *) systemEmail;
89 - (NSArray *) allEmails;
91 - (BOOL) hasEmail: (NSString *) email;
94 - (NSURL *) freeBusyURL;
96 - (SOGoDateFormatter *) dateFormatterInContext: (WOContext *) context;
98 /* shares and identities */
100 // - (NSString *) primaryIMAP4AccountString;
102 // - (NSString *) primaryIMAP4AccountString;
103 // - (NSString *) primaryMailServer;
104 // - (NSArray *) additionalIMAP4AccountStrings;
105 // - (NSArray *) additionalEMailAddresses;
106 // - (NSDictionary *) additionalIMAP4AccountsAndEMails;
110 - (NSUserDefaults *) userDefaults;
111 - (NSUserDefaults *) userSettings;
113 - (NSString *) language;
114 - (NSTimeZone *) timeZone;
115 - (NSTimeZone *) serverTimeZone;
117 - (NSArray *) mailAccounts;
118 - (NSArray *) allIdentities;
119 - (NSDictionary *) primaryIdentity;
120 - (NSString *) messageForwarding;
121 - (NSString *) messageCheck;
123 - (NSString *) signature;
125 - (BOOL) isSuperUser;
129 - (SOGoUserFolder *) homeFolderInContext: (id) context;
131 - (SOGoAppointmentFolders *) calendarsFolderInContext: (WOContext *) context;
132 - (SOGoAppointmentFolder *)
133 personalCalendarFolderInContext: (WOContext *) context;
135 - (NSArray *) rolesForObject: (NSObject *) object
136 inContext: (WOContext *) context;
140 #endif /* __SOGoUser_H__ */