2 Copyright (C) 2000-2005 SKYRIX Software AG
4 This file is part of SOPE.
6 SOPE 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 SOPE 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 SOPE; see the file COPYING. If not, write to the
18 Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
22 #ifndef __EOControl_EOSortOrdering_H__
23 #define __EOControl_EOSortOrdering_H__
25 #import <Foundation/NSObject.h>
26 #include <EOControl/EOControlDecls.h>
28 @class NSDictionary, NSString;
30 #if NeXT_RUNTIME || APPLE_RUNTIME
31 #define EOCompareAscending @selector(compareAscending:)
32 #define EOCompareDescending @selector(compareDescending:)
33 #define EOCompareCaseInsensitiveAscending @selector(compareCaseInsensitiveAscending:)
34 #define EOCompareCaseInsensitiveDescending @selector(compareCaseInsensitiveDescending:)
37 # warning did you define the proper runtime ? (eg APPLE_RUNTIME)
39 EOControl_EXPORT SEL EOCompareAscending;
40 EOControl_EXPORT SEL EOCompareDescending;
41 EOControl_EXPORT SEL EOCompareCaseInsensitiveAscending;
42 EOControl_EXPORT SEL EOCompareCaseInsensitiveDescending;
45 @interface EOSortOrdering : NSObject
51 + (EOSortOrdering *)sortOrderingWithKey:(NSString *)_key
52 selector:(SEL)_selector;
53 - (id)initWithKey:(NSString *)_key selector:(SEL)_selector;
62 - (EOSortOrdering *)sortOrderingByApplyingKeyMap:(NSDictionary *)_map;
66 #import <Foundation/NSArray.h>
68 @interface NSArray(EOSortOrdering)
70 - (NSArray *)sortedArrayUsingKeyOrderArray:(NSArray *)_orderings;
74 @interface NSMutableArray(EOSortOrdering)
76 - (void)sortUsingKeyOrderArray:(NSArray *)_orderings;
80 #import <Foundation/NSString.h>
82 @interface NSString(EOSortOrdering)
83 - (int)compareAscending:(id)_object;
84 - (int)compareDescending:(id)_object;
85 - (int)compareCaseInsensitiveAscending:(id)_object;
86 - (int)compareCaseInsensitiveDescending:(id)_object;
89 #endif /* __EOControl_EOSortOrdering_H__ */