summaryrefslogtreecommitdiff
path: root/QSBookmarkProviderFactory.m
diff options
context:
space:
mode:
authorRuben Beltran del Rio <git@r.bdr.sh>2025-09-08 10:38:39 +0200
committerRuben Beltran del Rio <git@r.bdr.sh>2025-09-08 10:38:39 +0200
commita5e25cc05e5e33e114331cc826211c89adbcfa6a (patch)
tree2ea647b5117e5c3b530ec66d4caafd04969e0fbe /QSBookmarkProviderFactory.m
parent0f26c5c3b3e606c89724067d4785323de3fee751 (diff)
Reorganize code, WIP save for tag handling
Diffstat (limited to 'QSBookmarkProviderFactory.m')
-rw-r--r--QSBookmarkProviderFactory.m66
1 files changed, 0 insertions, 66 deletions
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<id<QSBookmarkProvider>> *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<QSBookmarkProvider>)providerForSite:(SocialSite)site username:(NSString *)username password:(NSString *)password host:(NSString *)host {
- for (id<QSBookmarkProvider> provider in self.providers) {
- if ([provider canHandleSite:site username:username password:password host:host]) {
- return provider;
- }
- }
- return nil;
-}
-
-- (NSArray<id<QSBookmarkProvider>> *)allProviders {
- return self.providers;
-}
-
-@end