From: Abhishek Lekshmanan Date: Mon, 28 Sep 2020 15:01:15 +0000 (+0200) Subject: rgw: role: basic ctl class defn X-Git-Tag: v17.2.6~119^2~46 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=a777a769ee2d27e1494768749de1952cd1cc98fe;p=ceph.git rgw: role: basic ctl class defn Signed-off-by: Abhishek Lekshmanan (cherry picked from commit 2335a4b2a181390317c957c33b5ae8c82d4cb891) --- diff --git a/src/rgw/rgw_role.h b/src/rgw/rgw_role.h index 1523b6ecda39..5669e0c06a7a 100644 --- a/src/rgw/rgw_role.h +++ b/src/rgw/rgw_role.h @@ -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 *attrs {nullptr}; + + PutParams() {}; + }; + + int store_info(const RGWRole& role, + optional_yield y, + const PutParams& params = {}); +}; } } // namespace rgw::sal #endif /* CEPH_RGW_ROLE_H */