// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: keyapis/iot_connect/v1/keyapis_iot_connect_callback_v1.proto

#ifndef GOOGLE_PROTOBUF_INCLUDED_keyapis_2fiot_5fconnect_2fv1_2fkeyapis_5fiot_5fconnect_5fcallback_5fv1_2eproto_2epb_2eh
#define GOOGLE_PROTOBUF_INCLUDED_keyapis_2fiot_5fconnect_2fv1_2fkeyapis_5fiot_5fconnect_5fcallback_5fv1_2eproto_2epb_2eh

#include <limits>
#include <string>
#include <type_traits>

#include "google/protobuf/port_def.inc"
#if PROTOBUF_VERSION < 4023000
#error "This file was generated by a newer version of protoc which is"
#error "incompatible with your Protocol Buffer headers. Please update"
#error "your headers."
#endif  // PROTOBUF_VERSION

#if 4023001 < PROTOBUF_MIN_PROTOC_VERSION
#error "This file was generated by an older version of protoc which is"
#error "incompatible with your Protocol Buffer headers. Please"
#error "regenerate this file with a newer version of protoc."
#endif  // PROTOBUF_MIN_PROTOC_VERSION
#include "google/protobuf/port_undef.inc"
#include "google/protobuf/io/coded_stream.h"
#include "google/protobuf/arena.h"
#include "google/protobuf/arenastring.h"
#include "google/protobuf/generated_message_util.h"
#include "google/protobuf/metadata_lite.h"
#include "google/protobuf/message_lite.h"
#include "google/protobuf/repeated_field.h"  // IWYU pragma: export
#include "google/protobuf/extension_set.h"  // IWYU pragma: export
#include "google/protobuf/timestamp.pb.h"
#include "google/api/annotations.pb.h"
#include "google/api/field_behavior.pb.h"
#include "google/protobuf/wrappers.pb.h"
// @@protoc_insertion_point(includes)

// Must be included last.
#include "google/protobuf/port_def.inc"

#define PROTOBUF_INTERNAL_EXPORT_keyapis_2fiot_5fconnect_2fv1_2fkeyapis_5fiot_5fconnect_5fcallback_5fv1_2eproto

PROTOBUF_NAMESPACE_OPEN
namespace internal {
class AnyMetadata;
}  // namespace internal
PROTOBUF_NAMESPACE_CLOSE

// Internal implementation detail -- do not use these members.
struct TableStruct_keyapis_2fiot_5fconnect_2fv1_2fkeyapis_5fiot_5fconnect_5fcallback_5fv1_2eproto {
  static const ::uint32_t offsets[];
};
namespace keyapis {
namespace iot_connect {
namespace v1 {
class CommonError;
struct CommonErrorDefaultTypeInternal;
extern CommonErrorDefaultTypeInternal _CommonError_default_instance_;
class Device;
struct DeviceDefaultTypeInternal;
extern DeviceDefaultTypeInternal _Device_default_instance_;
class GetCallbackDevicesRequest;
struct GetCallbackDevicesRequestDefaultTypeInternal;
extern GetCallbackDevicesRequestDefaultTypeInternal _GetCallbackDevicesRequest_default_instance_;
class GetCallbackDevicesResponse;
struct GetCallbackDevicesResponseDefaultTypeInternal;
extern GetCallbackDevicesResponseDefaultTypeInternal _GetCallbackDevicesResponse_default_instance_;
class GetCallbackUserRequest;
struct GetCallbackUserRequestDefaultTypeInternal;
extern GetCallbackUserRequestDefaultTypeInternal _GetCallbackUserRequest_default_instance_;
class GetCallbackUserResponse;
struct GetCallbackUserResponseDefaultTypeInternal;
extern GetCallbackUserResponseDefaultTypeInternal _GetCallbackUserResponse_default_instance_;
class PostCallbackCommandRequest;
struct PostCallbackCommandRequestDefaultTypeInternal;
extern PostCallbackCommandRequestDefaultTypeInternal _PostCallbackCommandRequest_default_instance_;
class PostCallbackCommandResponse;
struct PostCallbackCommandResponseDefaultTypeInternal;
extern PostCallbackCommandResponseDefaultTypeInternal _PostCallbackCommandResponse_default_instance_;
class PostCallbackStatusRequest;
struct PostCallbackStatusRequestDefaultTypeInternal;
extern PostCallbackStatusRequestDefaultTypeInternal _PostCallbackStatusRequest_default_instance_;
class PostCallbackStatusResponse;
struct PostCallbackStatusResponseDefaultTypeInternal;
extern PostCallbackStatusResponseDefaultTypeInternal _PostCallbackStatusResponse_default_instance_;
class PostCallbackStatusResponse_Status;
struct PostCallbackStatusResponse_StatusDefaultTypeInternal;
extern PostCallbackStatusResponse_StatusDefaultTypeInternal _PostCallbackStatusResponse_Status_default_instance_;
class PostCallbackUnlinkRequest;
struct PostCallbackUnlinkRequestDefaultTypeInternal;
extern PostCallbackUnlinkRequestDefaultTypeInternal _PostCallbackUnlinkRequest_default_instance_;
class PostCallbackUnlinkResponse;
struct PostCallbackUnlinkResponseDefaultTypeInternal;
extern PostCallbackUnlinkResponseDefaultTypeInternal _PostCallbackUnlinkResponse_default_instance_;
}  // namespace v1
}  // namespace iot_connect
}  // namespace keyapis
PROTOBUF_NAMESPACE_OPEN
template <>
::keyapis::iot_connect::v1::CommonError* Arena::CreateMaybeMessage<::keyapis::iot_connect::v1::CommonError>(Arena*);
template <>
::keyapis::iot_connect::v1::Device* Arena::CreateMaybeMessage<::keyapis::iot_connect::v1::Device>(Arena*);
template <>
::keyapis::iot_connect::v1::GetCallbackDevicesRequest* Arena::CreateMaybeMessage<::keyapis::iot_connect::v1::GetCallbackDevicesRequest>(Arena*);
template <>
::keyapis::iot_connect::v1::GetCallbackDevicesResponse* Arena::CreateMaybeMessage<::keyapis::iot_connect::v1::GetCallbackDevicesResponse>(Arena*);
template <>
::keyapis::iot_connect::v1::GetCallbackUserRequest* Arena::CreateMaybeMessage<::keyapis::iot_connect::v1::GetCallbackUserRequest>(Arena*);
template <>
::keyapis::iot_connect::v1::GetCallbackUserResponse* Arena::CreateMaybeMessage<::keyapis::iot_connect::v1::GetCallbackUserResponse>(Arena*);
template <>
::keyapis::iot_connect::v1::PostCallbackCommandRequest* Arena::CreateMaybeMessage<::keyapis::iot_connect::v1::PostCallbackCommandRequest>(Arena*);
template <>
::keyapis::iot_connect::v1::PostCallbackCommandResponse* Arena::CreateMaybeMessage<::keyapis::iot_connect::v1::PostCallbackCommandResponse>(Arena*);
template <>
::keyapis::iot_connect::v1::PostCallbackStatusRequest* Arena::CreateMaybeMessage<::keyapis::iot_connect::v1::PostCallbackStatusRequest>(Arena*);
template <>
::keyapis::iot_connect::v1::PostCallbackStatusResponse* Arena::CreateMaybeMessage<::keyapis::iot_connect::v1::PostCallbackStatusResponse>(Arena*);
template <>
::keyapis::iot_connect::v1::PostCallbackStatusResponse_Status* Arena::CreateMaybeMessage<::keyapis::iot_connect::v1::PostCallbackStatusResponse_Status>(Arena*);
template <>
::keyapis::iot_connect::v1::PostCallbackUnlinkRequest* Arena::CreateMaybeMessage<::keyapis::iot_connect::v1::PostCallbackUnlinkRequest>(Arena*);
template <>
::keyapis::iot_connect::v1::PostCallbackUnlinkResponse* Arena::CreateMaybeMessage<::keyapis::iot_connect::v1::PostCallbackUnlinkResponse>(Arena*);
PROTOBUF_NAMESPACE_CLOSE

