1 #ifndef CEPH_CLS_VERSION_TYPES_H
2 #define CEPH_CLS_VERSION_TYPES_H
4 #include "include/encoding.h"
5 #include "include/types.h"
14 obj_version() : ver(0) {}
16 void encode(bufferlist& bl) const {
17 ENCODE_START(1, 1, bl);
23 void decode(bufferlist::iterator& bl) {
43 bool compare(struct obj_version *v) {
44 return (ver == v->ver &&
45 tag.compare(v->tag) == 0);
48 void dump(Formatter *f) const;
49 void decode_json(JSONObj *obj);
51 WRITE_CLASS_ENCODER(obj_version)
55 VER_COND_EQ, /* equal */
56 VER_COND_GT, /* greater than */
57 VER_COND_GE, /* greater or equal */
58 VER_COND_LT, /* less than */
59 VER_COND_LE, /* less or equal */
64 struct obj_version_cond {
65 struct obj_version ver;
68 void encode(bufferlist& bl) const {
69 ENCODE_START(1, 1, bl);
71 uint32_t c = (uint32_t)cond;
76 void decode(bufferlist::iterator& bl) {
81 cond = (VersionCond)c;
86 WRITE_CLASS_ENCODER(obj_version_cond)