HyphenateSDK  3.3.0
EMClient.h
1 
8 #import <Foundation/Foundation.h>
9 
10 #import "EMClientDelegate.h"
11 #import "EMOptions.h"
12 #import "EMPushOptions.h"
13 #import "EMError.h"
14 
15 #import "IEMChatManager.h"
16 #import "IEMContactManager.h"
17 #import "IEMGroupManager.h"
18 #import "IEMChatroomManager.h"
19 
23 @interface EMClient : NSObject
24 {
25  EMPushOptions *_pushOptions;
26 }
27 
35 @property (nonatomic, strong, readonly) NSString *version;
36 
44 @property (nonatomic, strong, readonly) NSString *currentUsername;
45 
53 @property (nonatomic, strong, readonly) EMOptions *options;
54 
62 @property (nonatomic, strong, readonly) EMPushOptions *pushOptions;
63 
71 @property (nonatomic, strong, readonly) id<IEMChatManager> chatManager;
72 
80 @property (nonatomic, strong, readonly) id<IEMContactManager> contactManager;
81 
89 @property (nonatomic, strong, readonly) id<IEMGroupManager> groupManager;
90 
98 @property (nonatomic, strong, readonly) id<IEMChatroomManager> roomManager;
99 
107 @property (nonatomic, readonly) BOOL isAutoLogin;
108 
116 @property (nonatomic, readonly) BOOL isLoggedIn;
117 
125 @property (nonatomic, readonly) BOOL isConnected;
126 
134 + (instancetype)sharedClient;
135 
136 #pragma mark - Delegate
137 
151 - (void)addDelegate:(id<EMClientDelegate>)aDelegate
152  delegateQueue:(dispatch_queue_t)aQueue;
153 
165 - (void)removeDelegate:(id)aDelegate;
166 
167 #pragma mark - Initialize SDK
168 
184 - (EMError *)initializeSDKWithOptions:(EMOptions *)aOptions;
185 
186 #pragma mark - Register
187 
209 - (EMError *)registerWithUsername:(NSString *)aUsername
210  password:(NSString *)aPassword;
211 
232 - (void)registerWithUsername:(NSString *)aUsername
233  password:(NSString *)aPassword
234  completion:(void (^)(NSString *aUsername, EMError *aError))aCompletionBlock;
235 
236 #pragma mark - Login
237 
259 - (EMError *)loginWithUsername:(NSString *)aUsername
260  password:(NSString *)aPassword;
261 
278 - (void)loginWithUsername:(NSString *)aUsername
279  password:(NSString *)aPassword
280  completion:(void (^)(NSString *aUsername, EMError *aError))aCompletionBlock;
281 
282 #pragma mark - Logout
283 
304 - (EMError *)logout:(BOOL)aIsUnbindDeviceToken;
305 
321 - (void)logout:(BOOL)aIsUnbindDeviceToken
322  completion:(void (^)(EMError *aError))aCompletionBlock;
323 
324 #pragma mark - Apns
325 
345 - (EMError *)bindDeviceToken:(NSData *)aDeviceToken;
346 
360 - (void)registerForRemoteNotificationsWithDeviceToken:(NSData *)aDeviceToken
361  completion:(void (^)(EMError *aError))aCompletionBlock;
362 
382 - (EMError *)setApnsNickname:(NSString *)aNickname;
383 
398 - (void)updatePushNotifiationDisplayName:(NSString *)aDisplayName
399  completion:(void (^)(NSString *aDisplayName, EMError *aError))aCompletionBlock;
400 
420 - (EMPushOptions *)getPushOptionsFromServerWithError:(EMError **)pError;
421 
433 - (void)getPushNotificationOptionsFromServerWithCompletion:(void (^)(EMPushOptions *aOptions, EMError *aError))aCompletionBlock;
434 
451 
463 - (void)updatePushNotificationOptionsToServerWithCompletion:(void (^)(EMError *aError))aCompletionBlock;
464 
465 #pragma mark - Log
466 
483 
495 - (void)uploadDebugLogToServerWithCompletion:(void (^)(EMError *aError))aCompletionBlock;
496 
516 - (NSString *)getLogFilesPath:(EMError **)pError;
517 
529 - (void)getLogFilesPathWithCompletion:(void (^)(NSString *aPath, EMError *aError))aCompletionBlock;
530 
531 #pragma mark - iOS
532 
551 
563 - (void)applicationDidEnterBackground:(id)aApplication;
564 
576 - (void)applicationWillEnterForeground:(id)aApplication;
577 
591 - (void)application:(id)application didReceiveRemoteNotification:(NSDictionary *)userInfo;
592 
593 #pragma mark - EM_DEPRECATED_IOS 3.2.3
594 
606 - (void)addDelegate:(id<EMClientDelegate>)aDelegate EM_DEPRECATED_IOS(3_1_0, 3_2_2, "Use -[IEMCallManager addDelegate:delegateQueue:]");
607 
608 #pragma mark - EM_DEPRECATED_IOS < 3.2.3
609 
632 - (void)asyncRegisterWithUsername:(NSString *)aUsername
633  password:(NSString *)aPassword
634  success:(void (^)())aSuccessBlock
635  failure:(void (^)(EMError *aError))aFailureBlock __deprecated_msg("Use -registerWithUsername:password:completion:");
636 
655 - (void)asyncLoginWithUsername:(NSString *)aUsername
656  password:(NSString *)aPassword
657  success:(void (^)())aSuccessBlock
658  failure:(void (^)(EMError *aError))aFailureBlock __deprecated_msg("Use -loginWithUsername:password:completion");
659 
676 - (void)asyncLogout:(BOOL)aIsUnbindDeviceToken
677  success:(void (^)())aSuccessBlock
678  failure:(void (^)(EMError *aError))aFailureBlock __deprecated_msg("Use -logout:completion:");
679 
695 - (void)asyncBindDeviceToken:(NSData *)aDeviceToken
696  success:(void (^)())aSuccessBlock
697  failure:(void (^)(EMError *aError))aFailureBlock __deprecated_msg("Use -registerForRemoteNotificationsWithDeviceToken:completion:");
698 
715 - (void)asyncSetApnsNickname:(NSString *)aNickname
716  success:(void (^)())aSuccessBlock
717  failure:(void (^)(EMError *aError))aFailureBlock __deprecated_msg("Use -updatePushNotifiationDisplayName:copletion");
718 
732 - (void)asyncGetPushOptionsFromServer:(void (^)(EMPushOptions *aOptions))aSuccessBlock
733  failure:(void (^)(EMError *aError))aFailureBlock __deprecated_msg("Use -getPushOptionsFromServerWithCompletion:");
734 
749 - (void)asyncUpdatePushOptionsToServer:(void (^)())aSuccessBlock
750  failure:(void (^)(EMError *aError))aFailureBlock __deprecated_msg("Use -updatePushNotificationOptionsToServerWithCompletion:");
751 
765 - (void)asyncUploadLogToServer:(void (^)())aSuccessBlock
766  failure:(void (^)(EMError *aError))aFailureBlock __deprecated_msg("Use -uploadDebugLogToServerWithCompletion:");
767 
787 - (BOOL)dataMigrationTo3 __deprecated_msg("Use -migrateDatabaseToLatestSDK");
788 
789 @end
Definition: EMPushOptions.h:70
NSString * currentUsername
Definition: EMClient.h:44
Definition: IEMCallManager.h:31
NSString * version
Definition: EMClient.h:35
EMError * uploadLogToServer()
Definition: EMError.h:26
BOOL isConnected
Definition: EMClient.h:125
Definition: EMClientDelegate.h:38
id< IEMChatManager > chatManager
Definition: EMClient.h:71
EMOptions * options
Definition: EMClient.h:53
EMError * updatePushOptionsToServer()
instancetype sharedClient()
"Use -migrateDatabaseToLatestSDK" __deprecated_msg()
EMPushOptions * pushOptions
Definition: EMClient.h:62
id< IEMChatroomManager > roomManager
Definition: EMClient.h:98
BOOL isLoggedIn
Definition: EMClient.h:116
BOOL isAutoLogin
Definition: EMClient.h:107
Definition: EMOptions.h:39
id< IEMContactManager > contactManager
Definition: EMClient.h:80
id< IEMGroupManager > groupManager
Definition: EMClient.h:89
Definition: EMClient.h:23
BOOL migrateDatabaseToLatestSDK()