1 // -*- mode:C; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
2 // vim: ts=8 sw=2 smarttab
4 #ifndef CEPH_CLS_USER_CLIENT_H
5 #define CEPH_CLS_USER_CLIENT_H
7 #include "cls_user_ops.h"
8 #include "common/RefCountedObj.h"
11 class ObjectWriteOperation;
12 class ObjectReadOperation;
16 class RGWGetUserHeader_CB : public RefCountedObject {
18 ~RGWGetUserHeader_CB() override {}
19 virtual void handle_response(int r, cls_user_header& header) = 0;
26 void cls_user_set_buckets(librados::ObjectWriteOperation& op, list<cls_user_bucket_entry>& entries, bool add);
27 void cls_user_complete_stats_sync(librados::ObjectWriteOperation& op);
28 void cls_user_remove_bucket(librados::ObjectWriteOperation& op, const cls_user_bucket& bucket);
29 void cls_user_bucket_list(librados::ObjectReadOperation& op,
30 const string& in_marker,
31 const string& end_marker,
33 list<cls_user_bucket_entry>& entries,
37 void cls_user_get_header(librados::ObjectReadOperation& op, cls_user_header *header, int *pret);
38 int cls_user_get_header_async(librados::IoCtx& io_ctx, string& oid, RGWGetUserHeader_CB *ctx);