|
|
|
////
|
|
|
|
//// Copyright (c) 2018 Open Whisper Systems. All rights reserved.
|
|
|
|
////
|
|
|
|
//
|
|
|
|
//#import <SessionMessagingKit/ProfileManagerProtocol.h>
|
|
|
|
//
|
|
|
|
//NS_ASSUME_NONNULL_BEGIN
|
|
|
|
//
|
|
|
|
//extern const NSUInteger kOWSProfileManager_NameDataLength;
|
|
|
|
//extern const NSUInteger kOWSProfileManager_MaxAvatarDiameter;
|
|
|
|
//
|
|
|
|
//@class OWSAES256Key;
|
|
|
|
//@class OWSMessageSender;
|
|
|
|
//@class OWSPrimaryStorage;
|
|
|
|
//@class TSNetworkManager;
|
|
|
|
//@class TSThread;
|
|
|
|
//@class YapDatabaseReadWriteTransaction;
|
|
|
|
//
|
|
|
|
//// This class can be safely accessed and used from any thread.
|
|
|
|
//@interface OWSProfileManager : NSObject <ProfileManagerProtocol>
|
|
|
|
//
|
|
|
|
//- (instancetype)init NS_UNAVAILABLE;
|
|
|
|
//
|
|
|
|
//- (instancetype)initWithPrimaryStorage:(OWSPrimaryStorage *)primaryStorage;
|
|
|
|
//
|
|
|
|
//+ (instancetype)sharedManager;
|
|
|
|
//
|
|
|
|
//#pragma mark - Local Profile
|
|
|
|
//
|
|
|
|
//// localUserProfileExists is true if there is _ANY_ local profile.
|
|
|
|
//- (BOOL)localProfileExists;
|
|
|
|
//// hasLocalProfile is true if there is a local profile with a name or avatar.
|
|
|
|
//- (BOOL)hasLocalProfile;
|
|
|
|
//
|
|
|
|
//// This method is used to update the "local profile" state on the client
|
|
|
|
//// and the service. Client state is only updated if service state is
|
|
|
|
//// successfully updated.
|
|
|
|
////
|
|
|
|
//// This method should only be called from the main thread.
|
|
|
|
//- (void)updateLocalProfileName:(nullable NSString *)profileName
|
|
|
|
// avatarImage:(nullable UIImage *)avatarImage
|
|
|
|
// success:(void (^)(void))successBlock
|
|
|
|
// failure:(void (^)(NSError *))failureBlock
|
|
|
|
// requiresSync:(BOOL)requiresSync;
|
|
|
|
//
|
|
|
|
//- (BOOL)isProfileNameTooLong:(nullable NSString *)profileName;
|
|
|
|
//
|
|
|
|
//- (void)regenerateLocalProfile;
|
|
|
|
//
|
|
|
|
//#pragma mark - Other Users' Profiles
|
|
|
|
//
|
|
|
|
//- (nullable UIImage *)profileAvatarForRecipientId:(NSString *)recipientId;
|
|
|
|
//- (nullable NSData *)profileAvatarDataForRecipientId:(NSString *)recipientId;
|
|
|
|
//
|
|
|
|
//- (void)updateProfileForRecipientId:(NSString *)recipientId
|
|
|
|
// profileNameEncrypted:(nullable NSData *)profileNameEncrypted
|
|
|
|
// avatarUrlPath:(nullable NSString *)avatarUrlPath;
|
|
|
|
//
|
|
|
|
//#pragma mark - Other
|
|
|
|
//
|
|
|
|
//- (void)downloadAvatarForUserProfile:(SNContact *)contact;
|
|
|
|
//
|
|
|
|
//@end
|
|
|
|
//
|
|
|
|
//NS_ASSUME_NONNULL_END
|