]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: add stubs for dencoder test
authorYehuda Sadeh <yehuda@hq.newdream.net>
Fri, 9 Mar 2012 00:58:00 +0000 (16:58 -0800)
committerYehuda Sadeh <yehuda@hq.newdream.net>
Fri, 9 Mar 2012 00:58:00 +0000 (16:58 -0800)
still need to add some content to the dump methods

Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net>
14 files changed:
src/Makefile.am
src/rgw/rgw_access.cc
src/rgw/rgw_access.h
src/rgw/rgw_acl.cc
src/rgw/rgw_acl.h
src/rgw/rgw_cache.cc
src/rgw/rgw_cache.h
src/rgw/rgw_cls_api.h
src/rgw/rgw_common.cc
src/rgw/rgw_common.h
src/rgw/rgw_log.cc
src/rgw/rgw_log.h
src/rgw/rgw_rados.cc
src/test/encoding/types.h

index 21ddf28ac852da44b2262a28b3468cafa0b266c5..b6febc9fd1daf9242333b8be9329cbb45eea74c1 100644 (file)
@@ -291,6 +291,7 @@ librgw_la_CXXFLAGS = ${CRYPTO_CXXFLAGS} ${AM_CXXFLAGS}
 librgw_la_LIBADD = librados.la
 librgw_la_LDFLAGS = -version-info 1:0:0 $(PTHREAD_LIBS) -lm $(CRYPTO_LIBS) $(EXTRALIBS) -lexpat -lcurl
 lib_LTLIBRARIES += librgw.la
+
 endif
 
 # librbd
@@ -362,6 +363,9 @@ rgw_multiparser_SOURCES = $(my_libradosgw_src) rgw/rgw_multiparser.cc
 rgw_multiparser_CXXFLAGS = ${CRYPTO_CXXFLAGS} ${AM_CXXFLAGS}
 rgw_multiparser_LDADD = $(my_radosgw_ldadd)
 bin_DEBUGPROGRAMS += rgw_multiparser
+
+ceph_dencoder_LDADD += $(my_radosgw_ldadd)
+
 endif
 
 testcrypto_SOURCES = testcrypto.cc
index 17b385c49d328d2951aa19fb5fbdf8478a5ae1c8..64eb3defeb321539a9b9020c4e58a2a3b7f2d6c8 100644 (file)
@@ -11,6 +11,24 @@ static RGWCache<RGWRados> cached_rados_provider;
 static RGWFS fs_provider;
 static RGWRados rados_provider;
 
+void RGWObjManifestPart::generate_test_instances(std::list<RGWObjManifestPart*>& o)
+{
+  o.push_back(new RGWObjManifestPart);
+}
+
+void RGWObjManifestPart::dump(Formatter *f) const
+{
+}
+
+void RGWObjManifest::generate_test_instances(std::list<RGWObjManifest*>& o)
+{
+  o.push_back(new RGWObjManifest);
+}
+
+void RGWObjManifest::dump(Formatter *f) const
+{
+}
+
 RGWAccess* RGWAccess::store;
 
 RGWAccess::~RGWAccess()
index 4bbf1c831727f745124453c7bfcd133e812b2138..62a29b857a780461740a048d29cdef31316f1cc0 100644 (file)
@@ -7,6 +7,7 @@
 #include <vector>
 #include <include/types.h>
 
+#include "common/Formatter.h"
 #include "rgw_common.h"
 
 struct md_config_t;
@@ -46,6 +47,9 @@ struct RGWObjManifestPart {
      ::decode(size, bl);
      DECODE_FINISH(bl);
   }
+
+  void dump(Formatter *f) const;
+  static void generate_test_instances(list<RGWObjManifestPart*>& o);
 };
 WRITE_CLASS_ENCODER(RGWObjManifestPart);
 
@@ -68,6 +72,9 @@ struct RGWObjManifest {
      ::decode(objs, bl);
      DECODE_FINISH(bl);
   }
+
+  void dump(Formatter *f) const;
+  static void generate_test_instances(list<RGWObjManifest*>& o);
 };
 WRITE_CLASS_ENCODER(RGWObjManifest);
 
index c79d3a79699992420738bf9015b40e243e36af7d..7d8156ef2201723cc9c4671b8eabdf303d514783 100644 (file)
 using namespace std;
 
 
