From 439fd3f5be25a6de970743add8254063261eec2f Mon Sep 17 00:00:00 2001 From: Wolfgang Sourdeau Date: Tue, 27 Mar 2007 18:16:52 +0000 Subject: [PATCH] Monotone-Parent: dba126da77bea65fd37325e4be553aaddcd108d1 Monotone-Revision: 4777a13aa6b6cf49487af090a72b1186c55550c0 Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2007-03-27T18:16:52 Monotone-Branch: ca.inverse.sogo --- ChangeLog | 3 +++ SoObjects/SOGo/SOGoUser.h | 4 +++- SoObjects/SOGo/SOGoUser.m | 38 ++++++++++++++++++++++++++++++++------ 3 files changed, 38 insertions(+), 7 deletions(-) diff --git a/ChangeLog b/ChangeLog index 98ee8c52d..155a427a0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2007-03-27 Wolfgang Sourdeau + * SoObjects/SOGo/SOGoUser.m ([SOGoUser -userSettings]): new method + (see below). + * SoObjects/SOGo/AgenorUserManager.m ([AgenorUserManager -getUserDefaultsForUID:uid]): rewrote method to use the "defaults" field of the sogo_user_profile table, where the user-customizable diff --git a/SoObjects/SOGo/SOGoUser.h b/SoObjects/SOGo/SOGoUser.h index 164af564a..62dc2ed9c 100644 --- a/SoObjects/SOGo/SOGoUser.h +++ b/SoObjects/SOGo/SOGoUser.h @@ -42,6 +42,7 @@ NSString *cn; NSString *email; NSUserDefaults *userDefaults; + NSUserDefaults *userSettings; } /* properties */ @@ -60,7 +61,8 @@ /* defaults */ -- (NSUserDefaults *)userDefaults; +- (NSUserDefaults *) userDefaults; +- (NSUserDefaults *) userSettings; /* folders */ diff --git a/SoObjects/SOGo/SOGoUser.m b/SoObjects/SOGo/SOGoUser.m index d3bb2eaac..6d863d530 100644 --- a/SoObjects/SOGo/SOGoUser.m +++ b/SoObjects/SOGo/SOGoUser.m @@ -37,8 +37,20 @@ @implementation SOGoUser +- (id) init +{ + if ((self = [super init])) + { + userDefaults = nil; + userSettings = nil; + } + + return self; +} + - (void)dealloc { [self->userDefaults release]; + [self->userSettings release]; [self->cn release]; [self->email release]; [super dealloc]; @@ -90,12 +102,26 @@ /* defaults */ -- (NSUserDefaults *)userDefaults { - if (self->userDefaults == nil) { - self->userDefaults = - [[[self userManager] getUserDefaultsForUID:[self login]] retain]; - } - return self->userDefaults; +- (NSUserDefaults *) userDefaults +{ + if (!userDefaults) + { + userDefaults = [[self userManager] getUserDefaultsForUID: [self login]]; + [userDefaults retain]; + } + + return userDefaults; +} + +- (NSUserDefaults *) userSettings +{ + if (!userSettings) + { + userSettings = [[self userManager] getUserSettingsForUID: [self login]]; + [userSettings retain]; + } + + return userSettings; } /* folders */