/
IRWebAPIAuthenticator.m
94 lines (55 loc) · 2.56 KB
/
IRWebAPIAuthenticator.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
//
// IRWebAPIAuthenticator.m
// IRWebAPIKit
//
// Created by Evadne Wu on 11/21/10.
// Copyright 2010 Iridia Productions. All rights reserved.
//
#import "IRWebAPIKit.h"
#import "IRWebAPIAuthenticator.h"
@implementation IRWebAPIAuthenticator
@synthesize engine, globalRequestPreTransformerBlock, globalRequestPostTransformerBlock, globalResponsePreTransformerBlock, globalResponsePostTransformerBlock, currentCredentials;
- (id) initWithEngine:(IRWebAPIEngine *)inEngine {
self = [super init]; if (!self) return nil;
engine = inEngine;
self.currentCredentials = nil;
[self createTransformerBlocks];
[self associateWithEngine:engine];
return self;
}
- (void) createTransformerBlocks {
NSLog(@"-createTransformerBlocks is to be implemented by a subclass.");
}
- (void) dealloc {
self.globalRequestPreTransformerBlock = nil;
self.globalRequestPostTransformerBlock = nil;
self.globalResponsePreTransformerBlock = nil;
self.globalResponsePostTransformerBlock = nil;
self.currentCredentials = nil;
[super dealloc];
}
- (void) associateWithEngine:(IRWebAPIEngine *)inEngine {
if (self.globalRequestPreTransformerBlock)
[self.engine.globalRequestPreTransformers addObject:self.globalRequestPreTransformerBlock];
if (self.globalRequestPostTransformerBlock)
[self.engine.globalRequestPostTransformers addObject:self.globalRequestPostTransformerBlock];
if (self.globalResponsePreTransformerBlock)
[self.engine.globalResponsePreTransformers addObject:self.globalResponsePreTransformerBlock];
if (self.globalResponsePostTransformerBlock)
[self.engine.globalResponsePostTransformers addObject:self.globalResponsePostTransformerBlock];
}
- (void) disassociateEngine {
if (self.globalRequestPreTransformerBlock)
[self.engine.globalRequestPreTransformers removeObject:self.globalRequestPreTransformerBlock];
if (self.globalRequestPostTransformerBlock)
[self.engine.globalRequestPostTransformers removeObject:self.globalRequestPostTransformerBlock];
if (self.globalResponsePreTransformerBlock)
[self.engine.globalResponsePreTransformers removeObject:self.globalResponsePreTransformerBlock];
if (self.globalResponsePostTransformerBlock)
[self.engine.globalResponsePostTransformers removeObject:self.globalResponsePostTransformerBlock];
self.engine = nil;
}
- (void) authenticateCredentials:(IRWebAPICredentials *)inCredentials onSuccess:(IRWebAPIAuthenticatorCallback)successHandler onFailure:(IRWebAPIAuthenticatorCallback)failureHandler {
NSLog(@"-authenticateCredentials:withEngine:onSuccess:onFailure: is to be implemented by a subclass.");
}
@end