summaryrefslogtreecommitdiff
path: root/Protocols/QSBookmarkProvider.h
blob: 48e1417480f986d29454d07dfb0c8c8ce87e2172 (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
//
//  QSBookmarkProvider.h
//  QSDeliciousPlugIn
//
//  Protocol for social bookmark providers
//

#import "SocialSite.h"
#import <Foundation/Foundation.h>

@class QSObject;

@protocol QSBookmarkProvider <NSObject>

@required
/**
 * Check if this provider can handle the given site configuration
 */
- (BOOL)canHandleSite:(SocialSite)site
             username:(NSString *)username
             password:(NSString *)password
                 host:(NSString *)host;

/**
 * Fetch bookmarks for the given configuration
 * Returns an NSArray of QSObject instances
 */
- (NSArray *)fetchBookmarksForSite:(SocialSite)site
                          username:(NSString *)username
                          password:(NSString *)password
                        identifier:(NSString *)identifier
                              host:(NSString *)host
                       includeTags:(BOOL)includeTags;

@optional
/**
 * Get bookmarks for a specific tag (used for child loading)
 */
- (NSArray *)fetchBookmarksForTag:(NSString *)tag
                             site:(SocialSite)site
                         username:(NSString *)username
                         password:(NSString *)password
                             host:(NSString *)host;

@end