Files
flipper/iOS/Plugins/FlipperKitDatabasesPlugin/FlipperKitDatabasesPlugin/FlipperKitDatabasesPlugin.m
Fúlvio Abrahão de Paula 2f5f4911e5 Refactor FlipperKitDatabasePlugin to accept multiple database drivers.
Reviewed By: lblasa

Differential Revision: D48316901

fbshipit-source-id: 0eb7b93f53ce115a0a031a58ecef3db963b35f09
2023-08-14 11:07:07 -07:00

70 lines
1.5 KiB
Objective-C

/*
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
#if FB_SONARKIT_ENABLED
#import "FlipperKitDatabasesPlugin.h"
#import <FlipperKit/FlipperClient.h>
#import <FlipperKit/FlipperConnection.h>
#import <FlipperKit/FlipperResponder.h>
#import "DatabaseDriver.h"
#import "DatabasesManager.h"
#import "MockDatabaseDriver.h"
@interface FlipperKitDatabasesPlugin ()
@property(strong, nonatomic) id<FlipperConnection> connection;
@end
@implementation FlipperKitDatabasesPlugin
- (instancetype)init {
if (self = [super init]) {
_databasesManager = [DatabasesManager new];
}
return self;
}
+ (instancetype)sharedInstance {
static FlipperKitDatabasesPlugin* sInstance = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
sInstance = [FlipperKitDatabasesPlugin new];
});
return sInstance;
}
- (void)didConnect:(id<FlipperConnection>)connection {
self.connection = connection;
[self.databasesManager setConnection:connection];
}
- (void)didDisconnect {
[self.databasesManager setConnection:nil];
}
- (NSString*)identifier {
return @"Databases";
}
- (BOOL)runInBackground {
return NO;
}
- (void)addDatabaseDriver:(id<DatabaseDriver>)driver {
[self.databasesManager addDatabaseDriver:driver];
}
- (void)removeDatabaseDriver:(id<DatabaseDriver>)driver {
[self.databasesManager addDatabaseDriver:driver];
}
@end
#endif