+void ACLPermission::generate_test_instances(list<ACLPermission*>& o)
+{
+  o.push_back(new ACLPermission);
+}
+
+void ACLPermission::dump(Formatter *f) const
+{
+}
+
+void ACLGranteeType::generate_test_instances(list<ACLGranteeType*>& o)
+{
+  o.push_back(new ACLGranteeType);
+}
+
+void ACLGranteeType::dump(Formatter *f) const
+{
+}
+
+void ACLGrant::generate_test_instances(list<ACLGrant*>& o)
+{
+  o.push_back(new ACLGrant);
+}
+
+void ACLGrant::dump(Formatter *f) const
+{
+}
+
+void RGWAccessControlList::generate_test_instances(list<RGWAccessControlList*>& o)
+{
+  o.push_back(new RGWAccessControlList);
+}
+
+void RGWAccessControlList::dump(Formatter *f) const
+{
+}
+
+void ACLOwner::generate_test_instances(list<ACLOwner*>& o)
+{
+  o.push_back(new ACLOwner);
+}
+
+void ACLOwner::dump(Formatter *f) const
+{
+}
+
+void RGWAccessControlPolicy::generate_test_instances(list<RGWAccessControlPolicy*>& o)
+{
+  o.push_back(new RGWAccessControlPolicy);
+}
+
+
+void RGWAccessControlPolicy::dump(Formatter *f) const
+{
+}
+
 void RGWAccessControlList::_add_grant(ACLGrant *grant)
 {
   ACLPermission& perm = grant->get_permission();
index 6a7a0ee939445b2bed4b5cfccbb2a97468924a96..cfa401563a34b2d771a32e3d9d20f26bba8adcc6 100644 (file)
@@ -56,6 +56,8 @@ public:
     ::decode(flags, bl);
     DECODE_FINISH(bl);
   }
+  void dump(Formatter *f) const;
+  static void generate_test_instances(list<ACLPermission*>& o);
 };
 WRITE_CLASS_ENCODER(ACLPermission)
 
@@ -80,6 +82,8 @@ public:
     ::decode(type, bl);
     DECODE_FINISH(bl);
   }
+  void dump(Formatter *f) const;
+  static void generate_test_instances(list<ACLGranteeType*>& o);
 };
 WRITE_CLASS_ENCODER(ACLGranteeType)
 
@@ -154,6 +158,8 @@ public:
     }
     DECODE_FINISH(bl);
   }
+  void dump(Formatter *f) const;
+  static void generate_test_instances(list<ACLGrant*>& o);
 
   ACLGroupTypeEnum uri_to_group(string& uri);
   
@@ -211,6 +217,9 @@ public:
     }
     DECODE_FINISH(bl);
   }
+  void dump(Formatter *f) const;
+  static void generate_test_instances(list<RGWAccessControlList*>& o);
+
   void add_grant(ACLGrant *grant);
 
   multimap<string, ACLGrant>& get_grant_map() { return grant_map; }
@@ -247,6 +256,8 @@ public:
     ::decode(display_name, bl);
     DECODE_FINISH(bl);
   }
+  void dump(Formatter *f) const;
+  static void generate_test_instances(list<ACLOwner*>& o);
   void set_id(string& _id) { id = _id; }
   void set_name(string& name) { display_name = name; }
 
@@ -280,7 +291,9 @@ public:
     ::decode(owner, bl);
     ::decode(acl, bl);
     DECODE_FINISH(bl);
-   }
+  }
+  void dump(Formatter *f) const;
+  static void generate_test_instances(list<RGWAccessControlPolicy*>& o);
   void decode_owner(bufferlist::iterator& bl) { // sometimes we only need that, should be faster
     DECODE_START_LEGACY_COMPAT_LEN(2, 2, 2, bl);
     ::decode(owner, bl);
index a7ed8acd1a7b6d199fde4014504e082b39264535..641733d36c867073cc4f722fb581fa26906310ea 100644 (file)
@@ -7,6 +7,33 @@
 using namespace std;
 
 
+void ObjectMetaInfo::generate_test_instances(list<ObjectMetaInfo*>& o)
+{
+  o.push_back(new ObjectMetaInfo);
+}
+
+void ObjectMetaInfo::dump(Formatter *f) const
+{
+}
+
+void ObjectCacheInfo::generate_test_instances(list<ObjectCacheInfo*>& o)
+{
+  o.push_back(new ObjectCacheInfo);
+}
+
+void ObjectCacheInfo::dump(Formatter *f) const
+{
+}
+
+void RGWCacheNotifyInfo::generate_test_instances(list<RGWCacheNotifyInfo*>& o)
+{
+  o.push_back(new RGWCacheNotifyInfo);
+}
+
+void RGWCacheNotifyInfo::dump(Formatter *f) const
+{
+}
+
 int ObjectCache::get(string& name, ObjectCacheInfo& info, uint32_t mask)
 {
   Mutex::Locker l(lock);
index e3998493d2488a89f250c9357ba4c37741a53795..78808fb0c03be614cbffbd1343d8807e761c36fc 100644 (file)
@@ -39,6 +39,8 @@ struct ObjectMetaInfo {
     mtime = t.sec();
     DECODE_FINISH(bl);
   }
+  void dump(Formatter *f) const;
+  static void generate_test_instances(list<ObjectMetaInfo*>& o);
 };
 WRITE_CLASS_ENCODER(ObjectMetaInfo)
 
@@ -73,6 +75,8 @@ struct ObjectCacheInfo {
       ::decode(rm_xattrs, bl);
     DECODE_FINISH(bl);
   }
+  void dump(Formatter *f) const;
+  static void generate_test_instances(list<ObjectCacheInfo*>& o);
 };
 WRITE_CLASS_ENCODER(ObjectCacheInfo)
 
