NEC mBaaS Embedded SDK  6.2.0
 全て クラス ネームスペース ファイル 関数 変数 列挙型 列挙型の値
nb_object.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_NBOBJECT_H
14 #define NECBAAS_NBOBJECT_H
15 
16 #include <string>
17 #include <memory>
18 #include "necbaas/nb_service.h"
19 #include "necbaas/nb_acl.h"
20 #include "necbaas/nb_json_object.h"
21 
22 namespace necbaas {
23 
34 class NbObject : public NbJsonObject {
35  public:
41  NbObject();
42 
48  NbObject(const std::shared_ptr<NbService> &service, const std::string &bucket_name);
49 
53  virtual ~NbObject();
54 
67  NbResult<NbObject> PartUpdateObject(const NbJsonObject &json, bool acl = false);
68 
77  NbResult<NbObject> DeleteObject(bool delete_mark = false);
78 
96  NbResult<NbObject> Save(bool acl = false);
97 
102  int GetTimeout() const;
103 
110  void SetTimeout(int timeout);
111 
116  const std::string &GetBucketName() const;
117 
122  const std::string &GetObjectId() const;
123 
128  void SetObjectId(const std::string &object_id);
129 
135  const std::tm GetCreatedTime() const;
136 
142  const std::tm GetUpdatedTime() const;
143 
149  void SetCreatedTime(const std::tm &created_time);
150 
155  const std::string &GetETag() const;
156 
161  void SetETag(const std::string &etag);
162 
167  const NbAcl &GetAcl() const;
168 
173  void SetAcl(const NbAcl &acl);
174 
181  bool IsDeleteMark() const;
182 
189  void SetObjectData(const NbJsonObject &json);
190 
198  void SetCurrentParam(const NbJsonObject &json);
199 
200  private:
201  std::shared_ptr<NbService> service_;
202  int timeout_{kRestTimeoutDefault};
203  std::string bucket_name_{};
204  std::string object_id_{};
205  std::string created_time_{};
206  std::string updated_time_{};
207  std::string etag_{};
208  NbAcl acl_{};
209  bool deleted_{false};
215  static void RemoveReservationFields(NbJsonObject *json);
216 };
217 } // namespace necbaas
218 #endif // NECBAAS_NBOBJECT_H
オブジェクト管理クラス.
Definition: nb_object.h:34
bool IsDeleteMark() const
削除マーク付与確認.
ACLクラス.
Definition: nb_acl.h:30
NbObject()
[内部処理用]
void SetETag(const std::string &etag)
ETag設定.
void SetTimeout(int timeout)
RESTタイムアウト設定.
const std::tm GetUpdatedTime() const
オブジェクトの更新日時取得.
const NbAcl & GetAcl() const
ACL取得.
void SetCreatedTime(const std::tm &created_time)
オブジェクトの作成日時設定.
const std::string & GetObjectId() const
オブジェクトID取得.
int GetTimeout() const
RESTタイムアウト取得.
const std::string & GetBucketName() const
バケット名取得.
virtual ~NbObject()
デストラクタ.
void SetAcl(const NbAcl &acl)
ACL設定.
NbResult< NbObject > Save(bool acl=false)
オブジェクトを保存する.
void SetObjectData(const NbJsonObject &json)
オブジェクトデータ設定.
const std::tm GetCreatedTime() const
オブジェクトの作成日時取得.
void SetCurrentParam(const NbJsonObject &json)
[内部処理用]
REST API処理結果クラス.
Definition: nb_result.h:32
NbResult< NbObject > DeleteObject(bool delete_mark=false)
オブジェクトを削除する.
Jsonオブジェクト.
Definition: nb_json_object.h:34
const std::string & GetETag() const
ETag取得.
NbResult< NbObject > PartUpdateObject(const NbJsonObject &json, bool acl=false)
オブジェクトを部分更新する.
void SetObjectId(const std::string &object_id)
オブジェクトID設定.