HyphenateChatSDK 4.2.3
EMClient.h
1
8#import <Foundation/Foundation.h>
9
10#import "EMClientDelegate.h"
11#import "EMError.h"
12#import "EMOptions.h"
13
14#import "IEMChatManager.h"
15#import "IEMChatroomManager.h"
16#import "EMLogDelegate.h"
17
31typedef NS_ENUM(NSInteger, EMServerCheckType) {
32 EMServerCheckAccountValidation = 0,
33 EMServerCheckGetDNSListFromServer,
34 EMServerCheckGetTokenFromServer,
35 EMServerCheckDoLogin,
36 EMServerCheckDoLogout,
37};
38
49@interface EMClient : NSObject
50{
51}
52
60@property(nonatomic, strong, readonly) NSString * _Nonnull version;
61
69@property(nonatomic, strong, readonly) NSString * _Nullable currentUsername;
70
78@property(nonatomic, strong, readonly) EMOptions * _Nonnull options;
79
87@property(nonatomic, strong, readonly) id<IEMChatManager> _Nullable chatManager;
88
96@property(nonatomic, strong, readonly) id<IEMChatroomManager> _Nullable roomManager;
97
116@property(nonatomic, readonly) BOOL isAutoLogin;
117
129@property(nonatomic, readonly) BOOL isLoggedIn;
130
141@property(nonatomic, readonly) BOOL isConnected;
142
154@property(nonatomic, readonly) NSString * _Nullable accessUserToken;
155
163+ (instancetype _Nonnull )sharedClient;
164
165
173- (NSString *)version;
174
175#pragma mark - Delegate
176
189- (void)addDelegate:(id<EMClientDelegate>_Nonnull)aDelegate
190 delegateQueue:(dispatch_queue_t _Nullable )aQueue;
191
203- (void)removeDelegate:(id _Nonnull )aDelegate;
204
205#pragma mark - Initialize SDK
206
222- (EMError *_Nullable)initializeSDKWithOptions:(EMOptions * _Nonnull )aOptions;
223
224#pragma mark - User Registration
253- (EMError *_Nullable)registerWithUsername:(NSString * _Nonnull)aUsername
254 password:(NSString * _Nonnull)aPassword;
255
280- (void)registerWithUsername:(NSString *_Nonnull)aUsername
281 password:(NSString *_Nonnull)aPassword
282 completion:(void (^_Nullable)(NSString * _Nonnull aUsername, EMError * _Nullable aError))aCompletionBlock;
283
284#pragma mark - Login
285
311- (EMError *_Nullable)loginWithUsername:(NSString *_Nonnull)aUsername
312 password:(NSString *_Nonnull)aPassword;
313
338- (void)loginWithUsername:(NSString *_Nonnull)aUsername
339 password:(NSString *_Nonnull)aPassword
340 completion:(void (^_Nullable)(NSString * _Nonnull aUsername, EMError *_Nullable aError))aCompletionBlock;
341
367- (EMError *_Nullable)loginWithUsername:(NSString *_Nonnull)aUsername
368 token:(NSString *_Nonnull)aToken;
369
390- (void)loginWithUsername:(NSString *_Nonnull)aUsername
391 token:(NSString *_Nonnull)aToken
392 completion:(void (^_Nullable)(NSString * _Nonnull aUsername, EMError *_Nullable aError))aCompletionBlock;
393
417- (EMError *_Nullable)renewToken:(NSString *_Nonnull)newToken;
418
442- (void)renewToken:(NSString *_Nonnull)newToken completion:(void (^_Nullable)(EMError* _Nullable aError))aCompletionBlock;
443
444#pragma mark - Logout
445
470- (EMError *_Nullable)logout:(BOOL)aIsUnbindDeviceToken;
471
495- (void)logout:(BOOL)aIsUnbindDeviceToken
496 completion:(void (^_Nullable)(EMError * _Nullable aError))aCompletionBlock;
497
498#pragma mark - APNs
499
524- (EMError *_Nullable)bindDeviceToken:(NSData *_Nonnull)aDeviceToken;
525
547- (void)registerForRemoteNotificationsWithDeviceToken:(NSData *_Nonnull)aDeviceToken
548 completion:(void (^_Nullable)(EMError *_Nullable aError))aCompletionBlock;
549
550#pragma mark - Log
551
569- (EMError *_Nullable)uploadLogToServer;
570
582- (void)uploadDebugLogToServerWithCompletion:(void (^_Nullable)(EMError *_Nullable aError))aCompletionBlock;
583
607- (NSString *_Nullable)getLogFilesPath:(EMError **_Nullable)pError;
608
628- (void)getLogFilesPathWithCompletion:(void (^_Nullable)(NSString *_Nullable aPath, EMError * _Nullable aError))aCompletionBlock;
629
649- (void)log:(NSString *_Nonnull)aLog;
650
664- (void)addLogDelegate:(id<EMLogDelegate>_Nonnull)aDelegate
665 delegateQueue:(dispatch_queue_t _Nullable )aQueue NS_SWIFT_NAME(addLog(delegate:queue:));
666
678- (void)removeLogDelegate:(id<EMLogDelegate>_Nonnull)aDelegate NS_SWIFT_NAME(removeLog(delegate:));
679
680#pragma mark - iOS
681
682
696- (void)applicationDidEnterBackground:(id _Nonnull )aApplication;
697
711- (void)applicationWillEnterForeground:(id _Nonnull )aApplication;
712
728- (void)application:(id _Nonnull)application didReceiveRemoteNotification:(NSDictionary * _Nullable)userInfo;
729@end
Definition: EMClient.h:50
Definition: EMError.h:27
Definition: EMOptions.h:41
Definition: EMClientDelegate.h:46
Definition: EMLogDelegate.h:18