From a5e25cc05e5e33e114331cc826211c89adbcfa6a Mon Sep 17 00:00:00 2001 From: Ruben Beltran del Rio Date: Mon, 8 Sep 2025 10:38:39 +0200 Subject: Reorganize code, WIP save for tag handling --- QSBookmarkProviderFactory.m | 66 --------------------------------------------- 1 file changed, 66 deletions(-) delete mode 100644 QSBookmarkProviderFactory.m (limited to 'QSBookmarkProviderFactory.m') diff --git a/QSBookmarkProviderFactory.m b/QSBookmarkProviderFactory.m deleted file mode 100644 index 6fcfdfb..0000000 --- a/QSBookmarkProviderFactory.m +++ /dev/null @@ -1,66 +0,0 @@ -// -// QSBookmarkProviderFactory.m -// QSDeliciousPlugIn -// - -#import "QSBookmarkProviderFactory.h" -#import "QSDeliciousAPIProvider.h" -#import "QSLinkdingProvider.h" -#import "SocialSite.h" - -@interface QSBookmarkProviderFactory () -@property (nonatomic, strong, readwrite) NSArray> *providers; -@end - -@implementation QSBookmarkProviderFactory - -+ (instancetype)sharedFactory { - static QSBookmarkProviderFactory *sharedInstance = nil; - static dispatch_once_t onceToken; - dispatch_once(&onceToken, ^{ - sharedInstance = [[self alloc] init]; - }); - return sharedInstance; -} - -- (instancetype)init { - self = [super init]; - if (self) { - [self setupProviders]; - } - return self; -} - -- (void)setupProviders { - NSMutableArray *mutableProviders = [NSMutableArray array]; - - // Create Pinboard API providers for each supported site - QSDeliciousAPIProvider *deliciousProvider = [[QSDeliciousAPIProvider alloc] initWithSite:SocialSiteDelicious]; - QSDeliciousAPIProvider *magnoliaProvider = [[QSDeliciousAPIProvider alloc] initWithSite:SocialSiteMagnolia]; - QSDeliciousAPIProvider *pinboardProvider = [[QSDeliciousAPIProvider alloc] initWithSite:SocialSitePinboard]; - - // Create Linkding provider - QSLinkdingProvider *linkdingProvider = [[QSLinkdingProvider alloc] init]; - - [mutableProviders addObject:deliciousProvider]; - [mutableProviders addObject:magnoliaProvider]; - [mutableProviders addObject:pinboardProvider]; - [mutableProviders addObject:linkdingProvider]; - - self.providers = [mutableProviders copy]; -} - -- (id)providerForSite:(SocialSite)site username:(NSString *)username password:(NSString *)password host:(NSString *)host { - for (id provider in self.providers) { - if ([provider canHandleSite:site username:username password:password host:host]) { - return provider; - } - } - return nil; -} - -- (NSArray> *)allProviders { - return self.providers; -} - -@end -- cgit