]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: role: md handler get_meta_obj defn
authorAbhishek Lekshmanan <abhishek@suse.com>
Thu, 15 Oct 2020 13:54:53 +0000 (15:54 +0200)
committerPritha Srivastava <prsrivas@redhat.com>
Mon, 6 Jun 2022 10:49:42 +0000 (16:19 +0530)
Signed-off-by: Abhishek Lekshmanan <abhishek@suse.com>
src/rgw/rgw_role.cc
src/rgw/rgw_role.h

index 18760ea37bc2fd5e5476972b74e4c2f0deee8933..0c0946d530185a978b2d0e34a0f1fbb8cf469fb5 100644 (file)
@@ -588,6 +588,22 @@ void RGWRoleCompleteInfo::decode_json(JSONObj *obj)
   has_attrs = JSONDecoder::decode_json("attrs", attrs, obj);
 }
 
+
+RGWMetadataObject *RGWRoleMetadataHandler::get_meta_obj(JSONObj *jo,
+                                                       const obj_version& objv,
+                                                       const ceph::real_time& mtime)
+{
+  RGWRoleCompleteInfo rci;
+
+  try {
+    decode_json_obj(rci, jo);
+  } catch (JSONDecoder:: err& e) {
+    return nullptr;
+  }
+
+  return new RGWRoleMetadataObject(rci, objv, mtime);
+}
+
 int RGWRoleMetadataHandler::do_get(RGWSI_MetaBackend_Handler::Op *op,
                                    std::string& entry,
                                    RGWMetadataObject **obj,
index 80c0b2a912c7efa28bf6875d04d49e9602db6e3f..d0cbb072f0c831d1e92c184b3d7b999cb4a930d7 100644 (file)
@@ -186,6 +186,12 @@ public:
 
   RGWRoleMetadataHandler(RGWSI_Role *role_svc);
 
+  std::string get_type() final { return "roles";  }
+
+  RGWMetadataObject *get_meta_obj(JSONObj *jo,
+                                 const obj_version& objv,
+                                 const ceph::real_time& mtime);
+
   int do_get(RGWSI_MetaBackend_Handler::Op *op,
             std::string& entry,
             RGWMetadataObject **obj,