]> git.proxmox.com Git - ceph.git/blob - ceph/src/cls/user/cls_user_client.h
update sources to ceph Nautilus 14.2.1
[ceph.git] / ceph / src / cls / user / cls_user_client.h
1 // -*- mode:C; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
2 // vim: ts=8 sw=2 smarttab
3
4 #ifndef CEPH_CLS_USER_CLIENT_H
5 #define CEPH_CLS_USER_CLIENT_H
6
7 #include "include/rados/librados_fwd.hpp"
8 #include "cls_user_ops.h"
9 #include "common/RefCountedObj.h"
10
11 class RGWGetUserHeader_CB : public RefCountedObject {
12 public:
13 ~RGWGetUserHeader_CB() override {}
14 virtual void handle_response(int r, cls_user_header& header) = 0;
15 };
16
17 /*
18 * user objclass
19 */
20
21 void cls_user_set_buckets(librados::ObjectWriteOperation& op, list<cls_user_bucket_entry>& entries, bool add);
22 void cls_user_complete_stats_sync(librados::ObjectWriteOperation& op);
23 void cls_user_remove_bucket(librados::ObjectWriteOperation& op, const cls_user_bucket& bucket);
24 void cls_user_bucket_list(librados::ObjectReadOperation& op,
25 const string& in_marker,
26 const string& end_marker,
27 int max_entries,
28 list<cls_user_bucket_entry>& entries,
29 string *out_marker,
30 bool *truncated,
31 int *pret);
32 void cls_user_get_header(librados::ObjectReadOperation& op, cls_user_header *header, int *pret);
33 int cls_user_get_header_async(librados::IoCtx& io_ctx, string& oid, RGWGetUserHeader_CB *ctx);
34 void cls_user_reset_stats(librados::ObjectWriteOperation& op);
35
36 #endif