@@ -103,6 +107,8 @@ struct RGWCacheNotifyInfo {
     ::decode(ns, ibl);
     DECODE_FINISH(ibl);
   }
+  void dump(Formatter *f) const;
+  static void generate_test_instances(list<RGWCacheNotifyInfo*>& o);
 };
 WRITE_CLASS_ENCODER(RGWCacheNotifyInfo)
 
index 471a52b3b5aefb85bdeeef3c21a4fc07d8ff9da0..974570c17a2525c91350eb394006bdaa538799e5 100644 (file)
@@ -6,6 +6,8 @@
 #include "include/types.h"
 #include "include/utime.h"
 
+#include "common/Formatter.h"
+
 
 #define CEPH_RGW_REMOVE 'r'
 #define CEPH_RGW_UPDATE 'u'
@@ -43,6 +45,8 @@ struct rgw_bucket_pending_info {
     ::decode(op, bl);
     DECODE_FINISH(bl);
   }
+  void dump(Formatter *f) const;
+  static void generate_test_instances(list<rgw_bucket_pending_info*>& o);
 };
 WRITE_CLASS_ENCODER(rgw_bucket_pending_info)
 
@@ -82,6 +86,8 @@ struct rgw_bucket_dir_entry_meta {
       ::decode(content_type, bl);
     DECODE_FINISH(bl);
   }
+  void dump(Formatter *f) const;
+  static void generate_test_instances(list<rgw_bucket_dir_entry_meta*>& o);
 };
 WRITE_CLASS_ENCODER(rgw_bucket_dir_entry_meta)
 
@@ -119,6 +125,8 @@ struct rgw_bucket_dir_entry {
     }
     DECODE_FINISH(bl);
   }
+  void dump(Formatter *f) const;
+  static void generate_test_instances(list<rgw_bucket_dir_entry*>& o);
 };
 WRITE_CLASS_ENCODER(rgw_bucket_dir_entry)
 
@@ -141,6 +149,8 @@ struct rgw_bucket_category_stats {
     ::decode(num_entries, bl);
     DECODE_FINISH(bl);
   }
+  void dump(Formatter *f) const;
+  static void generate_test_instances(list<rgw_bucket_category_stats*>& o);
 };
 WRITE_CLASS_ENCODER(rgw_bucket_category_stats)
 
@@ -157,6 +167,8 @@ struct rgw_bucket_dir_header {
     ::decode(stats, bl);
     DECODE_FINISH(bl);
   }
+  void dump(Formatter *f) const;
+  static void generate_test_instances(list<rgw_bucket_dir_header*>& o);
 };
 WRITE_CLASS_ENCODER(rgw_bucket_dir_header)
 
@@ -176,6 +188,8 @@ struct rgw_bucket_dir {
     ::decode(m, bl);
     DECODE_FINISH(bl);
   }
+  void dump(Formatter *f) const;
+  static void generate_test_instances(list<rgw_bucket_dir*>& o);
 };
 WRITE_CLASS_ENCODER(rgw_bucket_dir)
 
@@ -204,6 +218,8 @@ struct rgw_cls_obj_prepare_op
     }
     DECODE_FINISH(bl);
   }
+  void dump(Formatter *f) const;
+  static void generate_test_instances(list<rgw_cls_obj_prepare_op*>& o);
 };
 WRITE_CLASS_ENCODER(rgw_cls_obj_prepare_op)
 
