#pragma once
-#include <map>
-#include <vector>
#include <string>
-#include <include/types.h>
+#include "rgw_sal_fwd.h"
+#include "rgw_user_types.h"
-
-#include "rgw_acl.h"
-
-class RGWUserCtl;
+class DoutPrefixProvider;
+class RGWAccessControlPolicy;
namespace rgw::swift {
-> std::optional<std::string>;
} // namespace rgw::swift
-
-class RGWAccessControlPolicy_SWIFT : public RGWAccessControlPolicy
-{
-};
-
-class RGWAccessControlPolicy_SWIFTAcct : public RGWAccessControlPolicy
-{
-};
* the Swift's infrastructure that don't really need req_state::user.
* Typical example here is the implementation of /info. */
if (!s->user->get_id().empty()) {
- s->user_acl = std::make_unique<RGWAccessControlPolicy_SWIFTAcct>();
+ s->user_acl = std::make_unique<RGWAccessControlPolicy>();
}
- s->bucket_acl = std::make_unique<RGWAccessControlPolicy_SWIFT>();
+ s->bucket_acl = std::make_unique<RGWAccessControlPolicy>();
} else {
s->bucket_acl = std::make_unique<RGWAccessControlPolicy>();
}
/* const */map<string, bufferlist>& attrs,
const RGWQuotaInfo& quota,
int32_t max_buckets,
- const RGWAccessControlPolicy_SWIFTAcct &policy)
+ const RGWAccessControlPolicy& policy)
{
/* Adding X-Timestamp to keep align with Swift API */
dump_header(s, "X-Timestamp", ceph_clock_now());
s->user->get_attrs(),
s->user->get_info().quota.user_quota,
s->user->get_max_buckets(),
- static_cast<RGWAccessControlPolicy_SWIFTAcct&>(*s->user_acl));
+ *s->user_acl);
dump_errno(s);
dump_header(s, "Accept-Ranges", "bytes");
end_header(s, NULL, NULL, NO_CONTENT_LENGTH, true);
s->user->get_attrs(),
s->user->get_info().quota.user_quota,
s->user->get_max_buckets(),
- static_cast<RGWAccessControlPolicy_SWIFTAcct&>(*s->user_acl));
+ *s->user_acl);
dump_errno(s);
end_header(s, nullptr, nullptr, s->formatter->get_len(), true);
}
attrs,
s->user->get_info().quota.user_quota,
s->user->get_max_buckets(),
- static_cast<RGWAccessControlPolicy_SWIFTAcct&>(*s->user_acl));
+ *s->user_acl);
}
set_req_state_err(s, op_ret);
static int get_swift_account_settings(req_state * const s,
rgw::sal::Driver* const driver,
- RGWAccessControlPolicy_SWIFTAcct* const policy,
+ RGWAccessControlPolicy* const policy,
bool * const has_policy)
{
*has_policy = false;
return -EINVAL;
}
- int ret = get_swift_account_settings(s,
- driver,
- // FIXME: we need to carry unique_ptr in generic class
- // and allocate appropriate ACL class in the ctor
- static_cast<RGWAccessControlPolicy_SWIFTAcct *>(&policy),
- &has_policy);
+ int ret = get_swift_account_settings(s, driver, &policy, &has_policy);
if (ret < 0) {
return ret;
}