NEC mBaaS Embedded SDK  6.2.0
 全て クラス ネームスペース ファイル 関数 変数 列挙型 列挙型の値
nb_file_bucket.h
説明を見る。
1 /*
2  * COPYRIGHT (C) 2017 NEC CORPORATION
3  *
4  * ALL RIGHTS RESERVED BY NEC CORPORATION, THIS PROGRAM
5  * MUST BE USED SOLELY FOR THE PURPOSE FOR WHICH IT WAS
6  * FURNISHED BY NEC CORPORATION, NO PART OF THIS PROGRAM
7  * MAY BE REPRODUCED OR DISCLOSED TO OTHERS, IN ANY FORM
8  * WITHOUT THE PRIOR WRITTEN PERMISSION OF NEC CORPORATION.
9  *
10  * NEC CONFIDENTIAL AND PROPRIETARY
11  */
12 
13 #ifndef NECBAAS_NBFILEBUCKET_H
14 #define NECBAAS_NBFILEBUCKET_H
15 
16 #include <string>
17 #include <memory>
18 #include "necbaas/nb_service.h"
20 
21 namespace necbaas {
22 
29 class NbFileBucket {
30  public:
36  NbFileBucket(const std::shared_ptr<NbService> &service, const std::string &bucket_name);
37 
41  ~NbFileBucket();
42 
53  NbResult<int> DownloadFile(const std::string &file_name, const std::string &file_path);
54 
67  NbResult<NbFileMetadata> UploadNewFile(const std::string &file_name, const std::string &file_path,
68  const std::string &content_type, const NbAcl &acl,
69  bool cache_disable = false);
70 
81  NbResult<NbFileMetadata> UploadNewFile(const std::string &file_name, const std::string &file_path,
82  const std::string &content_type, bool cache_disable = false);
83 
93  NbResult<NbFileMetadata> UploadUpdateFile(const std::string &file_path, const NbFileMetadata &metadata);
94 
107  NbResult<NbFileMetadata> UploadUpdateFile(const std::string &file_name, const std::string &file_path,
108  const std::string &content_type, const std::string &meta_etag,
109  const std::string &file_etag);
110 
121  NbResult<NbFileMetadata> DeleteFile(const NbFileMetadata &metadata, bool delete_mark = false);
122 
133  NbResult<NbFileMetadata> DeleteFile(const std::string &file_name, const std::string &meta_etag,
134  const std::string &file_etag, bool delete_mark = false);
135 
143  NbResult<std::vector<NbFileMetadata>> GetFiles(bool published = false, bool deleteMark = false);
144 
149  int GetTimeout() const;
150 
157  void SetTimeout(int timeout);
158 
163  const std::string &GetBucketName() const;
164 
165  private:
166  std::shared_ptr<NbService> service_;
167  int timeout_{kRestTimeoutDefault};
168  std::string bucket_name_;
182  NbResult<NbFileMetadata> UploadNewFile(const std::string &file_name, const std::string &file_path,
183  const std::string &content_type, const std::string &acl, bool cache_disable);
184 };
185 } // namespace necbaas
186 #endif // NECBAAS_NBFILEBUCKET_H
ACLクラス.
Definition: nb_acl.h:30
NbResult< std::vector< NbFileMetadata > > GetFiles(bool published=false, bool deleteMark=false)
ファイル一覧取得.
NbResult< NbFileMetadata > DeleteFile(const NbFileMetadata &metadata, bool delete_mark=false)
ファイル削除.
NbResult< NbFileMetadata > UploadNewFile(const std::string &file_name, const std::string &file_path, const std::string &content_type, const NbAcl &acl, bool cache_disable=false)
ファイルの新規アップロード.
int GetTimeout() const
RESTタイムアウト取得.
NbResult< int > DownloadFile(const std::string &file_name, const std::string &file_path)
ファイルダウンロード.
NbFileBucket(const std::shared_ptr< NbService > &service, const std::string &bucket_name)
コンストラクタ.
void SetTimeout(int timeout)
RESTタイムアウト設定.
REST API処理結果クラス.
Definition: nb_result.h:32
ファイルメタデータ.
Definition: nb_file_metadata.h:31
~NbFileBucket()
デストラクタ.
NbResult< NbFileMetadata > UploadUpdateFile(const std::string &file_path, const NbFileMetadata &metadata)
ファイルの更新アップロード.
const std::string & GetBucketName() const
バケット名取得.
ファイルバケット.
Definition: nb_file_bucket.h:29