/**
 * Autogenerated by Thrift for /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_fb303/fb303/work/fb303-2024.07.29.00/fb303/thrift/fb303_core.thrift
 *
 * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 *  @generated @nocommit
 */
#pragma once

#include <vector>

#include <thrift/lib/cpp2/gen/module_metadata_h.h>
#include "fb303/thrift/gen-cpp2/fb303_core_types.h"

namespace facebook {
namespace fb303 {
namespace cpp2 {
class BaseService;
}}} // namespace facebook::fb303::cpp2

namespace apache {
namespace thrift {
namespace detail {
namespace md {

template <>
class EnumMetadata<::facebook::fb303::cpp2::fb303_status> {
 public:
  static void gen(ThriftMetadata& metadata);
};
template <>
class ServiceMetadata<::apache::thrift::ServiceHandler<::facebook::fb303::cpp2::BaseService>> {
 public:
  static void gen(ThriftServiceMetadataResponse& response);
 private:
  static const ThriftServiceContextRef* genRecurse(ThriftMetadata& metadata, std::vector<ThriftServiceContextRef>& services);

  template <typename T>
  friend class ServiceMetadata;

  static void gen_getStatus(ThriftMetadata& metadata, ThriftService& context);
  static void gen_getName(ThriftMetadata& metadata, ThriftService& context);
  static void gen_getVersion(ThriftMetadata& metadata, ThriftService& context);
  static void gen_getStatusDetails(ThriftMetadata& metadata, ThriftService& context);
  static void gen_getCounters(ThriftMetadata& metadata, ThriftService& context);
  static void gen_getRegexCounters(ThriftMetadata& metadata, ThriftService& context);
  static void gen_getSelectedCounters(ThriftMetadata& metadata, ThriftService& context);
  static void gen_getCounter(ThriftMetadata& metadata, ThriftService& context);
  static void gen_getExportedValues(ThriftMetadata& metadata, ThriftService& context);
  static void gen_getSelectedExportedValues(ThriftMetadata& metadata, ThriftService& context);
  static void gen_getRegexExportedValues(ThriftMetadata& metadata, ThriftService& context);
  static void gen_getExportedValue(ThriftMetadata& metadata, ThriftService& context);
  static void gen_setOption(ThriftMetadata& metadata, ThriftService& context);
  static void gen_getOption(ThriftMetadata& metadata, ThriftService& context);
  static void gen_getOptions(ThriftMetadata& metadata, ThriftService& context);
  static void gen_aliveSince(ThriftMetadata& metadata, ThriftService& context);
};
} // namespace md
} // namespace detail
} // namespace thrift
} // namespace apache
