]>
Commit | Line | Data |
---|---|---|
224ce89b | 1 | // -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*- |
9f95a23c | 2 | // vim: ts=8 sw=2 smarttab ft=cpp |
224ce89b WB |
3 | |
4 | #ifndef RGW_TAG_S3_H | |
5 | #define RGW_TAG_S3_H | |
6 | ||
7 | #include <map> | |
8 | #include <string> | |
9 | #include <iostream> | |
10 | #include <include/types.h> | |
11 | #include <common/Formatter.h> | |
12 | #include <expat.h> | |
13 | ||
14 | #include "rgw_tag.h" | |
15 | #include "rgw_xml.h" | |
16 | ||
11fdf7f2 | 17 | class RGWObjTagEntry_S3 |
224ce89b WB |
18 | { |
19 | std::string key; | |
20 | std::string val; | |
21 | public: | |
22 | RGWObjTagEntry_S3() {} | |
11fdf7f2 | 23 | RGWObjTagEntry_S3(const std::string &k, const std::string &v):key(k),val(v) {}; |
224ce89b WB |
24 | ~RGWObjTagEntry_S3() {} |
25 | ||
11fdf7f2 TL |
26 | const std::string& get_key () const { return key; } |
27 | const std::string& get_val () const { return val; } | |
28 | ||
29 | void dump_xml(Formatter *f) const; | |
30 | void decode_xml(XMLObj *obj); | |
224ce89b WB |
31 | }; |
32 | ||
11fdf7f2 | 33 | class RGWObjTagSet_S3: public RGWObjTags |
224ce89b WB |
34 | { |
35 | public: | |
224ce89b | 36 | int rebuild(RGWObjTags& dest); |
224ce89b | 37 | |
11fdf7f2 TL |
38 | void dump_xml(Formatter *f) const; |
39 | void decode_xml(XMLObj *obj); | |
224ce89b WB |
40 | }; |
41 | ||
11fdf7f2 | 42 | class RGWObjTagging_S3 |
224ce89b | 43 | { |
11fdf7f2 | 44 | RGWObjTagSet_S3 tagset; |
224ce89b | 45 | public: |
11fdf7f2 TL |
46 | void decode_xml(XMLObj *obj); |
47 | int rebuild(RGWObjTags& dest) { | |
48 | return tagset.rebuild(dest); | |
49 | } | |
224ce89b WB |
50 | }; |
51 | ||
11fdf7f2 | 52 | |
224ce89b | 53 | #endif /* RGW_TAG_S3_H */ |