Bladeren bron

删除未标准名称的文件:login、customer。数据库表统一使用:table.proto; 通信消息统一使用:msg.proto,其他proto一律删除不再使用。

Jeff 6 jaren geleden
bovenliggende
commit
db7d82b4c2

+ 0 - 10
source/hook/pb/customer.proto

@@ -1,10 +0,0 @@
-syntax = "proto3";
-message customer{
-    string csr_id = 1;         // 用户id;
-    string csr_name = 2;       // 用户姓名或昵称;
-    bool csr_gender = 3;       // 用户性别;
-    string csr_phone = 4;      // 用户手机;
-    string csr_old_phone = 5;  // 用户旧手机;
-    string csr_vcode = 6;      // 用户注册或忘记密码时的手机验证码;
-    string vcode_expiry_time = 7;   // 验证码到期时间;
-}

+ 0 - 1731
source/hook/pb/login.pb.cc

@@ -1,1731 +0,0 @@
-// Generated by the protocol buffer compiler.  DO NOT EDIT!
-// source: login.proto
-
-#include "login.pb.h"
-
-#include <algorithm>
-
-#include <google/protobuf/stubs/common.h>
-#include <google/protobuf/stubs/port.h>
-#include <google/protobuf/io/coded_stream.h>
-#include <google/protobuf/wire_format_lite_inl.h>
-#include <google/protobuf/descriptor.h>
-#include <google/protobuf/generated_message_reflection.h>
-#include <google/protobuf/reflection_ops.h>
-#include <google/protobuf/wire_format.h>
-// This is a temporary google only hack
-#ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
-#include "third_party/protobuf/version.h"
-#endif
-// @@protoc_insertion_point(includes)
-
-namespace protobuf_login_2eproto {
-extern PROTOBUF_INTERNAL_EXPORT_protobuf_login_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_rdetail;
-extern PROTOBUF_INTERNAL_EXPORT_protobuf_login_2eproto ::google::protobuf::internal::SCCInfo<1> scc_info_rtype;
-}  // namespace protobuf_login_2eproto
-class loginDefaultTypeInternal {
- public:
-  ::google::protobuf::internal::ExplicitlyConstructed<login>
-      _instance;
-} _login_default_instance_;
-class userInfoDefaultTypeInternal {
- public:
-  ::google::protobuf::internal::ExplicitlyConstructed<userInfo>
-      _instance;
-} _userInfo_default_instance_;
-class rtypeDefaultTypeInternal {
- public:
-  ::google::protobuf::internal::ExplicitlyConstructed<rtype>
-      _instance;
-} _rtype_default_instance_;
-class rdetailDefaultTypeInternal {
- public:
-  ::google::protobuf::internal::ExplicitlyConstructed<rdetail>
-      _instance;
-} _rdetail_default_instance_;
-namespace protobuf_login_2eproto {
-static void InitDefaultslogin() {
-  GOOGLE_PROTOBUF_VERIFY_VERSION;
-
-  {
-    void* ptr = &::_login_default_instance_;
-    new (ptr) ::login();
-    ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
-  }
-  ::login::InitAsDefaultInstance();
-}
-
-::google::protobuf::internal::SCCInfo<0> scc_info_login =
-    {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 0, InitDefaultslogin}, {}};
-
-static void InitDefaultsuserInfo() {
-  GOOGLE_PROTOBUF_VERIFY_VERSION;
-
-  {
-    void* ptr = &::_userInfo_default_instance_;
-    new (ptr) ::userInfo();
-    ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
-  }
-  ::userInfo::InitAsDefaultInstance();
-}
-
-::google::protobuf::internal::SCCInfo<1> scc_info_userInfo =
-    {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 1, InitDefaultsuserInfo}, {
-      &protobuf_login_2eproto::scc_info_rtype.base,}};
-
-static void InitDefaultsrtype() {
-  GOOGLE_PROTOBUF_VERIFY_VERSION;
-
-  {
-    void* ptr = &::_rtype_default_instance_;
-    new (ptr) ::rtype();
-    ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
-  }
-  ::rtype::InitAsDefaultInstance();
-}
-
-::google::protobuf::internal::SCCInfo<1> scc_info_rtype =
-    {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 1, InitDefaultsrtype}, {
-      &protobuf_login_2eproto::scc_info_rdetail.base,}};
-
-static void InitDefaultsrdetail() {
-  GOOGLE_PROTOBUF_VERIFY_VERSION;
-
-  {
-    void* ptr = &::_rdetail_default_instance_;
-    new (ptr) ::rdetail();
-    ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
-  }
-  ::rdetail::InitAsDefaultInstance();
-}
-
-::google::protobuf::internal::SCCInfo<0> scc_info_rdetail =
-    {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 0, InitDefaultsrdetail}, {}};
-
-void InitDefaults() {
-  ::google::protobuf::internal::InitSCC(&scc_info_login.base);
-  ::google::protobuf::internal::InitSCC(&scc_info_userInfo.base);
-  ::google::protobuf::internal::InitSCC(&scc_info_rtype.base);
-  ::google::protobuf::internal::InitSCC(&scc_info_rdetail.base);
-}
-
-::google::protobuf::Metadata file_level_metadata[4];
-
-const ::google::protobuf::uint32 TableStruct::offsets[] GOOGLE_PROTOBUF_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
-  ~0u,  // no _has_bits_
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::login, _internal_metadata_),
-  ~0u,  // no _extensions_
-  ~0u,  // no _oneof_case_
-  ~0u,  // no _weak_field_map_
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::login, phone_),
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::login, passwrod_),
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::login, macaddr_),
-  ~0u,  // no _has_bits_
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::userInfo, _internal_metadata_),
-  ~0u,  // no _extensions_
-  ~0u,  // no _oneof_case_
-  ~0u,  // no _weak_field_map_
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::userInfo, id_),
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::userInfo, name_),
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::userInfo, gender_),
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::userInfo, phone_),
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::userInfo, reply_),
-  ~0u,  // no _has_bits_
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::rtype, _internal_metadata_),
-  ~0u,  // no _extensions_
-  ~0u,  // no _oneof_case_
-  ~0u,  // no _weak_field_map_
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::rtype, id_),
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::rtype, name_),
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::rtype, detail_),
-  ~0u,  // no _has_bits_
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::rdetail, _internal_metadata_),
-  ~0u,  // no _extensions_
-  ~0u,  // no _oneof_case_
-  ~0u,  // no _weak_field_map_
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::rdetail, id_),
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::rdetail, name_),
-  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::rdetail, content_),
-};
-static const ::google::protobuf::internal::MigrationSchema schemas[] GOOGLE_PROTOBUF_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
-  { 0, -1, sizeof(::login)},
-  { 8, -1, sizeof(::userInfo)},
-  { 18, -1, sizeof(::rtype)},
-  { 26, -1, sizeof(::rdetail)},
-};
-
-static ::google::protobuf::Message const * const file_default_instances[] = {
-  reinterpret_cast<const ::google::protobuf::Message*>(&::_login_default_instance_),
-  reinterpret_cast<const ::google::protobuf::Message*>(&::_userInfo_default_instance_),
-  reinterpret_cast<const ::google::protobuf::Message*>(&::_rtype_default_instance_),
-  reinterpret_cast<const ::google::protobuf::Message*>(&::_rdetail_default_instance_),
-};
-
-void protobuf_AssignDescriptors() {
-  AddDescriptors();
-  AssignDescriptors(
-      "login.proto", schemas, file_default_instances, TableStruct::offsets,
-      file_level_metadata, NULL, NULL);
-}
-
-void protobuf_AssignDescriptorsOnce() {
-  static ::google::protobuf::internal::once_flag once;
-  ::google::protobuf::internal::call_once(once, protobuf_AssignDescriptors);
-}
-
-void protobuf_RegisterTypes(const ::std::string&) GOOGLE_PROTOBUF_ATTRIBUTE_COLD;
-void protobuf_RegisterTypes(const ::std::string&) {
-  protobuf_AssignDescriptorsOnce();
-  ::google::protobuf::internal::RegisterAllTypes(file_level_metadata, 4);
-}
-
-void AddDescriptorsImpl() {
-  InitDefaults();
-  static const char descriptor[] GOOGLE_PROTOBUF_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
-      "\n\013login.proto\"9\n\005login\022\r\n\005phone\030\001 \001(\t\022\020\n"
-      "\010passwrod\030\002 \001(\t\022\017\n\007macAddr\030\003 \001(\t\"Z\n\010user"
-      "Info\022\n\n\002id\030\001 \001(\t\022\014\n\004name\030\002 \001(\t\022\016\n\006gender"
-      "\030\003 \001(\010\022\r\n\005phone\030\004 \001(\t\022\025\n\005reply\030\005 \003(\0132\006.r"
-      "type\";\n\005rtype\022\n\n\002id\030\001 \001(\t\022\014\n\004name\030\002 \001(\t\022"
-      "\030\n\006detail\030\003 \003(\0132\010.rdetail\"4\n\007rdetail\022\n\n\002"
-      "id\030\001 \001(\t\022\014\n\004name\030\002 \001(\t\022\017\n\007content\030\003 \001(\tb"
-      "\006proto3"
-  };
-  ::google::protobuf::DescriptorPool::InternalAddGeneratedFile(
-      descriptor, 287);
-  ::google::protobuf::MessageFactory::InternalRegisterGeneratedFile(
-    "login.proto", &protobuf_RegisterTypes);
-}
-
-void AddDescriptors() {
-  static ::google::protobuf::internal::once_flag once;
-  ::google::protobuf::internal::call_once(once, AddDescriptorsImpl);
-}
-// Force AddDescriptors() to be called at dynamic initialization time.
-struct StaticDescriptorInitializer {
-  StaticDescriptorInitializer() {
-    AddDescriptors();
-  }
-} static_descriptor_initializer;
-}  // namespace protobuf_login_2eproto
-
-// ===================================================================
-
-void login::InitAsDefaultInstance() {
-}
-#if !defined(_MSC_VER) || _MSC_VER >= 1900
-const int login::kPhoneFieldNumber;
-const int login::kPasswrodFieldNumber;
-const int login::kMacAddrFieldNumber;
-#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
-
-login::login()
-  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
-  ::google::protobuf::internal::InitSCC(
-      &protobuf_login_2eproto::scc_info_login.base);
-  SharedCtor();
-  // @@protoc_insertion_point(constructor:login)
-}
-login::login(const login& from)
-  : ::google::protobuf::Message(),
-      _internal_metadata_(NULL) {
-  _internal_metadata_.MergeFrom(from._internal_metadata_);
-  phone_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  if (from.phone().size() > 0) {
-    phone_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.phone_);
-  }
-  passwrod_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  if (from.passwrod().size() > 0) {
-    passwrod_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.passwrod_);
-  }
-  macaddr_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  if (from.macaddr().size() > 0) {
-    macaddr_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.macaddr_);
-  }
-  // @@protoc_insertion_point(copy_constructor:login)
-}
-
-void login::SharedCtor() {
-  phone_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  passwrod_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  macaddr_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-
-login::~login() {
-  // @@protoc_insertion_point(destructor:login)
-  SharedDtor();
-}
-
-void login::SharedDtor() {
-  phone_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  passwrod_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  macaddr_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-
-void login::SetCachedSize(int size) const {
-  _cached_size_.Set(size);
-}
-const ::google::protobuf::Descriptor* login::descriptor() {
-  ::protobuf_login_2eproto::protobuf_AssignDescriptorsOnce();
-  return ::protobuf_login_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
-}
-
-const login& login::default_instance() {
-  ::google::protobuf::internal::InitSCC(&protobuf_login_2eproto::scc_info_login.base);
-  return *internal_default_instance();
-}
-
-
-void login::Clear() {
-// @@protoc_insertion_point(message_clear_start:login)
-  ::google::protobuf::uint32 cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
-
-  phone_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  passwrod_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  macaddr_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  _internal_metadata_.Clear();
-}
-
-bool login::MergePartialFromCodedStream(
-    ::google::protobuf::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
-  ::google::protobuf::uint32 tag;
-  // @@protoc_insertion_point(parse_start:login)
-  for (;;) {
-    ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
-    tag = p.first;
-    if (!p.second) goto handle_unusual;
-    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
-      // string phone = 1;
-      case 1: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
-          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
-                input, this->mutable_phone()));
-          DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
-            this->phone().data(), static_cast<int>(this->phone().length()),
-            ::google::protobuf::internal::WireFormatLite::PARSE,
-            "login.phone"));
-        } else {
-          goto handle_unusual;
-        }
-        break;
-      }
-
-      // string passwrod = 2;
-      case 2: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
-          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
-                input, this->mutable_passwrod()));
-          DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
-            this->passwrod().data(), static_cast<int>(this->passwrod().length()),
-            ::google::protobuf::internal::WireFormatLite::PARSE,
-            "login.passwrod"));
-        } else {
-          goto handle_unusual;
-        }
-        break;
-      }
-
-      // string macAddr = 3;
-      case 3: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(26u /* 26 & 0xFF */)) {
-          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
-                input, this->mutable_macaddr()));
-          DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
-            this->macaddr().data(), static_cast<int>(this->macaddr().length()),
-            ::google::protobuf::internal::WireFormatLite::PARSE,
-            "login.macAddr"));
-        } else {
-          goto handle_unusual;
-        }
-        break;
-      }
-
-      default: {
-      handle_unusual:
-        if (tag == 0) {
-          goto success;
-        }
-        DO_(::google::protobuf::internal::WireFormat::SkipField(
-              input, tag, _internal_metadata_.mutable_unknown_fields()));
-        break;
-      }
-    }
-  }
-success:
-  // @@protoc_insertion_point(parse_success:login)
-  return true;
-failure:
-  // @@protoc_insertion_point(parse_failure:login)
-  return false;
-#undef DO_
-}
-
-void login::SerializeWithCachedSizes(
-    ::google::protobuf::io::CodedOutputStream* output) const {
-  // @@protoc_insertion_point(serialize_start:login)
-  ::google::protobuf::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  // string phone = 1;
-  if (this->phone().size() > 0) {
-    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
-      this->phone().data(), static_cast<int>(this->phone().length()),
-      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
-      "login.phone");
-    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
-      1, this->phone(), output);
-  }
-
-  // string passwrod = 2;
-  if (this->passwrod().size() > 0) {
-    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
-      this->passwrod().data(), static_cast<int>(this->passwrod().length()),
-      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
-      "login.passwrod");
-    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
-      2, this->passwrod(), output);
-  }
-
-  // string macAddr = 3;
-  if (this->macaddr().size() > 0) {
-    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
-      this->macaddr().data(), static_cast<int>(this->macaddr().length()),
-      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
-      "login.macAddr");
-    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
-      3, this->macaddr(), output);
-  }
-
-  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
-    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
-        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), output);
-  }
-  // @@protoc_insertion_point(serialize_end:login)
-}
-
-::google::protobuf::uint8* login::InternalSerializeWithCachedSizesToArray(
-    bool deterministic, ::google::protobuf::uint8* target) const {
-  (void)deterministic; // Unused
-  // @@protoc_insertion_point(serialize_to_array_start:login)
-  ::google::protobuf::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  // string phone = 1;
-  if (this->phone().size() > 0) {
-    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
-      this->phone().data(), static_cast<int>(this->phone().length()),
-      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
-      "login.phone");
-    target =
-      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
-        1, this->phone(), target);
-  }
-
-  // string passwrod = 2;
-  if (this->passwrod().size() > 0) {
-    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
-      this->passwrod().data(), static_cast<int>(this->passwrod().length()),
-      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
-      "login.passwrod");
-    target =
-      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
-        2, this->passwrod(), target);
-  }
-
-  // string macAddr = 3;
-  if (this->macaddr().size() > 0) {
-    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
-      this->macaddr().data(), static_cast<int>(this->macaddr().length()),
-      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
-      "login.macAddr");
-    target =
-      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
-        3, this->macaddr(), target);
-  }
-
-  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
-    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
-        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), target);
-  }
-  // @@protoc_insertion_point(serialize_to_array_end:login)
-  return target;
-}
-
-size_t login::ByteSizeLong() const {
-// @@protoc_insertion_point(message_byte_size_start:login)
-  size_t total_size = 0;
-
-  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
-    total_size +=
-      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
-        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()));
-  }
-  // string phone = 1;
-  if (this->phone().size() > 0) {
-    total_size += 1 +
-      ::google::protobuf::internal::WireFormatLite::StringSize(
-        this->phone());
-  }
-
-  // string passwrod = 2;
-  if (this->passwrod().size() > 0) {
-    total_size += 1 +
-      ::google::protobuf::internal::WireFormatLite::StringSize(
-        this->passwrod());
-  }
-
-  // string macAddr = 3;
-  if (this->macaddr().size() > 0) {
-    total_size += 1 +
-      ::google::protobuf::internal::WireFormatLite::StringSize(
-        this->macaddr());
-  }
-
-  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
-  SetCachedSize(cached_size);
-  return total_size;
-}
-
-void login::MergeFrom(const ::google::protobuf::Message& from) {
-// @@protoc_insertion_point(generalized_merge_from_start:login)
-  GOOGLE_DCHECK_NE(&from, this);
-  const login* source =
-      ::google::protobuf::internal::DynamicCastToGenerated<const login>(
-          &from);
-  if (source == NULL) {
-  // @@protoc_insertion_point(generalized_merge_from_cast_fail:login)
-    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
-  } else {
-  // @@protoc_insertion_point(generalized_merge_from_cast_success:login)
-    MergeFrom(*source);
-  }
-}
-
-void login::MergeFrom(const login& from) {
-// @@protoc_insertion_point(class_specific_merge_from_start:login)
-  GOOGLE_DCHECK_NE(&from, this);
-  _internal_metadata_.MergeFrom(from._internal_metadata_);
-  ::google::protobuf::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  if (from.phone().size() > 0) {
-
-    phone_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.phone_);
-  }
-  if (from.passwrod().size() > 0) {
-
-    passwrod_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.passwrod_);
-  }
-  if (from.macaddr().size() > 0) {
-
-    macaddr_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.macaddr_);
-  }
-}
-
-void login::CopyFrom(const ::google::protobuf::Message& from) {
-// @@protoc_insertion_point(generalized_copy_from_start:login)
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-void login::CopyFrom(const login& from) {
-// @@protoc_insertion_point(class_specific_copy_from_start:login)
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-bool login::IsInitialized() const {
-  return true;
-}
-
-void login::Swap(login* other) {
-  if (other == this) return;
-  InternalSwap(other);
-}
-void login::InternalSwap(login* other) {
-  using std::swap;
-  phone_.Swap(&other->phone_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(),
-    GetArenaNoVirtual());
-  passwrod_.Swap(&other->passwrod_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(),
-    GetArenaNoVirtual());
-  macaddr_.Swap(&other->macaddr_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(),
-    GetArenaNoVirtual());
-  _internal_metadata_.Swap(&other->_internal_metadata_);
-}
-
-::google::protobuf::Metadata login::GetMetadata() const {
-  protobuf_login_2eproto::protobuf_AssignDescriptorsOnce();
-  return ::protobuf_login_2eproto::file_level_metadata[kIndexInFileMessages];
-}
-
-
-// ===================================================================
-
-void userInfo::InitAsDefaultInstance() {
-}
-#if !defined(_MSC_VER) || _MSC_VER >= 1900
-const int userInfo::kIdFieldNumber;
-const int userInfo::kNameFieldNumber;
-const int userInfo::kGenderFieldNumber;
-const int userInfo::kPhoneFieldNumber;
-const int userInfo::kReplyFieldNumber;
-#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
-
-userInfo::userInfo()
-  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
-  ::google::protobuf::internal::InitSCC(
-      &protobuf_login_2eproto::scc_info_userInfo.base);
-  SharedCtor();
-  // @@protoc_insertion_point(constructor:userInfo)
-}
-userInfo::userInfo(const userInfo& from)
-  : ::google::protobuf::Message(),
-      _internal_metadata_(NULL),
-      reply_(from.reply_) {
-  _internal_metadata_.MergeFrom(from._internal_metadata_);
-  id_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  if (from.id().size() > 0) {
-    id_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.id_);
-  }
-  name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  if (from.name().size() > 0) {
-    name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.name_);
-  }
-  phone_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  if (from.phone().size() > 0) {
-    phone_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.phone_);
-  }
-  gender_ = from.gender_;
-  // @@protoc_insertion_point(copy_constructor:userInfo)
-}
-
-void userInfo::SharedCtor() {
-  id_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  phone_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  gender_ = false;
-}
-
-userInfo::~userInfo() {
-  // @@protoc_insertion_point(destructor:userInfo)
-  SharedDtor();
-}
-
-void userInfo::SharedDtor() {
-  id_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  name_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  phone_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-
-void userInfo::SetCachedSize(int size) const {
-  _cached_size_.Set(size);
-}
-const ::google::protobuf::Descriptor* userInfo::descriptor() {
-  ::protobuf_login_2eproto::protobuf_AssignDescriptorsOnce();
-  return ::protobuf_login_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
-}
-
-const userInfo& userInfo::default_instance() {
-  ::google::protobuf::internal::InitSCC(&protobuf_login_2eproto::scc_info_userInfo.base);
-  return *internal_default_instance();
-}
-
-
-void userInfo::Clear() {
-// @@protoc_insertion_point(message_clear_start:userInfo)
-  ::google::protobuf::uint32 cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
-
-  reply_.Clear();
-  id_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  phone_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  gender_ = false;
-  _internal_metadata_.Clear();
-}
-
-bool userInfo::MergePartialFromCodedStream(
-    ::google::protobuf::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
-  ::google::protobuf::uint32 tag;
-  // @@protoc_insertion_point(parse_start:userInfo)
-  for (;;) {
-    ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
-    tag = p.first;
-    if (!p.second) goto handle_unusual;
-    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
-      // string id = 1;
-      case 1: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
-          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
-                input, this->mutable_id()));
-          DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
-            this->id().data(), static_cast<int>(this->id().length()),
-            ::google::protobuf::internal::WireFormatLite::PARSE,
-            "userInfo.id"));
-        } else {
-          goto handle_unusual;
-        }
-        break;
-      }
-
-      // string name = 2;
-      case 2: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
-          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
-                input, this->mutable_name()));
-          DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
-            this->name().data(), static_cast<int>(this->name().length()),
-            ::google::protobuf::internal::WireFormatLite::PARSE,
-            "userInfo.name"));
-        } else {
-          goto handle_unusual;
-        }
-        break;
-      }
-
-      // bool gender = 3;
-      case 3: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(24u /* 24 & 0xFF */)) {
-
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
-                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
-                 input, &gender_)));
-        } else {
-          goto handle_unusual;
-        }
-        break;
-      }
-
-      // string phone = 4;
-      case 4: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(34u /* 34 & 0xFF */)) {
-          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
-                input, this->mutable_phone()));
-          DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
-            this->phone().data(), static_cast<int>(this->phone().length()),
-            ::google::protobuf::internal::WireFormatLite::PARSE,
-            "userInfo.phone"));
-        } else {
-          goto handle_unusual;
-        }
-        break;
-      }
-
-      // repeated .rtype reply = 5;
-      case 5: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(42u /* 42 & 0xFF */)) {
-          DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
-                input, add_reply()));
-        } else {
-          goto handle_unusual;
-        }
-        break;
-      }
-
-      default: {
-      handle_unusual:
-        if (tag == 0) {
-          goto success;
-        }
-        DO_(::google::protobuf::internal::WireFormat::SkipField(
-              input, tag, _internal_metadata_.mutable_unknown_fields()));
-        break;
-      }
-    }
-  }
-success:
-  // @@protoc_insertion_point(parse_success:userInfo)
-  return true;
-failure:
-  // @@protoc_insertion_point(parse_failure:userInfo)
-  return false;
-#undef DO_
-}
-
-void userInfo::SerializeWithCachedSizes(
-    ::google::protobuf::io::CodedOutputStream* output) const {
-  // @@protoc_insertion_point(serialize_start:userInfo)
-  ::google::protobuf::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  // string id = 1;
-  if (this->id().size() > 0) {
-    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
-      this->id().data(), static_cast<int>(this->id().length()),
-      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
-      "userInfo.id");
-    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
-      1, this->id(), output);
-  }
-
-  // string name = 2;
-  if (this->name().size() > 0) {
-    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
-      this->name().data(), static_cast<int>(this->name().length()),
-      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
-      "userInfo.name");
-    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
-      2, this->name(), output);
-  }
-
-  // bool gender = 3;
-  if (this->gender() != 0) {
-    ::google::protobuf::internal::WireFormatLite::WriteBool(3, this->gender(), output);
-  }
-
-  // string phone = 4;
-  if (this->phone().size() > 0) {
-    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
-      this->phone().data(), static_cast<int>(this->phone().length()),
-      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
-      "userInfo.phone");
-    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
-      4, this->phone(), output);
-  }
-
-  // repeated .rtype reply = 5;
-  for (unsigned int i = 0,
-      n = static_cast<unsigned int>(this->reply_size()); i < n; i++) {
-    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
-      5,
-      this->reply(static_cast<int>(i)),
-      output);
-  }
-
-  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
-    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
-        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), output);
-  }
-  // @@protoc_insertion_point(serialize_end:userInfo)
-}
-
-::google::protobuf::uint8* userInfo::InternalSerializeWithCachedSizesToArray(
-    bool deterministic, ::google::protobuf::uint8* target) const {
-  (void)deterministic; // Unused
-  // @@protoc_insertion_point(serialize_to_array_start:userInfo)
-  ::google::protobuf::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  // string id = 1;
-  if (this->id().size() > 0) {
-    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
-      this->id().data(), static_cast<int>(this->id().length()),
-      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
-      "userInfo.id");
-    target =
-      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
-        1, this->id(), target);
-  }
-
-  // string name = 2;
-  if (this->name().size() > 0) {
-    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
-      this->name().data(), static_cast<int>(this->name().length()),
-      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
-      "userInfo.name");
-    target =
-      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
-        2, this->name(), target);
-  }
-
-  // bool gender = 3;
-  if (this->gender() != 0) {
-    target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(3, this->gender(), target);
-  }
-
-  // string phone = 4;
-  if (this->phone().size() > 0) {
-    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
-      this->phone().data(), static_cast<int>(this->phone().length()),
-      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
-      "userInfo.phone");
-    target =
-      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
-        4, this->phone(), target);
-  }
-
-  // repeated .rtype reply = 5;
-  for (unsigned int i = 0,
-      n = static_cast<unsigned int>(this->reply_size()); i < n; i++) {
-    target = ::google::protobuf::internal::WireFormatLite::
-      InternalWriteMessageToArray(
-        5, this->reply(static_cast<int>(i)), deterministic, target);
-  }
-
-  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
-    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
-        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), target);
-  }
-  // @@protoc_insertion_point(serialize_to_array_end:userInfo)
-  return target;
-}
-
-size_t userInfo::ByteSizeLong() const {
-// @@protoc_insertion_point(message_byte_size_start:userInfo)
-  size_t total_size = 0;
-
-  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
-    total_size +=
-      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
-        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()));
-  }
-  // repeated .rtype reply = 5;
-  {
-    unsigned int count = static_cast<unsigned int>(this->reply_size());
-    total_size += 1UL * count;
-    for (unsigned int i = 0; i < count; i++) {
-      total_size +=
-        ::google::protobuf::internal::WireFormatLite::MessageSize(
-          this->reply(static_cast<int>(i)));
-    }
-  }
-
-  // string id = 1;
-  if (this->id().size() > 0) {
-    total_size += 1 +
-      ::google::protobuf::internal::WireFormatLite::StringSize(
-        this->id());
-  }
-
-  // string name = 2;
-  if (this->name().size() > 0) {
-    total_size += 1 +
-      ::google::protobuf::internal::WireFormatLite::StringSize(
-        this->name());
-  }
-
-  // string phone = 4;
-  if (this->phone().size() > 0) {
-    total_size += 1 +
-      ::google::protobuf::internal::WireFormatLite::StringSize(
-        this->phone());
-  }
-
-  // bool gender = 3;
-  if (this->gender() != 0) {
-    total_size += 1 + 1;
-  }
-
-  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
-  SetCachedSize(cached_size);
-  return total_size;
-}
-
-void userInfo::MergeFrom(const ::google::protobuf::Message& from) {
-// @@protoc_insertion_point(generalized_merge_from_start:userInfo)
-  GOOGLE_DCHECK_NE(&from, this);
-  const userInfo* source =
-      ::google::protobuf::internal::DynamicCastToGenerated<const userInfo>(
-          &from);
-  if (source == NULL) {
-  // @@protoc_insertion_point(generalized_merge_from_cast_fail:userInfo)
-    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
-  } else {
-  // @@protoc_insertion_point(generalized_merge_from_cast_success:userInfo)
-    MergeFrom(*source);
-  }
-}
-
-void userInfo::MergeFrom(const userInfo& from) {
-// @@protoc_insertion_point(class_specific_merge_from_start:userInfo)
-  GOOGLE_DCHECK_NE(&from, this);
-  _internal_metadata_.MergeFrom(from._internal_metadata_);
-  ::google::protobuf::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  reply_.MergeFrom(from.reply_);
-  if (from.id().size() > 0) {
-
-    id_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.id_);
-  }
-  if (from.name().size() > 0) {
-
-    name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.name_);
-  }
-  if (from.phone().size() > 0) {
-
-    phone_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.phone_);
-  }
-  if (from.gender() != 0) {
-    set_gender(from.gender());
-  }
-}
-
-void userInfo::CopyFrom(const ::google::protobuf::Message& from) {
-// @@protoc_insertion_point(generalized_copy_from_start:userInfo)
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-void userInfo::CopyFrom(const userInfo& from) {
-// @@protoc_insertion_point(class_specific_copy_from_start:userInfo)
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-bool userInfo::IsInitialized() const {
-  return true;
-}
-
-void userInfo::Swap(userInfo* other) {
-  if (other == this) return;
-  InternalSwap(other);
-}
-void userInfo::InternalSwap(userInfo* other) {
-  using std::swap;
-  CastToBase(&reply_)->InternalSwap(CastToBase(&other->reply_));
-  id_.Swap(&other->id_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(),
-    GetArenaNoVirtual());
-  name_.Swap(&other->name_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(),
-    GetArenaNoVirtual());
-  phone_.Swap(&other->phone_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(),
-    GetArenaNoVirtual());
-  swap(gender_, other->gender_);
-  _internal_metadata_.Swap(&other->_internal_metadata_);
-}
-
-::google::protobuf::Metadata userInfo::GetMetadata() const {
-  protobuf_login_2eproto::protobuf_AssignDescriptorsOnce();
-  return ::protobuf_login_2eproto::file_level_metadata[kIndexInFileMessages];
-}
-
-
-// ===================================================================
-
-void rtype::InitAsDefaultInstance() {
-}
-#if !defined(_MSC_VER) || _MSC_VER >= 1900
-const int rtype::kIdFieldNumber;
-const int rtype::kNameFieldNumber;
-const int rtype::kDetailFieldNumber;
-#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
-
-rtype::rtype()
-  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
-  ::google::protobuf::internal::InitSCC(
-      &protobuf_login_2eproto::scc_info_rtype.base);
-  SharedCtor();
-  // @@protoc_insertion_point(constructor:rtype)
-}
-rtype::rtype(const rtype& from)
-  : ::google::protobuf::Message(),
-      _internal_metadata_(NULL),
-      detail_(from.detail_) {
-  _internal_metadata_.MergeFrom(from._internal_metadata_);
-  id_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  if (from.id().size() > 0) {
-    id_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.id_);
-  }
-  name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  if (from.name().size() > 0) {
-    name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.name_);
-  }
-  // @@protoc_insertion_point(copy_constructor:rtype)
-}
-
-void rtype::SharedCtor() {
-  id_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-
-rtype::~rtype() {
-  // @@protoc_insertion_point(destructor:rtype)
-  SharedDtor();
-}
-
-void rtype::SharedDtor() {
-  id_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  name_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-
-void rtype::SetCachedSize(int size) const {
-  _cached_size_.Set(size);
-}
-const ::google::protobuf::Descriptor* rtype::descriptor() {
-  ::protobuf_login_2eproto::protobuf_AssignDescriptorsOnce();
-  return ::protobuf_login_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
-}
-
-const rtype& rtype::default_instance() {
-  ::google::protobuf::internal::InitSCC(&protobuf_login_2eproto::scc_info_rtype.base);
-  return *internal_default_instance();
-}
-
-
-void rtype::Clear() {
-// @@protoc_insertion_point(message_clear_start:rtype)
-  ::google::protobuf::uint32 cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
-
-  detail_.Clear();
-  id_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  _internal_metadata_.Clear();
-}
-
-bool rtype::MergePartialFromCodedStream(
-    ::google::protobuf::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
-  ::google::protobuf::uint32 tag;
-  // @@protoc_insertion_point(parse_start:rtype)
-  for (;;) {
-    ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
-    tag = p.first;
-    if (!p.second) goto handle_unusual;
-    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
-      // string id = 1;
-      case 1: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
-          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
-                input, this->mutable_id()));
-          DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
-            this->id().data(), static_cast<int>(this->id().length()),
-            ::google::protobuf::internal::WireFormatLite::PARSE,
-            "rtype.id"));
-        } else {
-          goto handle_unusual;
-        }
-        break;
-      }
-
-      // string name = 2;
-      case 2: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
-          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
-                input, this->mutable_name()));
-          DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
-            this->name().data(), static_cast<int>(this->name().length()),
-            ::google::protobuf::internal::WireFormatLite::PARSE,
-            "rtype.name"));
-        } else {
-          goto handle_unusual;
-        }
-        break;
-      }
-
-      // repeated .rdetail detail = 3;
-      case 3: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(26u /* 26 & 0xFF */)) {
-          DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
-                input, add_detail()));
-        } else {
-          goto handle_unusual;
-        }
-        break;
-      }
-
-      default: {
-      handle_unusual:
-        if (tag == 0) {
-          goto success;
-        }
-        DO_(::google::protobuf::internal::WireFormat::SkipField(
-              input, tag, _internal_metadata_.mutable_unknown_fields()));
-        break;
-      }
-    }
-  }
-success:
-  // @@protoc_insertion_point(parse_success:rtype)
-  return true;
-failure:
-  // @@protoc_insertion_point(parse_failure:rtype)
-  return false;
-#undef DO_
-}
-
-void rtype::SerializeWithCachedSizes(
-    ::google::protobuf::io::CodedOutputStream* output) const {
-  // @@protoc_insertion_point(serialize_start:rtype)
-  ::google::protobuf::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  // string id = 1;
-  if (this->id().size() > 0) {
-    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
-      this->id().data(), static_cast<int>(this->id().length()),
-      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
-      "rtype.id");
-    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
-      1, this->id(), output);
-  }
-
-  // string name = 2;
-  if (this->name().size() > 0) {
-    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
-      this->name().data(), static_cast<int>(this->name().length()),
-      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
-      "rtype.name");
-    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
-      2, this->name(), output);
-  }
-
-  // repeated .rdetail detail = 3;
-  for (unsigned int i = 0,
-      n = static_cast<unsigned int>(this->detail_size()); i < n; i++) {
-    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
-      3,
-      this->detail(static_cast<int>(i)),
-      output);
-  }
-
-  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
-    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
-        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), output);
-  }
-  // @@protoc_insertion_point(serialize_end:rtype)
-}
-
-::google::protobuf::uint8* rtype::InternalSerializeWithCachedSizesToArray(
-    bool deterministic, ::google::protobuf::uint8* target) const {
-  (void)deterministic; // Unused
-  // @@protoc_insertion_point(serialize_to_array_start:rtype)
-  ::google::protobuf::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  // string id = 1;
-  if (this->id().size() > 0) {
-    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
-      this->id().data(), static_cast<int>(this->id().length()),
-      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
-      "rtype.id");
-    target =
-      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
-        1, this->id(), target);
-  }
-
-  // string name = 2;
-  if (this->name().size() > 0) {
-    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
-      this->name().data(), static_cast<int>(this->name().length()),
-      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
-      "rtype.name");
-    target =
-      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
-        2, this->name(), target);
-  }
-
-  // repeated .rdetail detail = 3;
-  for (unsigned int i = 0,
-      n = static_cast<unsigned int>(this->detail_size()); i < n; i++) {
-    target = ::google::protobuf::internal::WireFormatLite::
-      InternalWriteMessageToArray(
-        3, this->detail(static_cast<int>(i)), deterministic, target);
-  }
-
-  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
-    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
-        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), target);
-  }
-  // @@protoc_insertion_point(serialize_to_array_end:rtype)
-  return target;
-}
-
-size_t rtype::ByteSizeLong() const {
-// @@protoc_insertion_point(message_byte_size_start:rtype)
-  size_t total_size = 0;
-
-  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
-    total_size +=
-      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
-        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()));
-  }
-  // repeated .rdetail detail = 3;
-  {
-    unsigned int count = static_cast<unsigned int>(this->detail_size());
-    total_size += 1UL * count;
-    for (unsigned int i = 0; i < count; i++) {
-      total_size +=
-        ::google::protobuf::internal::WireFormatLite::MessageSize(
-          this->detail(static_cast<int>(i)));
-    }
-  }
-
-  // string id = 1;
-  if (this->id().size() > 0) {
-    total_size += 1 +
-      ::google::protobuf::internal::WireFormatLite::StringSize(
-        this->id());
-  }
-
-  // string name = 2;
-  if (this->name().size() > 0) {
-    total_size += 1 +
-      ::google::protobuf::internal::WireFormatLite::StringSize(
-        this->name());
-  }
-
-  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
-  SetCachedSize(cached_size);
-  return total_size;
-}
-
-void rtype::MergeFrom(const ::google::protobuf::Message& from) {
-// @@protoc_insertion_point(generalized_merge_from_start:rtype)
-  GOOGLE_DCHECK_NE(&from, this);
-  const rtype* source =
-      ::google::protobuf::internal::DynamicCastToGenerated<const rtype>(
-          &from);
-  if (source == NULL) {
-  // @@protoc_insertion_point(generalized_merge_from_cast_fail:rtype)
-    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
-  } else {
-  // @@protoc_insertion_point(generalized_merge_from_cast_success:rtype)
-    MergeFrom(*source);
-  }
-}
-
-void rtype::MergeFrom(const rtype& from) {
-// @@protoc_insertion_point(class_specific_merge_from_start:rtype)
-  GOOGLE_DCHECK_NE(&from, this);
-  _internal_metadata_.MergeFrom(from._internal_metadata_);
-  ::google::protobuf::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  detail_.MergeFrom(from.detail_);
-  if (from.id().size() > 0) {
-
-    id_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.id_);
-  }
-  if (from.name().size() > 0) {
-
-    name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.name_);
-  }
-}
-
-void rtype::CopyFrom(const ::google::protobuf::Message& from) {
-// @@protoc_insertion_point(generalized_copy_from_start:rtype)
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-void rtype::CopyFrom(const rtype& from) {
-// @@protoc_insertion_point(class_specific_copy_from_start:rtype)
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-bool rtype::IsInitialized() const {
-  return true;
-}
-
-void rtype::Swap(rtype* other) {
-  if (other == this) return;
-  InternalSwap(other);
-}
-void rtype::InternalSwap(rtype* other) {
-  using std::swap;
-  CastToBase(&detail_)->InternalSwap(CastToBase(&other->detail_));
-  id_.Swap(&other->id_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(),
-    GetArenaNoVirtual());
-  name_.Swap(&other->name_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(),
-    GetArenaNoVirtual());
-  _internal_metadata_.Swap(&other->_internal_metadata_);
-}
-
-::google::protobuf::Metadata rtype::GetMetadata() const {
-  protobuf_login_2eproto::protobuf_AssignDescriptorsOnce();
-  return ::protobuf_login_2eproto::file_level_metadata[kIndexInFileMessages];
-}
-
-
-// ===================================================================
-
-void rdetail::InitAsDefaultInstance() {
-}
-#if !defined(_MSC_VER) || _MSC_VER >= 1900
-const int rdetail::kIdFieldNumber;
-const int rdetail::kNameFieldNumber;
-const int rdetail::kContentFieldNumber;
-#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
-
-rdetail::rdetail()
-  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
-  ::google::protobuf::internal::InitSCC(
-      &protobuf_login_2eproto::scc_info_rdetail.base);
-  SharedCtor();
-  // @@protoc_insertion_point(constructor:rdetail)
-}
-rdetail::rdetail(const rdetail& from)
-  : ::google::protobuf::Message(),
-      _internal_metadata_(NULL) {
-  _internal_metadata_.MergeFrom(from._internal_metadata_);
-  id_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  if (from.id().size() > 0) {
-    id_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.id_);
-  }
-  name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  if (from.name().size() > 0) {
-    name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.name_);
-  }
-  content_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  if (from.content().size() > 0) {
-    content_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.content_);
-  }
-  // @@protoc_insertion_point(copy_constructor:rdetail)
-}
-
-void rdetail::SharedCtor() {
-  id_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  content_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-
-rdetail::~rdetail() {
-  // @@protoc_insertion_point(destructor:rdetail)
-  SharedDtor();
-}
-
-void rdetail::SharedDtor() {
-  id_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  name_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  content_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-
-void rdetail::SetCachedSize(int size) const {
-  _cached_size_.Set(size);
-}
-const ::google::protobuf::Descriptor* rdetail::descriptor() {
-  ::protobuf_login_2eproto::protobuf_AssignDescriptorsOnce();
-  return ::protobuf_login_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
-}
-
-const rdetail& rdetail::default_instance() {
-  ::google::protobuf::internal::InitSCC(&protobuf_login_2eproto::scc_info_rdetail.base);
-  return *internal_default_instance();
-}
-
-
-void rdetail::Clear() {
-// @@protoc_insertion_point(message_clear_start:rdetail)
-  ::google::protobuf::uint32 cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
-
-  id_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  content_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-  _internal_metadata_.Clear();
-}
-
-bool rdetail::MergePartialFromCodedStream(
-    ::google::protobuf::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
-  ::google::protobuf::uint32 tag;
-  // @@protoc_insertion_point(parse_start:rdetail)
-  for (;;) {
-    ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
-    tag = p.first;
-    if (!p.second) goto handle_unusual;
-    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
-      // string id = 1;
-      case 1: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
-          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
-                input, this->mutable_id()));
-          DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
-            this->id().data(), static_cast<int>(this->id().length()),
-            ::google::protobuf::internal::WireFormatLite::PARSE,
-            "rdetail.id"));
-        } else {
-          goto handle_unusual;
-        }
-        break;
-      }
-
-      // string name = 2;
-      case 2: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
-          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
-                input, this->mutable_name()));
-          DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
-            this->name().data(), static_cast<int>(this->name().length()),
-            ::google::protobuf::internal::WireFormatLite::PARSE,
-            "rdetail.name"));
-        } else {
-          goto handle_unusual;
-        }
-        break;
-      }
-
-      // string content = 3;
-      case 3: {
-        if (static_cast< ::google::protobuf::uint8>(tag) ==
-            static_cast< ::google::protobuf::uint8>(26u /* 26 & 0xFF */)) {
-          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
-                input, this->mutable_content()));
-          DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
-            this->content().data(), static_cast<int>(this->content().length()),
-            ::google::protobuf::internal::WireFormatLite::PARSE,
-            "rdetail.content"));
-        } else {
-          goto handle_unusual;
-        }
-        break;
-      }
-
-      default: {
-      handle_unusual:
-        if (tag == 0) {
-          goto success;
-        }
-        DO_(::google::protobuf::internal::WireFormat::SkipField(
-              input, tag, _internal_metadata_.mutable_unknown_fields()));
-        break;
-      }
-    }
-  }
-success:
-  // @@protoc_insertion_point(parse_success:rdetail)
-  return true;
-failure:
-  // @@protoc_insertion_point(parse_failure:rdetail)
-  return false;
-#undef DO_
-}
-
-void rdetail::SerializeWithCachedSizes(
-    ::google::protobuf::io::CodedOutputStream* output) const {
-  // @@protoc_insertion_point(serialize_start:rdetail)
-  ::google::protobuf::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  // string id = 1;
-  if (this->id().size() > 0) {
-    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
-      this->id().data(), static_cast<int>(this->id().length()),
-      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
-      "rdetail.id");
-    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
-      1, this->id(), output);
-  }
-
-  // string name = 2;
-  if (this->name().size() > 0) {
-    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
-      this->name().data(), static_cast<int>(this->name().length()),
-      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
-      "rdetail.name");
-    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
-      2, this->name(), output);
-  }
-
-  // string content = 3;
-  if (this->content().size() > 0) {
-    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
-      this->content().data(), static_cast<int>(this->content().length()),
-      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
-      "rdetail.content");
-    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
-      3, this->content(), output);
-  }
-
-  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
-    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
-        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), output);
-  }
-  // @@protoc_insertion_point(serialize_end:rdetail)
-}
-
-::google::protobuf::uint8* rdetail::InternalSerializeWithCachedSizesToArray(
-    bool deterministic, ::google::protobuf::uint8* target) const {
-  (void)deterministic; // Unused
-  // @@protoc_insertion_point(serialize_to_array_start:rdetail)
-  ::google::protobuf::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  // string id = 1;
-  if (this->id().size() > 0) {
-    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
-      this->id().data(), static_cast<int>(this->id().length()),
-      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
-      "rdetail.id");
-    target =
-      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
-        1, this->id(), target);
-  }
-
-  // string name = 2;
-  if (this->name().size() > 0) {
-    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
-      this->name().data(), static_cast<int>(this->name().length()),
-      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
-      "rdetail.name");
-    target =
-      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
-        2, this->name(), target);
-  }
-
-  // string content = 3;
-  if (this->content().size() > 0) {
-    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
-      this->content().data(), static_cast<int>(this->content().length()),
-      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
-      "rdetail.content");
-    target =
-      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
-        3, this->content(), target);
-  }
-
-  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
-    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
-        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), target);
-  }
-  // @@protoc_insertion_point(serialize_to_array_end:rdetail)
-  return target;
-}
-
-size_t rdetail::ByteSizeLong() const {
-// @@protoc_insertion_point(message_byte_size_start:rdetail)
-  size_t total_size = 0;
-
-  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
-    total_size +=
-      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
-        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()));
-  }
-  // string id = 1;
-  if (this->id().size() > 0) {
-    total_size += 1 +
-      ::google::protobuf::internal::WireFormatLite::StringSize(
-        this->id());
-  }
-
-  // string name = 2;
-  if (this->name().size() > 0) {
-    total_size += 1 +
-      ::google::protobuf::internal::WireFormatLite::StringSize(
-        this->name());
-  }
-
-  // string content = 3;
-  if (this->content().size() > 0) {
-    total_size += 1 +
-      ::google::protobuf::internal::WireFormatLite::StringSize(
-        this->content());
-  }
-
-  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
-  SetCachedSize(cached_size);
-  return total_size;
-}
-
-void rdetail::MergeFrom(const ::google::protobuf::Message& from) {
-// @@protoc_insertion_point(generalized_merge_from_start:rdetail)
-  GOOGLE_DCHECK_NE(&from, this);
-  const rdetail* source =
-      ::google::protobuf::internal::DynamicCastToGenerated<const rdetail>(
-          &from);
-  if (source == NULL) {
-  // @@protoc_insertion_point(generalized_merge_from_cast_fail:rdetail)
-    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
-  } else {
-  // @@protoc_insertion_point(generalized_merge_from_cast_success:rdetail)
-    MergeFrom(*source);
-  }
-}
-
-void rdetail::MergeFrom(const rdetail& from) {
-// @@protoc_insertion_point(class_specific_merge_from_start:rdetail)
-  GOOGLE_DCHECK_NE(&from, this);
-  _internal_metadata_.MergeFrom(from._internal_metadata_);
-  ::google::protobuf::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  if (from.id().size() > 0) {
-
-    id_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.id_);
-  }
-  if (from.name().size() > 0) {
-
-    name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.name_);
-  }
-  if (from.content().size() > 0) {
-
-    content_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.content_);
-  }
-}
-
-void rdetail::CopyFrom(const ::google::protobuf::Message& from) {
-// @@protoc_insertion_point(generalized_copy_from_start:rdetail)
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-void rdetail::CopyFrom(const rdetail& from) {
-// @@protoc_insertion_point(class_specific_copy_from_start:rdetail)
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-bool rdetail::IsInitialized() const {
-  return true;
-}
-
-void rdetail::Swap(rdetail* other) {
-  if (other == this) return;
-  InternalSwap(other);
-}
-void rdetail::InternalSwap(rdetail* other) {
-  using std::swap;
-  id_.Swap(&other->id_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(),
-    GetArenaNoVirtual());
-  name_.Swap(&other->name_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(),
-    GetArenaNoVirtual());
-  content_.Swap(&other->content_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(),
-    GetArenaNoVirtual());
-  _internal_metadata_.Swap(&other->_internal_metadata_);
-}
-
-::google::protobuf::Metadata rdetail::GetMetadata() const {
-  protobuf_login_2eproto::protobuf_AssignDescriptorsOnce();
-  return ::protobuf_login_2eproto::file_level_metadata[kIndexInFileMessages];
-}
-
-
-// @@protoc_insertion_point(namespace_scope)
-namespace google {
-namespace protobuf {
-template<> GOOGLE_PROTOBUF_ATTRIBUTE_NOINLINE ::login* Arena::CreateMaybeMessage< ::login >(Arena* arena) {
-  return Arena::CreateInternal< ::login >(arena);
-}
-template<> GOOGLE_PROTOBUF_ATTRIBUTE_NOINLINE ::userInfo* Arena::CreateMaybeMessage< ::userInfo >(Arena* arena) {
-  return Arena::CreateInternal< ::userInfo >(arena);
-}
-template<> GOOGLE_PROTOBUF_ATTRIBUTE_NOINLINE ::rtype* Arena::CreateMaybeMessage< ::rtype >(Arena* arena) {
-  return Arena::CreateInternal< ::rtype >(arena);
-}
-template<> GOOGLE_PROTOBUF_ATTRIBUTE_NOINLINE ::rdetail* Arena::CreateMaybeMessage< ::rdetail >(Arena* arena) {
-  return Arena::CreateInternal< ::rdetail >(arena);
-}
-}  // namespace protobuf
-}  // namespace google
-
-// @@protoc_insertion_point(global_scope)

+ 0 - 1346
source/hook/pb/login.pb.h

@@ -1,1346 +0,0 @@
-// Generated by the protocol buffer compiler.  DO NOT EDIT!
-// source: login.proto
-
-#ifndef PROTOBUF_INCLUDED_login_2eproto
-#define PROTOBUF_INCLUDED_login_2eproto
-
-#include <string>
-
-#include <google/protobuf/stubs/common.h>
-
-#if GOOGLE_PROTOBUF_VERSION < 3006001
-#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
-#if 3006001 < GOOGLE_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
-
-#include <google/protobuf/io/coded_stream.h>
-#include <google/protobuf/arena.h>
-#include <google/protobuf/arenastring.h>
-#include <google/protobuf/generated_message_table_driven.h>
-#include <google/protobuf/generated_message_util.h>
-#include <google/protobuf/inlined_string_field.h>
-#include <google/protobuf/metadata.h>
-#include <google/protobuf/message.h>
-#include <google/protobuf/repeated_field.h>  // IWYU pragma: export
-#include <google/protobuf/extension_set.h>  // IWYU pragma: export
-#include <google/protobuf/unknown_field_set.h>
-// @@protoc_insertion_point(includes)
-#define PROTOBUF_INTERNAL_EXPORT_protobuf_login_2eproto 
-
-namespace protobuf_login_2eproto {
-// Internal implementation detail -- do not use these members.
-struct TableStruct {
-  static const ::google::protobuf::internal::ParseTableField entries[];
-  static const ::google::protobuf::internal::AuxillaryParseTableField aux[];
-  static const ::google::protobuf::internal::ParseTable schema[4];
-  static const ::google::protobuf::internal::FieldMetadata field_metadata[];
-  static const ::google::protobuf::internal::SerializationTable serialization_table[];
-  static const ::google::protobuf::uint32 offsets[];
-};
-void AddDescriptors();
-}  // namespace protobuf_login_2eproto
-class login;
-class loginDefaultTypeInternal;
-extern loginDefaultTypeInternal _login_default_instance_;
-class rdetail;
-class rdetailDefaultTypeInternal;
-extern rdetailDefaultTypeInternal _rdetail_default_instance_;
-class rtype;
-class rtypeDefaultTypeInternal;
-extern rtypeDefaultTypeInternal _rtype_default_instance_;
-class userInfo;
-class userInfoDefaultTypeInternal;
-extern userInfoDefaultTypeInternal _userInfo_default_instance_;
-namespace google {
-namespace protobuf {
-template<> ::login* Arena::CreateMaybeMessage<::login>(Arena*);
-template<> ::rdetail* Arena::CreateMaybeMessage<::rdetail>(Arena*);
-template<> ::rtype* Arena::CreateMaybeMessage<::rtype>(Arena*);
-template<> ::userInfo* Arena::CreateMaybeMessage<::userInfo>(Arena*);
-}  // namespace protobuf
-}  // namespace google
-
-// ===================================================================
-
-class login : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:login) */ {
- public:
-  login();
-  virtual ~login();
-
-  login(const login& from);
-
-  inline login& operator=(const login& from) {
-    CopyFrom(from);
-    return *this;
-  }
-  #if LANG_CXX11
-  login(login&& from) noexcept
-    : login() {
-    *this = ::std::move(from);
-  }
-
-  inline login& operator=(login&& from) noexcept {
-    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
-      if (this != &from) InternalSwap(&from);
-    } else {
-      CopyFrom(from);
-    }
-    return *this;
-  }
-  #endif
-  static const ::google::protobuf::Descriptor* descriptor();
-  static const login& default_instance();
-
-  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
-  static inline const login* internal_default_instance() {
-    return reinterpret_cast<const login*>(
-               &_login_default_instance_);
-  }
-  static constexpr int kIndexInFileMessages =
-    0;
-
-  void Swap(login* other);
-  friend void swap(login& a, login& b) {
-    a.Swap(&b);
-  }
-
-  // implements Message ----------------------------------------------
-
-  inline login* New() const final {
-    return CreateMaybeMessage<login>(NULL);
-  }
-
-  login* New(::google::protobuf::Arena* arena) const final {
-    return CreateMaybeMessage<login>(arena);
-  }
-  void CopyFrom(const ::google::protobuf::Message& from) final;
-  void MergeFrom(const ::google::protobuf::Message& from) final;
-  void CopyFrom(const login& from);
-  void MergeFrom(const login& from);
-  void Clear() final;
-  bool IsInitialized() const final;
-
-  size_t ByteSizeLong() const final;
-  bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input) final;
-  void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const final;
-  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
-      bool deterministic, ::google::protobuf::uint8* target) const final;
-  int GetCachedSize() const final { return _cached_size_.Get(); }
-
-  private:
-  void SharedCtor();
-  void SharedDtor();
-  void SetCachedSize(int size) const final;
-  void InternalSwap(login* other);
-  private:
-  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
-    return NULL;
-  }
-  inline void* MaybeArenaPtr() const {
-    return NULL;
-  }
-  public:
-
-  ::google::protobuf::Metadata GetMetadata() const final;
-
-  // nested types ----------------------------------------------------
-
-  // accessors -------------------------------------------------------
-
-  // string phone = 1;
-  void clear_phone();
-  static const int kPhoneFieldNumber = 1;
-  const ::std::string& phone() const;
-  void set_phone(const ::std::string& value);
-  #if LANG_CXX11
-  void set_phone(::std::string&& value);
-  #endif
-  void set_phone(const char* value);
-  void set_phone(const char* value, size_t size);
-  ::std::string* mutable_phone();
-  ::std::string* release_phone();
-  void set_allocated_phone(::std::string* phone);
-
-  // string passwrod = 2;
-  void clear_passwrod();
-  static const int kPasswrodFieldNumber = 2;
-  const ::std::string& passwrod() const;
-  void set_passwrod(const ::std::string& value);
-  #if LANG_CXX11
-  void set_passwrod(::std::string&& value);
-  #endif
-  void set_passwrod(const char* value);
-  void set_passwrod(const char* value, size_t size);
-  ::std::string* mutable_passwrod();
-  ::std::string* release_passwrod();
-  void set_allocated_passwrod(::std::string* passwrod);
-
-  // string macAddr = 3;
-  void clear_macaddr();
-  static const int kMacAddrFieldNumber = 3;
-  const ::std::string& macaddr() const;
-  void set_macaddr(const ::std::string& value);
-  #if LANG_CXX11
-  void set_macaddr(::std::string&& value);
-  #endif
-  void set_macaddr(const char* value);
-  void set_macaddr(const char* value, size_t size);
-  ::std::string* mutable_macaddr();
-  ::std::string* release_macaddr();
-  void set_allocated_macaddr(::std::string* macaddr);
-
-  // @@protoc_insertion_point(class_scope:login)
- private:
-
-  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
-  ::google::protobuf::internal::ArenaStringPtr phone_;
-  ::google::protobuf::internal::ArenaStringPtr passwrod_;
-  ::google::protobuf::internal::ArenaStringPtr macaddr_;
-  mutable ::google::protobuf::internal::CachedSize _cached_size_;
-  friend struct ::protobuf_login_2eproto::TableStruct;
-};
-// -------------------------------------------------------------------
-
-class userInfo : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:userInfo) */ {
- public:
-  userInfo();
-  virtual ~userInfo();
-
-  userInfo(const userInfo& from);
-
-  inline userInfo& operator=(const userInfo& from) {
-    CopyFrom(from);
-    return *this;
-  }
-  #if LANG_CXX11
-  userInfo(userInfo&& from) noexcept
-    : userInfo() {
-    *this = ::std::move(from);
-  }
-
-  inline userInfo& operator=(userInfo&& from) noexcept {
-    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
-      if (this != &from) InternalSwap(&from);
-    } else {
-      CopyFrom(from);
-    }
-    return *this;
-  }
-  #endif
-  static const ::google::protobuf::Descriptor* descriptor();
-  static const userInfo& default_instance();
-
-  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
-  static inline const userInfo* internal_default_instance() {
-    return reinterpret_cast<const userInfo*>(
-               &_userInfo_default_instance_);
-  }
-  static constexpr int kIndexInFileMessages =
-    1;
-
-  void Swap(userInfo* other);
-  friend void swap(userInfo& a, userInfo& b) {
-    a.Swap(&b);
-  }
-
-  // implements Message ----------------------------------------------
-
-  inline userInfo* New() const final {
-    return CreateMaybeMessage<userInfo>(NULL);
-  }
-
-  userInfo* New(::google::protobuf::Arena* arena) const final {
-    return CreateMaybeMessage<userInfo>(arena);
-  }
-  void CopyFrom(const ::google::protobuf::Message& from) final;
-  void MergeFrom(const ::google::protobuf::Message& from) final;
-  void CopyFrom(const userInfo& from);
-  void MergeFrom(const userInfo& from);
-  void Clear() final;
-  bool IsInitialized() const final;
-
-  size_t ByteSizeLong() const final;
-  bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input) final;
-  void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const final;
-  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
-      bool deterministic, ::google::protobuf::uint8* target) const final;
-  int GetCachedSize() const final { return _cached_size_.Get(); }
-
-  private:
-  void SharedCtor();
-  void SharedDtor();
-  void SetCachedSize(int size) const final;
-  void InternalSwap(userInfo* other);
-  private:
-  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
-    return NULL;
-  }
-  inline void* MaybeArenaPtr() const {
-    return NULL;
-  }
-  public:
-
-  ::google::protobuf::Metadata GetMetadata() const final;
-
-  // nested types ----------------------------------------------------
-
-  // accessors -------------------------------------------------------
-
-  // repeated .rtype reply = 5;
-  int reply_size() const;
-  void clear_reply();
-  static const int kReplyFieldNumber = 5;
-  ::rtype* mutable_reply(int index);
-  ::google::protobuf::RepeatedPtrField< ::rtype >*
-      mutable_reply();
-  const ::rtype& reply(int index) const;
-  ::rtype* add_reply();
-  const ::google::protobuf::RepeatedPtrField< ::rtype >&
-      reply() const;
-
-  // string id = 1;
-  void clear_id();
-  static const int kIdFieldNumber = 1;
-  const ::std::string& id() const;
-  void set_id(const ::std::string& value);
-  #if LANG_CXX11
-  void set_id(::std::string&& value);
-  #endif
-  void set_id(const char* value);
-  void set_id(const char* value, size_t size);
-  ::std::string* mutable_id();
-  ::std::string* release_id();
-  void set_allocated_id(::std::string* id);
-
-  // string name = 2;
-  void clear_name();
-  static const int kNameFieldNumber = 2;
-  const ::std::string& name() const;
-  void set_name(const ::std::string& value);
-  #if LANG_CXX11
-  void set_name(::std::string&& value);
-  #endif
-  void set_name(const char* value);
-  void set_name(const char* value, size_t size);
-  ::std::string* mutable_name();
-  ::std::string* release_name();
-  void set_allocated_name(::std::string* name);
-
-  // string phone = 4;
-  void clear_phone();
-  static const int kPhoneFieldNumber = 4;
-  const ::std::string& phone() const;
-  void set_phone(const ::std::string& value);
-  #if LANG_CXX11
-  void set_phone(::std::string&& value);
-  #endif
-  void set_phone(const char* value);
-  void set_phone(const char* value, size_t size);
-  ::std::string* mutable_phone();
-  ::std::string* release_phone();
-  void set_allocated_phone(::std::string* phone);
-
-  // bool gender = 3;
-  void clear_gender();
-  static const int kGenderFieldNumber = 3;
-  bool gender() const;
-  void set_gender(bool value);
-
-  // @@protoc_insertion_point(class_scope:userInfo)
- private:
-
-  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
-  ::google::protobuf::RepeatedPtrField< ::rtype > reply_;
-  ::google::protobuf::internal::ArenaStringPtr id_;
-  ::google::protobuf::internal::ArenaStringPtr name_;
-  ::google::protobuf::internal::ArenaStringPtr phone_;
-  bool gender_;
-  mutable ::google::protobuf::internal::CachedSize _cached_size_;
-  friend struct ::protobuf_login_2eproto::TableStruct;
-};
-// -------------------------------------------------------------------
-
-class rtype : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:rtype) */ {
- public:
-  rtype();
-  virtual ~rtype();
-
-  rtype(const rtype& from);
-
-  inline rtype& operator=(const rtype& from) {
-    CopyFrom(from);
-    return *this;
-  }
-  #if LANG_CXX11
-  rtype(rtype&& from) noexcept
-    : rtype() {
-    *this = ::std::move(from);
-  }
-
-  inline rtype& operator=(rtype&& from) noexcept {
-    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
-      if (this != &from) InternalSwap(&from);
-    } else {
-      CopyFrom(from);
-    }
-    return *this;
-  }
-  #endif
-  static const ::google::protobuf::Descriptor* descriptor();
-  static const rtype& default_instance();
-
-  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
-  static inline const rtype* internal_default_instance() {
-    return reinterpret_cast<const rtype*>(
-               &_rtype_default_instance_);
-  }
-  static constexpr int kIndexInFileMessages =
-    2;
-
-  void Swap(rtype* other);
-  friend void swap(rtype& a, rtype& b) {
-    a.Swap(&b);
-  }
-
-  // implements Message ----------------------------------------------
-
-  inline rtype* New() const final {
-    return CreateMaybeMessage<rtype>(NULL);
-  }
-
-  rtype* New(::google::protobuf::Arena* arena) const final {
-    return CreateMaybeMessage<rtype>(arena);
-  }
-  void CopyFrom(const ::google::protobuf::Message& from) final;
-  void MergeFrom(const ::google::protobuf::Message& from) final;
-  void CopyFrom(const rtype& from);
-  void MergeFrom(const rtype& from);
-  void Clear() final;
-  bool IsInitialized() const final;
-
-  size_t ByteSizeLong() const final;
-  bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input) final;
-  void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const final;
-  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
-      bool deterministic, ::google::protobuf::uint8* target) const final;
-  int GetCachedSize() const final { return _cached_size_.Get(); }
-
-  private:
-  void SharedCtor();
-  void SharedDtor();
-  void SetCachedSize(int size) const final;
-  void InternalSwap(rtype* other);
-  private:
-  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
-    return NULL;
-  }
-  inline void* MaybeArenaPtr() const {
-    return NULL;
-  }
-  public:
-
-  ::google::protobuf::Metadata GetMetadata() const final;
-
-  // nested types ----------------------------------------------------
-
-  // accessors -------------------------------------------------------
-
-  // repeated .rdetail detail = 3;
-  int detail_size() const;
-  void clear_detail();
-  static const int kDetailFieldNumber = 3;
-  ::rdetail* mutable_detail(int index);
-  ::google::protobuf::RepeatedPtrField< ::rdetail >*
-      mutable_detail();
-  const ::rdetail& detail(int index) const;
-  ::rdetail* add_detail();
-  const ::google::protobuf::RepeatedPtrField< ::rdetail >&
-      detail() const;
-
-  // string id = 1;
-  void clear_id();
-  static const int kIdFieldNumber = 1;
-  const ::std::string& id() const;
-  void set_id(const ::std::string& value);
-  #if LANG_CXX11
-  void set_id(::std::string&& value);
-  #endif
-  void set_id(const char* value);
-  void set_id(const char* value, size_t size);
-  ::std::string* mutable_id();
-  ::std::string* release_id();
-  void set_allocated_id(::std::string* id);
-
-  // string name = 2;
-  void clear_name();
-  static const int kNameFieldNumber = 2;
-  const ::std::string& name() const;
-  void set_name(const ::std::string& value);
-  #if LANG_CXX11
-  void set_name(::std::string&& value);
-  #endif
-  void set_name(const char* value);
-  void set_name(const char* value, size_t size);
-  ::std::string* mutable_name();
-  ::std::string* release_name();
-  void set_allocated_name(::std::string* name);
-
-  // @@protoc_insertion_point(class_scope:rtype)
- private:
-
-  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
-  ::google::protobuf::RepeatedPtrField< ::rdetail > detail_;
-  ::google::protobuf::internal::ArenaStringPtr id_;
-  ::google::protobuf::internal::ArenaStringPtr name_;
-  mutable ::google::protobuf::internal::CachedSize _cached_size_;
-  friend struct ::protobuf_login_2eproto::TableStruct;
-};
-// -------------------------------------------------------------------
-
-class rdetail : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:rdetail) */ {
- public:
-  rdetail();
-  virtual ~rdetail();
-
-  rdetail(const rdetail& from);
-
-  inline rdetail& operator=(const rdetail& from) {
-    CopyFrom(from);
-    return *this;
-  }
-  #if LANG_CXX11
-  rdetail(rdetail&& from) noexcept
-    : rdetail() {
-    *this = ::std::move(from);
-  }
-
-  inline rdetail& operator=(rdetail&& from) noexcept {
-    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
-      if (this != &from) InternalSwap(&from);
-    } else {
-      CopyFrom(from);
-    }
-    return *this;
-  }
-  #endif
-  static const ::google::protobuf::Descriptor* descriptor();
-  static const rdetail& default_instance();
-
-  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
-  static inline const rdetail* internal_default_instance() {
-    return reinterpret_cast<const rdetail*>(
-               &_rdetail_default_instance_);
-  }
-  static constexpr int kIndexInFileMessages =
-    3;
-
-  void Swap(rdetail* other);
-  friend void swap(rdetail& a, rdetail& b) {
-    a.Swap(&b);
-  }
-
-  // implements Message ----------------------------------------------
-
-  inline rdetail* New() const final {
-    return CreateMaybeMessage<rdetail>(NULL);
-  }
-
-  rdetail* New(::google::protobuf::Arena* arena) const final {
-    return CreateMaybeMessage<rdetail>(arena);
-  }
-  void CopyFrom(const ::google::protobuf::Message& from) final;
-  void MergeFrom(const ::google::protobuf::Message& from) final;
-  void CopyFrom(const rdetail& from);
-  void MergeFrom(const rdetail& from);
-  void Clear() final;
-  bool IsInitialized() const final;
-
-  size_t ByteSizeLong() const final;
-  bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input) final;
-  void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const final;
-  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
-      bool deterministic, ::google::protobuf::uint8* target) const final;
-  int GetCachedSize() const final { return _cached_size_.Get(); }
-
-  private:
-  void SharedCtor();
-  void SharedDtor();
-  void SetCachedSize(int size) const final;
-  void InternalSwap(rdetail* other);
-  private:
-  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
-    return NULL;
-  }
-  inline void* MaybeArenaPtr() const {
-    return NULL;
-  }
-  public:
-
-  ::google::protobuf::Metadata GetMetadata() const final;
-
-  // nested types ----------------------------------------------------
-
-  // accessors -------------------------------------------------------
-
-  // string id = 1;
-  void clear_id();
-  static const int kIdFieldNumber = 1;
-  const ::std::string& id() const;
-  void set_id(const ::std::string& value);
-  #if LANG_CXX11
-  void set_id(::std::string&& value);
-  #endif
-  void set_id(const char* value);
-  void set_id(const char* value, size_t size);
-  ::std::string* mutable_id();
-  ::std::string* release_id();
-  void set_allocated_id(::std::string* id);
-
-  // string name = 2;
-  void clear_name();
-  static const int kNameFieldNumber = 2;
-  const ::std::string& name() const;
-  void set_name(const ::std::string& value);
-  #if LANG_CXX11
-  void set_name(::std::string&& value);
-  #endif
-  void set_name(const char* value);
-  void set_name(const char* value, size_t size);
-  ::std::string* mutable_name();
-  ::std::string* release_name();
-  void set_allocated_name(::std::string* name);
-
-  // string content = 3;
-  void clear_content();
-  static const int kContentFieldNumber = 3;
-  const ::std::string& content() const;
-  void set_content(const ::std::string& value);
-  #if LANG_CXX11
-  void set_content(::std::string&& value);
-  #endif
-  void set_content(const char* value);
-  void set_content(const char* value, size_t size);
-  ::std::string* mutable_content();
-  ::std::string* release_content();
-  void set_allocated_content(::std::string* content);
-
-  // @@protoc_insertion_point(class_scope:rdetail)
- private:
-
-  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
-  ::google::protobuf::internal::ArenaStringPtr id_;
-  ::google::protobuf::internal::ArenaStringPtr name_;
-  ::google::protobuf::internal::ArenaStringPtr content_;
-  mutable ::google::protobuf::internal::CachedSize _cached_size_;
-  friend struct ::protobuf_login_2eproto::TableStruct;
-};
-// ===================================================================
-
-
-// ===================================================================
-
-#ifdef __GNUC__
-  #pragma GCC diagnostic push
-  #pragma GCC diagnostic ignored "-Wstrict-aliasing"
-#endif  // __GNUC__
-// login
-
-// string phone = 1;
-inline void login::clear_phone() {
-  phone_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-inline const ::std::string& login::phone() const {
-  // @@protoc_insertion_point(field_get:login.phone)
-  return phone_.GetNoArena();
-}
-inline void login::set_phone(const ::std::string& value) {
-  
-  phone_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
-  // @@protoc_insertion_point(field_set:login.phone)
-}
-#if LANG_CXX11
-inline void login::set_phone(::std::string&& value) {
-  
-  phone_.SetNoArena(
-    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
-  // @@protoc_insertion_point(field_set_rvalue:login.phone)
-}
-#endif
-inline void login::set_phone(const char* value) {
-  GOOGLE_DCHECK(value != NULL);
-  
-  phone_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
-  // @@protoc_insertion_point(field_set_char:login.phone)
-}
-inline void login::set_phone(const char* value, size_t size) {
-  
-  phone_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
-      ::std::string(reinterpret_cast<const char*>(value), size));
-  // @@protoc_insertion_point(field_set_pointer:login.phone)
-}
-inline ::std::string* login::mutable_phone() {
-  
-  // @@protoc_insertion_point(field_mutable:login.phone)
-  return phone_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-inline ::std::string* login::release_phone() {
-  // @@protoc_insertion_point(field_release:login.phone)
-  
-  return phone_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-inline void login::set_allocated_phone(::std::string* phone) {
-  if (phone != NULL) {
-    
-  } else {
-    
-  }
-  phone_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), phone);
-  // @@protoc_insertion_point(field_set_allocated:login.phone)
-}
-
-// string passwrod = 2;
-inline void login::clear_passwrod() {
-  passwrod_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-inline const ::std::string& login::passwrod() const {
-  // @@protoc_insertion_point(field_get:login.passwrod)
-  return passwrod_.GetNoArena();
-}
-inline void login::set_passwrod(const ::std::string& value) {
-  
-  passwrod_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
-  // @@protoc_insertion_point(field_set:login.passwrod)
-}
-#if LANG_CXX11
-inline void login::set_passwrod(::std::string&& value) {
-  
-  passwrod_.SetNoArena(
-    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
-  // @@protoc_insertion_point(field_set_rvalue:login.passwrod)
-}
-#endif
-inline void login::set_passwrod(const char* value) {
-  GOOGLE_DCHECK(value != NULL);
-  
-  passwrod_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
-  // @@protoc_insertion_point(field_set_char:login.passwrod)
-}
-inline void login::set_passwrod(const char* value, size_t size) {
-  
-  passwrod_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
-      ::std::string(reinterpret_cast<const char*>(value), size));
-  // @@protoc_insertion_point(field_set_pointer:login.passwrod)
-}
-inline ::std::string* login::mutable_passwrod() {
-  
-  // @@protoc_insertion_point(field_mutable:login.passwrod)
-  return passwrod_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-inline ::std::string* login::release_passwrod() {
-  // @@protoc_insertion_point(field_release:login.passwrod)
-  
-  return passwrod_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-inline void login::set_allocated_passwrod(::std::string* passwrod) {
-  if (passwrod != NULL) {
-    
-  } else {
-    
-  }
-  passwrod_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), passwrod);
-  // @@protoc_insertion_point(field_set_allocated:login.passwrod)
-}
-
-// string macAddr = 3;
-inline void login::clear_macaddr() {
-  macaddr_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-inline const ::std::string& login::macaddr() const {
-  // @@protoc_insertion_point(field_get:login.macAddr)
-  return macaddr_.GetNoArena();
-}
-inline void login::set_macaddr(const ::std::string& value) {
-  
-  macaddr_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
-  // @@protoc_insertion_point(field_set:login.macAddr)
-}
-#if LANG_CXX11
-inline void login::set_macaddr(::std::string&& value) {
-  
-  macaddr_.SetNoArena(
-    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
-  // @@protoc_insertion_point(field_set_rvalue:login.macAddr)
-}
-#endif
-inline void login::set_macaddr(const char* value) {
-  GOOGLE_DCHECK(value != NULL);
-  
-  macaddr_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
-  // @@protoc_insertion_point(field_set_char:login.macAddr)
-}
-inline void login::set_macaddr(const char* value, size_t size) {
-  
-  macaddr_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
-      ::std::string(reinterpret_cast<const char*>(value), size));
-  // @@protoc_insertion_point(field_set_pointer:login.macAddr)
-}
-inline ::std::string* login::mutable_macaddr() {
-  
-  // @@protoc_insertion_point(field_mutable:login.macAddr)
-  return macaddr_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-inline ::std::string* login::release_macaddr() {
-  // @@protoc_insertion_point(field_release:login.macAddr)
-  
-  return macaddr_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-inline void login::set_allocated_macaddr(::std::string* macaddr) {
-  if (macaddr != NULL) {
-    
-  } else {
-    
-  }
-  macaddr_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), macaddr);
-  // @@protoc_insertion_point(field_set_allocated:login.macAddr)
-}
-
-// -------------------------------------------------------------------
-
-// userInfo
-
-// string id = 1;
-inline void userInfo::clear_id() {
-  id_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-inline const ::std::string& userInfo::id() const {
-  // @@protoc_insertion_point(field_get:userInfo.id)
-  return id_.GetNoArena();
-}
-inline void userInfo::set_id(const ::std::string& value) {
-  
-  id_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
-  // @@protoc_insertion_point(field_set:userInfo.id)
-}
-#if LANG_CXX11
-inline void userInfo::set_id(::std::string&& value) {
-  
-  id_.SetNoArena(
-    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
-  // @@protoc_insertion_point(field_set_rvalue:userInfo.id)
-}
-#endif
-inline void userInfo::set_id(const char* value) {
-  GOOGLE_DCHECK(value != NULL);
-  
-  id_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
-  // @@protoc_insertion_point(field_set_char:userInfo.id)
-}
-inline void userInfo::set_id(const char* value, size_t size) {
-  
-  id_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
-      ::std::string(reinterpret_cast<const char*>(value), size));
-  // @@protoc_insertion_point(field_set_pointer:userInfo.id)
-}
-inline ::std::string* userInfo::mutable_id() {
-  
-  // @@protoc_insertion_point(field_mutable:userInfo.id)
-  return id_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-inline ::std::string* userInfo::release_id() {
-  // @@protoc_insertion_point(field_release:userInfo.id)
-  
-  return id_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-inline void userInfo::set_allocated_id(::std::string* id) {
-  if (id != NULL) {
-    
-  } else {
-    
-  }
-  id_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), id);
-  // @@protoc_insertion_point(field_set_allocated:userInfo.id)
-}
-
-// string name = 2;
-inline void userInfo::clear_name() {
-  name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-inline const ::std::string& userInfo::name() const {
-  // @@protoc_insertion_point(field_get:userInfo.name)
-  return name_.GetNoArena();
-}
-inline void userInfo::set_name(const ::std::string& value) {
-  
-  name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
-  // @@protoc_insertion_point(field_set:userInfo.name)
-}
-#if LANG_CXX11
-inline void userInfo::set_name(::std::string&& value) {
-  
-  name_.SetNoArena(
-    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
-  // @@protoc_insertion_point(field_set_rvalue:userInfo.name)
-}
-#endif
-inline void userInfo::set_name(const char* value) {
-  GOOGLE_DCHECK(value != NULL);
-  
-  name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
-  // @@protoc_insertion_point(field_set_char:userInfo.name)
-}
-inline void userInfo::set_name(const char* value, size_t size) {
-  
-  name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
-      ::std::string(reinterpret_cast<const char*>(value), size));
-  // @@protoc_insertion_point(field_set_pointer:userInfo.name)
-}
-inline ::std::string* userInfo::mutable_name() {
-  
-  // @@protoc_insertion_point(field_mutable:userInfo.name)
-  return name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-inline ::std::string* userInfo::release_name() {
-  // @@protoc_insertion_point(field_release:userInfo.name)
-  
-  return name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-inline void userInfo::set_allocated_name(::std::string* name) {
-  if (name != NULL) {
-    
-  } else {
-    
-  }
-  name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), name);
-  // @@protoc_insertion_point(field_set_allocated:userInfo.name)
-}
-
-// bool gender = 3;
-inline void userInfo::clear_gender() {
-  gender_ = false;
-}
-inline bool userInfo::gender() const {
-  // @@protoc_insertion_point(field_get:userInfo.gender)
-  return gender_;
-}
-inline void userInfo::set_gender(bool value) {
-  
-  gender_ = value;
-  // @@protoc_insertion_point(field_set:userInfo.gender)
-}
-
-// string phone = 4;
-inline void userInfo::clear_phone() {
-  phone_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-inline const ::std::string& userInfo::phone() const {
-  // @@protoc_insertion_point(field_get:userInfo.phone)
-  return phone_.GetNoArena();
-}
-inline void userInfo::set_phone(const ::std::string& value) {
-  
-  phone_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
-  // @@protoc_insertion_point(field_set:userInfo.phone)
-}
-#if LANG_CXX11
-inline void userInfo::set_phone(::std::string&& value) {
-  
-  phone_.SetNoArena(
-    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
-  // @@protoc_insertion_point(field_set_rvalue:userInfo.phone)
-}
-#endif
-inline void userInfo::set_phone(const char* value) {
-  GOOGLE_DCHECK(value != NULL);
-  
-  phone_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
-  // @@protoc_insertion_point(field_set_char:userInfo.phone)
-}
-inline void userInfo::set_phone(const char* value, size_t size) {
-  
-  phone_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
-      ::std::string(reinterpret_cast<const char*>(value), size));
-  // @@protoc_insertion_point(field_set_pointer:userInfo.phone)
-}
-inline ::std::string* userInfo::mutable_phone() {
-  
-  // @@protoc_insertion_point(field_mutable:userInfo.phone)
-  return phone_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-inline ::std::string* userInfo::release_phone() {
-  // @@protoc_insertion_point(field_release:userInfo.phone)
-  
-  return phone_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-inline void userInfo::set_allocated_phone(::std::string* phone) {
-  if (phone != NULL) {
-    
-  } else {
-    
-  }
-  phone_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), phone);
-  // @@protoc_insertion_point(field_set_allocated:userInfo.phone)
-}
-
-// repeated .rtype reply = 5;
-inline int userInfo::reply_size() const {
-  return reply_.size();
-}
-inline void userInfo::clear_reply() {
-  reply_.Clear();
-}
-inline ::rtype* userInfo::mutable_reply(int index) {
-  // @@protoc_insertion_point(field_mutable:userInfo.reply)
-  return reply_.Mutable(index);
-}
-inline ::google::protobuf::RepeatedPtrField< ::rtype >*
-userInfo::mutable_reply() {
-  // @@protoc_insertion_point(field_mutable_list:userInfo.reply)
-  return &reply_;
-}
-inline const ::rtype& userInfo::reply(int index) const {
-  // @@protoc_insertion_point(field_get:userInfo.reply)
-  return reply_.Get(index);
-}
-inline ::rtype* userInfo::add_reply() {
-  // @@protoc_insertion_point(field_add:userInfo.reply)
-  return reply_.Add();
-}
-inline const ::google::protobuf::RepeatedPtrField< ::rtype >&
-userInfo::reply() const {
-  // @@protoc_insertion_point(field_list:userInfo.reply)
-  return reply_;
-}
-
-// -------------------------------------------------------------------
-
-// rtype
-
-// string id = 1;
-inline void rtype::clear_id() {
-  id_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-inline const ::std::string& rtype::id() const {
-  // @@protoc_insertion_point(field_get:rtype.id)
-  return id_.GetNoArena();
-}
-inline void rtype::set_id(const ::std::string& value) {
-  
-  id_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
-  // @@protoc_insertion_point(field_set:rtype.id)
-}
-#if LANG_CXX11
-inline void rtype::set_id(::std::string&& value) {
-  
-  id_.SetNoArena(
-    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
-  // @@protoc_insertion_point(field_set_rvalue:rtype.id)
-}
-#endif
-inline void rtype::set_id(const char* value) {
-  GOOGLE_DCHECK(value != NULL);
-  
-  id_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
-  // @@protoc_insertion_point(field_set_char:rtype.id)
-}
-inline void rtype::set_id(const char* value, size_t size) {
-  
-  id_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
-      ::std::string(reinterpret_cast<const char*>(value), size));
-  // @@protoc_insertion_point(field_set_pointer:rtype.id)
-}
-inline ::std::string* rtype::mutable_id() {
-  
-  // @@protoc_insertion_point(field_mutable:rtype.id)
-  return id_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-inline ::std::string* rtype::release_id() {
-  // @@protoc_insertion_point(field_release:rtype.id)
-  
-  return id_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-inline void rtype::set_allocated_id(::std::string* id) {
-  if (id != NULL) {
-    
-  } else {
-    
-  }
-  id_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), id);
-  // @@protoc_insertion_point(field_set_allocated:rtype.id)
-}
-
-// string name = 2;
-inline void rtype::clear_name() {
-  name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-inline const ::std::string& rtype::name() const {
-  // @@protoc_insertion_point(field_get:rtype.name)
-  return name_.GetNoArena();
-}
-inline void rtype::set_name(const ::std::string& value) {
-  
-  name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
-  // @@protoc_insertion_point(field_set:rtype.name)
-}
-#if LANG_CXX11
-inline void rtype::set_name(::std::string&& value) {
-  
-  name_.SetNoArena(
-    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
-  // @@protoc_insertion_point(field_set_rvalue:rtype.name)
-}
-#endif
-inline void rtype::set_name(const char* value) {
-  GOOGLE_DCHECK(value != NULL);
-  
-  name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
-  // @@protoc_insertion_point(field_set_char:rtype.name)
-}
-inline void rtype::set_name(const char* value, size_t size) {
-  
-  name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
-      ::std::string(reinterpret_cast<const char*>(value), size));
-  // @@protoc_insertion_point(field_set_pointer:rtype.name)
-}
-inline ::std::string* rtype::mutable_name() {
-  
-  // @@protoc_insertion_point(field_mutable:rtype.name)
-  return name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-inline ::std::string* rtype::release_name() {
-  // @@protoc_insertion_point(field_release:rtype.name)
-  
-  return name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-inline void rtype::set_allocated_name(::std::string* name) {
-  if (name != NULL) {
-    
-  } else {
-    
-  }
-  name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), name);
-  // @@protoc_insertion_point(field_set_allocated:rtype.name)
-}
-
-// repeated .rdetail detail = 3;
-inline int rtype::detail_size() const {
-  return detail_.size();
-}
-inline void rtype::clear_detail() {
-  detail_.Clear();
-}
-inline ::rdetail* rtype::mutable_detail(int index) {
-  // @@protoc_insertion_point(field_mutable:rtype.detail)
-  return detail_.Mutable(index);
-}
-inline ::google::protobuf::RepeatedPtrField< ::rdetail >*
-rtype::mutable_detail() {
-  // @@protoc_insertion_point(field_mutable_list:rtype.detail)
-  return &detail_;
-}
-inline const ::rdetail& rtype::detail(int index) const {
-  // @@protoc_insertion_point(field_get:rtype.detail)
-  return detail_.Get(index);
-}
-inline ::rdetail* rtype::add_detail() {
-  // @@protoc_insertion_point(field_add:rtype.detail)
-  return detail_.Add();
-}
-inline const ::google::protobuf::RepeatedPtrField< ::rdetail >&
-rtype::detail() const {
-  // @@protoc_insertion_point(field_list:rtype.detail)
-  return detail_;
-}
-
-// -------------------------------------------------------------------
-
-// rdetail
-
-// string id = 1;
-inline void rdetail::clear_id() {
-  id_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-inline const ::std::string& rdetail::id() const {
-  // @@protoc_insertion_point(field_get:rdetail.id)
-  return id_.GetNoArena();
-}
-inline void rdetail::set_id(const ::std::string& value) {
-  
-  id_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
-  // @@protoc_insertion_point(field_set:rdetail.id)
-}
-#if LANG_CXX11
-inline void rdetail::set_id(::std::string&& value) {
-  
-  id_.SetNoArena(
-    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
-  // @@protoc_insertion_point(field_set_rvalue:rdetail.id)
-}
-#endif
-inline void rdetail::set_id(const char* value) {
-  GOOGLE_DCHECK(value != NULL);
-  
-  id_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
-  // @@protoc_insertion_point(field_set_char:rdetail.id)
-}
-inline void rdetail::set_id(const char* value, size_t size) {
-  
-  id_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
-      ::std::string(reinterpret_cast<const char*>(value), size));
-  // @@protoc_insertion_point(field_set_pointer:rdetail.id)
-}
-inline ::std::string* rdetail::mutable_id() {
-  
-  // @@protoc_insertion_point(field_mutable:rdetail.id)
-  return id_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-inline ::std::string* rdetail::release_id() {
-  // @@protoc_insertion_point(field_release:rdetail.id)
-  
-  return id_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-inline void rdetail::set_allocated_id(::std::string* id) {
-  if (id != NULL) {
-    
-  } else {
-    
-  }
-  id_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), id);
-  // @@protoc_insertion_point(field_set_allocated:rdetail.id)
-}
-
-// string name = 2;
-inline void rdetail::clear_name() {
-  name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-inline const ::std::string& rdetail::name() const {
-  // @@protoc_insertion_point(field_get:rdetail.name)
-  return name_.GetNoArena();
-}
-inline void rdetail::set_name(const ::std::string& value) {
-  
-  name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
-  // @@protoc_insertion_point(field_set:rdetail.name)
-}
-#if LANG_CXX11
-inline void rdetail::set_name(::std::string&& value) {
-  
-  name_.SetNoArena(
-    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
-  // @@protoc_insertion_point(field_set_rvalue:rdetail.name)
-}
-#endif
-inline void rdetail::set_name(const char* value) {
-  GOOGLE_DCHECK(value != NULL);
-  
-  name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
-  // @@protoc_insertion_point(field_set_char:rdetail.name)
-}
-inline void rdetail::set_name(const char* value, size_t size) {
-  
-  name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
-      ::std::string(reinterpret_cast<const char*>(value), size));
-  // @@protoc_insertion_point(field_set_pointer:rdetail.name)
-}
-inline ::std::string* rdetail::mutable_name() {
-  
-  // @@protoc_insertion_point(field_mutable:rdetail.name)
-  return name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-inline ::std::string* rdetail::release_name() {
-  // @@protoc_insertion_point(field_release:rdetail.name)
-  
-  return name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-inline void rdetail::set_allocated_name(::std::string* name) {
-  if (name != NULL) {
-    
-  } else {
-    
-  }
-  name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), name);
-  // @@protoc_insertion_point(field_set_allocated:rdetail.name)
-}
-
-// string content = 3;
-inline void rdetail::clear_content() {
-  content_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-inline const ::std::string& rdetail::content() const {
-  // @@protoc_insertion_point(field_get:rdetail.content)
-  return content_.GetNoArena();
-}
-inline void rdetail::set_content(const ::std::string& value) {
-  
-  content_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
-  // @@protoc_insertion_point(field_set:rdetail.content)
-}
-#if LANG_CXX11
-inline void rdetail::set_content(::std::string&& value) {
-  
-  content_.SetNoArena(
-    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
-  // @@protoc_insertion_point(field_set_rvalue:rdetail.content)
-}
-#endif
-inline void rdetail::set_content(const char* value) {
-  GOOGLE_DCHECK(value != NULL);
-  
-  content_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
-  // @@protoc_insertion_point(field_set_char:rdetail.content)
-}
-inline void rdetail::set_content(const char* value, size_t size) {
-  
-  content_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
-      ::std::string(reinterpret_cast<const char*>(value), size));
-  // @@protoc_insertion_point(field_set_pointer:rdetail.content)
-}
-inline ::std::string* rdetail::mutable_content() {
-  
-  // @@protoc_insertion_point(field_mutable:rdetail.content)
-  return content_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-inline ::std::string* rdetail::release_content() {
-  // @@protoc_insertion_point(field_release:rdetail.content)
-  
-  return content_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
-}
-inline void rdetail::set_allocated_content(::std::string* content) {
-  if (content != NULL) {
-    
-  } else {
-    
-  }
-  content_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), content);
-  // @@protoc_insertion_point(field_set_allocated:rdetail.content)
-}
-
-#ifdef __GNUC__
-  #pragma GCC diagnostic pop
-#endif  // __GNUC__
-// -------------------------------------------------------------------
-
-// -------------------------------------------------------------------
-
-// -------------------------------------------------------------------
-
-
-// @@protoc_insertion_point(namespace_scope)
-
-
-// @@protoc_insertion_point(global_scope)
-
-#endif  // PROTOBUF_INCLUDED_login_2eproto

+ 0 - 27
source/hook/pb/login.proto

@@ -1,27 +0,0 @@
-syntax = "proto3";
-
-message login {
-    string phone = 1;           // 登录手机;
-    string passwrod = 2;        // 登录密码; 
-    string macAddr = 3;         // 物理网卡地址;
-}
-
-message userInfo{
-    string id = 1;              // 用户id;
-    string name = 2;            // 用户姓名或昵称;
-    bool gender = 3;            // 用户性别;
-    string phone = 4;           // 用户手机;
-    repeated rtype reply = 5;
-}
-
-message rtype{
-    string id = 1;              // 回复类型id
-    string name = 2;            // 回复类型名称;
-    repeated rdetail detail = 3;
-}
-
-message rdetail {
-    string id = 1;              // 回复id
-    string name = 2;            // 回复名称;
-    string content = 3;         // 回复内容;
-}

+ 0 - 10
source/hook/pb/reply.proto

@@ -1,10 +0,0 @@
-syntax = "proto3";
-
-message reply {
-    string csr_id = 1;
-    string type_id = 2;
-    string reply_id = 3;
-    string reply_name = 4;
-    string reply_content = 5;
-    Timestamp reply_gen_time = 6;
-}

+ 0 - 8
source/hook/pb/reply_type.proto

@@ -1,8 +0,0 @@
-syntax = "proto3";
-
-message reply_type{
-    string csr_id = 1;
-    string type_id = 2;
-    string type_name = 3;
-    Timestamp type_gen_time = 4;
-}