@@ -238,6 +254,8 @@ struct rgw_cls_obj_complete_op
     }
     DECODE_FINISH(bl);
   }
+  void dump(Formatter *f) const;
+  static void generate_test_instances(list<rgw_cls_obj_complete_op*>& o);
 };
 WRITE_CLASS_ENCODER(rgw_cls_obj_complete_op)
 
@@ -258,6 +276,8 @@ struct rgw_cls_list_op
     ::decode(num_entries, bl);
     DECODE_FINISH(bl);
   }
+  void dump(Formatter *f) const;
+  static void generate_test_instances(list<rgw_cls_list_op*>& o);
 };
 WRITE_CLASS_ENCODER(rgw_cls_list_op)
 
@@ -278,6 +298,8 @@ struct rgw_cls_list_ret
     ::decode(is_truncated, bl);
     DECODE_FINISH(bl);
   }
+  void dump(Formatter *f) const;
+  static void generate_test_instances(list<rgw_cls_list_ret*>& o);
 };
 WRITE_CLASS_ENCODER(rgw_cls_list_ret)
 
index 9b9d3f8307f330fd816c05fdca74265c36a6f1c3..656814da1f85593299ed9507737818bd3a3ca38d 100644 (file)
@@ -49,6 +49,78 @@ void rgw_perf_stop(CephContext *cct)
   delete perfcounter;
 }
 
+void RGWAccessKey::generate_test_instances(list<RGWAccessKey*>& o)
+{
+  o.push_back(new RGWAccessKey);
+}
+
+void RGWAccessKey::dump(Formatter *f) const
+{
+}
+
+void RGWSubUser::generate_test_instances(list<RGWSubUser*>& o)
+{
+  o.push_back(new RGWSubUser);
+}
+
+void RGWSubUser::dump(Formatter *f) const
+{
+}
+
+void RGWUserInfo::generate_test_instances(list<RGWUserInfo*>& o)
+{
+  o.push_back(new RGWUserInfo);
+}
+
+void RGWUserInfo::dump(Formatter *f) const
+{
+}
+
+void rgw_bucket::generate_test_instances(list<rgw_bucket*>& o)
+{
+  o.push_back(new rgw_bucket);
+}
+
+void rgw_bucket::dump(Formatter *f) const
+{
+}
+
+void RGWBucketInfo::generate_test_instances(list<RGWBucketInfo*>& o)
+{
+  o.push_back(new RGWBucketInfo);
+}
+
+void RGWBucketInfo::dump(Formatter *f) const
+{
+}
+
+void RGWBucketEnt::generate_test_instances(list<RGWBucketEnt*>& o)
+{
+  o.push_back(new RGWBucketEnt);
+}
+
+void RGWBucketEnt::dump(Formatter *f) const
+{
+}
+
+void RGWUploadPartInfo::generate_test_instances(list<RGWUploadPartInfo*>& o)
+{
+  o.push_back(new RGWUploadPartInfo);
+}
+
+void RGWUploadPartInfo::dump(Formatter *f) const
+{
+}
+
+void rgw_obj::generate_test_instances(list<rgw_obj*>& o)
+{
+  o.push_back(new rgw_obj);
+}
+
+void rgw_obj::dump(Formatter *f) const
+{
+}
+
 
 using namespace ceph::crypto;
 
index f6d5cb18d2efbae7cf38b4e63525aea0f5be6811..28f20060a143cebf322a814b261a5783be615a42 100644 (file)
@@ -293,6 +293,8 @@ struct RGWAccessKey {
      ::decode(subuser, bl);
      DECODE_FINISH(bl);
   }
+  void dump(Formatter *f) const;
+  static void generate_test_instances(list<RGWAccessKey*>& o);
 };
 WRITE_CLASS_ENCODER(RGWAccessKey);
 
@@ -314,6 +316,8 @@ struct RGWSubUser {
      ::decode(perm_mask, bl);
      DECODE_FINISH(bl);
   }
+  void dump(Formatter *f) const;
+  static void generate_test_instances(list<RGWSubUser*>& o);
 };
 WRITE_CLASS_ENCODER(RGWSubUser);
 
@@ -400,6 +404,8 @@ struct RGWUserInfo
     }
     DECODE_FINISH(bl);
   }
