HyphenateSDK  3.1.4
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 - Sync method
187 
188 #pragma mark - Register
189 
211 - (EMError *)registerWithUsername:(NSString *)aUsername
212  password:(NSString *)aPassword;
213 
214 #pragma mark - Login
215 
237 - (EMError *)loginWithUsername:(NSString *)aUsername
238  password:(NSString *)aPassword;
239 
240 #pragma makr - Logout
241 
262 - (EMError *)logout:(BOOL)aIsUnbindDeviceToken;
263 
264 #pragma mark - Apns
265 
285 - (EMError *)bindDeviceToken:(NSData *)aDeviceToken;
286 
306 - (EMError *)setApnsNickname:(NSString *)aNickname;
307 
327 - (EMPushOptions *)getPushOptionsFromServerWithError:(EMError **)pError;
328 
345 
362 
363 #pragma mark - Async method
364 
387 - (void)asyncRegisterWithUsername:(NSString *)aUsername
388  password:(NSString *)aPassword
389  success:(void (^)())aSuccessBlock
390  failure:(void (^)(EMError *aError))aFailureBlock;
391 
410 - (void)asyncLoginWithUsername:(NSString *)aUsername
411  password:(NSString *)aPassword
412  success:(void (^)())aSuccessBlock
413  failure:(void (^)(EMError *aError))aFailureBlock;
414 
431 - (void)asyncLogout:(BOOL)aIsUnbindDeviceToken
432  success:(void (^)())aSuccessBlock
433  failure:(void (^)(EMError *aError))aFailureBlock;
434 
450 - (void)asyncBindDeviceToken:(NSData *)aDeviceToken
451  success:(void (^)())aSuccessBlock
452  failure:(void (^)(EMError *aError))aFailureBlock;
453 
470 - (void)asyncSetApnsNickname:(NSString *)aNickname
471  success:(void (^)())aSuccessBlock
472  failure:(void (^)(EMError *aError))aFailureBlock;
473 
487 - (void)asyncGetPushOptionsFromServer:(void (^)(EMPushOptions *aOptions))aSuccessBlock
488  failure:(void (^)(EMError *aError))aFailureBlock;
489 
504 - (void)asyncUpdatePushOptionsToServer:(void (^)())aSuccessBlock
505  failure:(void (^)(EMError *aError))aFailureBlock;
506 
520 - (void)asyncUploadLogToServer:(void (^)())aSuccessBlock
521  failure:(void (^)(EMError *aError))aFailureBlock;
522 
523 #pragma mark - iOS
524 
544 - (BOOL)dataMigrationTo3;
545 
557 - (void)applicationDidEnterBackground:(id)aApplication;
558 
570 - (void)applicationWillEnterForeground:(id)aApplication;
571 
572 
573 @end
Definition: EMPushOptions.h:69
NSString * currentUsername
Definition: EMClient.h:44
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()
EMPushOptions * pushOptions
Definition: EMClient.h:62
id< IEMChatroomManager > roomManager
Definition: EMClient.h:98
BOOL isLoggedIn
Definition: EMClient.h:116
BOOL dataMigrationTo3()
BOOL isAutoLogin
Definition: EMClient.h:107
Definition: EMOptions.h:37
id< IEMContactManager > contactManager
Definition: EMClient.h:80
id< IEMGroupManager > groupManager
Definition: EMClient.h:89
Definition: EMClient.h:23