]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: role: basic ctl class defn
authorAbhishek Lekshmanan <abhishek@suse.com>
Mon, 28 Sep 2020 15:01:15 +0000 (17:01 +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.h

index 1523b6ecda396d9fd909a943fc4355a577c76532..5669e0c06a7a4ab4fb0388286d36d5b710afa8e3 100644 (file)
@@ -138,5 +138,33 @@ public:
   static const std::string& get_path_oid_prefix();
 };
 WRITE_CLASS_ENCODER(RGWRole)
+
+class RGWRoleMetadataHandler;
+class RGWSI_Role;
+class RGWSI_MetaBackend_Handler;
+
+class RGWRoleCtl {
+  struct Svc {
+    RGWSI_Role *role {nullptr};
+  } svc;
+  RGWRoleMetadataHandler *rmhandler;
+  RGWSI_MetaBackend_Handler *be_handler{nullptr};
+public:
+  RGWRoleCtl(RGWSI_Role *_role_svc,
+            RGWRoleMetadataHandler *_rmhander);
+
+  struct PutParams {
+    ceph::real_time mtime;
+    bool exclusive {false};
+    RGWObjVersionTracker *objv_tracker {nullptr};
+    std::map<std::string, bufferlist> *attrs {nullptr};
+
+    PutParams() {};
+  };
+
+  int store_info(const RGWRole& role,
+                optional_yield y,
+                const PutParams& params = {});
+};
 } } // namespace rgw::sal
 #endif /* CEPH_RGW_ROLE_H */