NIM SDK API  9.0.0
nim_cpp_nos.h
Go to the documentation of this file.
1 
7 #ifndef _NIM_SDK_CPP_NOS_H_
8 #define _NIM_SDK_CPP_NOS_H_
9 
10 #include <functional>
11 #include <string>
12 #include "nim_cpp_talk.h"
19 namespace nim {
20 
24 class NIM_SDK_CPPWRAPPER_DLL_API NOS {
25 public:
26  typedef std::function<void(const InitNosResult&)> InitNosResultCallback;
28  typedef std::function<void(NIMResCode res_code, const std::string& file_path, const std::string& call_id, const std::string& res_id)>
30  typedef std::function<void(NIMResCode res_code, const std::string& url)> UploadMediaCallback;
31  typedef std::function<void(int64_t completed_size, int64_t file_size)> ProgressCallback;
33  typedef std::function<void(NIMResCode res_code, const DownloadMediaResult& result)> DownloadMediaExCallback;
34  typedef std::function<void(NIMResCode res_code, const UploadMediaResult& result)> UploadMediaExCallback;
35  typedef std::function<void(const std::string& url, std::string& token)> CustomTokenCallback;
36  typedef std::function<void(int64_t completed_size, int64_t file_size, const ProgressData& result)> ProgressExCallback;
38  typedef std::function<void(int64_t speed)> SpeedCallback;
39  typedef std::function<void(int64_t actual_size, int64_t speed)> TransferInfoCallback;
41  typedef std::function<void(NIMResCode res_code, const std::string& origin_url)> SafeURLToOriginURLCallback;
49  static void InitConfig(const InitNosConfigParam& param, const InitNosResultCallback& cb);
50 
56  static void RegDownloadCb(const DownloadMediaCallback& cb);
57 
63  static void RegUploadCb(const UploadMediaExCallback& cb);
64 
70  static void RegCustomCustomTokenCb(const CustomTokenCallback& cb);
71 
83  static bool FetchMedia(const IMMessage& msg, const DownloadMediaCallback& callback_result, const ProgressCallback& callback_progress);
84 
104  static bool FetchMediaEx(const IMMessage& msg,
105  const std::string& json_extension,
106  const DownloadMediaCallback& callback_result,
107  const ProgressCallback& callback_progress,
108  const SpeedCallback& callback_speed = SpeedCallback(),
109  const TransferInfoCallback& callback_transfer = TransferInfoCallback());
110 
117  static bool StopFetchMedia(const IMMessage& msg);
118 
131  static bool UploadResource(const std::string& local_file,
132  const UploadMediaCallback& callback_result,
133  const ProgressCallback& callback_progress = ProgressCallback());
134 
149  static bool UploadResource2(const std::string& local_file,
150  const std::string& tag,
151  const UploadMediaCallback& callback_result,
152  const ProgressCallback& callback_progress = ProgressCallback());
153 
174  static bool UploadResourceEx(const std::string& local_file,
175  const std::string& json_extension,
176  const UploadMediaExCallback& callback_result,
177  const ProgressExCallback& callback_progress = ProgressExCallback(),
178  const SpeedCallback& callback_speed = SpeedCallback(),
179  const TransferInfoCallback& callback_transfer = TransferInfoCallback());
180 
203  static bool UploadResourceEx2(const std::string& local_file,
204  const std::string& tag,
205  const std::string& json_extension,
206  const UploadMediaExCallback& callback_result,
207  const ProgressExCallback& callback_progress = ProgressExCallback(),
208  const SpeedCallback& callback_speed = SpeedCallback(),
209  const TransferInfoCallback& callback_transfer = TransferInfoCallback());
210 
219  static bool StopUploadResourceEx(const std::string& task_id, const std::string& json_extension = "");
220 
233  static bool DownloadResource(const std::string& nos_url,
234  const DownloadMediaCallback& callback_result,
235  const ProgressCallback& callback_progress = ProgressCallback());
236 
257  static bool DownloadResourceEx(const std::string& nos_url,
258  const std::string& json_extension,
259  const DownloadMediaExCallback& callback_result,
260  const ProgressExCallback& callback_progress = ProgressExCallback(),
261  const SpeedCallback& callback_speed = SpeedCallback(),
262  const TransferInfoCallback& callback_transfer = TransferInfoCallback());
263 
272  static bool StopDownloadResourceEx(const std::string& task_id, const std::string& json_extension = "");
273 
283  static void SafeURLToOriginURL(const std::string& safe_url, const SafeURLToOriginURLCallback& cb, const std::string& json_extension = "");
284 
289  static void UnregNosCb();
295  static void SetSupportQuickTrans(bool bquick);
296 };
297 
298 } // namespace nim
299 
300 #endif //_NIM_SDK_CPP_NOS_H_
nim::NOS::InitNosResultCallback
std::function< void(const InitNosResult &)> InitNosResultCallback
Definition: nim_cpp_nos.h:26
nim_http::SpeedCallback
std::function< void(double, double)> SpeedCallback
Definition: nim_tools_http_cpp.h:55
nim::NOS::SpeedCallback
std::function< void(int64_t speed)> SpeedCallback
Definition: nim_cpp_nos.h:38
nim::DownloadMediaResult
下载完成的结果
Definition: nim_nos_helper.h:80
nim::InitNosResult
初始化结果
Definition: nim_nos_helper.h:61
nim::NOS::DownloadMediaExCallback
std::function< void(NIMResCode res_code, const DownloadMediaResult &result)> DownloadMediaExCallback
Definition: nim_cpp_nos.h:33
nim::NOS::DownloadMediaCallback
std::function< void(NIMResCode res_code, const std::string &file_path, const std::string &call_id, const std::string &res_id)> DownloadMediaCallback
Definition: nim_cpp_nos.h:29
nim::NOS
NIM SDK提供的NOS云存储服务接口
Definition: nim_cpp_nos.h:24
nim::NOS::ProgressExCallback
std::function< void(int64_t completed_size, int64_t file_size, const ProgressData &result)> ProgressExCallback
Definition: nim_cpp_nos.h:36
nim::NOS::UploadMediaExCallback
std::function< void(NIMResCode res_code, const UploadMediaResult &result)> UploadMediaExCallback
Definition: nim_cpp_nos.h:34
nim::NOS::TransferInfoCallback
std::function< void(int64_t actual_size, int64_t speed)> TransferInfoCallback
Definition: nim_cpp_nos.h:39
nim_http::ProgressCallback
std::function< void(double, double, double, double)> ProgressCallback
Definition: nim_tools_http_cpp.h:49
nim
namespace nim
nim::NOS::UploadMediaCallback
std::function< void(NIMResCode res_code, const std::string &url)> UploadMediaCallback
Definition: nim_cpp_nos.h:30
nim::UploadMediaResult
上传完成的结果
Definition: nim_nos_helper.h:70
nim::NOS::CustomTokenCallback
std::function< void(const std::string &url, std::string &token)> CustomTokenCallback
Definition: nim_cpp_nos.h:35
nim::ProgressData
传输过程中的数据
Definition: nim_nos_helper.h:90
nim::InitNosConfigParam
初始化nos参数
Definition: nim_nos_helper.h:23
nim_cpp_talk.h
P2P和群组聊天
nim::NOS::ProgressCallback
std::function< void(int64_t completed_size, int64_t file_size)> ProgressCallback
Definition: nim_cpp_nos.h:31
nim_sdk_cpp_wrapper.h
定义导出宏
nim::IMMessage
Definition: nim_talk_helper.h:242
nim::NOS::SafeURLToOriginURLCallback
std::function< void(NIMResCode res_code, const std::string &origin_url)> SafeURLToOriginURLCallback
Definition: nim_cpp_nos.h:41
nim_nos_helper.h
NOS数据结构定义