]> git.proxmox.com Git - ceph.git/blame - ceph/src/cls/version/cls_version_ops.h
bump version to 19.2.0-pve1
[ceph.git] / ceph / src / cls / version / cls_version_ops.h
CommitLineData
7c673cae
FG
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_VERSION_OPS_H
5#define CEPH_CLS_VERSION_OPS_H
6
7c673cae 7#include "cls_version_types.h"
f51cf556 8#include "common/ceph_json.h"
7c673cae
FG
9
10struct cls_version_set_op {
11 obj_version objv;
12
13 cls_version_set_op() {}
14
f67539c2 15 void encode(ceph::buffer::list& bl) const {
7c673cae 16 ENCODE_START(1, 1, bl);
11fdf7f2 17 encode(objv, bl);
7c673cae
FG
18 ENCODE_FINISH(bl);
19 }
20
f67539c2 21 void decode(ceph::buffer::list::const_iterator& bl) {
7c673cae 22 DECODE_START(1, bl);
11fdf7f2 23 decode(objv, bl);
7c673cae
FG
24 DECODE_FINISH(bl);
25 }
f51cf556
TL
26
27 void dump(ceph::Formatter *f) const {
28 f->dump_object("objv", objv);
29 }
30
31 static void generate_test_instances(std::list<cls_version_set_op*>& o) {
32 o.push_back(new cls_version_set_op);
33 o.push_back(new cls_version_set_op);
34 o.back()->objv.ver = 123;
35 o.back()->objv.tag = "foo";
36 }
7c673cae
FG
37};
38WRITE_CLASS_ENCODER(cls_version_set_op)
39
40struct cls_version_inc_op {
41 obj_version objv;
f67539c2 42 std::list<obj_version_cond> conds;
7c673cae
FG
43
44 cls_version_inc_op() {}
45
f67539c2 46 void encode(ceph::buffer::list& bl) const {
7c673cae 47 ENCODE_START(1, 1, bl);
11fdf7f2
TL
48 encode(objv, bl);
49 encode(conds, bl);
7c673cae
FG
50 ENCODE_FINISH(bl);
51 }
52
f67539c2 53 void decode(ceph::buffer::list::const_iterator& bl) {
7c673cae 54 DECODE_START(1, bl);
11fdf7f2
TL
55 decode(objv, bl);
56 decode(conds, bl);
7c673cae
FG
57 DECODE_FINISH(bl);
58 }
f51cf556
TL
59
60 void dump(ceph::Formatter *f) const {
61 f->dump_object("objv", objv);
62 encode_json("conds", conds, f);
63 }
64
65 static void generate_test_instances(std::list<cls_version_inc_op*>& o) {
66 o.push_back(new cls_version_inc_op);
67 o.push_back(new cls_version_inc_op);
68 o.back()->objv.ver = 123;
69 o.back()->objv.tag = "foo";
70 o.back()->conds.push_back(obj_version_cond());
71 o.back()->conds.back().ver.ver = 123;
72 o.back()->conds.back().ver.tag = "foo";
73 o.back()->conds.back().cond = VER_COND_GE;
74 }
7c673cae
FG
75};
76WRITE_CLASS_ENCODER(cls_version_inc_op)
77
78struct cls_version_check_op {
79 obj_version objv;
f67539c2 80 std::list<obj_version_cond> conds;
7c673cae
FG
81
82 cls_version_check_op() {}
83
f67539c2 84 void encode(ceph::buffer::list& bl) const {
7c673cae 85 ENCODE_START(1, 1, bl);
11fdf7f2
TL
86 encode(objv, bl);
87 encode(conds, bl);
7c673cae
FG
88 ENCODE_FINISH(bl);
89 }
90
f67539c2 91 void decode(ceph::buffer::list::const_iterator& bl) {
7c673cae 92 DECODE_START(1, bl);
11fdf7f2
TL
93 decode(objv, bl);
94 decode(conds, bl);
7c673cae
FG
95 DECODE_FINISH(bl);
96 }
f51cf556
TL
97
98 void dump(ceph::Formatter *f) const {
99 f->dump_object("objv", objv);
100 encode_json("conds", conds, f);
101 }
102
103 static void generate_test_instances(std::list<cls_version_check_op*>& o) {
104 o.push_back(new cls_version_check_op);
105 o.push_back(new cls_version_check_op);
106 o.back()->objv.ver = 123;
107 o.back()->objv.tag = "foo";
108 o.back()->conds.push_back(obj_version_cond());
109 o.back()->conds.back().ver.ver = 123;
110 o.back()->conds.back().ver.tag = "foo";
111 o.back()->conds.back().cond = VER_COND_GE;
112 }
7c673cae
FG
113};
114WRITE_CLASS_ENCODER(cls_version_check_op)
115
116struct cls_version_read_ret {
117 obj_version objv;
118
119 cls_version_read_ret() {}
120
f67539c2 121 void encode(ceph::buffer::list& bl) const {
7c673cae 122 ENCODE_START(1, 1, bl);
11fdf7f2 123 encode(objv, bl);
7c673cae
FG
124 ENCODE_FINISH(bl);
125 }
126
f67539c2 127 void decode(ceph::buffer::list::const_iterator& bl) {
7c673cae 128 DECODE_START(1, bl);
11fdf7f2 129 decode(objv, bl);
7c673cae
FG
130 DECODE_FINISH(bl);
131 }
f51cf556
TL
132
133 void dump(ceph::Formatter *f) const {
134 f->dump_object("objv", objv);
135 }
136
137 static void generate_test_instances(std::list<cls_version_read_ret*>& o) {
138 o.push_back(new cls_version_read_ret);
139 o.push_back(new cls_version_read_ret);
140 o.back()->objv.ver = 123;
141 o.back()->objv.tag = "foo";
142 }
7c673cae
FG
143};
144WRITE_CLASS_ENCODER(cls_version_read_ret)
145
146
147#endif