diff --git a/ChangeLog b/ChangeLog index c1c94f857..0b8d21db0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2006-10-16 Wolfgang Sourdeau + + * SoObjects/SOGo/NSObject+Owner.[hm]: new extension module to + NSObject to associate an instance with a user. + 2006-10-13 Wolfgang Sourdeau * UI/WebServerResources/SchedulerUI.js: added handling of multiple diff --git a/SoObjects/SOGo/NSObject+Owner.h b/SoObjects/SOGo/NSObject+Owner.h new file mode 100644 index 000000000..5237b559c --- /dev/null +++ b/SoObjects/SOGo/NSObject+Owner.h @@ -0,0 +1,37 @@ +/* NSObject+Owner.h - this file is part of SOGo + * + * Copyright (C) 2006 Inverse groupe conseil + * + * Author: Wolfgang Sourdeau + * + * This file is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * This file 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 General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#ifndef NSOBJECT_OWNER_H +#define NSOBJECT_OWNER_H + +#import + +@class NSString; + +@interface NSObject (SOGoOwnerExtension) + +- (void) setOwnerByLogin: (NSString *) login; +- (NSString *) ownerLogin; + +@end + +#endif /* NSOBJECT+OWNER_H */ diff --git a/SoObjects/SOGo/NSObject+Owner.m b/SoObjects/SOGo/NSObject+Owner.m new file mode 100644 index 000000000..29f488b41 --- /dev/null +++ b/SoObjects/SOGo/NSObject+Owner.m @@ -0,0 +1,54 @@ +/* NSObject+Owner.m - this file is part of SOGo + * + * Copyright (C) 2006 Inverse groupe conseil + * + * Author: Wolfgang Sourdeau + * + * This file is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * This file 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 General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#include + +#import +#import + +#import "NSObject+Owner.h" + +static NSMutableDictionary *ownerTable = nil; + +@implementation NSObject (SOGoOwnerExtension) + +- (void) setOwnerByLogin: (NSString *) login +{ + if (!ownerTable) + ownerTable = [NSMutableDictionary new]; + + [ownerTable setObject: login forKey: self]; +} + +- (NSString *) ownerLogin +{ + NSString *login; + + if (ownerTable) + login = [ownerTable objectForKey: self]; + else + login = nil; + + return login; +} + +@end