1 // -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
2 // vim: ts=8 sw=2 smarttab ft=cpp
4 #ifndef CEPH_RGW_ACL_SWIFT_H
5 #define CEPH_RGW_ACL_SWIFT_H
10 #include <include/types.h>
12 #include <boost/optional.hpp>
18 class RGWAccessControlPolicy_SWIFT
: public RGWAccessControlPolicy
20 int add_grants(RGWUserCtl
*user_ctl
,
21 const std::vector
<std::string
>& uids
,
25 explicit RGWAccessControlPolicy_SWIFT(CephContext
* const cct
)
26 : RGWAccessControlPolicy(cct
) {
28 ~RGWAccessControlPolicy_SWIFT() override
= default;
30 int create(RGWUserCtl
*user_ctl
,
32 const std::string
& name
,
33 const char* read_list
,
34 const char* write_list
,
36 void filter_merge(uint32_t mask
, RGWAccessControlPolicy_SWIFT
*policy
);
37 void to_str(std::string
& read
, std::string
& write
);
40 class RGWAccessControlPolicy_SWIFTAcct
: public RGWAccessControlPolicy
43 explicit RGWAccessControlPolicy_SWIFTAcct(CephContext
* const cct
)
44 : RGWAccessControlPolicy(cct
) {
46 ~RGWAccessControlPolicy_SWIFTAcct() override
{}
48 void add_grants(RGWUserCtl
*user_ctl
,
49 const std::vector
<std::string
>& uids
,
51 bool create(RGWUserCtl
*user_ctl
,
53 const std::string
& name
,
54 const std::string
& acl_str
);
55 boost::optional
<std::string
> to_str() const;