mirror of https://github.com/oxen-io/session-ios
				
				
				
			
			You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
	
	
		
			86 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			C
		
	
		
		
			
		
	
	
			86 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			C
		
	
| 
								 
											5 years ago
										 
									 | 
							
								//
							 | 
						||
| 
								 | 
							
								//  Copyright (c) 2018 Open Whisper Systems. All rights reserved.
							 | 
						||
| 
								 | 
							
								//
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#import <Foundation/Foundation.h>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								NS_ASSUME_NONNULL_BEGIN
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								@class ContactDiscoveryService;
							 | 
						||
| 
								 | 
							
								@class ContactsUpdater;
							 | 
						||
| 
								 | 
							
								@class OWS2FAManager;
							 | 
						||
| 
								 | 
							
								@class OWSAttachmentDownloads;
							 | 
						||
| 
								 | 
							
								@class OWSBatchMessageProcessor;
							 | 
						||
| 
								 | 
							
								@class OWSBlockingManager;
							 | 
						||
| 
								 | 
							
								@class OWSDisappearingMessagesJob;
							 | 
						||
| 
								 | 
							
								@class OWSIdentityManager;
							 | 
						||
| 
								 | 
							
								@class OWSMessageDecrypter;
							 | 
						||
| 
								 | 
							
								@class OWSMessageManager;
							 | 
						||
| 
								 | 
							
								@class OWSMessageReceiver;
							 | 
						||
| 
								 | 
							
								@class OWSMessageSender;
							 | 
						||
| 
								 | 
							
								@class OWSOutgoingReceiptManager;
							 | 
						||
| 
								 | 
							
								@class OWSPrimaryStorage;
							 | 
						||
| 
								 | 
							
								@class OWSReadReceiptManager;
							 | 
						||
| 
								 | 
							
								@class SSKMessageSenderJobQueue;
							 | 
						||
| 
								 | 
							
								@class TSAccountManager;
							 | 
						||
| 
								 | 
							
								@class TSSocketManager;
							 | 
						||
| 
								 | 
							
								@class YapDatabaseConnection;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								@protocol ContactsManagerProtocol;
							 | 
						||
| 
								 | 
							
								@protocol NotificationsProtocol;
							 | 
						||
| 
								 | 
							
								@protocol OWSCallMessageHandler;
							 | 
						||
| 
								 | 
							
								@protocol ProfileManagerProtocol;
							 | 
						||
| 
								 | 
							
								@protocol OWSUDManager;
							 | 
						||
| 
								 | 
							
								@protocol SSKReachabilityManager;
							 | 
						||
| 
								 | 
							
								@protocol OWSSyncManagerProtocol;
							 | 
						||
| 
								 | 
							
								@protocol OWSTypingIndicators;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								@interface SSKEnvironment : NSObject
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 
											5 years ago
										 
									 | 
							
								- (instancetype)initWithProfileManager:(id<ProfileManagerProtocol>)profileManager
							 | 
						||
| 
								 | 
							
								                        primaryStorage:(OWSPrimaryStorage *)primaryStorage
							 | 
						||
| 
								 | 
							
								                       blockingManager:(OWSBlockingManager *)blockingManager
							 | 
						||
| 
								 | 
							
								                       identityManager:(OWSIdentityManager *)identityManager
							 | 
						||
| 
								 | 
							
								                      tsAccountManager:(TSAccountManager *)tsAccountManager
							 | 
						||
| 
								 | 
							
								               disappearingMessagesJob:(OWSDisappearingMessagesJob *)disappearingMessagesJob
							 | 
						||
| 
								 | 
							
								                    readReceiptManager:(OWSReadReceiptManager *)readReceiptManager
							 | 
						||
| 
								 | 
							
								                outgoingReceiptManager:(OWSOutgoingReceiptManager *)outgoingReceiptManager
							 | 
						||
| 
								 | 
							
								                   reachabilityManager:(id<SSKReachabilityManager>)reachabilityManager
							 | 
						||
| 
								 
											5 years ago
										 
									 | 
							
								                      typingIndicators:(id<OWSTypingIndicators>)typingIndicators NS_DESIGNATED_INITIALIZER;
							 | 
						||
| 
								 
											5 years ago
										 
									 | 
							
								
							 | 
						||
| 
								 | 
							
								- (instancetype)init NS_UNAVAILABLE;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								@property (nonatomic, readonly, class) SSKEnvironment *shared;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								+ (void)setShared:(SSKEnvironment *)env;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#ifdef DEBUG
							 | 
						||
| 
								 | 
							
								// Should only be called by tests.
							 | 
						||
| 
								 | 
							
								+ (void)clearSharedForTests;
							 | 
						||
| 
								 | 
							
								#endif
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								@property (nonatomic, readonly) id<ProfileManagerProtocol> profileManager;
							 | 
						||
| 
								 | 
							
								@property (nonatomic, readonly) OWSPrimaryStorage *primaryStorage;
							 | 
						||
| 
								 | 
							
								@property (nonatomic, readonly) OWSBlockingManager *blockingManager;
							 | 
						||
| 
								 | 
							
								@property (nonatomic, readonly) OWSIdentityManager *identityManager;
							 | 
						||
| 
								 | 
							
								@property (nonatomic, readonly) TSAccountManager *tsAccountManager;
							 | 
						||
| 
								 | 
							
								@property (nonatomic, readonly) OWSDisappearingMessagesJob *disappearingMessagesJob;
							 | 
						||
| 
								 | 
							
								@property (nonatomic, readonly) OWSReadReceiptManager *readReceiptManager;
							 | 
						||
| 
								 | 
							
								@property (nonatomic, readonly) OWSOutgoingReceiptManager *outgoingReceiptManager;
							 | 
						||
| 
								 | 
							
								@property (nonatomic, readonly) id<SSKReachabilityManager> reachabilityManager;
							 | 
						||
| 
								 | 
							
								@property (nonatomic, readonly) id<OWSTypingIndicators> typingIndicators;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// This property is configured after Environment is created.
							 | 
						||
| 
								 | 
							
								@property (atomic, nullable) id<NotificationsProtocol> notificationsManager;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								@property (atomic, readonly) YapDatabaseConnection *objectReadWriteConnection;
							 | 
						||
| 
								 | 
							
								@property (atomic, readonly) YapDatabaseConnection *sessionStoreDBConnection;
							 | 
						||
| 
								 | 
							
								@property (atomic, readonly) YapDatabaseConnection *migrationDBConnection;
							 | 
						||
| 
								 | 
							
								@property (atomic, readonly) YapDatabaseConnection *analyticsDBConnection;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								- (BOOL)isComplete;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								@end
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								NS_ASSUME_NONNULL_END
							 |