main
 1//
 2// Licensed under the terms in License.txt
 3//
 4// Copyright 2010 Allen Ding. All rights reserved.
 5//
 6
 7#import "KiwiConfiguration.h"
 8#import "KWMatching.h"
 9
10@class KWFailure;
11@class KWMatcher;
12@class KWUserDefinedMatcherBuilder;
13
14@interface KWMatcherFactory : NSObject {
15@private
16    NSMutableArray *registeredMatcherClasses;
17    NSMutableDictionary *matcherClassChains;
18}
19
20#pragma mark -
21#pragma mark Initializing
22
23- (id)init;
24
25#pragma mark -
26#pragma mark Properties
27
28@property (nonatomic, readonly) NSArray *registeredMatcherClasses;
29
30#pragma mark -
31#pragma mark Registering Matcher Classes
32
33- (void)registerMatcherClass:(Class)aClass;
34- (void)registerMatcherClassesWithNamespacePrefix:(NSString *)aNamespacePrefix;
35
36#pragma mark -
37#pragma mark Registering User Defined Matchers
38
39//- (void)registerUserDefinedMatcherWithBuilder:(KWUserDefinedMatcherBuilder *)aBuilder;
40
41#pragma mark -
42#pragma mark Getting Method Signatures
43
44- (NSMethodSignature *)methodSignatureForMatcherSelector:(SEL)aSelector;
45
46#pragma mark -
47#pragma mark Getting Matchers
48
49- (KWMatcher *)matcherFromInvocation:(NSInvocation *)anInvocation subject:(id)subject;
50
51@end