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

#import <Foundation/Foundation.h>
#import "SocialSite.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 host:(NSString *)host includeTags:(BOOL)includeTags;

/**
 * Get the supported site for this provider
 */
- (SocialSite)supportedSite;

/**
 * Get display name for this provider
 */
- (NSString *)providerName;

@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;

/**
 * Get the tag URL type identifier for this provider
 */
- (NSString *)tagURLType;

@end