+  void dump(Formatter *f) const;
+  static void generate_test_instances(list<RGWUserInfo*>& o);
 
   void clear() {
     user_id.clear();
@@ -453,6 +459,8 @@ struct rgw_bucket {
     }
     DECODE_FINISH(bl);
   }
+  void dump(Formatter *f) const;
+  static void generate_test_instances(list<rgw_bucket*>& o);
 };
 WRITE_CLASS_ENCODER(rgw_bucket)
 
@@ -491,6 +499,8 @@ struct RGWBucketInfo
        ::decode(flags, bl);
      DECODE_FINISH(bl);
   }
+  void dump(Formatter *f) const;
+  static void generate_test_instances(list<RGWBucketInfo*>& o);
 
   RGWBucketInfo() : flags(0) {}
 };
@@ -638,6 +648,8 @@ struct RGWBucketEnt {
     size_rounded = s;
     DECODE_FINISH(bl);
   }
+  void dump(Formatter *f) const;
+  static void generate_test_instances(list<RGWBucketEnt*>& o);
   void clear() {
     bucket.clear();
     size = 0;
@@ -670,6 +682,8 @@ struct RGWUploadPartInfo {
     ::decode(modified, bl);
     DECODE_FINISH(bl);
   }
+  void dump(Formatter *f) const;
+  static void generate_test_instances(list<RGWUploadPartInfo*>& o);
 };
 WRITE_CLASS_ENCODER(RGWUploadPartInfo)
 
@@ -852,6 +866,8 @@ public:
       ::decode(bucket, bl);
     DECODE_FINISH(bl);
   }
+  void dump(Formatter *f) const;
+  static void generate_test_instances(list<rgw_obj*>& o);
 
   bool operator==(const rgw_obj& o) const {
     return (object.compare(o.object) == 0) &&
index 7fb4f7e832a20596f101c943042a0353adc81a7d..57f13226ded5d85e3b6c3c5b78a3e651f08eabf9 100644 (file)
@@ -7,6 +7,24 @@
 
 #define DOUT_SUBSYS rgw
 
+void rgw_log_entry::generate_test_instances(list<rgw_log_entry*>& o)
+{
+  o.push_back(new rgw_log_entry);
+}
+
+void rgw_log_entry::dump(Formatter *f) const
+{
+}
+
+void rgw_intent_log_entry::generate_test_instances(list<rgw_intent_log_entry*>& o)
+{
+  o.push_back(new rgw_intent_log_entry);
+}
+
+void rgw_intent_log_entry::dump(Formatter *f) const
+{
+}
+
 static rgw_bucket log_bucket(RGW_LOG_POOL_NAME);
 
 static void set_param_str(struct req_state *s, const char *name, string& str)
index e0e8defaa4a856768cd14333a8e492baf93beabe..1f3890df48bac5853f46d8cf57abf50016fb7e1e 100644 (file)
@@ -81,6 +81,8 @@ struct rgw_log_entry {
       bucket_id = -1;
     DECODE_FINISH(p);
   }
+  void dump(Formatter *f) const;
+  static void generate_test_instances(list<rgw_log_entry*>& o);
 };
 WRITE_CLASS_ENCODER(rgw_log_entry)
 
@@ -104,6 +106,8 @@ struct rgw_intent_log_entry {
     ::decode(intent, p);
     DECODE_FINISH(p);
   }
+  void dump(Formatter *f) const;
+  static void generate_test_instances(list<rgw_intent_log_entry*>& o);
 };
 WRITE_CLASS_ENCODER(rgw_intent_log_entry)
 
index 67f115415c15ad1ebd4671e39df73b4c603dd981..47e593abd189d01b7b8a663c0785c6dc9ae47746 100644 (file)
@@ -45,6 +45,98 @@ static rgw_bucket pi_buckets_rados = RGW_ROOT_BUCKET;
 static RGWObjCategory shadow_category = RGW_OBJ_CATEGORY_SHADOW;
 static RGWObjCategory main_category = RGW_OBJ_CATEGORY_MAIN;
 
