2015-12-07 03:31:43 +01:00
|
|
|
//
|
2018-08-31 19:12:40 +02:00
|
|
|
// Copyright (c) 2018 Open Whisper Systems. All rights reserved.
|
2015-12-07 03:31:43 +01:00
|
|
|
//
|
|
|
|
|
2018-10-18 21:59:43 +02:00
|
|
|
#import "OWSSyncManagerProtocol.h"
|
|
|
|
|
2016-12-18 22:08:26 +01:00
|
|
|
NS_ASSUME_NONNULL_BEGIN
|
2015-12-07 03:31:43 +01:00
|
|
|
|
2018-10-10 23:36:41 +02:00
|
|
|
@class ContactDiscoveryService;
|
2018-09-17 15:27:58 +02:00
|
|
|
@class ContactsUpdater;
|
2018-10-10 23:36:41 +02:00
|
|
|
@class OWS2FAManager;
|
2018-11-07 23:49:25 +01:00
|
|
|
@class OWSAttachmentDownloads;
|
2018-10-02 15:34:34 +02:00
|
|
|
@class OWSBatchMessageProcessor;
|
2018-09-20 18:52:43 +02:00
|
|
|
@class OWSBlockingManager;
|
2018-10-10 23:36:41 +02:00
|
|
|
@class OWSDisappearingMessagesJob;
|
2018-09-20 18:52:43 +02:00
|
|
|
@class OWSIdentityManager;
|
2018-10-02 15:34:34 +02:00
|
|
|
@class OWSMessageDecrypter;
|
2018-09-20 18:52:43 +02:00
|
|
|
@class OWSMessageManager;
|
2018-10-02 15:34:34 +02:00
|
|
|
@class OWSMessageReceiver;
|
2017-03-30 18:37:22 +02:00
|
|
|
@class OWSMessageSender;
|
2018-10-11 21:29:01 +02:00
|
|
|
@class OWSOutgoingReceiptManager;
|
2018-09-17 15:27:58 +02:00
|
|
|
@class OWSPrimaryStorage;
|
2018-10-11 18:51:58 +02:00
|
|
|
@class OWSReadReceiptManager;
|
2018-10-20 19:51:48 +02:00
|
|
|
@class SSKMessageSenderJobQueue;
|
2018-10-10 23:09:35 +02:00
|
|
|
@class TSAccountManager;
|
2018-09-17 15:27:58 +02:00
|
|
|
@class TSNetworkManager;
|
2018-10-04 21:51:04 +02:00
|
|
|
@class TSSocketManager;
|
2018-09-17 15:27:58 +02:00
|
|
|
@class YapDatabaseConnection;
|
2019-05-22 05:09:01 +02:00
|
|
|
@class LKFriendRequestExpirationJob; // Loki
|
2019-05-20 03:17:58 +02:00
|
|
|
|
2018-09-17 15:27:58 +02:00
|
|
|
@protocol ContactsManagerProtocol;
|
2016-12-18 22:08:26 +01:00
|
|
|
@protocol NotificationsProtocol;
|
|
|
|
@protocol OWSCallMessageHandler;
|
2017-08-02 19:12:26 +02:00
|
|
|
@protocol ProfileManagerProtocol;
|
2018-10-01 16:33:01 +02:00
|
|
|
@protocol OWSUDManager;
|
2018-10-22 17:42:53 +02:00
|
|
|
@protocol SSKReachabilityManager;
|
2018-10-20 19:51:48 +02:00
|
|
|
@protocol OWSSyncManagerProtocol;
|
2018-10-31 00:18:17 +01:00
|
|
|
@protocol OWSTypingIndicators;
|
2015-12-07 03:31:43 +01:00
|
|
|
|
2018-08-31 19:12:40 +02:00
|
|
|
@interface SSKEnvironment : NSObject
|
2015-12-07 03:31:43 +01:00
|
|
|
|
2018-09-17 15:27:58 +02:00
|
|
|
- (instancetype)initWithContactsManager:(id<ContactsManagerProtocol>)contactsManager
|
|
|
|
messageSender:(OWSMessageSender *)messageSender
|
2018-10-20 19:51:48 +02:00
|
|
|
messageSenderJobQueue:(SSKMessageSenderJobQueue *)messageSenderJobQueue
|
2018-09-17 15:27:58 +02:00
|
|
|
profileManager:(id<ProfileManagerProtocol>)profileManager
|
|
|
|
primaryStorage:(OWSPrimaryStorage *)primaryStorage
|
|
|
|
contactsUpdater:(ContactsUpdater *)contactsUpdater
|
2018-09-20 18:52:43 +02:00
|
|
|
networkManager:(TSNetworkManager *)networkManager
|
|
|
|
messageManager:(OWSMessageManager *)messageManager
|
|
|
|
blockingManager:(OWSBlockingManager *)blockingManager
|
2018-10-01 16:33:01 +02:00
|
|
|
identityManager:(OWSIdentityManager *)identityManager
|
2018-10-04 21:51:04 +02:00
|
|
|
udManager:(id<OWSUDManager>)udManager
|
2018-10-02 15:34:34 +02:00
|
|
|
messageDecrypter:(OWSMessageDecrypter *)messageDecrypter
|
|
|
|
batchMessageProcessor:(OWSBatchMessageProcessor *)batchMessageProcessor
|
2018-10-04 21:51:04 +02:00
|
|
|
messageReceiver:(OWSMessageReceiver *)messageReceiver
|
2018-10-10 23:09:35 +02:00
|
|
|
socketManager:(TSSocketManager *)socketManager
|
2018-10-10 23:36:41 +02:00
|
|
|
tsAccountManager:(TSAccountManager *)tsAccountManager
|
|
|
|
ows2FAManager:(OWS2FAManager *)ows2FAManager
|
|
|
|
disappearingMessagesJob:(OWSDisappearingMessagesJob *)disappearingMessagesJob
|
2018-10-11 18:51:58 +02:00
|
|
|
contactDiscoveryService:(ContactDiscoveryService *)contactDiscoveryService
|
2018-10-16 22:02:37 +02:00
|
|
|
readReceiptManager:(OWSReadReceiptManager *)readReceiptManager
|
|
|
|
outgoingReceiptManager:(OWSOutgoingReceiptManager *)outgoingReceiptManager
|
2018-10-22 17:42:53 +02:00
|
|
|
reachabilityManager:(id<SSKReachabilityManager>)reachabilityManager
|
2018-10-31 00:18:17 +01:00
|
|
|
syncManager:(id<OWSSyncManagerProtocol>)syncManager
|
2018-11-07 23:49:25 +01:00
|
|
|
typingIndicators:(id<OWSTypingIndicators>)typingIndicators
|
|
|
|
attachmentDownloads:(OWSAttachmentDownloads *)attachmentDownloads NS_DESIGNATED_INITIALIZER;
|
2016-12-18 22:08:26 +01:00
|
|
|
|
|
|
|
- (instancetype)init NS_UNAVAILABLE;
|
2015-12-07 03:31:43 +01:00
|
|
|
|
2018-09-17 15:27:58 +02:00
|
|
|
@property (nonatomic, readonly, class) SSKEnvironment *shared;
|
|
|
|
|
|
|
|
+ (void)setShared:(SSKEnvironment *)env;
|
|
|
|
|
|
|
|
#ifdef DEBUG
|
|
|
|
// Should only be called by tests.
|
|
|
|
+ (void)clearSharedForTests;
|
|
|
|
#endif
|
2016-12-18 22:08:26 +01:00
|
|
|
|
2017-03-30 18:37:22 +02:00
|
|
|
@property (nonatomic, readonly) id<ContactsManagerProtocol> contactsManager;
|
|
|
|
@property (nonatomic, readonly) OWSMessageSender *messageSender;
|
2018-10-20 19:51:48 +02:00
|
|
|
@property (nonatomic, readonly) SSKMessageSenderJobQueue *messageSenderJobQueue;
|
2017-08-02 19:12:26 +02:00
|
|
|
@property (nonatomic, readonly) id<ProfileManagerProtocol> profileManager;
|
2018-09-17 15:27:58 +02:00
|
|
|
@property (nonatomic, readonly) OWSPrimaryStorage *primaryStorage;
|
|
|
|
@property (nonatomic, readonly) ContactsUpdater *contactsUpdater;
|
|
|
|
@property (nonatomic, readonly) TSNetworkManager *networkManager;
|
2018-09-20 18:52:43 +02:00
|
|
|
@property (nonatomic, readonly) OWSMessageManager *messageManager;
|
|
|
|
@property (nonatomic, readonly) OWSBlockingManager *blockingManager;
|
|
|
|
@property (nonatomic, readonly) OWSIdentityManager *identityManager;
|
2018-10-01 16:33:01 +02:00
|
|
|
@property (nonatomic, readonly) id<OWSUDManager> udManager;
|
2018-10-02 15:34:34 +02:00
|
|
|
@property (nonatomic, readonly) OWSMessageDecrypter *messageDecrypter;
|
|
|
|
@property (nonatomic, readonly) OWSBatchMessageProcessor *batchMessageProcessor;
|
|
|
|
@property (nonatomic, readonly) OWSMessageReceiver *messageReceiver;
|
2018-10-04 21:51:04 +02:00
|
|
|
@property (nonatomic, readonly) TSSocketManager *socketManager;
|
2018-10-10 23:09:35 +02:00
|
|
|
@property (nonatomic, readonly) TSAccountManager *tsAccountManager;
|
2018-10-10 23:36:41 +02:00
|
|
|
@property (nonatomic, readonly) OWS2FAManager *ows2FAManager;
|
|
|
|
@property (nonatomic, readonly) OWSDisappearingMessagesJob *disappearingMessagesJob;
|
|
|
|
@property (nonatomic, readonly) ContactDiscoveryService *contactDiscoveryService;
|
2018-10-11 18:51:58 +02:00
|
|
|
@property (nonatomic, readonly) OWSReadReceiptManager *readReceiptManager;
|
2018-10-11 21:29:01 +02:00
|
|
|
@property (nonatomic, readonly) OWSOutgoingReceiptManager *outgoingReceiptManager;
|
2018-10-16 22:02:37 +02:00
|
|
|
@property (nonatomic, readonly) id<OWSSyncManagerProtocol> syncManager;
|
2018-10-22 17:42:53 +02:00
|
|
|
@property (nonatomic, readonly) id<SSKReachabilityManager> reachabilityManager;
|
2018-10-31 00:18:17 +01:00
|
|
|
@property (nonatomic, readonly) id<OWSTypingIndicators> typingIndicators;
|
2018-11-07 23:49:25 +01:00
|
|
|
@property (nonatomic, readonly) OWSAttachmentDownloads *attachmentDownloads;
|
2018-09-17 15:27:58 +02:00
|
|
|
|
|
|
|
// This property is configured after Environment is created.
|
|
|
|
@property (atomic, nullable) id<OWSCallMessageHandler> callMessageHandler;
|
|
|
|
// This property is configured after Environment is created.
|
|
|
|
@property (atomic, nullable) id<NotificationsProtocol> notificationsManager;
|
|
|
|
|
|
|
|
@property (atomic, readonly) YapDatabaseConnection *objectReadWriteConnection;
|
2018-10-16 19:00:50 +02:00
|
|
|
@property (atomic, readonly) YapDatabaseConnection *sessionStoreDBConnection;
|
|
|
|
@property (atomic, readonly) YapDatabaseConnection *migrationDBConnection;
|
|
|
|
@property (atomic, readonly) YapDatabaseConnection *analyticsDBConnection;
|
2019-05-22 05:09:01 +02:00
|
|
|
@property (nonatomic) LKFriendRequestExpirationJob *lokiFriendRequestExpirationJob; // Loki
|
2019-05-20 03:17:58 +02:00
|
|
|
|
2018-09-17 15:27:58 +02:00
|
|
|
- (BOOL)isComplete;
|
2015-12-07 03:31:43 +01:00
|
|
|
|
2016-11-08 02:42:44 +01:00
|
|
|
@end
|
2016-12-18 22:08:26 +01:00
|
|
|
|
|
|
|
NS_ASSUME_NONNULL_END
|