Yini  1.0
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Properties Macros Pages
MPOAuthAPI.h
Go to the documentation of this file.
1 //
2 // MPOAuthAPI.h
3 // MPOAuthConnection
4 //
5 // Created by Karl Adam on 08.12.05.
6 // Copyright 2008 matrixPointer. All rights reserved.
7 //
8 
9 #import <Foundation/Foundation.h>
12 
13 extern NSString * const MPOAuthNotificationAccessTokenReceived;
14 extern NSString * const MPOAuthNotificationAccessTokenRejected;
15 extern NSString * const MPOAuthNotificationAccessTokenRefreshed;
16 extern NSString * const MPOAuthNotificationOAuthCredentialsReady;
17 extern NSString * const MPOAuthNotificationErrorHasOccurred;
18 
19 extern NSString * const MPOAuthCredentialRequestTokenKey;
20 extern NSString * const MPOAuthCredentialRequestTokenSecretKey;
21 extern NSString * const MPOAuthCredentialAccessTokenKey;
22 extern NSString * const MPOAuthCredentialAccessTokenSecretKey;
23 extern NSString * const MPOAuthCredentialSessionHandleKey;
24 
25 extern NSString * const MPOAuthTokenRefreshDateDefaultsKey;
26 
27 typedef enum {
32 
33 typedef enum {
38 
40 @end
41 
43 
44 @interface MPOAuthAPI : NSObject <MPOAuthAPIInternalClient> {
45 @private
46  id <MPOAuthCredentialStore, MPOAuthParameterFactory> credentials_;
47  NSURL *baseURL_;
48  NSURL *authenticationURL_;
49  MPOAuthAuthenticationMethod *authenticationMethod_;
50  MPOAuthSignatureScheme signatureScheme_;
51  NSMutableArray *activeLoaders_;
52  MPOAuthAuthenticationState oauthAuthenticationState_;
53 }
54 
55 @property (nonatomic, readonly, retain) id <MPOAuthCredentialStore, MPOAuthParameterFactory> credentials;
56 @property (nonatomic, readonly, retain) NSURL *baseURL;
57 @property (nonatomic, readonly, retain) NSURL *authenticationURL;
58 @property (nonatomic, readwrite, retain) MPOAuthAuthenticationMethod *authenticationMethod;
59 @property (nonatomic, readwrite, assign) MPOAuthSignatureScheme signatureScheme;
60 
61 @property (nonatomic, readonly, assign) MPOAuthAuthenticationState authenticationState;
62 
63 
64 - (id)initWithCredentials:(NSDictionary *)inCredentials andBaseURL:(NSURL *)inURL;
65 - (id)initWithCredentials:(NSDictionary *)inCredentials authenticationURL:(NSURL *)inAuthURL andBaseURL:(NSURL *)inBaseURL;
66 - (id)initWithCredentials:(NSDictionary *)inCredentials authenticationURL:(NSURL *)inAuthURL andBaseURL:(NSURL *)inBaseURL autoStart:(BOOL)aFlag;
67 
68 - (void)authenticate;
69 - (BOOL)isAuthenticated;
70 
71 - (void)performMethod:(NSString *)inMethod withTarget:(id)inTarget andAction:(SEL)inAction;
72 - (void)performMethod:(NSString *)inMethod atURL:(NSURL *)inURL withParameters:(NSArray *)inParameters withTarget:(id)inTarget andAction:(SEL)inAction;
73 - (void)performPOSTMethod:(NSString *)inMethod atURL:(NSURL *)inURL withParameters:(NSArray *)inParameters withTarget:(id)inTarget andAction:(SEL)inAction;
74 - (void)performURLRequest:(NSURLRequest *)inRequest withTarget:(id)inTarget andAction:(SEL)inAction;
75 
76 - (NSData *)dataForMethod:(NSString *)inMethod;
77 - (NSData *)dataForMethod:(NSString *)inMethod withParameters:(NSArray *)inParameters;
78 - (NSData *)dataForURL:(NSURL *)inURL andMethod:(NSString *)inMethod withParameters:(NSArray *)inParameters;
79 
80 - (id)credentialNamed:(NSString *)inCredentialName;
81 - (void)setCredential:(id)inCredential withName:(NSString *)inName;
82 - (void)removeCredentialNamed:(NSString *)inName;
83 
84 - (void)discardCredentials;
85 
86 @end