+void rgw_bucket_pending_info::generate_test_instances(list<rgw_bucket_pending_info*>& o)
+{
+  o.push_back(new rgw_bucket_pending_info);
+}
+
+void rgw_bucket_pending_info::dump(Formatter *f) const
+{
+}
+
+void rgw_bucket_dir_entry_meta::generate_test_instances(list<rgw_bucket_dir_entry_meta*>& o)
+{
+  o.push_back(new rgw_bucket_dir_entry_meta);
+}
+
+void rgw_bucket_dir_entry_meta::dump(Formatter *f) const
+{
+}
+
+void rgw_bucket_dir_entry::generate_test_instances(list<rgw_bucket_dir_entry*>& o)
+{
+  o.push_back(new rgw_bucket_dir_entry);
+}
+
+void rgw_bucket_dir_entry::dump(Formatter *f) const
+{
+}
+
+void rgw_bucket_category_stats::generate_test_instances(list<rgw_bucket_category_stats*>& o)
+{
+  o.push_back(new rgw_bucket_category_stats);
+}
+
+void rgw_bucket_category_stats::dump(Formatter *f) const
+{
+}
+
+void rgw_bucket_dir_header::generate_test_instances(list<rgw_bucket_dir_header*>& o)
+{
+  o.push_back(new rgw_bucket_dir_header);
+}
+
+void rgw_bucket_dir_header::dump(Formatter *f) const
+{
+}
+
+void rgw_bucket_dir::generate_test_instances(list<rgw_bucket_dir*>& o)
+{
+  o.push_back(new rgw_bucket_dir);
+}
+
+void rgw_bucket_dir::dump(Formatter *f) const
+{
+}
+
+void rgw_cls_obj_prepare_op::generate_test_instances(list<rgw_cls_obj_prepare_op*>& o)
+{
+  o.push_back(new rgw_cls_obj_prepare_op);
+}
+
+void rgw_cls_obj_prepare_op::dump(Formatter *f) const
+{
+}
+
+void rgw_cls_obj_complete_op::generate_test_instances(list<rgw_cls_obj_complete_op*>& o)
+{
+  o.push_back(new rgw_cls_obj_complete_op);
+}
+
+void rgw_cls_obj_complete_op::dump(Formatter *f) const
+{
+}
+
+void rgw_cls_list_op::generate_test_instances(list<rgw_cls_list_op*>& o)
+{
+  o.push_back(new rgw_cls_list_op);
+}
+
+void rgw_cls_list_op::dump(Formatter *f) const
+{
+}
+
+void rgw_cls_list_ret::generate_test_instances(list<rgw_cls_list_ret*>& o)
+{
+  o.push_back(new rgw_cls_list_ret);
+}
+
+void rgw_cls_list_ret::dump(Formatter *f) const
+{
+}
+
+
+
 class RGWWatcher : public librados::WatchCtx {
   RGWRados *rados;
 public:
index f8fd5932d0466cc549665e8480c4b05e29319fbd..af9f2bc0cbeba144863696d7977de5c43fc2cfd9 100644 (file)
@@ -81,6 +81,49 @@ TYPE(MonCaps)
 TYPE(DBObjectMap::_Header)
 TYPE(DBObjectMap::State)
 
+#include "rgw/rgw_access.h"
+TYPE(RGWObjManifestPart);
+TYPE(RGWObjManifest);
+
+#include "rgw/rgw_acl.h"
+TYPE(ACLPermission)
+TYPE(ACLGranteeType)
+TYPE(ACLGrant)
+TYPE(RGWAccessControlList)
+TYPE(ACLOwner)
+TYPE(RGWAccessControlPolicy)
+
+#include "rgw/rgw_cache.h"
+TYPE(ObjectMetaInfo)
+TYPE(ObjectCacheInfo)
+TYPE(RGWCacheNotifyInfo)
+
+#include "rgw/rgw_cls_api.h"
+TYPE(rgw_bucket_pending_info)
+TYPE(rgw_bucket_dir_entry_meta)
+TYPE(rgw_bucket_dir_entry)
+TYPE(rgw_bucket_category_stats)
+TYPE(rgw_bucket_dir_header)
+TYPE(rgw_bucket_dir)
+TYPE(rgw_cls_obj_prepare_op)
+TYPE(rgw_cls_obj_complete_op)
+TYPE(rgw_cls_list_op)
+TYPE(rgw_cls_list_ret)
+
+#include "rgw/rgw_common.h"
+TYPE(RGWAccessKey);
+TYPE(RGWSubUser);
+TYPE(RGWUserInfo)
+TYPE(rgw_bucket)
+TYPE(RGWBucketInfo)
+TYPE(RGWBucketEnt)
+TYPE(RGWUploadPartInfo)
+TYPE(rgw_obj)
+
+#include "rgw/rgw_log.h"
+TYPE(rgw_log_entry)
+TYPE(rgw_intent_log_entry)
+
 // --- messages ---
 #include "messages/MAuth.h"
 MESSAGE(MAuth)