7 #ifndef _NIM_SDK_CPP_CLIENT_H_
8 #define _NIM_SDK_CPP_CLIENT_H_
28 class NIM_SDK_CPPWRAPPER_DLL_API
Client {
30 typedef std::function<void(
const std::function<
void()>&)> SDKClosure;
51 static bool Init(
const std::string& app_key,
const std::string& app_data_dir,
const std::string& app_install_dir,
const SDKConfig& config);
58 static void SetCallbackFunction(
const SDKClosure& callback);
71 static void Cleanup(
const std::string& json_extension =
"");
78 static void Cleanup2(
const std::string& json_extension =
"");
86 static void LoginCustomDataToJson(
const LoginParams& params, std::string& loginParams);
94 static void LoginCustomDataToJson(
const std::string& custom_data, std::string& strValue);
114 static bool Login(
const std::string& app_key,
115 const std::string& account,
116 const std::string& password,
118 const std::string& json_extension =
"");
125 static NIMLoginState GetLoginState(
const std::string& json_extension =
"");
132 static void Relogin(
const std::string& json_extension =
"");
143 static void Logout(NIMLogoutType logout_type,
const LogoutCallback& cb,
const std::string& json_extension =
"");
150 static bool KickOtherClient(
const std::list<std::string>& client_ids);
166 static void RegReloginCb(
const LoginCallback& cb,
const std::string& json_extension =
"");
183 static void RegKickoutCb(
const KickoutCallback& cb,
const std::string& json_extension =
"");
191 static void RegDisconnectCb(
const DisconnectCallback& cb,
const std::string& json_extension =
"");
199 static void RegMultispotLoginCb(
const MultiSpotLoginCallback& cb,
const std::string& json_extension =
"");
208 static void RegKickOtherClientCb(
const KickOtherCallback& cb,
const std::string& json_extension =
"");
226 static void SetMultiportPushConfigAsync(
bool switch_on,
const MultiportPushConfigCallback& cb,
const std::string& json_extension =
"");
240 static std::string GetSDKVersion();
246 static std::string GetCurrentUserAccount();
263 static void UnregClientCb();
268 #endif //_NIM_SDK_CPP_CLIENT_H_