diff --git a/SoObjects/SOGo/GNUmakefile b/SoObjects/SOGo/GNUmakefile index ca342a038..f9010db09 100644 --- a/SoObjects/SOGo/GNUmakefile +++ b/SoObjects/SOGo/GNUmakefile @@ -55,6 +55,7 @@ SOGo_HEADER_FILES = \ SOGoCASSession.h \ SOGoDAVAuthenticator.h \ SOGoProxyAuthenticator.h \ + SOGoStaticAuthenticator.h \ SOGoWebAuthenticator.h \ SOGoWebDAVAclManager.h \ SOGoWebDAVValue.h \ @@ -126,6 +127,7 @@ SOGo_OBJC_FILES = \ SOGoCASSession.m \ SOGoDAVAuthenticator.m \ SOGoProxyAuthenticator.m \ + SOGoStaticAuthenticator.m \ SOGoWebAuthenticator.m \ SOGoWebDAVAclManager.m \ SOGoWebDAVValue.m \ diff --git a/SoObjects/SOGo/SOGoStaticAuthenticator.h b/SoObjects/SOGo/SOGoStaticAuthenticator.h new file mode 100644 index 000000000..cb12c0276 --- /dev/null +++ b/SoObjects/SOGo/SOGoStaticAuthenticator.h @@ -0,0 +1,51 @@ +/* SOGoStaticAuthenticator.h - this file is part of SOGo + * + * Copyright (C) 2013 Inverse inc. + * + * 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 SOGOSTATICAUTHENTICATOR_H +#define SOGOSTATICAUTHENTICATOR_H + +#import + + +#import "SOGoAuthenticator.h" + +/* + SOGoStaticAuthenticator + +*/ + +@interface SOGoStaticAuthenticator : NSObject +{ + NSString *_username; + NSString *_password; +} + ++ (id) authenticatorWithUser: (NSString *) user + andPassword: (NSString *) password; + +- (id) initWithUser: (NSString *) user + andPassword: (NSString *) password; + +- (NSString *) username; + +@end + +#endif /* SOGOSTATICAUTHENTICATOR_H */ + diff --git a/SoObjects/SOGo/SOGoStaticAuthenticator.m b/SoObjects/SOGo/SOGoStaticAuthenticator.m new file mode 100644 index 000000000..af8daf0a2 --- /dev/null +++ b/SoObjects/SOGo/SOGoStaticAuthenticator.m @@ -0,0 +1,87 @@ +/* SOGoStaticAuthenticator.m - this file is part of SOGo + * + * Copyright (C) 2013 Inverse inc. + * + * 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. + */ + +#import + +#import "SOGoStaticAuthenticator.h" + +@implementation SOGoStaticAuthenticator + ++ (id) authenticatorWithUser: (NSString *) user + andPassword: (NSString *) password +{ + SOGoStaticAuthenticator *newAuthenticator; + newAuthenticator = [[self alloc] initWithUser: user + andPassword: password]; + [newAuthenticator autorelease]; + return newAuthenticator; +} + +- (id) init +{ + if ((self = [super init])) + { + _username = nil; + _password = nil; + } + return self; +} + +- (void) dealloc +{ + [_username release]; + [_password release]; + [super dealloc]; +} + +- (id) initWithUser: (NSString *) user + andPassword: (NSString *) password; +{ + if ((self = [self init])) + { + _username = [user retain]; + _password = [password retain]; + } + return self; +} + +- (NSString *) passwordInContext: (WOContext *) context +{ + return _password; +} + +- (SOGoUser *) userInContext: (WOContext *) context +{ + return nil; +} + +- (NSString *) username +{ + return _username; +} + +- (NSString *) imapPasswordInContext: (WOContext *) context + forURL: (NSURL *) server + forceRenew: (BOOL) renew +{ + return _password; +} + +@end