summaryrefslogtreecommitdiff
path: root/Flickr.h
blob: f7b7cbace62b9d7c6663cc761061128e01b8577d (plain)
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
/*
 * Flickr.h
 * --------
 *
 * Author: Chris Lee <clee@mg8.org>
 * License: GPL v2 <http://www.opensource.org/licenses/gpl-license.php>
 */

#define FLICKR_AUTH_URL @"http://flickr.com/services/auth/"
#define FLICKR_REST_URL @"http://api.flickr.com/services/rest/"
#define FLICKR_UPLOAD_URL @"http://api.flickr.com/services/upload/"
#define FLICKR_FINISHED_URL @"http://www.flickr.com/tools/uploader_edit.gne"

#define FLICKR_GET_FROB @"flickr.auth.getFrob"
#define FLICKR_GET_TOKEN @"flickr.auth.getToken"
#define FLICKR_GET_TAGS @"flickr.tags.getListUser"
#define FLICKR_CHECK_TOKEN @"flickr.auth.checkToken"

#define FLICKR_WRITE_PERMS @"write"

#if !defined(API_KEY) || !defined(SHARED_SECRET)
#error "You need to define an API key and a shared secret. The MobilePushr API key is not contained in the source code."
#else
#define PUSHR_API_KEY @API_KEY
#define PUSHR_SHARED_SECRET @SHARED_SECRET
#endif

#define MIME_BOUNDARY "----16c17a9ea1d7b327e7489190e394d411----"
#define CONTENT_TYPE "multipart/form-data; boundary=" MIME_BOUNDARY

#import <Foundation/Foundation.h>

#import "FlickrCategory.h"

@class MobilePushr;

@interface Flickr : NSObject
{
	MobilePushr *_pushr;
	NSUserDefaults *_settings;
}

- (id)initWithPushr: (MobilePushr *)pushr;

#pragma mark XML helper functions
- (NSArray *)getXMLNodesNamed: (NSString *)nodeName fromResponse: (NSData *)responseData;
- (NSDictionary *)getXMLNodesAndAttributesFromResponse: (NSData *)responseData;

#pragma mark internal functions
- (NSURL *)signedURL: (NSDictionary *)parameters withBase: (NSString *)base;
- (NSURL *)signedURL: (NSDictionary *)parameters;
- (NSURL *)authURL;
- (NSString *)frob;

#pragma mark externally-visible interface
- (NSArray *)tags;
- (void)sendToGrantPermission;
- (void)tradeFrobForToken;
- (void)checkToken;
- (void)triggerUpload: (id)unused;

@end