Monotone-Parent: 0df73c55c83973b5088ccb3350d103006525098c

Monotone-Revision: 0836ff89730377219eb53f7caa175eefe1f680a3

Monotone-Author: wsourdeau@inverse.ca
Monotone-Date: 2006-10-03T16:09:43
Monotone-Branch: ca.inverse.sogo
This commit is contained in:
Wolfgang Sourdeau
2006-10-03 16:09:43 +00:00
parent 29f8ab0852
commit 6ca2e1bfcf
8 changed files with 48 additions and 44 deletions
+5 -1
View File
@@ -30,9 +30,10 @@ libSOGo_HEADER_FILES = \
\
AgenorUserManager.h \
SOGoLRUCache.h \
NSString+iCal.h \
NSObject+AptComparison.h \
WOContext+Agenor.h \
NSString+URL.h \
NSDictionary+URL.h \
\
SOGoAuthenticator.h \
SOGoUser.h \
@@ -51,6 +52,9 @@ libSOGo_OBJC_FILES = \
NSObject+AptComparison.m \
WOContext+Agenor.m \
AgenorUserDefaults.m \
NSDictionary+URL.m \
NSString+URL.m \
\
\
SOGoAuthenticator.m \
SOGoUser.m \
+36
View File
@@ -0,0 +1,36 @@
/* NSDictionary+URL.h - this file is part of SOGo
*
* Copyright (C) 2006 Inverse groupe conseil
*
* Author: Wolfgang Sourdeau <wsourdeau@inverse.ca>
*
* 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 NSDICTIONARY_URL_H
#define NSDICTIONARY_URL_H
#import <Foundation/NSDictionary.h>
@class NSString;
@interface NSDictionary (SOGoURLExtension)
- (NSString *) asURLParameters;
@end
#endif /* NSDICTIONARY_URL_H */
+69
View File
@@ -0,0 +1,69 @@
/* NSDictionary+URL.m - this file is part of SOGo
*
* Copyright (C) 2006 Inverse groupe conseil
*
* Author: Wolfgang Sourdeau <wsourdeau@inverse.ca>
*
* 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 <Foundation/NSArray.h>
#import <Foundation/NSEnumerator.h>
#import <Foundation/NSString.h>
#import "NSDictionary+URL.h"
@implementation NSDictionary (SOGoURLExtension)
- (NSString *) asURLParameters
{
NSMutableString *urlParameters;
NSArray *keys;
NSEnumerator *keysEnum;
NSString *currentKey, *separator;
id currentValue;
BOOL isFirst;
urlParameters = [NSMutableString new];
[urlParameters autorelease];
keys = [self allKeys];
if ([keys count] > 0)
{
isFirst = YES;
keysEnum = [keys objectEnumerator];
currentKey = [keysEnum nextObject];
while (currentKey)
{
currentValue = [self objectForKey: currentKey];
if ([currentValue isKindOfClass: [NSArray class]])
{
separator = [NSString stringWithFormat: @"&%@=", currentKey];
currentValue
= [currentValue componentsJoinedByString: separator];
}
[urlParameters appendFormat: @"%@%@=%@",
((isFirst) ? @"?" : @"&"),
currentKey, currentValue];
isFirst = NO;
currentKey = [keysEnum nextObject];
}
}
return urlParameters;
}
@end
+41
View File
@@ -0,0 +1,41 @@
/* NSString+URL.h - this file is part of SOGo
*
* Copyright (C) 2006 Inverse groupe conseil
*
* Author: Wolfgang Sourdeau <wsourdeau@inverse.ca>
*
* 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 NSSTRING_URL_H
#define NSSTRING_URL_H
#import <Foundation/NSString.h>
@class NSDictionary;
@interface NSString (SOGoURLExtension)
- (NSString *) composeURLWithAction: (NSString *) action
parameters: (NSDictionary *) urlParameters
andHash: (BOOL) useHash;
- (NSString *) hostlessURL;
- (NSString *) urlWithoutParameters;
@end
#endif /* NSSTRING_URL_H */
+80
View File
@@ -0,0 +1,80 @@
/* NSString+URL.m - this file is part of SOGo
*
* Copyright (C) 2006 Inverse group conseil
*
* Author: Wolfgang Sourdeau <wsourdeau@inverse.ca>
*
* 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 "NSString+URL.h"
#import "NSDictionary+URL.h"
@implementation NSString (SOGoURLExtension)
- (NSString *) composeURLWithAction: (NSString *) action
parameters: (NSDictionary *) urlParameters
andHash: (BOOL) useHash
{
NSMutableString *completeURL;
completeURL = [NSMutableString new];
[completeURL autorelease];
[completeURL appendString: [self urlWithoutParameters]];
if (![completeURL hasSuffix: @"/"])
[completeURL appendString: @"/"];
[completeURL appendString: action];
[completeURL appendString: [urlParameters asURLParameters]];
if (useHash)
[completeURL appendString: @"#"];
return completeURL;
}
- (NSString *) hostlessURL
{
NSString *newURL;
NSRange hostR, locationR;
if ([self hasPrefix: @"/"])
newURL = [self copy];
else
{
hostR = [self rangeOfString: @"://"];
locationR = [[self substringFromIndex: (hostR.location + hostR.length)]
rangeOfString: @"/"];
newURL = [self substringFromIndex: (hostR.location + hostR.length + locationR.location)];
}
return newURL;
}
- (NSString *) urlWithoutParameters;
{
NSRange r;
NSString *newUrl;
r = [self rangeOfString:@"?" options: NSBackwardsSearch];
if (r.length > 0)
newUrl = [self substringToIndex: NSMaxRange(r) - 1];
else
newUrl = self;
return newUrl;
}
@end
-32
View File
@@ -1,32 +0,0 @@
/*
Copyright (C) 2000-2004 SKYRIX Software AG
This file is part of OGo
OGo is free software; you can redistribute it and/or modify it under
the terms of the GNU Lesser General Public License as published by the
Free Software Foundation; either version 2, or (at your option) any
later version.
OGo 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 Lesser General Public
License for more details.
You should have received a copy of the GNU Lesser General Public
License along with OGo; see the file COPYING. If not, write to the
Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
02111-1307, USA.
*/
// $Id: NSString+iCal.h 577 2005-02-17 14:38:14Z helge $
#ifndef __NSString_iCal_H_
#define __NSString_iCal_H_
// DEPRECATED
#import <Foundation/Foundation.h>
#include <NGiCal/iCalRenderer.h>
#endif /* __NSString_iCal_H_ */