]>
Commit | Line | Data |
---|---|---|
11fdf7f2 | 1 | // -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*- |
9f95a23c | 2 | // vim: ts=8 sw=2 smarttab ft=cpp |
11fdf7f2 | 3 | |
7c673cae FG |
4 | #ifndef CEPH_RGW_LC_S3_H |
5 | #define CEPH_RGW_LC_S3_H | |
6 | ||
7 | #include <map> | |
8 | #include <string> | |
9 | #include <iostream> | |
10 | #include <include/types.h> | |
11 | ||
7c673cae FG |
12 | #include "include/str_list.h" |
13 | #include "rgw_lc.h" | |
14 | #include "rgw_xml.h" | |
11fdf7f2 | 15 | #include "rgw_tag_s3.h" |
7c673cae | 16 | |
11fdf7f2 | 17 | class LCFilter_S3 : public LCFilter |
7c673cae FG |
18 | { |
19 | public: | |
11fdf7f2 TL |
20 | void dump_xml(Formatter *f) const; |
21 | void decode_xml(XMLObj *obj); | |
31f18b77 FG |
22 | }; |
23 | ||
11fdf7f2 | 24 | class LCExpiration_S3 : public LCExpiration |
7c673cae | 25 | { |
31f18b77 | 26 | private: |
11fdf7f2 | 27 | bool dm_expiration{false}; |
7c673cae | 28 | public: |
11fdf7f2 | 29 | LCExpiration_S3() {} |
20effc67 | 30 | LCExpiration_S3(std::string _days, std::string _date, bool _dm_expiration) : LCExpiration(_days, _date), dm_expiration(_dm_expiration) {} |
11fdf7f2 TL |
31 | |
32 | void dump_xml(Formatter *f) const; | |
33 | void decode_xml(XMLObj *obj); | |
31f18b77 FG |
34 | |
35 | void set_dm_expiration(bool _dm_expiration) { | |
36 | dm_expiration = _dm_expiration; | |
37 | } | |
38 | ||
39 | bool get_dm_expiration() { | |
40 | return dm_expiration; | |
7c673cae FG |
41 | } |
42 | }; | |
43 | ||
11fdf7f2 | 44 | class LCNoncurExpiration_S3 : public LCExpiration |
7c673cae FG |
45 | { |
46 | public: | |
47 | LCNoncurExpiration_S3() {} | |
7c673cae | 48 | |
11fdf7f2 TL |
49 | void decode_xml(XMLObj *obj); |
50 | void dump_xml(Formatter *f) const; | |
7c673cae FG |
51 | }; |
52 | ||
11fdf7f2 | 53 | class LCMPExpiration_S3 : public LCExpiration |
7c673cae FG |
54 | { |
55 | public: | |
56 | LCMPExpiration_S3() {} | |
7c673cae | 57 | |
11fdf7f2 TL |
58 | void decode_xml(XMLObj *obj); |
59 | void dump_xml(Formatter *f) const; | |
7c673cae FG |
60 | }; |
61 | ||
11fdf7f2 | 62 | class LCTransition_S3 : public LCTransition |
7c673cae FG |
63 | { |
64 | public: | |
11fdf7f2 | 65 | LCTransition_S3() {} |
b32b8144 | 66 | |
11fdf7f2 TL |
67 | void decode_xml(XMLObj *obj); |
68 | void dump_xml(Formatter *f) const; | |
7c673cae FG |
69 | }; |
70 | ||
11fdf7f2 | 71 | class LCNoncurTransition_S3 : public LCTransition |
7c673cae | 72 | { |
11fdf7f2 TL |
73 | public: |
74 | LCNoncurTransition_S3() {} | |
75 | ~LCNoncurTransition_S3() {} | |
76 | ||
77 | void decode_xml(XMLObj *obj); | |
78 | void dump_xml(Formatter *f) const; | |
79 | }; | |
80 | ||
7c673cae | 81 | |
11fdf7f2 TL |
82 | class LCRule_S3 : public LCRule |
83 | { | |
7c673cae | 84 | public: |
11fdf7f2 TL |
85 | LCRule_S3() {} |
86 | ||
87 | void dump_xml(Formatter *f) const; | |
88 | void decode_xml(XMLObj *obj); | |
7c673cae FG |
89 | }; |
90 | ||
11fdf7f2 | 91 | class RGWLifecycleConfiguration_S3 : public RGWLifecycleConfiguration |
7c673cae FG |
92 | { |
93 | public: | |
11fdf7f2 TL |
94 | explicit RGWLifecycleConfiguration_S3(CephContext *_cct) : RGWLifecycleConfiguration(_cct) {} |
95 | RGWLifecycleConfiguration_S3() : RGWLifecycleConfiguration(nullptr) {} | |
96 | ||
97 | void decode_xml(XMLObj *obj); | |
f67539c2 | 98 | int rebuild(RGWLifecycleConfiguration& dest); |
7c673cae FG |
99 | void dump_xml(Formatter *f) const; |
100 | }; | |
101 | ||
7c673cae | 102 | #endif |