namespace keyapis {
namespace iot_connect {
namespace v1 {

// ===================================================================


// -------------------------------------------------------------------

class CommonError final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:keyapis.iot_connect.v1.CommonError) */ {
 public:
  inline CommonError() : CommonError(nullptr) {}
  ~CommonError() override;
  template<typename = void>
  explicit PROTOBUF_CONSTEXPR CommonError(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  CommonError(const CommonError& from);
  CommonError(CommonError&& from) noexcept
    : CommonError() {
    *this = ::std::move(from);
  }

  inline CommonError& operator=(const CommonError& from) {
    CopyFrom(from);
    return *this;
  }
  inline CommonError& operator=(CommonError&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const CommonError& default_instance() {
    return *internal_default_instance();
  }
  static inline const CommonError* internal_default_instance() {
    return reinterpret_cast<const CommonError*>(
               &_CommonError_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    0;

  friend void swap(CommonError& a, CommonError& b) {
    a.Swap(&b);
  }
  inline void Swap(CommonError* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CommonError* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  CommonError* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<CommonError>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const CommonError& from);
  void MergeFrom(const CommonError& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  ::size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::uint8_t* _InternalSerialize(
      ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(CommonError* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() {
    return "keyapis.iot_connect.v1.CommonError";
  }
  protected:
  explicit CommonError(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  std::string GetTypeName() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kMessageFieldNumber = 2,
    kDetailsFieldNumber = 3,
    kCodeFieldNumber = 1,
  };
  // string message = 2;
  void clear_message() ;
  const std::string& message() const;




  template <typename Arg_ = const std::string&, typename... Args_>
  void set_message(Arg_&& arg, Args_... args);
  std::string* mutable_message();
  PROTOBUF_NODISCARD std::string* release_message();
  void set_allocated_message(std::string* ptr);

  private:
  const std::string& _internal_message() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_message(
      const std::string& value);
  std::string* _internal_mutable_message();

  public:
  // string details = 3;
  void clear_details() ;
  const std::string& details() const;




  template <typename Arg_ = const std::string&, typename... Args_>
  void set_details(Arg_&& arg, Args_... args);
  std::string* mutable_details();
  PROTOBUF_NODISCARD std::string* release_details();
  void set_allocated_details(std::string* ptr);

  private:
  const std::string& _internal_details() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_details(
      const std::string& value);
  std::string* _internal_mutable_details();

  public:
  // int32 code = 1;
  void clear_code() ;
  ::int32_t code() const;
  void set_code(::int32_t value);

  private:
  ::int32_t _internal_code() const;
  void _internal_set_code(::int32_t value);

  public:
  // @@protoc_insertion_point(class_scope:keyapis.iot_connect.v1.CommonError)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr message_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr details_;
    ::int32_t code_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fiot_5fconnect_2fv1_2fkeyapis_5fiot_5fconnect_5fcallback_5fv1_2eproto;
};// -------------------------------------------------------------------

class Device final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:keyapis.iot_connect.v1.Device) */ {
 public:
  inline Device() : Device(nullptr) {}
  ~Device() override;
  template<typename = void>
  explicit PROTOBUF_CONSTEXPR Device(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  Device(const Device& from);
  Device(Device&& from) noexcept
    : Device() {
    *this = ::std::move(from);
  }

  inline Device& operator=(const Device& from) {
    CopyFrom(from);
    return *this;
  }
  inline Device& operator=(Device&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const Device& default_instance() {
    return *internal_default_instance();
  }
  static inline const Device* internal_default_instance() {
    return reinterpret_cast<const Device*>(
               &_Device_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    1;

  friend void swap(Device& a, Device& b) {
    a.Swap(&b);
  }
  inline void Swap(Device* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(Device* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  Device* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<Device>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const Device& from);
  void MergeFrom(const Device& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  ::size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::uint8_t* _InternalSerialize(
      ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(Device* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() {
    return "keyapis.iot_connect.v1.Device";
  }
  protected:
  explicit Device(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  std::string GetTypeName() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kGroupsFieldNumber = 8,
    kIdFieldNumber = 2,
    kParentIdFieldNumber = 3,
    kNameFieldNumber = 4,
    kDefaultNameFieldNumber = 5,
    kHomeFieldNumber = 6,
    kRoomFieldNumber = 7,
    kModelIdFieldNumber = 9,
    kHwVersionFieldNumber = 10,
    kSwVersionFieldNumber = 11,
    kUserIdFieldNumber = 1,
  };
  // repeated string groups = 8;
  int groups_size() const;
  private:
  int _internal_groups_size() const;

  public:
  void clear_groups() ;
  const std::string& groups(int index) const;
  std::string* mutable_groups(int index);
  void set_groups(int index, const std::string& value);
  void set_groups(int index, std::string&& value);
  void set_groups(int index, const char* value);
  void set_groups(int index, const char* value, std::size_t size);
  void set_groups(int index, absl::string_view value);
  std::string* add_groups();
  void add_groups(const std::string& value);
  void add_groups(std::string&& value);
  void add_groups(const char* value);
  void add_groups(const char* value, std::size_t size);
  void add_groups(absl::string_view value);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>& groups() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>* mutable_groups();

  private:
  const std::string& _internal_groups(int index) const;
  std::string* _internal_add_groups();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>& _internal_groups() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>* _internal_mutable_groups();

  public:
  // string id = 2;
  void clear_id() ;
  const std::string& id() const;




  template <typename Arg_ = const std::string&, typename... Args_>
  void set_id(Arg_&& arg, Args_... args);
  std::string* mutable_id();
  PROTOBUF_NODISCARD std::string* release_id();
  void set_allocated_id(std::string* ptr);

  private:
  const std::string& _internal_id() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_id(
      const std::string& value);
  std::string* _internal_mutable_id();

  public:
  // string parent_id = 3;
  void clear_parent_id() ;
  const std::string& parent_id() const;




  template <typename Arg_ = const std::string&, typename... Args_>
  void set_parent_id(Arg_&& arg, Args_... args);
  std::string* mutable_parent_id();
  PROTOBUF_NODISCARD std::string* release_parent_id();
  void set_allocated_parent_id(std::string* ptr);

  private:
  const std::string& _internal_parent_id() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_parent_id(
      const std::string& value);
  std::string* _internal_mutable_parent_id();

  public:
  // string name = 4;
  void clear_name() ;
  const std::string& name() const;




  template <typename Arg_ = const std::string&, typename... Args_>
  void set_name(Arg_&& arg, Args_... args);
  std::string* mutable_name();
  PROTOBUF_NODISCARD std::string* release_name();
  void set_allocated_name(std::string* ptr);

  private:
  const std::string& _internal_name() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(
      const std::string& value);
  std::string* _internal_mutable_name();

  public:
  // string default_name = 5;
  void clear_default_name() ;
  const std::string& default_name() const;




  template <typename Arg_ = const std::string&, typename... Args_>
  void set_default_name(Arg_&& arg, Args_... args);
  std::string* mutable_default_name();
  PROTOBUF_NODISCARD std::string* release_default_name();
  void set_allocated_default_name(std::string* ptr);

  private:
  const std::string& _internal_default_name() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_default_name(
      const std::string& value);
  std::string* _internal_mutable_default_name();

  public:
  // string home = 6;
  void clear_home() ;
  const std::string& home() const;




  template <typename Arg_ = const std::string&, typename... Args_>
  void set_home(Arg_&& arg, Args_... args);
  std::string* mutable_home();
  PROTOBUF_NODISCARD std::string* release_home();
  void set_allocated_home(std::string* ptr);

  private:
  const std::string& _internal_home() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_home(
      const std::string& value);
  std::string* _internal_mutable_home();

  public:
  // string room = 7;
  void clear_room() ;
  const std::string& room() const;




  template <typename Arg_ = const std::string&, typename... Args_>
  void set_room(Arg_&& arg, Args_... args);
  std::string* mutable_room();
  PROTOBUF_NODISCARD std::string* release_room();
  void set_allocated_room(std::string* ptr);

  private:
  const std::string& _internal_room() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_room(
      const std::string& value);
  std::string* _internal_mutable_room();

  public:
  // string model_id = 9;
  void clear_model_id() ;
  const std::string& model_id() const;




  template <typename Arg_ = const std::string&, typename... Args_>
  void set_model_id(Arg_&& arg, Args_... args);
  std::string* mutable_model_id();
  PROTOBUF_NODISCARD std::string* release_model_id();
  void set_allocated_model_id(std::string* ptr);

  private:
  const std::string& _internal_model_id() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_model_id(
      const std::string& value);
  std::string* _internal_mutable_model_id();

  public:
  // string hw_version = 10;
  void clear_hw_version() ;
  const std::string& hw_version() const;




  template <typename Arg_ = const std::string&, typename... Args_>
  void set_hw_version(Arg_&& arg, Args_... args);
  std::string* mutable_hw_version();
  PROTOBUF_NODISCARD std::string* release_hw_version();
  void set_allocated_hw_version(std::string* ptr);

  private:
  const std::string& _internal_hw_version() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_hw_version(
      const std::string& value);
  std::string* _internal_mutable_hw_version();

  public:
  // string sw_version = 11;
  void clear_sw_version() ;
  const std::string& sw_version() const;




  template <typename Arg_ = const std::string&, typename... Args_>
  void set_sw_version(Arg_&& arg, Args_... args);
  std::string* mutable_sw_version();
  PROTOBUF_NODISCARD std::string* release_sw_version();
  void set_allocated_sw_version(std::string* ptr);

  private:
  const std::string& _internal_sw_version() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_sw_version(
      const std::string& value);
  std::string* _internal_mutable_sw_version();

  public:
  // int32 user_id = 1;
  void clear_user_id() ;
  ::int32_t user_id() const;
  void set_user_id(::int32_t value);

  private:
  ::int32_t _internal_user_id() const;
  void _internal_set_user_id(::int32_t value);

  public:
  // @@protoc_insertion_point(class_scope:keyapis.iot_connect.v1.Device)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string> groups_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr id_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr parent_id_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr default_name_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr home_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr room_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr model_id_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr hw_version_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr sw_version_;
    ::int32_t user_id_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fiot_5fconnect_2fv1_2fkeyapis_5fiot_5fconnect_5fcallback_5fv1_2eproto;
};// -------------------------------------------------------------------

class GetCallbackDevicesRequest final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:keyapis.iot_connect.v1.GetCallbackDevicesRequest) */ {
 public:
  inline GetCallbackDevicesRequest() : GetCallbackDevicesRequest(nullptr) {}
  ~GetCallbackDevicesRequest() override;
  template<typename = void>
  explicit PROTOBUF_CONSTEXPR GetCallbackDevicesRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  GetCallbackDevicesRequest(const GetCallbackDevicesRequest& from);
  GetCallbackDevicesRequest(GetCallbackDevicesRequest&& from) noexcept
    : GetCallbackDevicesRequest() {
    *this = ::std::move(from);
  }

  inline GetCallbackDevicesRequest& operator=(const GetCallbackDevicesRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline GetCallbackDevicesRequest& operator=(GetCallbackDevicesRequest&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const GetCallbackDevicesRequest& default_instance() {
    return *internal_default_instance();
  }
  static inline const GetCallbackDevicesRequest* internal_default_instance() {
    return reinterpret_cast<const GetCallbackDevicesRequest*>(
               &_GetCallbackDevicesRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    2;

  friend void swap(GetCallbackDevicesRequest& a, GetCallbackDevicesRequest& b) {
    a.Swap(&b);
  }
  inline void Swap(GetCallbackDevicesRequest* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(GetCallbackDevicesRequest* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  GetCallbackDevicesRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<GetCallbackDevicesRequest>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const GetCallbackDevicesRequest& from);
  void MergeFrom(const GetCallbackDevicesRequest& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  ::size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::uint8_t* _InternalSerialize(
      ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(GetCallbackDevicesRequest* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() {
    return "keyapis.iot_connect.v1.GetCallbackDevicesRequest";
  }
  protected:
  explicit GetCallbackDevicesRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  std::string GetTypeName() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  // @@protoc_insertion_point(class_scope:keyapis.iot_connect.v1.GetCallbackDevicesRequest)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fiot_5fconnect_2fv1_2fkeyapis_5fiot_5fconnect_5fcallback_5fv1_2eproto;
};// -------------------------------------------------------------------

class GetCallbackDevicesResponse final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:keyapis.iot_connect.v1.GetCallbackDevicesResponse) */ {
 public:
  inline GetCallbackDevicesResponse() : GetCallbackDevicesResponse(nullptr) {}
  ~GetCallbackDevicesResponse() override;
  template<typename = void>
  explicit PROTOBUF_CONSTEXPR GetCallbackDevicesResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  GetCallbackDevicesResponse(const GetCallbackDevicesResponse& from);
  GetCallbackDevicesResponse(GetCallbackDevicesResponse&& from) noexcept
    : GetCallbackDevicesResponse() {
    *this = ::std::move(from);
  }

  inline GetCallbackDevicesResponse& operator=(const GetCallbackDevicesResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline GetCallbackDevicesResponse& operator=(GetCallbackDevicesResponse&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const GetCallbackDevicesResponse& default_instance() {
    return *internal_default_instance();
  }
  static inline const GetCallbackDevicesResponse* internal_default_instance() {
    return reinterpret_cast<const GetCallbackDevicesResponse*>(
               &_GetCallbackDevicesResponse_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    3;

  friend void swap(GetCallbackDevicesResponse& a, GetCallbackDevicesResponse& b) {
    a.Swap(&b);
  }
  inline void Swap(GetCallbackDevicesResponse* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(GetCallbackDevicesResponse* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  GetCallbackDevicesResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<GetCallbackDevicesResponse>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const GetCallbackDevicesResponse& from);
  void MergeFrom(const GetCallbackDevicesResponse& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  ::size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::uint8_t* _InternalSerialize(
      ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(GetCallbackDevicesResponse* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() {
    return "keyapis.iot_connect.v1.GetCallbackDevicesResponse";
  }
  protected:
  explicit GetCallbackDevicesResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  std::string GetTypeName() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kDataFieldNumber = 1,
  };
  // repeated .keyapis.iot_connect.v1.Device data = 1;
  int data_size() const;
  private:
  int _internal_data_size() const;

  public:
  void clear_data() ;
  ::keyapis::iot_connect::v1::Device* mutable_data(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::keyapis::iot_connect::v1::Device >*
      mutable_data();
  private:
  const ::keyapis::iot_connect::v1::Device& _internal_data(int index) const;
  ::keyapis::iot_connect::v1::Device* _internal_add_data();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<::keyapis::iot_connect::v1::Device>& _internal_data() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<::keyapis::iot_connect::v1::Device>* _internal_mutable_data();
  public:
  const ::keyapis::iot_connect::v1::Device& data(int index) const;
  ::keyapis::iot_connect::v1::Device* add_data();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::keyapis::iot_connect::v1::Device >&
      data() const;
  // @@protoc_insertion_point(class_scope:keyapis.iot_connect.v1.GetCallbackDevicesResponse)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::keyapis::iot_connect::v1::Device > data_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fiot_5fconnect_2fv1_2fkeyapis_5fiot_5fconnect_5fcallback_5fv1_2eproto;
};// -------------------------------------------------------------------

class PostCallbackStatusRequest final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:keyapis.iot_connect.v1.PostCallbackStatusRequest) */ {
 public:
  inline PostCallbackStatusRequest() : PostCallbackStatusRequest(nullptr) {}
  ~PostCallbackStatusRequest() override;
  template<typename = void>
  explicit PROTOBUF_CONSTEXPR PostCallbackStatusRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  PostCallbackStatusRequest(const PostCallbackStatusRequest& from);
  PostCallbackStatusRequest(PostCallbackStatusRequest&& from) noexcept
    : PostCallbackStatusRequest() {
    *this = ::std::move(from);
  }

  inline PostCallbackStatusRequest& operator=(const PostCallbackStatusRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline PostCallbackStatusRequest& operator=(PostCallbackStatusRequest&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const PostCallbackStatusRequest& default_instance() {
    return *internal_default_instance();
  }
  static inline const PostCallbackStatusRequest* internal_default_instance() {
    return reinterpret_cast<const PostCallbackStatusRequest*>(
               &_PostCallbackStatusRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    4;

  friend void swap(PostCallbackStatusRequest& a, PostCallbackStatusRequest& b) {
    a.Swap(&b);
  }
  inline void Swap(PostCallbackStatusRequest* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(PostCallbackStatusRequest* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  PostCallbackStatusRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<PostCallbackStatusRequest>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const PostCallbackStatusRequest& from);
  void MergeFrom(const PostCallbackStatusRequest& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  ::size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::uint8_t* _InternalSerialize(
      ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(PostCallbackStatusRequest* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() {
    return "keyapis.iot_connect.v1.PostCallbackStatusRequest";
  }
  protected:
  explicit PostCallbackStatusRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  std::string GetTypeName() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kDataFieldNumber = 1,
  };
  // repeated string data = 1;
  int data_size() const;
  private:
  int _internal_data_size() const;

  public:
  void clear_data() ;
  const std::string& data(int index) const;
  std::string* mutable_data(int index);
  void set_data(int index, const std::string& value);
  void set_data(int index, std::string&& value);
  void set_data(int index, const char* value);
  void set_data(int index, const char* value, std::size_t size);
  void set_data(int index, absl::string_view value);
  std::string* add_data();
  void add_data(const std::string& value);
  void add_data(std::string&& value);
  void add_data(const char* value);
  void add_data(const char* value, std::size_t size);
  void add_data(absl::string_view value);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>& data() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>* mutable_data();

  private:
  const std::string& _internal_data(int index) const;
  std::string* _internal_add_data();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>& _internal_data() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>* _internal_mutable_data();

  public:
  // @@protoc_insertion_point(class_scope:keyapis.iot_connect.v1.PostCallbackStatusRequest)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string> data_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fiot_5fconnect_2fv1_2fkeyapis_5fiot_5fconnect_5fcallback_5fv1_2eproto;
};// -------------------------------------------------------------------

class PostCallbackStatusResponse_Status final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:keyapis.iot_connect.v1.PostCallbackStatusResponse.Status) */ {
 public:
  inline PostCallbackStatusResponse_Status() : PostCallbackStatusResponse_Status(nullptr) {}
  ~PostCallbackStatusResponse_Status() override;
  template<typename = void>
  explicit PROTOBUF_CONSTEXPR PostCallbackStatusResponse_Status(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  PostCallbackStatusResponse_Status(const PostCallbackStatusResponse_Status& from);
  PostCallbackStatusResponse_Status(PostCallbackStatusResponse_Status&& from) noexcept
    : PostCallbackStatusResponse_Status() {
    *this = ::std::move(from);
  }

  inline PostCallbackStatusResponse_Status& operator=(const PostCallbackStatusResponse_Status& from) {
    CopyFrom(from);
    return *this;
  }
  inline PostCallbackStatusResponse_Status& operator=(PostCallbackStatusResponse_Status&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const PostCallbackStatusResponse_Status& default_instance() {
    return *internal_default_instance();
  }
  static inline const PostCallbackStatusResponse_Status* internal_default_instance() {
    return reinterpret_cast<const PostCallbackStatusResponse_Status*>(
               &_PostCallbackStatusResponse_Status_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    5;

  friend void swap(PostCallbackStatusResponse_Status& a, PostCallbackStatusResponse_Status& b) {
    a.Swap(&b);
  }
  inline void Swap(PostCallbackStatusResponse_Status* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(PostCallbackStatusResponse_Status* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  PostCallbackStatusResponse_Status* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<PostCallbackStatusResponse_Status>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const PostCallbackStatusResponse_Status& from);
  void MergeFrom(const PostCallbackStatusResponse_Status& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  ::size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::uint8_t* _InternalSerialize(
      ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(PostCallbackStatusResponse_Status* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() {
    return "keyapis.iot_connect.v1.PostCallbackStatusResponse.Status";
  }
  protected:
  explicit PostCallbackStatusResponse_Status(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  std::string GetTypeName() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kGroupsFieldNumber = 8,
    kIdFieldNumber = 2,
    kParentIdFieldNumber = 3,
    kNameFieldNumber = 4,
    kDefaultNameFieldNumber = 5,
    kHomeFieldNumber = 6,
    kRoomFieldNumber = 7,
    kModelIdFieldNumber = 9,
    kHwVersionFieldNumber = 10,
    kSwVersionFieldNumber = 11,
    kUserIdFieldNumber = 1,
  };
  // repeated string groups = 8;
  int groups_size() const;
  private:
  int _internal_groups_size() const;

  public:
  void clear_groups() ;
  const std::string& groups(int index) const;
  std::string* mutable_groups(int index);
  void set_groups(int index, const std::string& value);
  void set_groups(int index, std::string&& value);
  void set_groups(int index, const char* value);
  void set_groups(int index, const char* value, std::size_t size);
  void set_groups(int index, absl::string_view value);
  std::string* add_groups();
  void add_groups(const std::string& value);
  void add_groups(std::string&& value);
  void add_groups(const char* value);
  void add_groups(const char* value, std::size_t size);
  void add_groups(absl::string_view value);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>& groups() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>* mutable_groups();

  private:
  const std::string& _internal_groups(int index) const;
  std::string* _internal_add_groups();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>& _internal_groups() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>* _internal_mutable_groups();

  public:
  // string id = 2;
  void clear_id() ;
  const std::string& id() const;




  template <typename Arg_ = const std::string&, typename... Args_>
  void set_id(Arg_&& arg, Args_... args);
  std::string* mutable_id();
  PROTOBUF_NODISCARD std::string* release_id();
  void set_allocated_id(std::string* ptr);

  private:
  const std::string& _internal_id() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_id(
      const std::string& value);
  std::string* _internal_mutable_id();

  public:
  // string parent_id = 3;
  void clear_parent_id() ;
  const std::string& parent_id() const;




  template <typename Arg_ = const std::string&, typename... Args_>
  void set_parent_id(Arg_&& arg, Args_... args);
  std::string* mutable_parent_id();
  PROTOBUF_NODISCARD std::string* release_parent_id();
  void set_allocated_parent_id(std::string* ptr);

  private:
  const std::string& _internal_parent_id() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_parent_id(
      const std::string& value);
  std::string* _internal_mutable_parent_id();

  public:
  // string name = 4;
  void clear_name() ;
  const std::string& name() const;




  template <typename Arg_ = const std::string&, typename... Args_>
  void set_name(Arg_&& arg, Args_... args);
  std::string* mutable_name();
  PROTOBUF_NODISCARD std::string* release_name();
  void set_allocated_name(std::string* ptr);

  private:
  const std::string& _internal_name() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(
      const std::string& value);
  std::string* _internal_mutable_name();

  public:
  // string default_name = 5;
  void clear_default_name() ;
  const std::string& default_name() const;




  template <typename Arg_ = const std::string&, typename... Args_>
  void set_default_name(Arg_&& arg, Args_... args);
  std::string* mutable_default_name();
  PROTOBUF_NODISCARD std::string* release_default_name();
  void set_allocated_default_name(std::string* ptr);

  private:
  const std::string& _internal_default_name() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_default_name(
      const std::string& value);
  std::string* _internal_mutable_default_name();

  public:
  // string home = 6;
  void clear_home() ;
  const std::string& home() const;




  template <typename Arg_ = const std::string&, typename... Args_>
  void set_home(Arg_&& arg, Args_... args);
  std::string* mutable_home();
  PROTOBUF_NODISCARD std::string* release_home();
  void set_allocated_home(std::string* ptr);

  private:
  const std::string& _internal_home() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_home(
      const std::string& value);
  std::string* _internal_mutable_home();

  public:
  // string room = 7;
  void clear_room() ;
  const std::string& room() const;




  template <typename Arg_ = const std::string&, typename... Args_>
  void set_room(Arg_&& arg, Args_... args);
  std::string* mutable_room();
  PROTOBUF_NODISCARD std::string* release_room();
  void set_allocated_room(std::string* ptr);

  private:
  const std::string& _internal_room() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_room(
      const std::string& value);
  std::string* _internal_mutable_room();

  public:
  // string model_id = 9;
  void clear_model_id() ;
  const std::string& model_id() const;




  template <typename Arg_ = const std::string&, typename... Args_>
  void set_model_id(Arg_&& arg, Args_... args);
  std::string* mutable_model_id();
  PROTOBUF_NODISCARD std::string* release_model_id();
  void set_allocated_model_id(std::string* ptr);

  private:
  const std::string& _internal_model_id() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_model_id(
      const std::string& value);
  std::string* _internal_mutable_model_id();

  public:
  // string hw_version = 10;
  void clear_hw_version() ;
  const std::string& hw_version() const;




  template <typename Arg_ = const std::string&, typename... Args_>
  void set_hw_version(Arg_&& arg, Args_... args);
  std::string* mutable_hw_version();
  PROTOBUF_NODISCARD std::string* release_hw_version();
  void set_allocated_hw_version(std::string* ptr);

  private:
  const std::string& _internal_hw_version() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_hw_version(
      const std::string& value);
  std::string* _internal_mutable_hw_version();

  public:
  // string sw_version = 11;
  void clear_sw_version() ;
  const std::string& sw_version() const;




  template <typename Arg_ = const std::string&, typename... Args_>
  void set_sw_version(Arg_&& arg, Args_... args);
  std::string* mutable_sw_version();
  PROTOBUF_NODISCARD std::string* release_sw_version();
  void set_allocated_sw_version(std::string* ptr);

  private:
  const std::string& _internal_sw_version() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_sw_version(
      const std::string& value);
  std::string* _internal_mutable_sw_version();

  public:
  // int32 user_id = 1;
  void clear_user_id() ;
  ::int32_t user_id() const;
  void set_user_id(::int32_t value);

  private:
  ::int32_t _internal_user_id() const;
  void _internal_set_user_id(::int32_t value);

  public:
  // @@protoc_insertion_point(class_scope:keyapis.iot_connect.v1.PostCallbackStatusResponse.Status)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string> groups_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr id_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr parent_id_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr default_name_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr home_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr room_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr model_id_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr hw_version_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr sw_version_;
    ::int32_t user_id_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fiot_5fconnect_2fv1_2fkeyapis_5fiot_5fconnect_5fcallback_5fv1_2eproto;
};// -------------------------------------------------------------------

class PostCallbackStatusResponse final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:keyapis.iot_connect.v1.PostCallbackStatusResponse) */ {
 public:
  inline PostCallbackStatusResponse() : PostCallbackStatusResponse(nullptr) {}
  ~PostCallbackStatusResponse() override;
  template<typename = void>
  explicit PROTOBUF_CONSTEXPR PostCallbackStatusResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  PostCallbackStatusResponse(const PostCallbackStatusResponse& from);
  PostCallbackStatusResponse(PostCallbackStatusResponse&& from) noexcept
    : PostCallbackStatusResponse() {
    *this = ::std::move(from);
  }

  inline PostCallbackStatusResponse& operator=(const PostCallbackStatusResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline PostCallbackStatusResponse& operator=(PostCallbackStatusResponse&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const PostCallbackStatusResponse& default_instance() {
    return *internal_default_instance();
  }
  static inline const PostCallbackStatusResponse* internal_default_instance() {
    return reinterpret_cast<const PostCallbackStatusResponse*>(
               &_PostCallbackStatusResponse_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    6;

  friend void swap(PostCallbackStatusResponse& a, PostCallbackStatusResponse& b) {
    a.Swap(&b);
  }
  inline void Swap(PostCallbackStatusResponse* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(PostCallbackStatusResponse* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  PostCallbackStatusResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<PostCallbackStatusResponse>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const PostCallbackStatusResponse& from);
  void MergeFrom(const PostCallbackStatusResponse& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  ::size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::uint8_t* _InternalSerialize(
      ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(PostCallbackStatusResponse* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() {
    return "keyapis.iot_connect.v1.PostCallbackStatusResponse";
  }
  protected:
  explicit PostCallbackStatusResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  std::string GetTypeName() const final;

  // nested types ----------------------------------------------------

  typedef PostCallbackStatusResponse_Status Status;

  // accessors -------------------------------------------------------

  enum : int {
    kDataFieldNumber = 1,
  };
  // .keyapis.iot_connect.v1.PostCallbackStatusResponse.Status data = 1;
  bool has_data() const;
  void clear_data() ;
  const ::keyapis::iot_connect::v1::PostCallbackStatusResponse_Status& data() const;
  PROTOBUF_NODISCARD ::keyapis::iot_connect::v1::PostCallbackStatusResponse_Status* release_data();
  ::keyapis::iot_connect::v1::PostCallbackStatusResponse_Status* mutable_data();
  void set_allocated_data(::keyapis::iot_connect::v1::PostCallbackStatusResponse_Status* data);
  private:
  const ::keyapis::iot_connect::v1::PostCallbackStatusResponse_Status& _internal_data() const;
  ::keyapis::iot_connect::v1::PostCallbackStatusResponse_Status* _internal_mutable_data();
  public:
  void unsafe_arena_set_allocated_data(
      ::keyapis::iot_connect::v1::PostCallbackStatusResponse_Status* data);
  ::keyapis::iot_connect::v1::PostCallbackStatusResponse_Status* unsafe_arena_release_data();
  // @@protoc_insertion_point(class_scope:keyapis.iot_connect.v1.PostCallbackStatusResponse)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::keyapis::iot_connect::v1::PostCallbackStatusResponse_Status* data_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fiot_5fconnect_2fv1_2fkeyapis_5fiot_5fconnect_5fcallback_5fv1_2eproto;
};// -------------------------------------------------------------------

class PostCallbackCommandRequest final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:keyapis.iot_connect.v1.PostCallbackCommandRequest) */ {
 public:
  inline PostCallbackCommandRequest() : PostCallbackCommandRequest(nullptr) {}
  ~PostCallbackCommandRequest() override;
  template<typename = void>
  explicit PROTOBUF_CONSTEXPR PostCallbackCommandRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  PostCallbackCommandRequest(const PostCallbackCommandRequest& from);
  PostCallbackCommandRequest(PostCallbackCommandRequest&& from) noexcept
    : PostCallbackCommandRequest() {
    *this = ::std::move(from);
  }

  inline PostCallbackCommandRequest& operator=(const PostCallbackCommandRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline PostCallbackCommandRequest& operator=(PostCallbackCommandRequest&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const PostCallbackCommandRequest& default_instance() {
    return *internal_default_instance();
  }
  static inline const PostCallbackCommandRequest* internal_default_instance() {
    return reinterpret_cast<const PostCallbackCommandRequest*>(
               &_PostCallbackCommandRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    7;

  friend void swap(PostCallbackCommandRequest& a, PostCallbackCommandRequest& b) {
    a.Swap(&b);
  }
  inline void Swap(PostCallbackCommandRequest* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(PostCallbackCommandRequest* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  PostCallbackCommandRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<PostCallbackCommandRequest>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const PostCallbackCommandRequest& from);
  void MergeFrom(const PostCallbackCommandRequest& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  ::size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::uint8_t* _InternalSerialize(
      ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(PostCallbackCommandRequest* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() {
    return "keyapis.iot_connect.v1.PostCallbackCommandRequest";
  }
  protected:
  explicit PostCallbackCommandRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  std::string GetTypeName() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  // @@protoc_insertion_point(class_scope:keyapis.iot_connect.v1.PostCallbackCommandRequest)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fiot_5fconnect_2fv1_2fkeyapis_5fiot_5fconnect_5fcallback_5fv1_2eproto;
};// -------------------------------------------------------------------

class PostCallbackCommandResponse final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:keyapis.iot_connect.v1.PostCallbackCommandResponse) */ {
 public:
  inline PostCallbackCommandResponse() : PostCallbackCommandResponse(nullptr) {}
  ~PostCallbackCommandResponse() override;
  template<typename = void>
  explicit PROTOBUF_CONSTEXPR PostCallbackCommandResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  PostCallbackCommandResponse(const PostCallbackCommandResponse& from);
  PostCallbackCommandResponse(PostCallbackCommandResponse&& from) noexcept
    : PostCallbackCommandResponse() {
    *this = ::std::move(from);
  }

  inline PostCallbackCommandResponse& operator=(const PostCallbackCommandResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline PostCallbackCommandResponse& operator=(PostCallbackCommandResponse&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const PostCallbackCommandResponse& default_instance() {
    return *internal_default_instance();
  }
  static inline const PostCallbackCommandResponse* internal_default_instance() {
    return reinterpret_cast<const PostCallbackCommandResponse*>(
               &_PostCallbackCommandResponse_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    8;

  friend void swap(PostCallbackCommandResponse& a, PostCallbackCommandResponse& b) {
    a.Swap(&b);
  }
  inline void Swap(PostCallbackCommandResponse* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(PostCallbackCommandResponse* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  PostCallbackCommandResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<PostCallbackCommandResponse>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const PostCallbackCommandResponse& from);
  void MergeFrom(const PostCallbackCommandResponse& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  ::size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::uint8_t* _InternalSerialize(
      ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(PostCallbackCommandResponse* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() {
    return "keyapis.iot_connect.v1.PostCallbackCommandResponse";
  }
  protected:
  explicit PostCallbackCommandResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  std::string GetTypeName() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  // @@protoc_insertion_point(class_scope:keyapis.iot_connect.v1.PostCallbackCommandResponse)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fiot_5fconnect_2fv1_2fkeyapis_5fiot_5fconnect_5fcallback_5fv1_2eproto;
};// -------------------------------------------------------------------

class PostCallbackUnlinkRequest final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:keyapis.iot_connect.v1.PostCallbackUnlinkRequest) */ {
 public:
  inline PostCallbackUnlinkRequest() : PostCallbackUnlinkRequest(nullptr) {}
  ~PostCallbackUnlinkRequest() override;
  template<typename = void>
  explicit PROTOBUF_CONSTEXPR PostCallbackUnlinkRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  PostCallbackUnlinkRequest(const PostCallbackUnlinkRequest& from);
  PostCallbackUnlinkRequest(PostCallbackUnlinkRequest&& from) noexcept
    : PostCallbackUnlinkRequest() {
    *this = ::std::move(from);
  }

  inline PostCallbackUnlinkRequest& operator=(const PostCallbackUnlinkRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline PostCallbackUnlinkRequest& operator=(PostCallbackUnlinkRequest&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const PostCallbackUnlinkRequest& default_instance() {
    return *internal_default_instance();
  }
  static inline const PostCallbackUnlinkRequest* internal_default_instance() {
    return reinterpret_cast<const PostCallbackUnlinkRequest*>(
               &_PostCallbackUnlinkRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    9;

  friend void swap(PostCallbackUnlinkRequest& a, PostCallbackUnlinkRequest& b) {
    a.Swap(&b);
  }
  inline void Swap(PostCallbackUnlinkRequest* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(PostCallbackUnlinkRequest* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  PostCallbackUnlinkRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<PostCallbackUnlinkRequest>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const PostCallbackUnlinkRequest& from);
  void MergeFrom(const PostCallbackUnlinkRequest& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  ::size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::uint8_t* _InternalSerialize(
      ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(PostCallbackUnlinkRequest* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() {
    return "keyapis.iot_connect.v1.PostCallbackUnlinkRequest";
  }
  protected:
  explicit PostCallbackUnlinkRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  std::string GetTypeName() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  // @@protoc_insertion_point(class_scope:keyapis.iot_connect.v1.PostCallbackUnlinkRequest)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fiot_5fconnect_2fv1_2fkeyapis_5fiot_5fconnect_5fcallback_5fv1_2eproto;
};// -------------------------------------------------------------------

class PostCallbackUnlinkResponse final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:keyapis.iot_connect.v1.PostCallbackUnlinkResponse) */ {
 public:
  inline PostCallbackUnlinkResponse() : PostCallbackUnlinkResponse(nullptr) {}
  ~PostCallbackUnlinkResponse() override;
  template<typename = void>
  explicit PROTOBUF_CONSTEXPR PostCallbackUnlinkResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  PostCallbackUnlinkResponse(const PostCallbackUnlinkResponse& from);
  PostCallbackUnlinkResponse(PostCallbackUnlinkResponse&& from) noexcept
    : PostCallbackUnlinkResponse() {
    *this = ::std::move(from);
  }

  inline PostCallbackUnlinkResponse& operator=(const PostCallbackUnlinkResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline PostCallbackUnlinkResponse& operator=(PostCallbackUnlinkResponse&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const PostCallbackUnlinkResponse& default_instance() {
    return *internal_default_instance();
  }
  static inline const PostCallbackUnlinkResponse* internal_default_instance() {
    return reinterpret_cast<const PostCallbackUnlinkResponse*>(
               &_PostCallbackUnlinkResponse_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    10;

  friend void swap(PostCallbackUnlinkResponse& a, PostCallbackUnlinkResponse& b) {
    a.Swap(&b);
  }
  inline void Swap(PostCallbackUnlinkResponse* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(PostCallbackUnlinkResponse* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  PostCallbackUnlinkResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<PostCallbackUnlinkResponse>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const PostCallbackUnlinkResponse& from);
  void MergeFrom(const PostCallbackUnlinkResponse& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  ::size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::uint8_t* _InternalSerialize(
      ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(PostCallbackUnlinkResponse* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() {
    return "keyapis.iot_connect.v1.PostCallbackUnlinkResponse";
  }
  protected:
  explicit PostCallbackUnlinkResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  std::string GetTypeName() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  // @@protoc_insertion_point(class_scope:keyapis.iot_connect.v1.PostCallbackUnlinkResponse)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fiot_5fconnect_2fv1_2fkeyapis_5fiot_5fconnect_5fcallback_5fv1_2eproto;
};// -------------------------------------------------------------------

class GetCallbackUserRequest final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:keyapis.iot_connect.v1.GetCallbackUserRequest) */ {
 public:
  inline GetCallbackUserRequest() : GetCallbackUserRequest(nullptr) {}
  ~GetCallbackUserRequest() override;
  template<typename = void>
  explicit PROTOBUF_CONSTEXPR GetCallbackUserRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  GetCallbackUserRequest(const GetCallbackUserRequest& from);
  GetCallbackUserRequest(GetCallbackUserRequest&& from) noexcept
    : GetCallbackUserRequest() {
    *this = ::std::move(from);
  }

  inline GetCallbackUserRequest& operator=(const GetCallbackUserRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline GetCallbackUserRequest& operator=(GetCallbackUserRequest&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const GetCallbackUserRequest& default_instance() {
    return *internal_default_instance();
  }
  static inline const GetCallbackUserRequest* internal_default_instance() {
    return reinterpret_cast<const GetCallbackUserRequest*>(
               &_GetCallbackUserRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    11;

  friend void swap(GetCallbackUserRequest& a, GetCallbackUserRequest& b) {
    a.Swap(&b);
  }
  inline void Swap(GetCallbackUserRequest* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(GetCallbackUserRequest* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  GetCallbackUserRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<GetCallbackUserRequest>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const GetCallbackUserRequest& from);
  void MergeFrom(const GetCallbackUserRequest& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  ::size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::uint8_t* _InternalSerialize(
      ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(GetCallbackUserRequest* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() {
    return "keyapis.iot_connect.v1.GetCallbackUserRequest";
  }
  protected:
  explicit GetCallbackUserRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  std::string GetTypeName() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  // @@protoc_insertion_point(class_scope:keyapis.iot_connect.v1.GetCallbackUserRequest)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fiot_5fconnect_2fv1_2fkeyapis_5fiot_5fconnect_5fcallback_5fv1_2eproto;
};// -------------------------------------------------------------------

class GetCallbackUserResponse final :
    public ::PROTOBUF_NAMESPACE_ID::MessageLite /* @@protoc_insertion_point(class_definition:keyapis.iot_connect.v1.GetCallbackUserResponse) */ {
 public:
  inline GetCallbackUserResponse() : GetCallbackUserResponse(nullptr) {}
  ~GetCallbackUserResponse() override;
  template<typename = void>
  explicit PROTOBUF_CONSTEXPR GetCallbackUserResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  GetCallbackUserResponse(const GetCallbackUserResponse& from);
  GetCallbackUserResponse(GetCallbackUserResponse&& from) noexcept
    : GetCallbackUserResponse() {
    *this = ::std::move(from);
  }

  inline GetCallbackUserResponse& operator=(const GetCallbackUserResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline GetCallbackUserResponse& operator=(GetCallbackUserResponse&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const std::string& unknown_fields() const {
    return _internal_metadata_.unknown_fields<std::string>(::PROTOBUF_NAMESPACE_ID::internal::GetEmptyString);
  }
  inline std::string* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<std::string>();
  }

  static const GetCallbackUserResponse& default_instance() {
    return *internal_default_instance();
  }
  static inline const GetCallbackUserResponse* internal_default_instance() {
    return reinterpret_cast<const GetCallbackUserResponse*>(
               &_GetCallbackUserResponse_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    12;

  friend void swap(GetCallbackUserResponse& a, GetCallbackUserResponse& b) {
    a.Swap(&b);
  }
  inline void Swap(GetCallbackUserResponse* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(GetCallbackUserResponse* other) {
    if (other == this) return;
    ABSL_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  GetCallbackUserResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<GetCallbackUserResponse>(arena);
  }
  void CheckTypeAndMergeFrom(const ::PROTOBUF_NAMESPACE_ID::MessageLite& from)  final;
  void CopyFrom(const GetCallbackUserResponse& from);
  void MergeFrom(const GetCallbackUserResponse& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  ::size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::uint8_t* _InternalSerialize(
      ::uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void SharedDtor();
  void SetCachedSize(int size) const;
  void InternalSwap(GetCallbackUserResponse* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::absl::string_view FullMessageName() {
    return "keyapis.iot_connect.v1.GetCallbackUserResponse";
  }
  protected:
  explicit GetCallbackUserResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  std::string GetTypeName() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kDataFieldNumber = 1,
  };
  // int32 data = 1;
  void clear_data() ;
  ::int32_t data() const;
  void set_data(::int32_t value);

  private:
  ::int32_t _internal_data() const;
  void _internal_set_data(::int32_t value);

  public:
  // @@protoc_insertion_point(class_scope:keyapis.iot_connect.v1.GetCallbackUserResponse)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::int32_t data_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_keyapis_2fiot_5fconnect_2fv1_2fkeyapis_5fiot_5fconnect_5fcallback_5fv1_2eproto;
};

// ===================================================================




// ===================================================================


#ifdef __GNUC__
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wstrict-aliasing"
#endif  // __GNUC__
// -------------------------------------------------------------------

// CommonError

// int32 code = 1;
inline void CommonError::clear_code() {
  _impl_.code_ = 0;
}
inline ::int32_t CommonError::code() const {
  // @@protoc_insertion_point(field_get:keyapis.iot_connect.v1.CommonError.code)
  return _internal_code();
}
inline void CommonError::set_code(::int32_t value) {
  _internal_set_code(value);
  // @@protoc_insertion_point(field_set:keyapis.iot_connect.v1.CommonError.code)
}
inline ::int32_t CommonError::_internal_code() const {
  return _impl_.code_;
}
inline void CommonError::_internal_set_code(::int32_t value) {
  ;
  _impl_.code_ = value;
}

// string message = 2;
inline void CommonError::clear_message() {
  _impl_.message_.ClearToEmpty();
}
inline const std::string& CommonError::message() const {
  // @@protoc_insertion_point(field_get:keyapis.iot_connect.v1.CommonError.message)
  return _internal_message();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void CommonError::set_message(Arg_&& arg,
                                                     Args_... args) {
  ;
  _impl_.message_.Set(static_cast<Arg_&&>(arg), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:keyapis.iot_connect.v1.CommonError.message)
}
inline std::string* CommonError::mutable_message() {
  std::string* _s = _internal_mutable_message();
  // @@protoc_insertion_point(field_mutable:keyapis.iot_connect.v1.CommonError.message)
  return _s;
}
inline const std::string& CommonError::_internal_message() const {
  return _impl_.message_.Get();
}
inline void CommonError::_internal_set_message(const std::string& value) {
  ;


  _impl_.message_.Set(value, GetArenaForAllocation());
}
inline std::string* CommonError::_internal_mutable_message() {
  ;
  return _impl_.message_.Mutable( GetArenaForAllocation());
}
inline std::string* CommonError::release_message() {
  // @@protoc_insertion_point(field_release:keyapis.iot_connect.v1.CommonError.message)
  return _impl_.message_.Release();
}
inline void CommonError::set_allocated_message(std::string* value) {
  _impl_.message_.SetAllocated(value, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.message_.IsDefault()) {
          _impl_.message_.Set("", GetArenaForAllocation());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:keyapis.iot_connect.v1.CommonError.message)
}

// string details = 3;
inline void CommonError::clear_details() {
  _impl_.details_.ClearToEmpty();
}
inline const std::string& CommonError::details() const {
  // @@protoc_insertion_point(field_get:keyapis.iot_connect.v1.CommonError.details)
  return _internal_details();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void CommonError::set_details(Arg_&& arg,
                                                     Args_... args) {
  ;
  _impl_.details_.Set(static_cast<Arg_&&>(arg), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:keyapis.iot_connect.v1.CommonError.details)
}
inline std::string* CommonError::mutable_details() {
  std::string* _s = _internal_mutable_details();
  // @@protoc_insertion_point(field_mutable:keyapis.iot_connect.v1.CommonError.details)
  return _s;
}
inline const std::string& CommonError::_internal_details() const {
  return _impl_.details_.Get();
}
inline void CommonError::_internal_set_details(const std::string& value) {
  ;


  _impl_.details_.Set(value, GetArenaForAllocation());
}
inline std::string* CommonError::_internal_mutable_details() {
  ;
  return _impl_.details_.Mutable( GetArenaForAllocation());
}
inline std::string* CommonError::release_details() {
  // @@protoc_insertion_point(field_release:keyapis.iot_connect.v1.CommonError.details)
  return _impl_.details_.Release();
}
inline void CommonError::set_allocated_details(std::string* value) {
  _impl_.details_.SetAllocated(value, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.details_.IsDefault()) {
          _impl_.details_.Set("", GetArenaForAllocation());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:keyapis.iot_connect.v1.CommonError.details)
}

// -------------------------------------------------------------------

// Device

// int32 user_id = 1;
inline void Device::clear_user_id() {
  _impl_.user_id_ = 0;
}
inline ::int32_t Device::user_id() const {
  // @@protoc_insertion_point(field_get:keyapis.iot_connect.v1.Device.user_id)
  return _internal_user_id();
}
inline void Device::set_user_id(::int32_t value) {
  _internal_set_user_id(value);
  // @@protoc_insertion_point(field_set:keyapis.iot_connect.v1.Device.user_id)
}
inline ::int32_t Device::_internal_user_id() const {
  return _impl_.user_id_;
}
inline void Device::_internal_set_user_id(::int32_t value) {
  ;
  _impl_.user_id_ = value;
}

// string id = 2;
inline void Device::clear_id() {
  _impl_.id_.ClearToEmpty();
}
inline const std::string& Device::id() const {
  // @@protoc_insertion_point(field_get:keyapis.iot_connect.v1.Device.id)
  return _internal_id();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void Device::set_id(Arg_&& arg,
                                                     Args_... args) {
  ;
  _impl_.id_.Set(static_cast<Arg_&&>(arg), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:keyapis.iot_connect.v1.Device.id)
}
inline std::string* Device::mutable_id() {
  std::string* _s = _internal_mutable_id();
  // @@protoc_insertion_point(field_mutable:keyapis.iot_connect.v1.Device.id)
  return _s;
}
inline const std::string& Device::_internal_id() const {
  return _impl_.id_.Get();
}
inline void Device::_internal_set_id(const std::string& value) {
  ;


  _impl_.id_.Set(value, GetArenaForAllocation());
}
inline std::string* Device::_internal_mutable_id() {
  ;
  return _impl_.id_.Mutable( GetArenaForAllocation());
}
inline std::string* Device::release_id() {
  // @@protoc_insertion_point(field_release:keyapis.iot_connect.v1.Device.id)
  return _impl_.id_.Release();
}
inline void Device::set_allocated_id(std::string* value) {
  _impl_.id_.SetAllocated(value, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.id_.IsDefault()) {
          _impl_.id_.Set("", GetArenaForAllocation());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:keyapis.iot_connect.v1.Device.id)
}

// string parent_id = 3;
inline void Device::clear_parent_id() {
  _impl_.parent_id_.ClearToEmpty();
}
inline const std::string& Device::parent_id() const {
  // @@protoc_insertion_point(field_get:keyapis.iot_connect.v1.Device.parent_id)
  return _internal_parent_id();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void Device::set_parent_id(Arg_&& arg,
                                                     Args_... args) {
  ;
  _impl_.parent_id_.Set(static_cast<Arg_&&>(arg), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:keyapis.iot_connect.v1.Device.parent_id)
}
inline std::string* Device::mutable_parent_id() {
  std::string* _s = _internal_mutable_parent_id();
  // @@protoc_insertion_point(field_mutable:keyapis.iot_connect.v1.Device.parent_id)
  return _s;
}
inline const std::string& Device::_internal_parent_id() const {
  return _impl_.parent_id_.Get();
}
inline void Device::_internal_set_parent_id(const std::string& value) {
  ;


  _impl_.parent_id_.Set(value, GetArenaForAllocation());
}
inline std::string* Device::_internal_mutable_parent_id() {
  ;
  return _impl_.parent_id_.Mutable( GetArenaForAllocation());
}
inline std::string* Device::release_parent_id() {
  // @@protoc_insertion_point(field_release:keyapis.iot_connect.v1.Device.parent_id)
  return _impl_.parent_id_.Release();
}
inline void Device::set_allocated_parent_id(std::string* value) {
  _impl_.parent_id_.SetAllocated(value, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.parent_id_.IsDefault()) {
          _impl_.parent_id_.Set("", GetArenaForAllocation());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:keyapis.iot_connect.v1.Device.parent_id)
}

// string name = 4;
inline void Device::clear_name() {
  _impl_.name_.ClearToEmpty();
}
inline const std::string& Device::name() const {
  // @@protoc_insertion_point(field_get:keyapis.iot_connect.v1.Device.name)
  return _internal_name();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void Device::set_name(Arg_&& arg,
                                                     Args_... args) {
  ;
  _impl_.name_.Set(static_cast<Arg_&&>(arg), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:keyapis.iot_connect.v1.Device.name)
}
inline std::string* Device::mutable_name() {
  std::string* _s = _internal_mutable_name();
  // @@protoc_insertion_point(field_mutable:keyapis.iot_connect.v1.Device.name)
  return _s;
}
inline const std::string& Device::_internal_name() const {
  return _impl_.name_.Get();
}
inline void Device::_internal_set_name(const std::string& value) {
  ;


  _impl_.name_.Set(value, GetArenaForAllocation());
}
inline std::string* Device::_internal_mutable_name() {
  ;
  return _impl_.name_.Mutable( GetArenaForAllocation());
}
inline std::string* Device::release_name() {
  // @@protoc_insertion_point(field_release:keyapis.iot_connect.v1.Device.name)
  return _impl_.name_.Release();
}
inline void Device::set_allocated_name(std::string* value) {
  _impl_.name_.SetAllocated(value, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.name_.IsDefault()) {
          _impl_.name_.Set("", GetArenaForAllocation());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:keyapis.iot_connect.v1.Device.name)
}

// string default_name = 5;
inline void Device::clear_default_name() {
  _impl_.default_name_.ClearToEmpty();
}
inline const std::string& Device::default_name() const {
  // @@protoc_insertion_point(field_get:keyapis.iot_connect.v1.Device.default_name)
  return _internal_default_name();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void Device::set_default_name(Arg_&& arg,
                                                     Args_... args) {
  ;
  _impl_.default_name_.Set(static_cast<Arg_&&>(arg), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:keyapis.iot_connect.v1.Device.default_name)
}
inline std::string* Device::mutable_default_name() {
  std::string* _s = _internal_mutable_default_name();
  // @@protoc_insertion_point(field_mutable:keyapis.iot_connect.v1.Device.default_name)
  return _s;
}
inline const std::string& Device::_internal_default_name() const {
  return _impl_.default_name_.Get();
}
inline void Device::_internal_set_default_name(const std::string& value) {
  ;


  _impl_.default_name_.Set(value, GetArenaForAllocation());
}
inline std::string* Device::_internal_mutable_default_name() {
  ;
  return _impl_.default_name_.Mutable( GetArenaForAllocation());
}
inline std::string* Device::release_default_name() {
  // @@protoc_insertion_point(field_release:keyapis.iot_connect.v1.Device.default_name)
  return _impl_.default_name_.Release();
}
inline void Device::set_allocated_default_name(std::string* value) {
  _impl_.default_name_.SetAllocated(value, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.default_name_.IsDefault()) {
          _impl_.default_name_.Set("", GetArenaForAllocation());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:keyapis.iot_connect.v1.Device.default_name)
}

// string home = 6;
inline void Device::clear_home() {
  _impl_.home_.ClearToEmpty();
}
inline const std::string& Device::home() const {
  // @@protoc_insertion_point(field_get:keyapis.iot_connect.v1.Device.home)
  return _internal_home();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void Device::set_home(Arg_&& arg,
                                                     Args_... args) {
  ;
  _impl_.home_.Set(static_cast<Arg_&&>(arg), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:keyapis.iot_connect.v1.Device.home)
}
inline std::string* Device::mutable_home() {
  std::string* _s = _internal_mutable_home();
  // @@protoc_insertion_point(field_mutable:keyapis.iot_connect.v1.Device.home)
  return _s;
}
inline const std::string& Device::_internal_home() const {
  return _impl_.home_.Get();
}
inline void Device::_internal_set_home(const std::string& value) {
  ;


  _impl_.home_.Set(value, GetArenaForAllocation());
}
inline std::string* Device::_internal_mutable_home() {
  ;
  return _impl_.home_.Mutable( GetArenaForAllocation());
}
inline std::string* Device::release_home() {
  // @@protoc_insertion_point(field_release:keyapis.iot_connect.v1.Device.home)
  return _impl_.home_.Release();
}
inline void Device::set_allocated_home(std::string* value) {
  _impl_.home_.SetAllocated(value, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.home_.IsDefault()) {
          _impl_.home_.Set("", GetArenaForAllocation());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:keyapis.iot_connect.v1.Device.home)
}

// string room = 7;
inline void Device::clear_room() {
  _impl_.room_.ClearToEmpty();
}
inline const std::string& Device::room() const {
  // @@protoc_insertion_point(field_get:keyapis.iot_connect.v1.Device.room)
  return _internal_room();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void Device::set_room(Arg_&& arg,
                                                     Args_... args) {
  ;
  _impl_.room_.Set(static_cast<Arg_&&>(arg), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:keyapis.iot_connect.v1.Device.room)
}
inline std::string* Device::mutable_room() {
  std::string* _s = _internal_mutable_room();
  // @@protoc_insertion_point(field_mutable:keyapis.iot_connect.v1.Device.room)
  return _s;
}
inline const std::string& Device::_internal_room() const {
  return _impl_.room_.Get();
}
inline void Device::_internal_set_room(const std::string& value) {
  ;


  _impl_.room_.Set(value, GetArenaForAllocation());
}
inline std::string* Device::_internal_mutable_room() {
  ;
  return _impl_.room_.Mutable( GetArenaForAllocation());
}
inline std::string* Device::release_room() {
  // @@protoc_insertion_point(field_release:keyapis.iot_connect.v1.Device.room)
  return _impl_.room_.Release();
}
inline void Device::set_allocated_room(std::string* value) {
  _impl_.room_.SetAllocated(value, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.room_.IsDefault()) {
          _impl_.room_.Set("", GetArenaForAllocation());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:keyapis.iot_connect.v1.Device.room)
}

// repeated string groups = 8;
inline int Device::_internal_groups_size() const {
  return _impl_.groups_.size();
}
inline int Device::groups_size() const {
  return _internal_groups_size();
}
inline void Device::clear_groups() {
  _internal_mutable_groups()->Clear();
}
inline std::string* Device::add_groups() {
  std::string* _s = _internal_add_groups();
  // @@protoc_insertion_point(field_add_mutable:keyapis.iot_connect.v1.Device.groups)
  return _s;
}
inline const std::string& Device::groups(int index) const {
  // @@protoc_insertion_point(field_get:keyapis.iot_connect.v1.Device.groups)
  return _internal_groups(index);
}
inline std::string* Device::mutable_groups(int index) {
  // @@protoc_insertion_point(field_mutable:keyapis.iot_connect.v1.Device.groups)
  return _internal_mutable_groups()->Mutable(index);
}
inline void Device::set_groups(int index, const std::string& value) {
  _internal_mutable_groups()->Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set:keyapis.iot_connect.v1.Device.groups)
}
inline void Device::set_groups(int index, std::string&& value) {
  _internal_mutable_groups()->Mutable(index)->assign(std::move(value));
  // @@protoc_insertion_point(field_set:keyapis.iot_connect.v1.Device.groups)
}
inline void Device::set_groups(int index, const char* value) {
  ABSL_DCHECK(value != nullptr);
  _internal_mutable_groups()->Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set_char:keyapis.iot_connect.v1.Device.groups)
}
inline void Device::set_groups(int index, const char* value,
                              std::size_t size) {
  _internal_mutable_groups()->Mutable(index)->assign(
      reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_set_pointer:keyapis.iot_connect.v1.Device.groups)
}
inline void Device::set_groups(int index, absl::string_view value) {
  _internal_mutable_groups()->Mutable(index)->assign(value.data(),
                                                     value.size());
  // @@protoc_insertion_point(field_set_string_piece:keyapis.iot_connect.v1.Device.groups)
}
inline void Device::add_groups(const std::string& value) {
  _internal_mutable_groups()->Add()->assign(value);
  // @@protoc_insertion_point(field_add:keyapis.iot_connect.v1.Device.groups)
}
inline void Device::add_groups(std::string&& value) {
  _internal_mutable_groups()->Add(std::move(value));
  // @@protoc_insertion_point(field_add:keyapis.iot_connect.v1.Device.groups)
}
inline void Device::add_groups(const char* value) {
  ABSL_DCHECK(value != nullptr);
  _internal_mutable_groups()->Add()->assign(value);
  // @@protoc_insertion_point(field_add_char:keyapis.iot_connect.v1.Device.groups)
}
inline void Device::add_groups(const char* value, std::size_t size) {
  _internal_mutable_groups()->Add()->assign(
      reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_add_pointer:keyapis.iot_connect.v1.Device.groups)
}
inline void Device::add_groups(absl::string_view value) {
  _internal_mutable_groups()->Add()->assign(value.data(), value.size());
  // @@protoc_insertion_point(field_add_string_piece:keyapis.iot_connect.v1.Device.groups)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>&
Device::groups() const {
  // @@protoc_insertion_point(field_list:keyapis.iot_connect.v1.Device.groups)
  return _internal_groups();
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>* Device::mutable_groups() {
  // @@protoc_insertion_point(field_mutable_list:keyapis.iot_connect.v1.Device.groups)
  return _internal_mutable_groups();
}
inline const std::string& Device::_internal_groups(int index) const {
  return _internal_groups().Get(index);
}
inline std::string* Device::_internal_add_groups() {
  return _internal_mutable_groups()->Add();
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>&
Device::_internal_groups() const {
  return _impl_.groups_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>*
Device::_internal_mutable_groups() {
  return &_impl_.groups_;
}

// string model_id = 9;
inline void Device::clear_model_id() {
  _impl_.model_id_.ClearToEmpty();
}
inline const std::string& Device::model_id() const {
  // @@protoc_insertion_point(field_get:keyapis.iot_connect.v1.Device.model_id)
  return _internal_model_id();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void Device::set_model_id(Arg_&& arg,
                                                     Args_... args) {
  ;
  _impl_.model_id_.Set(static_cast<Arg_&&>(arg), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:keyapis.iot_connect.v1.Device.model_id)
}
inline std::string* Device::mutable_model_id() {
  std::string* _s = _internal_mutable_model_id();
  // @@protoc_insertion_point(field_mutable:keyapis.iot_connect.v1.Device.model_id)
  return _s;
}
inline const std::string& Device::_internal_model_id() const {
  return _impl_.model_id_.Get();
}
inline void Device::_internal_set_model_id(const std::string& value) {
  ;


  _impl_.model_id_.Set(value, GetArenaForAllocation());
}
inline std::string* Device::_internal_mutable_model_id() {
  ;
  return _impl_.model_id_.Mutable( GetArenaForAllocation());
}
inline std::string* Device::release_model_id() {
  // @@protoc_insertion_point(field_release:keyapis.iot_connect.v1.Device.model_id)
  return _impl_.model_id_.Release();
}
inline void Device::set_allocated_model_id(std::string* value) {
  _impl_.model_id_.SetAllocated(value, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.model_id_.IsDefault()) {
          _impl_.model_id_.Set("", GetArenaForAllocation());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:keyapis.iot_connect.v1.Device.model_id)
}

// string hw_version = 10;
inline void Device::clear_hw_version() {
  _impl_.hw_version_.ClearToEmpty();
}
inline const std::string& Device::hw_version() const {
  // @@protoc_insertion_point(field_get:keyapis.iot_connect.v1.Device.hw_version)
  return _internal_hw_version();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void Device::set_hw_version(Arg_&& arg,
                                                     Args_... args) {
  ;
  _impl_.hw_version_.Set(static_cast<Arg_&&>(arg), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:keyapis.iot_connect.v1.Device.hw_version)
}
inline std::string* Device::mutable_hw_version() {
  std::string* _s = _internal_mutable_hw_version();
  // @@protoc_insertion_point(field_mutable:keyapis.iot_connect.v1.Device.hw_version)
  return _s;
}
inline const std::string& Device::_internal_hw_version() const {
  return _impl_.hw_version_.Get();
}
inline void Device::_internal_set_hw_version(const std::string& value) {
  ;


  _impl_.hw_version_.Set(value, GetArenaForAllocation());
}
inline std::string* Device::_internal_mutable_hw_version() {
  ;
  return _impl_.hw_version_.Mutable( GetArenaForAllocation());
}
inline std::string* Device::release_hw_version() {
  // @@protoc_insertion_point(field_release:keyapis.iot_connect.v1.Device.hw_version)
  return _impl_.hw_version_.Release();
}
inline void Device::set_allocated_hw_version(std::string* value) {
  _impl_.hw_version_.SetAllocated(value, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.hw_version_.IsDefault()) {
          _impl_.hw_version_.Set("", GetArenaForAllocation());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:keyapis.iot_connect.v1.Device.hw_version)
}

// string sw_version = 11;
inline void Device::clear_sw_version() {
  _impl_.sw_version_.ClearToEmpty();
}
inline const std::string& Device::sw_version() const {
  // @@protoc_insertion_point(field_get:keyapis.iot_connect.v1.Device.sw_version)
  return _internal_sw_version();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void Device::set_sw_version(Arg_&& arg,
                                                     Args_... args) {
  ;
  _impl_.sw_version_.Set(static_cast<Arg_&&>(arg), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:keyapis.iot_connect.v1.Device.sw_version)
}
inline std::string* Device::mutable_sw_version() {
  std::string* _s = _internal_mutable_sw_version();
  // @@protoc_insertion_point(field_mutable:keyapis.iot_connect.v1.Device.sw_version)
  return _s;
}
inline const std::string& Device::_internal_sw_version() const {
  return _impl_.sw_version_.Get();
}
inline void Device::_internal_set_sw_version(const std::string& value) {
  ;


  _impl_.sw_version_.Set(value, GetArenaForAllocation());
}
inline std::string* Device::_internal_mutable_sw_version() {
  ;
  return _impl_.sw_version_.Mutable( GetArenaForAllocation());
}
inline std::string* Device::release_sw_version() {
  // @@protoc_insertion_point(field_release:keyapis.iot_connect.v1.Device.sw_version)
  return _impl_.sw_version_.Release();
}
inline void Device::set_allocated_sw_version(std::string* value) {
  _impl_.sw_version_.SetAllocated(value, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.sw_version_.IsDefault()) {
          _impl_.sw_version_.Set("", GetArenaForAllocation());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:keyapis.iot_connect.v1.Device.sw_version)
}

// -------------------------------------------------------------------

// GetCallbackDevicesRequest

// -------------------------------------------------------------------

// GetCallbackDevicesResponse

// repeated .keyapis.iot_connect.v1.Device data = 1;
inline int GetCallbackDevicesResponse::_internal_data_size() const {
  return _impl_.data_.size();
}
inline int GetCallbackDevicesResponse::data_size() const {
  return _internal_data_size();
}
inline void GetCallbackDevicesResponse::clear_data() {
  _internal_mutable_data()->Clear();
}
inline ::keyapis::iot_connect::v1::Device* GetCallbackDevicesResponse::mutable_data(int index) {
  // @@protoc_insertion_point(field_mutable:keyapis.iot_connect.v1.GetCallbackDevicesResponse.data)
  return _internal_mutable_data()->Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::keyapis::iot_connect::v1::Device >*
GetCallbackDevicesResponse::mutable_data() {
  // @@protoc_insertion_point(field_mutable_list:keyapis.iot_connect.v1.GetCallbackDevicesResponse.data)
  return _internal_mutable_data();
}
inline const ::keyapis::iot_connect::v1::Device& GetCallbackDevicesResponse::_internal_data(int index) const {
  return _internal_data().Get(index);
}
inline const ::keyapis::iot_connect::v1::Device& GetCallbackDevicesResponse::data(int index) const {
  // @@protoc_insertion_point(field_get:keyapis.iot_connect.v1.GetCallbackDevicesResponse.data)
  return _internal_data(index);
}
inline ::keyapis::iot_connect::v1::Device* GetCallbackDevicesResponse::_internal_add_data() {
  return _internal_mutable_data()->Add();
}
inline ::keyapis::iot_connect::v1::Device* GetCallbackDevicesResponse::add_data() {
  ::keyapis::iot_connect::v1::Device* _add = _internal_add_data();
  // @@protoc_insertion_point(field_add:keyapis.iot_connect.v1.GetCallbackDevicesResponse.data)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::keyapis::iot_connect::v1::Device >&
GetCallbackDevicesResponse::data() const {
  // @@protoc_insertion_point(field_list:keyapis.iot_connect.v1.GetCallbackDevicesResponse.data)
  return _internal_data();
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<::keyapis::iot_connect::v1::Device>&
GetCallbackDevicesResponse::_internal_data() const {
  return _impl_.data_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<::keyapis::iot_connect::v1::Device>*
GetCallbackDevicesResponse::_internal_mutable_data() {
  return &_impl_.data_;
}

// -------------------------------------------------------------------

// PostCallbackStatusRequest

// repeated string data = 1;
inline int PostCallbackStatusRequest::_internal_data_size() const {
  return _impl_.data_.size();
}
inline int PostCallbackStatusRequest::data_size() const {
  return _internal_data_size();
}
inline void PostCallbackStatusRequest::clear_data() {
  _internal_mutable_data()->Clear();
}
inline std::string* PostCallbackStatusRequest::add_data() {
  std::string* _s = _internal_add_data();
  // @@protoc_insertion_point(field_add_mutable:keyapis.iot_connect.v1.PostCallbackStatusRequest.data)
  return _s;
}
inline const std::string& PostCallbackStatusRequest::data(int index) const {
  // @@protoc_insertion_point(field_get:keyapis.iot_connect.v1.PostCallbackStatusRequest.data)
  return _internal_data(index);
}
inline std::string* PostCallbackStatusRequest::mutable_data(int index) {
  // @@protoc_insertion_point(field_mutable:keyapis.iot_connect.v1.PostCallbackStatusRequest.data)
  return _internal_mutable_data()->Mutable(index);
}
inline void PostCallbackStatusRequest::set_data(int index, const std::string& value) {
  _internal_mutable_data()->Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set:keyapis.iot_connect.v1.PostCallbackStatusRequest.data)
}
inline void PostCallbackStatusRequest::set_data(int index, std::string&& value) {
  _internal_mutable_data()->Mutable(index)->assign(std::move(value));
  // @@protoc_insertion_point(field_set:keyapis.iot_connect.v1.PostCallbackStatusRequest.data)
}
inline void PostCallbackStatusRequest::set_data(int index, const char* value) {
  ABSL_DCHECK(value != nullptr);
  _internal_mutable_data()->Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set_char:keyapis.iot_connect.v1.PostCallbackStatusRequest.data)
}
inline void PostCallbackStatusRequest::set_data(int index, const char* value,
                              std::size_t size) {
  _internal_mutable_data()->Mutable(index)->assign(
      reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_set_pointer:keyapis.iot_connect.v1.PostCallbackStatusRequest.data)
}
inline void PostCallbackStatusRequest::set_data(int index, absl::string_view value) {
  _internal_mutable_data()->Mutable(index)->assign(value.data(),
                                                     value.size());
  // @@protoc_insertion_point(field_set_string_piece:keyapis.iot_connect.v1.PostCallbackStatusRequest.data)
}
inline void PostCallbackStatusRequest::add_data(const std::string& value) {
  _internal_mutable_data()->Add()->assign(value);
  // @@protoc_insertion_point(field_add:keyapis.iot_connect.v1.PostCallbackStatusRequest.data)
}
inline void PostCallbackStatusRequest::add_data(std::string&& value) {
  _internal_mutable_data()->Add(std::move(value));
  // @@protoc_insertion_point(field_add:keyapis.iot_connect.v1.PostCallbackStatusRequest.data)
}
inline void PostCallbackStatusRequest::add_data(const char* value) {
  ABSL_DCHECK(value != nullptr);
  _internal_mutable_data()->Add()->assign(value);
  // @@protoc_insertion_point(field_add_char:keyapis.iot_connect.v1.PostCallbackStatusRequest.data)
}
inline void PostCallbackStatusRequest::add_data(const char* value, std::size_t size) {
  _internal_mutable_data()->Add()->assign(
      reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_add_pointer:keyapis.iot_connect.v1.PostCallbackStatusRequest.data)
}
inline void PostCallbackStatusRequest::add_data(absl::string_view value) {
  _internal_mutable_data()->Add()->assign(value.data(), value.size());
  // @@protoc_insertion_point(field_add_string_piece:keyapis.iot_connect.v1.PostCallbackStatusRequest.data)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>&
PostCallbackStatusRequest::data() const {
  // @@protoc_insertion_point(field_list:keyapis.iot_connect.v1.PostCallbackStatusRequest.data)
  return _internal_data();
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>* PostCallbackStatusRequest::mutable_data() {
  // @@protoc_insertion_point(field_mutable_list:keyapis.iot_connect.v1.PostCallbackStatusRequest.data)
  return _internal_mutable_data();
}
inline const std::string& PostCallbackStatusRequest::_internal_data(int index) const {
  return _internal_data().Get(index);
}
inline std::string* PostCallbackStatusRequest::_internal_add_data() {
  return _internal_mutable_data()->Add();
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>&
PostCallbackStatusRequest::_internal_data() const {
  return _impl_.data_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>*
PostCallbackStatusRequest::_internal_mutable_data() {
  return &_impl_.data_;
}

// -------------------------------------------------------------------

// PostCallbackStatusResponse_Status

// int32 user_id = 1;
inline void PostCallbackStatusResponse_Status::clear_user_id() {
  _impl_.user_id_ = 0;
}
inline ::int32_t PostCallbackStatusResponse_Status::user_id() const {
  // @@protoc_insertion_point(field_get:keyapis.iot_connect.v1.PostCallbackStatusResponse.Status.user_id)
  return _internal_user_id();
}
inline void PostCallbackStatusResponse_Status::set_user_id(::int32_t value) {
  _internal_set_user_id(value);
  // @@protoc_insertion_point(field_set:keyapis.iot_connect.v1.PostCallbackStatusResponse.Status.user_id)
}
inline ::int32_t PostCallbackStatusResponse_Status::_internal_user_id() const {
  return _impl_.user_id_;
}
inline void PostCallbackStatusResponse_Status::_internal_set_user_id(::int32_t value) {
  ;
  _impl_.user_id_ = value;
}

// string id = 2;
inline void PostCallbackStatusResponse_Status::clear_id() {
  _impl_.id_.ClearToEmpty();
}
inline const std::string& PostCallbackStatusResponse_Status::id() const {
  // @@protoc_insertion_point(field_get:keyapis.iot_connect.v1.PostCallbackStatusResponse.Status.id)
  return _internal_id();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void PostCallbackStatusResponse_Status::set_id(Arg_&& arg,
                                                     Args_... args) {
  ;
  _impl_.id_.Set(static_cast<Arg_&&>(arg), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:keyapis.iot_connect.v1.PostCallbackStatusResponse.Status.id)
}
inline std::string* PostCallbackStatusResponse_Status::mutable_id() {
  std::string* _s = _internal_mutable_id();
  // @@protoc_insertion_point(field_mutable:keyapis.iot_connect.v1.PostCallbackStatusResponse.Status.id)
  return _s;
}
inline const std::string& PostCallbackStatusResponse_Status::_internal_id() const {
  return _impl_.id_.Get();
}
inline void PostCallbackStatusResponse_Status::_internal_set_id(const std::string& value) {
  ;


  _impl_.id_.Set(value, GetArenaForAllocation());
}
inline std::string* PostCallbackStatusResponse_Status::_internal_mutable_id() {
  ;
  return _impl_.id_.Mutable( GetArenaForAllocation());
}
inline std::string* PostCallbackStatusResponse_Status::release_id() {
  // @@protoc_insertion_point(field_release:keyapis.iot_connect.v1.PostCallbackStatusResponse.Status.id)
  return _impl_.id_.Release();
}
inline void PostCallbackStatusResponse_Status::set_allocated_id(std::string* value) {
  _impl_.id_.SetAllocated(value, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.id_.IsDefault()) {
          _impl_.id_.Set("", GetArenaForAllocation());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:keyapis.iot_connect.v1.PostCallbackStatusResponse.Status.id)
}

// string parent_id = 3;
inline void PostCallbackStatusResponse_Status::clear_parent_id() {
  _impl_.parent_id_.ClearToEmpty();
}
inline const std::string& PostCallbackStatusResponse_Status::parent_id() const {
  // @@protoc_insertion_point(field_get:keyapis.iot_connect.v1.PostCallbackStatusResponse.Status.parent_id)
  return _internal_parent_id();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void PostCallbackStatusResponse_Status::set_parent_id(Arg_&& arg,
                                                     Args_... args) {
  ;
  _impl_.parent_id_.Set(static_cast<Arg_&&>(arg), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:keyapis.iot_connect.v1.PostCallbackStatusResponse.Status.parent_id)
}
inline std::string* PostCallbackStatusResponse_Status::mutable_parent_id() {
  std::string* _s = _internal_mutable_parent_id();
  // @@protoc_insertion_point(field_mutable:keyapis.iot_connect.v1.PostCallbackStatusResponse.Status.parent_id)
  return _s;
}
inline const std::string& PostCallbackStatusResponse_Status::_internal_parent_id() const {
  return _impl_.parent_id_.Get();
}
inline void PostCallbackStatusResponse_Status::_internal_set_parent_id(const std::string& value) {
  ;


  _impl_.parent_id_.Set(value, GetArenaForAllocation());
}
inline std::string* PostCallbackStatusResponse_Status::_internal_mutable_parent_id() {
  ;
  return _impl_.parent_id_.Mutable( GetArenaForAllocation());
}
inline std::string* PostCallbackStatusResponse_Status::release_parent_id() {
  // @@protoc_insertion_point(field_release:keyapis.iot_connect.v1.PostCallbackStatusResponse.Status.parent_id)
  return _impl_.parent_id_.Release();
}
inline void PostCallbackStatusResponse_Status::set_allocated_parent_id(std::string* value) {
  _impl_.parent_id_.SetAllocated(value, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.parent_id_.IsDefault()) {
          _impl_.parent_id_.Set("", GetArenaForAllocation());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:keyapis.iot_connect.v1.PostCallbackStatusResponse.Status.parent_id)
}

// string name = 4;
inline void PostCallbackStatusResponse_Status::clear_name() {
  _impl_.name_.ClearToEmpty();
}
inline const std::string& PostCallbackStatusResponse_Status::name() const {
  // @@protoc_insertion_point(field_get:keyapis.iot_connect.v1.PostCallbackStatusResponse.Status.name)
  return _internal_name();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void PostCallbackStatusResponse_Status::set_name(Arg_&& arg,
                                                     Args_... args) {
  ;
  _impl_.name_.Set(static_cast<Arg_&&>(arg), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:keyapis.iot_connect.v1.PostCallbackStatusResponse.Status.name)
}
inline std::string* PostCallbackStatusResponse_Status::mutable_name() {
  std::string* _s = _internal_mutable_name();
  // @@protoc_insertion_point(field_mutable:keyapis.iot_connect.v1.PostCallbackStatusResponse.Status.name)
  return _s;
}
inline const std::string& PostCallbackStatusResponse_Status::_internal_name() const {
  return _impl_.name_.Get();
}
inline void PostCallbackStatusResponse_Status::_internal_set_name(const std::string& value) {
  ;


  _impl_.name_.Set(value, GetArenaForAllocation());
}
inline std::string* PostCallbackStatusResponse_Status::_internal_mutable_name() {
  ;
  return _impl_.name_.Mutable( GetArenaForAllocation());
}
inline std::string* PostCallbackStatusResponse_Status::release_name() {
  // @@protoc_insertion_point(field_release:keyapis.iot_connect.v1.PostCallbackStatusResponse.Status.name)
  return _impl_.name_.Release();
}
inline void PostCallbackStatusResponse_Status::set_allocated_name(std::string* value) {
  _impl_.name_.SetAllocated(value, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.name_.IsDefault()) {
          _impl_.name_.Set("", GetArenaForAllocation());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:keyapis.iot_connect.v1.PostCallbackStatusResponse.Status.name)
}

// string default_name = 5;
inline void PostCallbackStatusResponse_Status::clear_default_name() {
  _impl_.default_name_.ClearToEmpty();
}
inline const std::string& PostCallbackStatusResponse_Status::default_name() const {
  // @@protoc_insertion_point(field_get:keyapis.iot_connect.v1.PostCallbackStatusResponse.Status.default_name)
  return _internal_default_name();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void PostCallbackStatusResponse_Status::set_default_name(Arg_&& arg,
                                                     Args_... args) {
  ;
  _impl_.default_name_.Set(static_cast<Arg_&&>(arg), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:keyapis.iot_connect.v1.PostCallbackStatusResponse.Status.default_name)
}
inline std::string* PostCallbackStatusResponse_Status::mutable_default_name() {
  std::string* _s = _internal_mutable_default_name();
  // @@protoc_insertion_point(field_mutable:keyapis.iot_connect.v1.PostCallbackStatusResponse.Status.default_name)
  return _s;
}
inline const std::string& PostCallbackStatusResponse_Status::_internal_default_name() const {
  return _impl_.default_name_.Get();
}
inline void PostCallbackStatusResponse_Status::_internal_set_default_name(const std::string& value) {
  ;


  _impl_.default_name_.Set(value, GetArenaForAllocation());
}
inline std::string* PostCallbackStatusResponse_Status::_internal_mutable_default_name() {
  ;
  return _impl_.default_name_.Mutable( GetArenaForAllocation());
}
inline std::string* PostCallbackStatusResponse_Status::release_default_name() {
  // @@protoc_insertion_point(field_release:keyapis.iot_connect.v1.PostCallbackStatusResponse.Status.default_name)
  return _impl_.default_name_.Release();
}
inline void PostCallbackStatusResponse_Status::set_allocated_default_name(std::string* value) {
  _impl_.default_name_.SetAllocated(value, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.default_name_.IsDefault()) {
          _impl_.default_name_.Set("", GetArenaForAllocation());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:keyapis.iot_connect.v1.PostCallbackStatusResponse.Status.default_name)
}

// string home = 6;
inline void PostCallbackStatusResponse_Status::clear_home() {
  _impl_.home_.ClearToEmpty();
}
inline const std::string& PostCallbackStatusResponse_Status::home() const {
  // @@protoc_insertion_point(field_get:keyapis.iot_connect.v1.PostCallbackStatusResponse.Status.home)
  return _internal_home();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void PostCallbackStatusResponse_Status::set_home(Arg_&& arg,
                                                     Args_... args) {
  ;
  _impl_.home_.Set(static_cast<Arg_&&>(arg), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:keyapis.iot_connect.v1.PostCallbackStatusResponse.Status.home)
}
inline std::string* PostCallbackStatusResponse_Status::mutable_home() {
  std::string* _s = _internal_mutable_home();
  // @@protoc_insertion_point(field_mutable:keyapis.iot_connect.v1.PostCallbackStatusResponse.Status.home)
  return _s;
}
inline const std::string& PostCallbackStatusResponse_Status::_internal_home() const {
  return _impl_.home_.Get();
}
inline void PostCallbackStatusResponse_Status::_internal_set_home(const std::string& value) {
  ;


  _impl_.home_.Set(value, GetArenaForAllocation());
}
inline std::string* PostCallbackStatusResponse_Status::_internal_mutable_home() {
  ;
  return _impl_.home_.Mutable( GetArenaForAllocation());
}
inline std::string* PostCallbackStatusResponse_Status::release_home() {
  // @@protoc_insertion_point(field_release:keyapis.iot_connect.v1.PostCallbackStatusResponse.Status.home)
  return _impl_.home_.Release();
}
inline void PostCallbackStatusResponse_Status::set_allocated_home(std::string* value) {
  _impl_.home_.SetAllocated(value, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.home_.IsDefault()) {
          _impl_.home_.Set("", GetArenaForAllocation());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:keyapis.iot_connect.v1.PostCallbackStatusResponse.Status.home)
}

// string room = 7;
inline void PostCallbackStatusResponse_Status::clear_room() {
  _impl_.room_.ClearToEmpty();
}
inline const std::string& PostCallbackStatusResponse_Status::room() const {
  // @@protoc_insertion_point(field_get:keyapis.iot_connect.v1.PostCallbackStatusResponse.Status.room)
  return _internal_room();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void PostCallbackStatusResponse_Status::set_room(Arg_&& arg,
                                                     Args_... args) {
  ;
  _impl_.room_.Set(static_cast<Arg_&&>(arg), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:keyapis.iot_connect.v1.PostCallbackStatusResponse.Status.room)
}
inline std::string* PostCallbackStatusResponse_Status::mutable_room() {
  std::string* _s = _internal_mutable_room();
  // @@protoc_insertion_point(field_mutable:keyapis.iot_connect.v1.PostCallbackStatusResponse.Status.room)
  return _s;
}
inline const std::string& PostCallbackStatusResponse_Status::_internal_room() const {
  return _impl_.room_.Get();
}
inline void PostCallbackStatusResponse_Status::_internal_set_room(const std::string& value) {
  ;


  _impl_.room_.Set(value, GetArenaForAllocation());
}
inline std::string* PostCallbackStatusResponse_Status::_internal_mutable_room() {
  ;
  return _impl_.room_.Mutable( GetArenaForAllocation());
}
inline std::string* PostCallbackStatusResponse_Status::release_room() {
  // @@protoc_insertion_point(field_release:keyapis.iot_connect.v1.PostCallbackStatusResponse.Status.room)
  return _impl_.room_.Release();
}
inline void PostCallbackStatusResponse_Status::set_allocated_room(std::string* value) {
  _impl_.room_.SetAllocated(value, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.room_.IsDefault()) {
          _impl_.room_.Set("", GetArenaForAllocation());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:keyapis.iot_connect.v1.PostCallbackStatusResponse.Status.room)
}

// repeated string groups = 8;
inline int PostCallbackStatusResponse_Status::_internal_groups_size() const {
  return _impl_.groups_.size();
}
inline int PostCallbackStatusResponse_Status::groups_size() const {
  return _internal_groups_size();
}
inline void PostCallbackStatusResponse_Status::clear_groups() {
  _internal_mutable_groups()->Clear();
}
inline std::string* PostCallbackStatusResponse_Status::add_groups() {
  std::string* _s = _internal_add_groups();
  // @@protoc_insertion_point(field_add_mutable:keyapis.iot_connect.v1.PostCallbackStatusResponse.Status.groups)
  return _s;
}
inline const std::string& PostCallbackStatusResponse_Status::groups(int index) const {
  // @@protoc_insertion_point(field_get:keyapis.iot_connect.v1.PostCallbackStatusResponse.Status.groups)
  return _internal_groups(index);
}
inline std::string* PostCallbackStatusResponse_Status::mutable_groups(int index) {
  // @@protoc_insertion_point(field_mutable:keyapis.iot_connect.v1.PostCallbackStatusResponse.Status.groups)
  return _internal_mutable_groups()->Mutable(index);
}
inline void PostCallbackStatusResponse_Status::set_groups(int index, const std::string& value) {
  _internal_mutable_groups()->Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set:keyapis.iot_connect.v1.PostCallbackStatusResponse.Status.groups)
}
inline void PostCallbackStatusResponse_Status::set_groups(int index, std::string&& value) {
  _internal_mutable_groups()->Mutable(index)->assign(std::move(value));
  // @@protoc_insertion_point(field_set:keyapis.iot_connect.v1.PostCallbackStatusResponse.Status.groups)
}
inline void PostCallbackStatusResponse_Status::set_groups(int index, const char* value) {
  ABSL_DCHECK(value != nullptr);
  _internal_mutable_groups()->Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set_char:keyapis.iot_connect.v1.PostCallbackStatusResponse.Status.groups)
}
inline void PostCallbackStatusResponse_Status::set_groups(int index, const char* value,
                              std::size_t size) {
  _internal_mutable_groups()->Mutable(index)->assign(
      reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_set_pointer:keyapis.iot_connect.v1.PostCallbackStatusResponse.Status.groups)
}
inline void PostCallbackStatusResponse_Status::set_groups(int index, absl::string_view value) {
  _internal_mutable_groups()->Mutable(index)->assign(value.data(),
                                                     value.size());
  // @@protoc_insertion_point(field_set_string_piece:keyapis.iot_connect.v1.PostCallbackStatusResponse.Status.groups)
}
inline void PostCallbackStatusResponse_Status::add_groups(const std::string& value) {
  _internal_mutable_groups()->Add()->assign(value);
  // @@protoc_insertion_point(field_add:keyapis.iot_connect.v1.PostCallbackStatusResponse.Status.groups)
}
inline void PostCallbackStatusResponse_Status::add_groups(std::string&& value) {
  _internal_mutable_groups()->Add(std::move(value));
  // @@protoc_insertion_point(field_add:keyapis.iot_connect.v1.PostCallbackStatusResponse.Status.groups)
}
inline void PostCallbackStatusResponse_Status::add_groups(const char* value) {
  ABSL_DCHECK(value != nullptr);
  _internal_mutable_groups()->Add()->assign(value);
  // @@protoc_insertion_point(field_add_char:keyapis.iot_connect.v1.PostCallbackStatusResponse.Status.groups)
}
inline void PostCallbackStatusResponse_Status::add_groups(const char* value, std::size_t size) {
  _internal_mutable_groups()->Add()->assign(
      reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_add_pointer:keyapis.iot_connect.v1.PostCallbackStatusResponse.Status.groups)
}
inline void PostCallbackStatusResponse_Status::add_groups(absl::string_view value) {
  _internal_mutable_groups()->Add()->assign(value.data(), value.size());
  // @@protoc_insertion_point(field_add_string_piece:keyapis.iot_connect.v1.PostCallbackStatusResponse.Status.groups)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>&
PostCallbackStatusResponse_Status::groups() const {
  // @@protoc_insertion_point(field_list:keyapis.iot_connect.v1.PostCallbackStatusResponse.Status.groups)
  return _internal_groups();
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>* PostCallbackStatusResponse_Status::mutable_groups() {
  // @@protoc_insertion_point(field_mutable_list:keyapis.iot_connect.v1.PostCallbackStatusResponse.Status.groups)
  return _internal_mutable_groups();
}
inline const std::string& PostCallbackStatusResponse_Status::_internal_groups(int index) const {
  return _internal_groups().Get(index);
}
inline std::string* PostCallbackStatusResponse_Status::_internal_add_groups() {
  return _internal_mutable_groups()->Add();
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>&
PostCallbackStatusResponse_Status::_internal_groups() const {
  return _impl_.groups_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>*
PostCallbackStatusResponse_Status::_internal_mutable_groups() {
  return &_impl_.groups_;
}

// string model_id = 9;
inline void PostCallbackStatusResponse_Status::clear_model_id() {
  _impl_.model_id_.ClearToEmpty();
}
inline const std::string& PostCallbackStatusResponse_Status::model_id() const {
  // @@protoc_insertion_point(field_get:keyapis.iot_connect.v1.PostCallbackStatusResponse.Status.model_id)
  return _internal_model_id();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void PostCallbackStatusResponse_Status::set_model_id(Arg_&& arg,
                                                     Args_... args) {
  ;
  _impl_.model_id_.Set(static_cast<Arg_&&>(arg), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:keyapis.iot_connect.v1.PostCallbackStatusResponse.Status.model_id)
}
inline std::string* PostCallbackStatusResponse_Status::mutable_model_id() {
  std::string* _s = _internal_mutable_model_id();
  // @@protoc_insertion_point(field_mutable:keyapis.iot_connect.v1.PostCallbackStatusResponse.Status.model_id)
  return _s;
}
inline const std::string& PostCallbackStatusResponse_Status::_internal_model_id() const {
  return _impl_.model_id_.Get();
}
inline void PostCallbackStatusResponse_Status::_internal_set_model_id(const std::string& value) {
  ;


  _impl_.model_id_.Set(value, GetArenaForAllocation());
}
inline std::string* PostCallbackStatusResponse_Status::_internal_mutable_model_id() {
  ;
  return _impl_.model_id_.Mutable( GetArenaForAllocation());
}
inline std::string* PostCallbackStatusResponse_Status::release_model_id() {
  // @@protoc_insertion_point(field_release:keyapis.iot_connect.v1.PostCallbackStatusResponse.Status.model_id)
  return _impl_.model_id_.Release();
}
inline void PostCallbackStatusResponse_Status::set_allocated_model_id(std::string* value) {
  _impl_.model_id_.SetAllocated(value, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.model_id_.IsDefault()) {
          _impl_.model_id_.Set("", GetArenaForAllocation());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:keyapis.iot_connect.v1.PostCallbackStatusResponse.Status.model_id)
}

// string hw_version = 10;
inline void PostCallbackStatusResponse_Status::clear_hw_version() {
  _impl_.hw_version_.ClearToEmpty();
}
inline const std::string& PostCallbackStatusResponse_Status::hw_version() const {
  // @@protoc_insertion_point(field_get:keyapis.iot_connect.v1.PostCallbackStatusResponse.Status.hw_version)
  return _internal_hw_version();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void PostCallbackStatusResponse_Status::set_hw_version(Arg_&& arg,
                                                     Args_... args) {
  ;
  _impl_.hw_version_.Set(static_cast<Arg_&&>(arg), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:keyapis.iot_connect.v1.PostCallbackStatusResponse.Status.hw_version)
}
inline std::string* PostCallbackStatusResponse_Status::mutable_hw_version() {
  std::string* _s = _internal_mutable_hw_version();
  // @@protoc_insertion_point(field_mutable:keyapis.iot_connect.v1.PostCallbackStatusResponse.Status.hw_version)
  return _s;
}
inline const std::string& PostCallbackStatusResponse_Status::_internal_hw_version() const {
  return _impl_.hw_version_.Get();
}
inline void PostCallbackStatusResponse_Status::_internal_set_hw_version(const std::string& value) {
  ;


  _impl_.hw_version_.Set(value, GetArenaForAllocation());
}
inline std::string* PostCallbackStatusResponse_Status::_internal_mutable_hw_version() {
  ;
  return _impl_.hw_version_.Mutable( GetArenaForAllocation());
}
inline std::string* PostCallbackStatusResponse_Status::release_hw_version() {
  // @@protoc_insertion_point(field_release:keyapis.iot_connect.v1.PostCallbackStatusResponse.Status.hw_version)
  return _impl_.hw_version_.Release();
}
inline void PostCallbackStatusResponse_Status::set_allocated_hw_version(std::string* value) {
  _impl_.hw_version_.SetAllocated(value, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.hw_version_.IsDefault()) {
          _impl_.hw_version_.Set("", GetArenaForAllocation());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:keyapis.iot_connect.v1.PostCallbackStatusResponse.Status.hw_version)
}

// string sw_version = 11;
inline void PostCallbackStatusResponse_Status::clear_sw_version() {
  _impl_.sw_version_.ClearToEmpty();
}
inline const std::string& PostCallbackStatusResponse_Status::sw_version() const {
  // @@protoc_insertion_point(field_get:keyapis.iot_connect.v1.PostCallbackStatusResponse.Status.sw_version)
  return _internal_sw_version();
}
template <typename Arg_, typename... Args_>
inline PROTOBUF_ALWAYS_INLINE void PostCallbackStatusResponse_Status::set_sw_version(Arg_&& arg,
                                                     Args_... args) {
  ;
  _impl_.sw_version_.Set(static_cast<Arg_&&>(arg), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:keyapis.iot_connect.v1.PostCallbackStatusResponse.Status.sw_version)
}
inline std::string* PostCallbackStatusResponse_Status::mutable_sw_version() {
  std::string* _s = _internal_mutable_sw_version();
  // @@protoc_insertion_point(field_mutable:keyapis.iot_connect.v1.PostCallbackStatusResponse.Status.sw_version)
  return _s;
}
inline const std::string& PostCallbackStatusResponse_Status::_internal_sw_version() const {
  return _impl_.sw_version_.Get();
}
inline void PostCallbackStatusResponse_Status::_internal_set_sw_version(const std::string& value) {
  ;


  _impl_.sw_version_.Set(value, GetArenaForAllocation());
}
inline std::string* PostCallbackStatusResponse_Status::_internal_mutable_sw_version() {
  ;
  return _impl_.sw_version_.Mutable( GetArenaForAllocation());
}
inline std::string* PostCallbackStatusResponse_Status::release_sw_version() {
  // @@protoc_insertion_point(field_release:keyapis.iot_connect.v1.PostCallbackStatusResponse.Status.sw_version)
  return _impl_.sw_version_.Release();
}
inline void PostCallbackStatusResponse_Status::set_allocated_sw_version(std::string* value) {
  _impl_.sw_version_.SetAllocated(value, GetArenaForAllocation());
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
        if (_impl_.sw_version_.IsDefault()) {
          _impl_.sw_version_.Set("", GetArenaForAllocation());
        }
  #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:keyapis.iot_connect.v1.PostCallbackStatusResponse.Status.sw_version)
}

// -------------------------------------------------------------------

// PostCallbackStatusResponse

// .keyapis.iot_connect.v1.PostCallbackStatusResponse.Status data = 1;
inline bool PostCallbackStatusResponse::has_data() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.data_ != nullptr);
  return value;
}
inline void PostCallbackStatusResponse::clear_data() {
  if (_impl_.data_ != nullptr) _impl_.data_->Clear();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const ::keyapis::iot_connect::v1::PostCallbackStatusResponse_Status& PostCallbackStatusResponse::_internal_data() const {
  const ::keyapis::iot_connect::v1::PostCallbackStatusResponse_Status* p = _impl_.data_;
  return p != nullptr ? *p : reinterpret_cast<const ::keyapis::iot_connect::v1::PostCallbackStatusResponse_Status&>(
      ::keyapis::iot_connect::v1::_PostCallbackStatusResponse_Status_default_instance_);
}
inline const ::keyapis::iot_connect::v1::PostCallbackStatusResponse_Status& PostCallbackStatusResponse::data() const {
  // @@protoc_insertion_point(field_get:keyapis.iot_connect.v1.PostCallbackStatusResponse.data)
  return _internal_data();
}
inline void PostCallbackStatusResponse::unsafe_arena_set_allocated_data(
    ::keyapis::iot_connect::v1::PostCallbackStatusResponse_Status* data) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.data_);
  }
  _impl_.data_ = data;
  if (data) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:keyapis.iot_connect.v1.PostCallbackStatusResponse.data)
}
inline ::keyapis::iot_connect::v1::PostCallbackStatusResponse_Status* PostCallbackStatusResponse::release_data() {
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::keyapis::iot_connect::v1::PostCallbackStatusResponse_Status* temp = _impl_.data_;
  _impl_.data_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::keyapis::iot_connect::v1::PostCallbackStatusResponse_Status* PostCallbackStatusResponse::unsafe_arena_release_data() {
  // @@protoc_insertion_point(field_release:keyapis.iot_connect.v1.PostCallbackStatusResponse.data)
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::keyapis::iot_connect::v1::PostCallbackStatusResponse_Status* temp = _impl_.data_;
  _impl_.data_ = nullptr;
  return temp;
}
inline ::keyapis::iot_connect::v1::PostCallbackStatusResponse_Status* PostCallbackStatusResponse::_internal_mutable_data() {
  _impl_._has_bits_[0] |= 0x00000001u;
  if (_impl_.data_ == nullptr) {
    auto* p = CreateMaybeMessage<::keyapis::iot_connect::v1::PostCallbackStatusResponse_Status>(GetArenaForAllocation());
    _impl_.data_ = p;
  }
  return _impl_.data_;
}
inline ::keyapis::iot_connect::v1::PostCallbackStatusResponse_Status* PostCallbackStatusResponse::mutable_data() {
  ::keyapis::iot_connect::v1::PostCallbackStatusResponse_Status* _msg = _internal_mutable_data();
  // @@protoc_insertion_point(field_mutable:keyapis.iot_connect.v1.PostCallbackStatusResponse.data)
  return _msg;
}
inline void PostCallbackStatusResponse::set_allocated_data(::keyapis::iot_connect::v1::PostCallbackStatusResponse_Status* data) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete _impl_.data_;
  }
  if (data) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(data);
    if (message_arena != submessage_arena) {
      data = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, data, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.data_ = data;
  // @@protoc_insertion_point(field_set_allocated:keyapis.iot_connect.v1.PostCallbackStatusResponse.data)
}

// -------------------------------------------------------------------

// PostCallbackCommandRequest

// -------------------------------------------------------------------

// PostCallbackCommandResponse

// -------------------------------------------------------------------

// PostCallbackUnlinkRequest

// -------------------------------------------------------------------

// PostCallbackUnlinkResponse

// -------------------------------------------------------------------

// GetCallbackUserRequest

// -------------------------------------------------------------------

// GetCallbackUserResponse

// int32 data = 1;
inline void GetCallbackUserResponse::clear_data() {
  _impl_.data_ = 0;
}
inline ::int32_t GetCallbackUserResponse::data() const {
  // @@protoc_insertion_point(field_get:keyapis.iot_connect.v1.GetCallbackUserResponse.data)
  return _internal_data();
}
inline void GetCallbackUserResponse::set_data(::int32_t value) {
  _internal_set_data(value);
  // @@protoc_insertion_point(field_set:keyapis.iot_connect.v1.GetCallbackUserResponse.data)
}
inline ::int32_t GetCallbackUserResponse::_internal_data() const {
  return _impl_.data_;
}
inline void GetCallbackUserResponse::_internal_set_data(::int32_t value) {
  ;
  _impl_.data_ = value;
}

#ifdef __GNUC__
#pragma GCC diagnostic pop
#endif  // __GNUC__

// @@protoc_insertion_point(namespace_scope)
}  // namespace v1
}  // namespace iot_connect
}  // namespace keyapis


// @@protoc_insertion_point(global_scope)

#include "google/protobuf/port_undef.inc"

#endif  // GOOGLE_PROTOBUF_INCLUDED_keyapis_2fiot_5fconnect_2fv1_2fkeyapis_5fiot_5fconnect_5fcallback_5fv1_2eproto_2epb_2eh
