2017-02-02 21:13:41 +01:00
|
|
|
//
|
2018-07-18 03:32:44 +02:00
|
|
|
// Copyright (c) 2018 Open Whisper Systems. All rights reserved.
|
2017-02-02 21:13:41 +01:00
|
|
|
//
|
2015-12-07 03:31:43 +01:00
|
|
|
|
2018-08-31 19:12:40 +02:00
|
|
|
#import "SSKEnvironment.h"
|
2017-12-06 21:53:19 +01:00
|
|
|
#import "AppContext.h"
|
2015-12-07 03:31:43 +01:00
|
|
|
|
2016-12-18 22:08:26 +01:00
|
|
|
NS_ASSUME_NONNULL_BEGIN
|
|
|
|
|
2018-08-31 19:12:40 +02:00
|
|
|
static SSKEnvironment *sharedSSKEnvironment;
|
2016-12-18 22:08:26 +01:00
|
|
|
|
2018-08-31 19:12:40 +02:00
|
|
|
@interface SSKEnvironment ()
|
2017-12-06 21:53:19 +01:00
|
|
|
|
|
|
|
@property (nonatomic) id<OWSCallMessageHandler> callMessageHandler;
|
|
|
|
@property (nonatomic) id<ContactsManagerProtocol> contactsManager;
|
|
|
|
@property (nonatomic) OWSMessageSender *messageSender;
|
|
|
|
@property (nonatomic) id<NotificationsProtocol> notificationsManager;
|
|
|
|
@property (nonatomic) id<ProfileManagerProtocol> profileManager;
|
|
|
|
|
|
|
|
@end
|
|
|
|
|
|
|
|
#pragma mark -
|
2015-12-07 03:31:43 +01:00
|
|
|
|
2018-08-31 19:12:40 +02:00
|
|
|
@implementation SSKEnvironment
|
2016-12-18 22:08:26 +01:00
|
|
|
|
|
|
|
- (instancetype)initWithCallMessageHandler:(id<OWSCallMessageHandler>)callMessageHandler
|
|
|
|
contactsManager:(id<ContactsManagerProtocol>)contactsManager
|
2017-03-30 18:37:22 +02:00
|
|
|
messageSender:(OWSMessageSender *)messageSender
|
2016-12-18 22:08:26 +01:00
|
|
|
notificationsManager:(id<NotificationsProtocol>)notificationsManager
|
2017-08-02 19:12:26 +02:00
|
|
|
profileManager:(id<ProfileManagerProtocol>)profileManager
|
2016-12-18 22:08:26 +01:00
|
|
|
{
|
|
|
|
self = [super init];
|
|
|
|
if (!self) {
|
|
|
|
return self;
|
|
|
|
}
|
|
|
|
|
2018-09-06 19:01:24 +02:00
|
|
|
OWSAssertDebug(callMessageHandler);
|
|
|
|
OWSAssertDebug(contactsManager);
|
|
|
|
OWSAssertDebug(messageSender);
|
|
|
|
OWSAssertDebug(notificationsManager);
|
|
|
|
OWSAssertDebug(profileManager);
|
2017-12-06 21:53:19 +01:00
|
|
|
|
2016-12-18 22:08:26 +01:00
|
|
|
_callMessageHandler = callMessageHandler;
|
|
|
|
_contactsManager = contactsManager;
|
2017-03-30 18:37:22 +02:00
|
|
|
_messageSender = messageSender;
|
2016-12-18 22:08:26 +01:00
|
|
|
_notificationsManager = notificationsManager;
|
2017-08-02 19:12:26 +02:00
|
|
|
_profileManager = profileManager;
|
2016-12-18 22:08:26 +01:00
|
|
|
|
|
|
|
return self;
|
|
|
|
}
|
|
|
|
|
2018-08-31 19:16:31 +02:00
|
|
|
+ (instancetype)shared
|
2016-12-18 22:08:26 +01:00
|
|
|
{
|
2018-08-31 19:12:40 +02:00
|
|
|
OWSAssertDebug(sharedSSKEnvironment);
|
2015-12-07 03:31:43 +01:00
|
|
|
|
2018-08-31 19:12:40 +02:00
|
|
|
return sharedSSKEnvironment;
|
2017-03-30 18:37:22 +02:00
|
|
|
}
|
2017-02-02 21:13:41 +01:00
|
|
|
|
2018-08-31 19:16:31 +02:00
|
|
|
+ (void)setShared:(SSKEnvironment *)env
|
2017-02-02 21:13:41 +01:00
|
|
|
{
|
2018-09-06 19:01:24 +02:00
|
|
|
OWSAssertDebug(env);
|
2018-08-31 19:12:40 +02:00
|
|
|
OWSAssertDebug(!sharedSSKEnvironment || CurrentAppContext().isRunningTests);
|
2017-02-02 21:13:41 +01:00
|
|
|
|
2018-08-31 19:12:40 +02:00
|
|
|
sharedSSKEnvironment = env;
|
2017-08-02 19:12:26 +02:00
|
|
|
}
|
|
|
|
|
2015-12-07 03:31:43 +01:00
|
|
|
@end
|
2016-12-18 22:08:26 +01:00
|
|
|
|
|
|
|
NS_ASSUME_NONNULL_END
|