diff options
| author | Ruben Beltran del Rio <git@r.bdr.sh> | 2025-09-08 10:38:39 +0200 |
|---|---|---|
| committer | Ruben Beltran del Rio <git@r.bdr.sh> | 2025-09-08 10:38:39 +0200 |
| commit | a5e25cc05e5e33e114331cc826211c89adbcfa6a (patch) | |
| tree | 2ea647b5117e5c3b530ec66d4caafd04969e0fbe /Protocols | |
| parent | 0f26c5c3b3e606c89724067d4785323de3fee751 (diff) | |
Reorganize code, WIP save for tag handling
Diffstat (limited to 'Protocols')
| -rw-r--r-- | Protocols/QSBookmarkProvider.h | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/Protocols/QSBookmarkProvider.h b/Protocols/QSBookmarkProvider.h new file mode 100644 index 0000000..136ea2d --- /dev/null +++ b/Protocols/QSBookmarkProvider.h @@ -0,0 +1,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 identifier:(NSString *)identifier 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 |