class RGWSI_User;
class RGWSI_User_RADOS;
class RGWDataChangesLog;
+class RGWSI_Role_RADOS;
struct RGWServices_Def
{
std::unique_ptr<RGWSI_SysObj_Cache> sysobj_cache;
std::unique_ptr<RGWSI_User_RADOS> user_rados;
std::unique_ptr<RGWDataChangesLog> datalog_rados;
+ std::unique_ptr<RGWSI_Role_RADOS> role_rados;
RGWServices_Def();
~RGWServices_Def();
RGWSI_SysObj_Cache *cache{nullptr};
RGWSI_SysObj_Core *core{nullptr};
RGWSI_User *user{nullptr};
+ RGWSI_Role_RADOS *role{nullptr};
int do_init(CephContext *cct, bool have_cache, bool raw_storage, bool run_sync, optional_yield y, const DoutPrefixProvider *dpp);
std::unique_ptr<RGWMetadataHandler> bucket_instance;
std::unique_ptr<RGWMetadataHandler> user;
std::unique_ptr<RGWMetadataHandler> otp;
+ std::unique_ptr<RGWMetadataHandler> role;
_meta();
~_meta();
RGWCtlDef();
~RGWCtlDef();
- int init(RGWServices& svc, const DoutPrefixProvider *dpp);
+ int init(RGWServices& svc, rgw::sal::Store* store, const DoutPrefixProvider *dpp);
};
struct RGWCtl {
RGWMetadataHandler *bucket_instance{nullptr};
RGWMetadataHandler *user{nullptr};
RGWMetadataHandler *otp{nullptr};
+ RGWMetadataHandler *role{nullptr};
} meta;
RGWUserCtl *user{nullptr};
RGWBucketCtl *bucket{nullptr};
RGWOTPCtl *otp{nullptr};
- int init(RGWServices *_svc, const DoutPrefixProvider *dpp);
+ int init(RGWServices *_svc, rgw::sal::Store* store, const DoutPrefixProvider *dpp);
};
#endif