@@ -241,7 +241,7 @@ void GetBucketLifecycle(qcloud_cos::CosAPI& cos,
241241  qcloud_cos::CosResult result = cos.GetBucketLifecycle (req, &resp);
242242
243243  const  std::vector<qcloud_cos::LifecycleRule>& rules = resp.GetRules ();
244-   for  (int  idx = 0 ; idx != rules.size (); ++idx) {
244+   for  (size_t  idx = 0 ; idx != rules.size (); ++idx) {
245245    std::cout << " id = " GetId () << std::endl;
246246  }
247247
@@ -1637,29 +1637,30 @@ static void ProgressCallback(uint64_t transferred_size, uint64_t total_size,
16371637
16381638static  void  MultiGetObjectAsyncDoneCallback (const  SharedAsyncContext& context,
16391639                                            void * user_data) {
1640+   UNUSED_PARAM (user_data)
16401641  std::cout << " MultiGetObjectAsyncDoneCallback, BucketName:" 
16411642            << context->GetBucketName ()
16421643            << " , ObjectName:" GetObjectName ()
16431644            << " , LocalFile:" GetLocalFilePath () << std::endl;
16441645  //  qcloud_cos::MultiGetObjectReq对应的响应为qcloud_cos::GetObjectByFileResp
16451646  if  (context->GetResult ().IsSucc ()) {
16461647    //  获取响应
1647-     std::cout << " MultiGetObjectAsync  succeed" 
1648+     std::cout << " AsyncMultiGetObject  succeed" 
16481649    std::cout << " Result:" GetResult ().DebugString () << std::endl;
16491650    AsyncResp resp = context->GetAsyncResp ();
16501651    std::cout << " ETag:" GetEtag () << std::endl;
16511652    std::cout << " Crc64:" GetXCosHashCrc64Ecma () << std::endl;
16521653  } else  {
1653-     std::cout << " MultiGetObjectAsync  failed" 
1654+     std::cout << " AsyncMultiGetObject  failed" 
16541655    std::cout << " ErrorMsg:" GetResult ().GetErrorMsg () << std::endl;
16551656  }
16561657}
16571658//   异步下载对象,支持更新下载进度
1658- void  MultiGetObjectAsync (qcloud_cos::CosAPI& cos,
1659+ void  AsyncMultiGetObject (qcloud_cos::CosAPI& cos,
16591660                         const  std::string& bucket_name,
16601661                         const  std::string& object_name,
16611662                         const  std::string& file_path) {
1662-   qcloud_cos::GetObjectAsyncReq  req (bucket_name, object_name, file_path);
1663+   qcloud_cos::AsyncMultiGetObjectReq  req (bucket_name, object_name, file_path);
16631664  //  设置进度回调
16641665  req.SetTransferProgressCallback (&ProgressCallback);
16651666  //  设置状态回调
@@ -1668,35 +1669,36 @@ void MultiGetObjectAsync(qcloud_cos::CosAPI& cos,
16681669  req.SetUserData (&req);
16691670
16701671  //  开始下载
1671-   SharedAsyncContext context = cos.GetObjectAsync (req);
1672+   SharedAsyncContext context = cos.AsyncMultiGetObject (req);
16721673
16731674  //  等待下载结束
16741675  context->WaitUntilFinish ();
16751676
16761677  //  检查结果
16771678  if  (context->GetResult ().IsSucc ()) {
16781679    //  获取响应
1679-     std::cout << " MultiGetObjectAsync  succeed" 
1680+     std::cout << " AsyncMultiGetObject  succeed" 
16801681    std::cout << " Result:" GetResult ().DebugString () << std::endl;
16811682    AsyncResp resp = context->GetAsyncResp ();
16821683    std::cout << " ETag:" GetEtag () << std::endl;
16831684    std::cout << " Crc64:" GetXCosHashCrc64Ecma () << std::endl;
16841685  } else  {
1685-     std::cout << " MultiGetObjectAsync  failed" 
1686+     std::cout << " AsyncMultiGetObject  failed" 
16861687    std::cout << " ErrorMsg:" GetResult ().GetErrorMsg () << std::endl;
16871688  }
16881689  std::this_thread::sleep_for (std::chrono::seconds (1 ));
16891690}
16901691
16911692static  void  MultiPutObjectAsyncDoneCallback (const  SharedAsyncContext& context,
16921693                                            void * user_data) {
1694+   UNUSED_PARAM (user_data)
16931695  std::cout << " MultiPutObjectAsyncDoneCallback, BucketName:" 
16941696            << context->GetBucketName ()
16951697            << " , ObjectName:" GetObjectName ()
16961698            << " , LocalFile:" GetLocalFilePath () << std::endl;
16971699  if  (context->GetResult ().IsSucc ()) {
16981700    //  获取响应
1699-     std::cout << " MultiPutObjectAsync  succeed" 
1701+     std::cout << " AsyncMultiPutObject  succeed" 
17001702    std::cout << " Result:" GetResult ().DebugString () << std::endl;
17011703    AsyncResp resp = context->GetAsyncResp ();
17021704    // std::cout << "Location:" << resp.GetLocation() << std::endl;
@@ -1705,17 +1707,17 @@ static void MultiPutObjectAsyncDoneCallback(const SharedAsyncContext& context,
17051707    std::cout << " ETag:" GetEtag () << std::endl;
17061708    std::cout << " Crc64:" GetXCosHashCrc64Ecma () << std::endl;
17071709  } else  {
1708-     std::cout << " MultiGetObjectAsync  failed" 
1710+     std::cout << " AsyncMultiGetObject  failed" 
17091711    std::cout << " ErrorMsg:" GetResult ().GetErrorMsg () << std::endl;
17101712  }
17111713}
17121714
17131715//  异步多上传对象,支持更新上传进度
1714- void  MultiPutObjectAsync (qcloud_cos::CosAPI& cos,
1716+ void  AsyncMultiPutObject (qcloud_cos::CosAPI& cos,
17151717                         const  std::string& bucket_name,
17161718                         const  std::string& object_name,
17171719                         const  std::string& local_file) {
1718-   qcloud_cos::PutObjectAsyncReq  req (bucket_name, object_name, local_file);
1720+   qcloud_cos::AsyncMultiPutObjectReq  req (bucket_name, object_name, local_file);
17191721  req.SetRecvTimeoutInms (1000  * 60 );
17201722  //  设置上传进度回调
17211723  req.SetTransferProgressCallback (&ProgressCallback);
@@ -1725,7 +1727,7 @@ void MultiPutObjectAsync(qcloud_cos::CosAPI& cos,
17251727  req.SetUserData (&req);
17261728
17271729  //  开始上传
1728-   SharedAsyncContext context = cos.PutObjectAsync (req);
1730+   SharedAsyncContext context = cos.AsyncMultiPutObject (req);
17291731
17301732  //  等待上传结束
17311733  std::cout << " wait finish..." 
@@ -1734,7 +1736,7 @@ void MultiPutObjectAsync(qcloud_cos::CosAPI& cos,
17341736  //  检查结果
17351737  if  (context->GetResult ().IsSucc ()) {
17361738    //  获取响应
1737-     std::cout << " MultiPutObjectAsync  succeed" 
1739+     std::cout << " AsyncMultiPutObject  succeed" 
17381740    std::cout << " Result:" GetResult ().DebugString () << std::endl;
17391741    AsyncResp resp = context->GetAsyncResp ();
17401742    // std::cout << "Location:" << resp.GetLocation() << std::endl;
@@ -1743,7 +1745,7 @@ void MultiPutObjectAsync(qcloud_cos::CosAPI& cos,
17431745    std::cout << " ETag:" GetEtag () << std::endl;
17441746    std::cout << " Crc64:" GetXCosHashCrc64Ecma () << std::endl;
17451747  } else  {
1746-     std::cout << " MultiPutObjectAsync  failed" 
1748+     std::cout << " AsyncMultiPutObject  failed" 
17471749    std::cout << " ErrorMsg:" GetResult ().GetErrorMsg () << std::endl;
17481750  }
17491751}
@@ -1900,8 +1902,7 @@ void DeleteObjectsByPrefix(qcloud_cos::CosAPI& cos,
19001902void  MoveObject (qcloud_cos::CosAPI& cos, const  std::string& bucket_name,
19011903                const  std::string& src_object, const  std::string& dst_object) {
19021904  MoveObjectReq req (bucket_name, src_object, dst_object);
1903-   MoveObjectResp resp;
1904-   CosResult result = cos.MoveObject (req, &resp);
1905+   CosResult result = cos.MoveObject (req);
19051906  if  (result.IsSucc ()) {
19061907    std::cout << " MoveObject Succ." 
19071908  } else  {
@@ -2454,6 +2455,8 @@ void TestLogCallback(const std::string& log) {
24542455}
24552456
24562457int  main (int  argc, char ** argv) {
2458+   UNUSED_PARAM (argc)
2459+   UNUSED_PARAM (argv)
24572460  //  config.json中字段的说明,可以参考https://cloud.tencent.com/document/product/436/12301
24582461  qcloud_cos::CosConfig config (" ./config.json" 
24592462  config.SetLogCallback (&TestLogCallback);
@@ -2808,8 +2811,8 @@ int main(int argc, char** argv) {
28082811
28092812  //  async
28102813  // {
2811-   //     MultiPutObjectAsync (cos, bucket_name, "bigfile", "./bigfile");
2812-   //     MultiGetObjectAsync (cos, bucket_name, "bigfile", "./bigfile_download");
2814+   //     AsyncMultiPutObject (cos, bucket_name, "bigfile", "./bigfile");
2815+   //     AsyncMultiGetObject (cos, bucket_name, "bigfile", "./bigfile_download");
28132816  // }
28142817
28152818  // {
0 commit comments