1 // -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
2 // vim: ts=8 sw=2 smarttab
4 #ifndef CEPH_RGW_ACL_SWIFT_H
5 #define CEPH_RGW_ACL_SWIFT_H
10 #include <include/types.h>
12 #include <boost/optional.hpp>
16 class RGWAccessControlPolicy_SWIFT
: public RGWAccessControlPolicy
18 int add_grants(RGWRados
*store
,
19 const std::vector
<std::string
>& uids
,
23 explicit RGWAccessControlPolicy_SWIFT(CephContext
* const cct
)
24 : RGWAccessControlPolicy(cct
) {
26 ~RGWAccessControlPolicy_SWIFT() override
= default;
28 int create(RGWRados
*store
,
30 const std::string
& name
,
31 const char* read_list
,
32 const char* write_list
,
34 void filter_merge(uint32_t mask
, RGWAccessControlPolicy_SWIFT
*policy
);
35 void to_str(std::string
& read
, std::string
& write
);
38 class RGWAccessControlPolicy_SWIFTAcct
: public RGWAccessControlPolicy
41 RGWAccessControlPolicy_SWIFTAcct(CephContext
* const cct
)
42 : RGWAccessControlPolicy(cct
) {
44 ~RGWAccessControlPolicy_SWIFTAcct() override
{}
46 void add_grants(RGWRados
*store
,
47 const std::vector
<std::string
>& uids
,
49 bool create(RGWRados
*store
,
51 const std::string
& name
,
52 const std::string
& acl_str
);
53 boost::optional
<std::string
> to_str() const;