return std::make_unique<D4NFilterObject>(std::move(o), this, filter);
}
+std::unique_ptr<Bucket> D4NFilterDriver::get_bucket(const RGWBucketInfo& i)
+{
+ return std::make_unique<D4NFilterBucket>(next->get_bucket(i), this);
+}
+
+int D4NFilterDriver::load_bucket(const DoutPrefixProvider* dpp, const rgw_bucket& b,
+ std::unique_ptr<Bucket>* bucket, optional_yield y)
+{
+ std::unique_ptr<Bucket> nb;
+ const int ret = next->load_bucket(dpp, b, &nb, y);
+ *bucket = std::make_unique<D4NFilterBucket>(std::move(nb), this);
+ return ret;
+}
+
int D4NFilterBucket::create(const DoutPrefixProvider* dpp,
const CreateParams& params,
optional_yield y)
virtual std::unique_ptr<User> get_user(const rgw_user& u) override;
virtual std::unique_ptr<Object> get_object(const rgw_obj_key& k) override;
+ virtual std::unique_ptr<Bucket> get_bucket(const RGWBucketInfo& i) override;
+ int load_bucket(const DoutPrefixProvider* dpp, const rgw_bucket& b,
+ std::unique_ptr<Bucket>* bucket, optional_yield y) override;
virtual std::unique_ptr<Writer> get_atomic_writer(const DoutPrefixProvider *dpp,
optional_yield y,