// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: invitation_types.proto

#ifndef PROTOBUF_invitation_5ftypes_2eproto__INCLUDED
#define PROTOBUF_invitation_5ftypes_2eproto__INCLUDED

#include <string>

#include <google/protobuf/stubs/common.h>

#if GOOGLE_PROTOBUF_VERSION < 2006000
#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 2006001 < 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/generated_message_util.h>
#include <google/protobuf/message.h>
#include <google/protobuf/repeated_field.h>
#include <google/protobuf/extension_set.h>
#include <google/protobuf/unknown_field_set.h>
#include "entity_types.pb.h"
#include "Define.h"
// @@protoc_insertion_point(includes)

namespace bgs {
namespace protocol {

// Internal implementation detail -- do not call these.
void protobuf_AddDesc_invitation_5ftypes_2eproto();
void protobuf_AssignDesc_invitation_5ftypes_2eproto();
void protobuf_ShutdownFile_invitation_5ftypes_2eproto();

class Invitation;
class InvitationSuggestion;
class InvitationTarget;
class InvitationParams;
class SendInvitationRequest;
class SendInvitationResponse;
class UpdateInvitationRequest;
class GenericInvitationRequest;

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

class Invitation : public ::google::protobuf::Message {
 public:
  Invitation();
  virtual ~Invitation();

  Invitation(const Invitation& from);

  inline Invitation& operator=(const Invitation& from) {
    CopyFrom(from);
    return *this;
  }

  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
    return _unknown_fields_;
  }

  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    return &_unknown_fields_;
  }

  static const ::google::protobuf::Descriptor* descriptor();
  static const Invitation& default_instance();

  void Swap(Invitation* other);

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

  Invitation* New() const;
  void CopyFrom(const ::google::protobuf::Message& from);
  void MergeFrom(const ::google::protobuf::Message& from);
  void CopyFrom(const Invitation& from);
  void MergeFrom(const Invitation& from);
  void Clear();
  bool IsInitialized() const;

  int ByteSize() const;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input);
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const;
  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
  int GetCachedSize() const { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const;
  public:
  ::google::protobuf::Metadata GetMetadata() const;

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

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

  // required fixed64 id = 1;
  inline bool has_id() const;
  inline void clear_id();
  static const int kIdFieldNumber = 1;
  inline ::google::protobuf::uint64 id() const;
  inline void set_id(::google::protobuf::uint64 value);

  // required .bgs.protocol.Identity inviter_identity = 2;
  inline bool has_inviter_identity() const;
  inline void clear_inviter_identity();
  static const int kInviterIdentityFieldNumber = 2;
  inline const ::bgs::protocol::Identity& inviter_identity() const;
  inline ::bgs::protocol::Identity* mutable_inviter_identity();
  inline ::bgs::protocol::Identity* release_inviter_identity();
  inline void set_allocated_inviter_identity(::bgs::protocol::Identity* inviter_identity);

  // required .bgs.protocol.Identity invitee_identity = 3;
  inline bool has_invitee_identity() const;
  inline void clear_invitee_identity();
  static const int kInviteeIdentityFieldNumber = 3;
  inline const ::bgs::protocol::Identity& invitee_identity() const;
  inline ::bgs::protocol::Identity* mutable_invitee_identity();
  inline ::bgs::protocol::Identity* release_invitee_identity();
  inline void set_allocated_invitee_identity(::bgs::protocol::Identity* invitee_identity);

  // optional string inviter_name = 4;
  inline bool has_inviter_name() const;
  inline void clear_inviter_name();
  static const int kInviterNameFieldNumber = 4;
  inline const ::std::string& inviter_name() const;
  inline void set_inviter_name(const ::std::string& value);
  inline void set_inviter_name(const char* value);
  inline void set_inviter_name(const char* value, size_t size);
  inline ::std::string* mutable_inviter_name();
  inline ::std::string* release_inviter_name();
  inline void set_allocated_inviter_name(::std::string* inviter_name);

  // optional string invitee_name = 5;
  inline bool has_invitee_name() const;
  inline void clear_invitee_name();
  static const int kInviteeNameFieldNumber = 5;
  inline const ::std::string& invitee_name() const;
  inline void set_invitee_name(const ::std::string& value);
  inline void set_invitee_name(const char* value);
  inline void set_invitee_name(const char* value, size_t size);
  inline ::std::string* mutable_invitee_name();
  inline ::std::string* release_invitee_name();
  inline void set_allocated_invitee_name(::std::string* invitee_name);

  // optional string invitation_message = 6;
  inline bool has_invitation_message() const;
  inline void clear_invitation_message();
  static const int kInvitationMessageFieldNumber = 6;
  inline const ::std::string& invitation_message() const;
  inline void set_invitation_message(const ::std::string& value);
  inline void set_invitation_message(const char* value);
  inline void set_invitation_message(const char* value, size_t size);
  inline ::std::string* mutable_invitation_message();
  inline ::std::string* release_invitation_message();
  inline void set_allocated_invitation_message(::std::string* invitation_message);

  // optional uint64 creation_time = 7;
  inline bool has_creation_time() const;
  inline void clear_creation_time();
  static const int kCreationTimeFieldNumber = 7;
  inline ::google::protobuf::uint64 creation_time() const;
  inline void set_creation_time(::google::protobuf::uint64 value);

  // optional uint64 expiration_time = 8;
  inline bool has_expiration_time() const;
  inline void clear_expiration_time();
  static const int kExpirationTimeFieldNumber = 8;
  inline ::google::protobuf::uint64 expiration_time() const;
  inline void set_expiration_time(::google::protobuf::uint64 value);

  GOOGLE_PROTOBUF_EXTENSION_ACCESSORS(Invitation)
  // @@protoc_insertion_point(class_scope:bgs.protocol.Invitation)
 private:
  inline void set_has_id();
  inline void clear_has_id();
  inline void set_has_inviter_identity();
  inline void clear_has_inviter_identity();
  inline void set_has_invitee_identity();
  inline void clear_has_invitee_identity();
  inline void set_has_inviter_name();
  inline void clear_has_inviter_name();
  inline void set_has_invitee_name();
  inline void clear_has_invitee_name();
  inline void set_has_invitation_message();
  inline void clear_has_invitation_message();
  inline void set_has_creation_time();
  inline void clear_has_creation_time();
  inline void set_has_expiration_time();
  inline void clear_has_expiration_time();

  ::google::protobuf::internal::ExtensionSet _extensions_;

  ::google::protobuf::UnknownFieldSet _unknown_fields_;

  ::google::protobuf::uint32 _has_bits_[1];
  mutable int _cached_size_;
  ::google::protobuf::uint64 id_;
  ::bgs::protocol::Identity* inviter_identity_;
  ::bgs::protocol::Identity* invitee_identity_;
  ::std::string* inviter_name_;
  ::std::string* invitee_name_;
  ::std::string* invitation_message_;
  ::google::protobuf::uint64 creation_time_;
  ::google::protobuf::uint64 expiration_time_;
  friend void protobuf_AddDesc_invitation_5ftypes_2eproto();
  friend void protobuf_AssignDesc_invitation_5ftypes_2eproto();
  friend void protobuf_ShutdownFile_invitation_5ftypes_2eproto();

  void InitAsDefaultInstance();
  static Invitation* default_instance_;
};
// -------------------------------------------------------------------

class InvitationSuggestion : public ::google::protobuf::Message {
 public:
  InvitationSuggestion();
  virtual ~InvitationSuggestion();

  InvitationSuggestion(const InvitationSuggestion& from);

  inline InvitationSuggestion& operator=(const InvitationSuggestion& from) {
    CopyFrom(from);
    return *this;
  }

  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
    return _unknown_fields_;
  }

  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    return &_unknown_fields_;
  }

  static const ::google::protobuf::Descriptor* descriptor();
  static const InvitationSuggestion& default_instance();

  void Swap(InvitationSuggestion* other);

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

  InvitationSuggestion* New() const;
  void CopyFrom(const ::google::protobuf::Message& from);
  void MergeFrom(const ::google::protobuf::Message& from);
  void CopyFrom(const InvitationSuggestion& from);
  void MergeFrom(const InvitationSuggestion& from);
  void Clear();
  bool IsInitialized() const;

  int ByteSize() const;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input);
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const;
  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
  int GetCachedSize() const { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const;
  public:
  ::google::protobuf::Metadata GetMetadata() const;

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

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

  // optional .bgs.protocol.EntityId channel_id = 1;
  inline bool has_channel_id() const;
  inline void clear_channel_id();
  static const int kChannelIdFieldNumber = 1;
  inline const ::bgs::protocol::EntityId& channel_id() const;
  inline ::bgs::protocol::EntityId* mutable_channel_id();
  inline ::bgs::protocol::EntityId* release_channel_id();
  inline void set_allocated_channel_id(::bgs::protocol::EntityId* channel_id);

  // required .bgs.protocol.EntityId suggester_id = 2;
  inline bool has_suggester_id() const;
  inline void clear_suggester_id();
  static const int kSuggesterIdFieldNumber = 2;
  inline const ::bgs::protocol::EntityId& suggester_id() const;
  inline ::bgs::protocol::EntityId* mutable_suggester_id();
  inline ::bgs::protocol::EntityId* release_suggester_id();
  inline void set_allocated_suggester_id(::bgs::protocol::EntityId* suggester_id);

  // required .bgs.protocol.EntityId suggestee_id = 3;
  inline bool has_suggestee_id() const;
  inline void clear_suggestee_id();
  static const int kSuggesteeIdFieldNumber = 3;
  inline const ::bgs::protocol::EntityId& suggestee_id() const;
  inline ::bgs::protocol::EntityId* mutable_suggestee_id();
  inline ::bgs::protocol::EntityId* release_suggestee_id();
  inline void set_allocated_suggestee_id(::bgs::protocol::EntityId* suggestee_id);

  // optional string suggester_name = 4;
  inline bool has_suggester_name() const;
  inline void clear_suggester_name();
  static const int kSuggesterNameFieldNumber = 4;
  inline const ::std::string& suggester_name() const;
  inline void set_suggester_name(const ::std::string& value);
  inline void set_suggester_name(const char* value);
  inline void set_suggester_name(const char* value, size_t size);
  inline ::std::string* mutable_suggester_name();
  inline ::std::string* release_suggester_name();
  inline void set_allocated_suggester_name(::std::string* suggester_name);

  // optional string suggestee_name = 5;
  inline bool has_suggestee_name() const;
  inline void clear_suggestee_name();
  static const int kSuggesteeNameFieldNumber = 5;
  inline const ::std::string& suggestee_name() const;
  inline void set_suggestee_name(const ::std::string& value);
  inline void set_suggestee_name(const char* value);
  inline void set_suggestee_name(const char* value, size_t size);
  inline ::std::string* mutable_suggestee_name();
  inline ::std::string* release_suggestee_name();
  inline void set_allocated_suggestee_name(::std::string* suggestee_name);

  // @@protoc_insertion_point(class_scope:bgs.protocol.InvitationSuggestion)
 private:
  inline void set_has_channel_id();
  inline void clear_has_channel_id();
  inline void set_has_suggester_id();
  inline void clear_has_suggester_id();
  inline void set_has_suggestee_id();
  inline void clear_has_suggestee_id();
  inline void set_has_suggester_name();
  inline void clear_has_suggester_name();
  inline void set_has_suggestee_name();
  inline void clear_has_suggestee_name();

  ::google::protobuf::UnknownFieldSet _unknown_fields_;

  ::google::protobuf::uint32 _has_bits_[1];
  mutable int _cached_size_;
  ::bgs::protocol::EntityId* channel_id_;
  ::bgs::protocol::EntityId* suggester_id_;
  ::bgs::protocol::EntityId* suggestee_id_;
  ::std::string* suggester_name_;
  ::std::string* suggestee_name_;
  friend void protobuf_AddDesc_invitation_5ftypes_2eproto();
  friend void protobuf_AssignDesc_invitation_5ftypes_2eproto();
  friend void protobuf_ShutdownFile_invitation_5ftypes_2eproto();

  void InitAsDefaultInstance();
  static InvitationSuggestion* default_instance_;
};
// -------------------------------------------------------------------

class InvitationTarget : public ::google::protobuf::Message {
 public:
  InvitationTarget();
  virtual ~InvitationTarget();

  InvitationTarget(const InvitationTarget& from);

  inline InvitationTarget& operator=(const InvitationTarget& from) {
    CopyFrom(from);
    return *this;
  }

  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
    return _unknown_fields_;
  }

  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    return &_unknown_fields_;
  }

  static const ::google::protobuf::Descriptor* descriptor();
  static const InvitationTarget& default_instance();

  void Swap(InvitationTarget* other);

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

  InvitationTarget* New() const;
  void CopyFrom(const ::google::protobuf::Message& from);
  void MergeFrom(const ::google::protobuf::Message& from);
  void CopyFrom(const InvitationTarget& from);
  void MergeFrom(const InvitationTarget& from);
  void Clear();
  bool IsInitialized() const;

  int ByteSize() const;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input);
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const;
  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
  int GetCachedSize() const { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const;
  public:
  ::google::protobuf::Metadata GetMetadata() const;

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

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

  // optional .bgs.protocol.Identity identity = 1;
  inline bool has_identity() const;
  inline void clear_identity();
  static const int kIdentityFieldNumber = 1;
  inline const ::bgs::protocol::Identity& identity() const;
  inline ::bgs::protocol::Identity* mutable_identity();
  inline ::bgs::protocol::Identity* release_identity();
  inline void set_allocated_identity(::bgs::protocol::Identity* identity);

  // optional string email = 2;
  inline bool has_email() const;
  inline void clear_email();
  static const int kEmailFieldNumber = 2;
  inline const ::std::string& email() const;
  inline void set_email(const ::std::string& value);
  inline void set_email(const char* value);
  inline void set_email(const char* value, size_t size);
  inline ::std::string* mutable_email();
  inline ::std::string* release_email();
  inline void set_allocated_email(::std::string* email);

  // optional string battle_tag = 3;
  inline bool has_battle_tag() const;
  inline void clear_battle_tag();
  static const int kBattleTagFieldNumber = 3;
  inline const ::std::string& battle_tag() const;
  inline void set_battle_tag(const ::std::string& value);
  inline void set_battle_tag(const char* value);
  inline void set_battle_tag(const char* value, size_t size);
  inline ::std::string* mutable_battle_tag();
  inline ::std::string* release_battle_tag();
  inline void set_allocated_battle_tag(::std::string* battle_tag);

  GOOGLE_PROTOBUF_EXTENSION_ACCESSORS(InvitationTarget)
  // @@protoc_insertion_point(class_scope:bgs.protocol.InvitationTarget)
 private:
  inline void set_has_identity();
  inline void clear_has_identity();
  inline void set_has_email();
  inline void clear_has_email();
  inline void set_has_battle_tag();
  inline void clear_has_battle_tag();

  ::google::protobuf::internal::ExtensionSet _extensions_;

  ::google::protobuf::UnknownFieldSet _unknown_fields_;

  ::google::protobuf::uint32 _has_bits_[1];
  mutable int _cached_size_;
  ::bgs::protocol::Identity* identity_;
  ::std::string* email_;
  ::std::string* battle_tag_;
  friend void protobuf_AddDesc_invitation_5ftypes_2eproto();
  friend void protobuf_AssignDesc_invitation_5ftypes_2eproto();
  friend void protobuf_ShutdownFile_invitation_5ftypes_2eproto();

  void InitAsDefaultInstance();
  static InvitationTarget* default_instance_;
};
// -------------------------------------------------------------------

class InvitationParams : public ::google::protobuf::Message {
 public:
  InvitationParams();
  virtual ~InvitationParams();

  InvitationParams(const InvitationParams& from);

  inline InvitationParams& operator=(const InvitationParams& from) {
    CopyFrom(from);
    return *this;
  }

  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
    return _unknown_fields_;
  }

  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    return &_unknown_fields_;
  }

  static const ::google::protobuf::Descriptor* descriptor();
  static const InvitationParams& default_instance();

  void Swap(InvitationParams* other);

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

  InvitationParams* New() const;
  void CopyFrom(const ::google::protobuf::Message& from);
  void MergeFrom(const ::google::protobuf::Message& from);
  void CopyFrom(const InvitationParams& from);
  void MergeFrom(const InvitationParams& from);
  void Clear();
  bool IsInitialized() const;

  int ByteSize() const;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input);
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const;
  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
  int GetCachedSize() const { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const;
  public:
  ::google::protobuf::Metadata GetMetadata() const;

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

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

  // optional string invitation_message = 1;
  inline bool has_invitation_message() const;
  inline void clear_invitation_message();
  static const int kInvitationMessageFieldNumber = 1;
  inline const ::std::string& invitation_message() const;
  inline void set_invitation_message(const ::std::string& value);
  inline void set_invitation_message(const char* value);
  inline void set_invitation_message(const char* value, size_t size);
  inline ::std::string* mutable_invitation_message();
  inline ::std::string* release_invitation_message();
  inline void set_allocated_invitation_message(::std::string* invitation_message);

  // optional uint64 expiration_time = 2 [default = 0];
  inline bool has_expiration_time() const;
  inline void clear_expiration_time();
  static const int kExpirationTimeFieldNumber = 2;
  inline ::google::protobuf::uint64 expiration_time() const;
  inline void set_expiration_time(::google::protobuf::uint64 value);

  GOOGLE_PROTOBUF_EXTENSION_ACCESSORS(InvitationParams)
  // @@protoc_insertion_point(class_scope:bgs.protocol.InvitationParams)
 private:
  inline void set_has_invitation_message();
  inline void clear_has_invitation_message();
  inline void set_has_expiration_time();
  inline void clear_has_expiration_time();

  ::google::protobuf::internal::ExtensionSet _extensions_;

  ::google::protobuf::UnknownFieldSet _unknown_fields_;

  ::google::protobuf::uint32 _has_bits_[1];
  mutable int _cached_size_;
  ::std::string* invitation_message_;
  ::google::protobuf::uint64 expiration_time_;
  friend void protobuf_AddDesc_invitation_5ftypes_2eproto();
  friend void protobuf_AssignDesc_invitation_5ftypes_2eproto();
  friend void protobuf_ShutdownFile_invitation_5ftypes_2eproto();

  void InitAsDefaultInstance();
  static InvitationParams* default_instance_;
};
// -------------------------------------------------------------------

class SendInvitationRequest : public ::google::protobuf::Message {
 public:
  SendInvitationRequest();
  virtual ~SendInvitationRequest();

  SendInvitationRequest(const SendInvitationRequest& from);

  inline SendInvitationRequest& operator=(const SendInvitationRequest& from) {
    CopyFrom(from);
    return *this;
  }

  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
    return _unknown_fields_;
  }

  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    return &_unknown_fields_;
  }

  static const ::google::protobuf::Descriptor* descriptor();
  static const SendInvitationRequest& default_instance();

  void Swap(SendInvitationRequest* other);

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

  SendInvitationRequest* New() const;
  void CopyFrom(const ::google::protobuf::Message& from);
  void MergeFrom(const ::google::protobuf::Message& from);
  void CopyFrom(const SendInvitationRequest& from);
  void MergeFrom(const SendInvitationRequest& from);
  void Clear();
  bool IsInitialized() const;

  int ByteSize() const;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input);
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const;
  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
  int GetCachedSize() const { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const;
  public:
  ::google::protobuf::Metadata GetMetadata() const;

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

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

  // optional .bgs.protocol.Identity agent_identity = 1;
  inline bool has_agent_identity() const;
  inline void clear_agent_identity();
  static const int kAgentIdentityFieldNumber = 1;
  inline const ::bgs::protocol::Identity& agent_identity() const;
  inline ::bgs::protocol::Identity* mutable_agent_identity();
  inline ::bgs::protocol::Identity* release_agent_identity();
  inline void set_allocated_agent_identity(::bgs::protocol::Identity* agent_identity);

  // required .bgs.protocol.EntityId target_id = 2 [deprecated = true];
  inline bool has_target_id() const PROTOBUF_DEPRECATED;
  inline void clear_target_id() PROTOBUF_DEPRECATED;
  static const int kTargetIdFieldNumber = 2;
  inline const ::bgs::protocol::EntityId& target_id() const PROTOBUF_DEPRECATED;
  inline ::bgs::protocol::EntityId* mutable_target_id() PROTOBUF_DEPRECATED;
  inline ::bgs::protocol::EntityId* release_target_id() PROTOBUF_DEPRECATED;
  inline void set_allocated_target_id(::bgs::protocol::EntityId* target_id) PROTOBUF_DEPRECATED;

  // required .bgs.protocol.InvitationParams params = 3;
  inline bool has_params() const;
  inline void clear_params();
  static const int kParamsFieldNumber = 3;
  inline const ::bgs::protocol::InvitationParams& params() const;
  inline ::bgs::protocol::InvitationParams* mutable_params();
  inline ::bgs::protocol::InvitationParams* release_params();
  inline void set_allocated_params(::bgs::protocol::InvitationParams* params);

  // optional .bgs.protocol.AccountInfo agent_info = 4;
  inline bool has_agent_info() const;
  inline void clear_agent_info();
  static const int kAgentInfoFieldNumber = 4;
  inline const ::bgs::protocol::AccountInfo& agent_info() const;
  inline ::bgs::protocol::AccountInfo* mutable_agent_info();
  inline ::bgs::protocol::AccountInfo* release_agent_info();
  inline void set_allocated_agent_info(::bgs::protocol::AccountInfo* agent_info);

  // optional .bgs.protocol.InvitationTarget target = 5;
  inline bool has_target() const;
  inline void clear_target();
  static const int kTargetFieldNumber = 5;
  inline const ::bgs::protocol::InvitationTarget& target() const;
  inline ::bgs::protocol::InvitationTarget* mutable_target();
  inline ::bgs::protocol::InvitationTarget* release_target();
  inline void set_allocated_target(::bgs::protocol::InvitationTarget* target);

  // @@protoc_insertion_point(class_scope:bgs.protocol.SendInvitationRequest)
 private:
  inline void set_has_agent_identity();
  inline void clear_has_agent_identity();
  inline void set_has_target_id();
  inline void clear_has_target_id();
  inline void set_has_params();
  inline void clear_has_params();
  inline void set_has_agent_info();
  inline void clear_has_agent_info();
  inline void set_has_target();
  inline void clear_has_target();

  ::google::protobuf::UnknownFieldSet _unknown_fields_;

  ::google::protobuf::uint32 _has_bits_[1];
  mutable int _cached_size_;
  ::bgs::protocol::Identity* agent_identity_;
  ::bgs::protocol::EntityId* target_id_;
  ::bgs::protocol::InvitationParams* params_;
  ::bgs::protocol::AccountInfo* agent_info_;
  ::bgs::protocol::InvitationTarget* target_;
  friend void protobuf_AddDesc_invitation_5ftypes_2eproto();
  friend void protobuf_AssignDesc_invitation_5ftypes_2eproto();
  friend void protobuf_ShutdownFile_invitation_5ftypes_2eproto();

  void InitAsDefaultInstance();
  static SendInvitationRequest* default_instance_;
};
// -------------------------------------------------------------------

class SendInvitationResponse : public ::google::protobuf::Message {
 public:
  SendInvitationResponse();
  virtual ~SendInvitationResponse();

  SendInvitationResponse(const SendInvitationResponse& from);

  inline SendInvitationResponse& operator=(const SendInvitationResponse& from) {
    CopyFrom(from);
    return *this;
  }

  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
    return _unknown_fields_;
  }

  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    return &_unknown_fields_;
  }

  static const ::google::protobuf::Descriptor* descriptor();
  static const SendInvitationResponse& default_instance();

  void Swap(SendInvitationResponse* other);

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

  SendInvitationResponse* New() const;
  void CopyFrom(const ::google::protobuf::Message& from);
  void MergeFrom(const ::google::protobuf::Message& from);
  void CopyFrom(const SendInvitationResponse& from);
  void MergeFrom(const SendInvitationResponse& from);
  void Clear();
  bool IsInitialized() const;

  int ByteSize() const;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input);
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const;
  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
  int GetCachedSize() const { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const;
  public:
  ::google::protobuf::Metadata GetMetadata() const;

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

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

  // @@protoc_insertion_point(class_scope:bgs.protocol.SendInvitationResponse)
 private:

  ::google::protobuf::UnknownFieldSet _unknown_fields_;

  ::google::protobuf::uint32 _has_bits_[1];
  mutable int _cached_size_;
  friend void protobuf_AddDesc_invitation_5ftypes_2eproto();
  friend void protobuf_AssignDesc_invitation_5ftypes_2eproto();
  friend void protobuf_ShutdownFile_invitation_5ftypes_2eproto();

  void InitAsDefaultInstance();
  static SendInvitationResponse* default_instance_;
};
// -------------------------------------------------------------------

class UpdateInvitationRequest : public ::google::protobuf::Message {
 public:
  UpdateInvitationRequest();
  virtual ~UpdateInvitationRequest();

  UpdateInvitationRequest(const UpdateInvitationRequest& from);

  inline UpdateInvitationRequest& operator=(const UpdateInvitationRequest& from) {
    CopyFrom(from);
    return *this;
  }

  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
    return _unknown_fields_;
  }

  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    return &_unknown_fields_;
  }

  static const ::google::protobuf::Descriptor* descriptor();
  static const UpdateInvitationRequest& default_instance();

  void Swap(UpdateInvitationRequest* other);

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

  UpdateInvitationRequest* New() const;
  void CopyFrom(const ::google::protobuf::Message& from);
  void MergeFrom(const ::google::protobuf::Message& from);
  void CopyFrom(const UpdateInvitationRequest& from);
  void MergeFrom(const UpdateInvitationRequest& from);
  void Clear();
  bool IsInitialized() const;

  int ByteSize() const;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input);
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const;
  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
  int GetCachedSize() const { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const;
  public:
  ::google::protobuf::Metadata GetMetadata() const;

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

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

  // optional .bgs.protocol.Identity agent_identity = 1;
  inline bool has_agent_identity() const;
  inline void clear_agent_identity();
  static const int kAgentIdentityFieldNumber = 1;
  inline const ::bgs::protocol::Identity& agent_identity() const;
  inline ::bgs::protocol::Identity* mutable_agent_identity();
  inline ::bgs::protocol::Identity* release_agent_identity();
  inline void set_allocated_agent_identity(::bgs::protocol::Identity* agent_identity);

  // required fixed64 invitation_id = 2;
  inline bool has_invitation_id() const;
  inline void clear_invitation_id();
  static const int kInvitationIdFieldNumber = 2;
  inline ::google::protobuf::uint64 invitation_id() const;
  inline void set_invitation_id(::google::protobuf::uint64 value);

  // required .bgs.protocol.InvitationParams params = 3;
  inline bool has_params() const;
  inline void clear_params();
  static const int kParamsFieldNumber = 3;
  inline const ::bgs::protocol::InvitationParams& params() const;
  inline ::bgs::protocol::InvitationParams* mutable_params();
  inline ::bgs::protocol::InvitationParams* release_params();
  inline void set_allocated_params(::bgs::protocol::InvitationParams* params);

  // @@protoc_insertion_point(class_scope:bgs.protocol.UpdateInvitationRequest)
 private:
  inline void set_has_agent_identity();
  inline void clear_has_agent_identity();
  inline void set_has_invitation_id();
  inline void clear_has_invitation_id();
  inline void set_has_params();
  inline void clear_has_params();

  ::google::protobuf::UnknownFieldSet _unknown_fields_;

  ::google::protobuf::uint32 _has_bits_[1];
  mutable int _cached_size_;
  ::bgs::protocol::Identity* agent_identity_;
  ::google::protobuf::uint64 invitation_id_;
  ::bgs::protocol::InvitationParams* params_;
  friend void protobuf_AddDesc_invitation_5ftypes_2eproto();
  friend void protobuf_AssignDesc_invitation_5ftypes_2eproto();
  friend void protobuf_ShutdownFile_invitation_5ftypes_2eproto();

  void InitAsDefaultInstance();
  static UpdateInvitationRequest* default_instance_;
};
// -------------------------------------------------------------------

class GenericInvitationRequest : public ::google::protobuf::Message {
 public:
  GenericInvitationRequest();
  virtual ~GenericInvitationRequest();

  GenericInvitationRequest(const GenericInvitationRequest& from);

  inline GenericInvitationRequest& operator=(const GenericInvitationRequest& from) {
    CopyFrom(from);
    return *this;
  }

  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
    return _unknown_fields_;
  }

  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    return &_unknown_fields_;
  }

  static const ::google::protobuf::Descriptor* descriptor();
  static const GenericInvitationRequest& default_instance();

  void Swap(GenericInvitationRequest* other);

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

  GenericInvitationRequest* New() const;
  void CopyFrom(const ::google::protobuf::Message& from);
  void MergeFrom(const ::google::protobuf::Message& from);
  void CopyFrom(const GenericInvitationRequest& from);
  void MergeFrom(const GenericInvitationRequest& from);
  void Clear();
  bool IsInitialized() const;

  int ByteSize() const;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input);
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const;
  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
  int GetCachedSize() const { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const;
  public:
  ::google::protobuf::Metadata GetMetadata() const;

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

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

  // optional .bgs.protocol.EntityId agent_id = 1;
  inline bool has_agent_id() const;
  inline void clear_agent_id();
  static const int kAgentIdFieldNumber = 1;
  inline const ::bgs::protocol::EntityId& agent_id() const;
  inline ::bgs::protocol::EntityId* mutable_agent_id();
  inline ::bgs::protocol::EntityId* release_agent_id();
  inline void set_allocated_agent_id(::bgs::protocol::EntityId* agent_id);

  // optional .bgs.protocol.EntityId target_id = 2;
  inline bool has_target_id() const;
  inline void clear_target_id();
  static const int kTargetIdFieldNumber = 2;
  inline const ::bgs::protocol::EntityId& target_id() const;
  inline ::bgs::protocol::EntityId* mutable_target_id();
  inline ::bgs::protocol::EntityId* release_target_id();
  inline void set_allocated_target_id(::bgs::protocol::EntityId* target_id);

  // required fixed64 invitation_id = 3;
  inline bool has_invitation_id() const;
  inline void clear_invitation_id();
  static const int kInvitationIdFieldNumber = 3;
  inline ::google::protobuf::uint64 invitation_id() const;
  inline void set_invitation_id(::google::protobuf::uint64 value);

  // optional string invitee_name = 4;
  inline bool has_invitee_name() const;
  inline void clear_invitee_name();
  static const int kInviteeNameFieldNumber = 4;
  inline const ::std::string& invitee_name() const;
  inline void set_invitee_name(const ::std::string& value);
  inline void set_invitee_name(const char* value);
  inline void set_invitee_name(const char* value, size_t size);
  inline ::std::string* mutable_invitee_name();
  inline ::std::string* release_invitee_name();
  inline void set_allocated_invitee_name(::std::string* invitee_name);

  // optional string inviter_name = 5;
  inline bool has_inviter_name() const;
  inline void clear_inviter_name();
  static const int kInviterNameFieldNumber = 5;
  inline const ::std::string& inviter_name() const;
  inline void set_inviter_name(const ::std::string& value);
  inline void set_inviter_name(const char* value);
  inline void set_inviter_name(const char* value, size_t size);
  inline ::std::string* mutable_inviter_name();
  inline ::std::string* release_inviter_name();
  inline void set_allocated_inviter_name(::std::string* inviter_name);

  // repeated uint32 previous_role = 6 [packed = true];
  inline int previous_role_size() const;
  inline void clear_previous_role();
  static const int kPreviousRoleFieldNumber = 6;
  inline ::google::protobuf::uint32 previous_role(int index) const;
  inline void set_previous_role(int index, ::google::protobuf::uint32 value);
  inline void add_previous_role(::google::protobuf::uint32 value);
  inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
      previous_role() const;
  inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
      mutable_previous_role();

  // repeated uint32 desired_role = 7 [packed = true];
  inline int desired_role_size() const;
  inline void clear_desired_role();
  static const int kDesiredRoleFieldNumber = 7;
  inline ::google::protobuf::uint32 desired_role(int index) const;
  inline void set_desired_role(int index, ::google::protobuf::uint32 value);
  inline void add_desired_role(::google::protobuf::uint32 value);
  inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
      desired_role() const;
  inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
      mutable_desired_role();

  // optional uint32 reason = 8;
  inline bool has_reason() const;
  inline void clear_reason();
  static const int kReasonFieldNumber = 8;
  inline ::google::protobuf::uint32 reason() const;
  inline void set_reason(::google::protobuf::uint32 value);

  // @@protoc_insertion_point(class_scope:bgs.protocol.GenericInvitationRequest)
 private:
  inline void set_has_agent_id();
  inline void clear_has_agent_id();
  inline void set_has_target_id();
  inline void clear_has_target_id();
  inline void set_has_invitation_id();
  inline void clear_has_invitation_id();
  inline void set_has_invitee_name();
  inline void clear_has_invitee_name();
  inline void set_has_inviter_name();
  inline void clear_has_inviter_name();
  inline void set_has_reason();
  inline void clear_has_reason();

  ::google::protobuf::UnknownFieldSet _unknown_fields_;

  ::google::protobuf::uint32 _has_bits_[1];
  mutable int _cached_size_;
  ::bgs::protocol::EntityId* agent_id_;
  ::bgs::protocol::EntityId* target_id_;
  ::google::protobuf::uint64 invitation_id_;
  ::std::string* invitee_name_;
  ::std::string* inviter_name_;
  ::google::protobuf::RepeatedField< ::google::protobuf::uint32 > previous_role_;
  mutable int _previous_role_cached_byte_size_;
  ::google::protobuf::RepeatedField< ::google::protobuf::uint32 > desired_role_;
  mutable int _desired_role_cached_byte_size_;
  ::google::protobuf::uint32 reason_;
  friend void protobuf_AddDesc_invitation_5ftypes_2eproto();
  friend void protobuf_AssignDesc_invitation_5ftypes_2eproto();
  friend void protobuf_ShutdownFile_invitation_5ftypes_2eproto();

  void InitAsDefaultInstance();
  static GenericInvitationRequest* default_instance_;
};
// ===================================================================


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


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

// Invitation

// required fixed64 id = 1;
inline bool Invitation::has_id() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void Invitation::set_has_id() {
  _has_bits_[0] |= 0x00000001u;
}
inline void Invitation::clear_has_id() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void Invitation::clear_id() {
  id_ = GOOGLE_ULONGLONG(0);
  clear_has_id();
}
inline ::google::protobuf::uint64 Invitation::id() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.Invitation.id)
  return id_;
}
inline void Invitation::set_id(::google::protobuf::uint64 value) {
  set_has_id();
  id_ = value;
  // @@protoc_insertion_point(field_set:bgs.protocol.Invitation.id)
}

// required .bgs.protocol.Identity inviter_identity = 2;
inline bool Invitation::has_inviter_identity() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void Invitation::set_has_inviter_identity() {
  _has_bits_[0] |= 0x00000002u;
}
inline void Invitation::clear_has_inviter_identity() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void Invitation::clear_inviter_identity() {
  if (inviter_identity_ != NULL) inviter_identity_->::bgs::protocol::Identity::Clear();
  clear_has_inviter_identity();
}
inline const ::bgs::protocol::Identity& Invitation::inviter_identity() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.Invitation.inviter_identity)
  return inviter_identity_ != NULL ? *inviter_identity_ : *default_instance_->inviter_identity_;
}
inline ::bgs::protocol::Identity* Invitation::mutable_inviter_identity() {
  set_has_inviter_identity();
  if (inviter_identity_ == NULL) inviter_identity_ = new ::bgs::protocol::Identity;
  // @@protoc_insertion_point(field_mutable:bgs.protocol.Invitation.inviter_identity)
  return inviter_identity_;
}
inline ::bgs::protocol::Identity* Invitation::release_inviter_identity() {
  clear_has_inviter_identity();
  ::bgs::protocol::Identity* temp = inviter_identity_;
  inviter_identity_ = NULL;
  return temp;
}
inline void Invitation::set_allocated_inviter_identity(::bgs::protocol::Identity* inviter_identity) {
  delete inviter_identity_;
  inviter_identity_ = inviter_identity;
  if (inviter_identity) {
    set_has_inviter_identity();
  } else {
    clear_has_inviter_identity();
  }
  // @@protoc_insertion_point(field_set_allocated:bgs.protocol.Invitation.inviter_identity)
}

// required .bgs.protocol.Identity invitee_identity = 3;
inline bool Invitation::has_invitee_identity() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
inline void Invitation::set_has_invitee_identity() {
  _has_bits_[0] |= 0x00000004u;
}
inline void Invitation::clear_has_invitee_identity() {
  _has_bits_[0] &= ~0x00000004u;
}
inline void Invitation::clear_invitee_identity() {
  if (invitee_identity_ != NULL) invitee_identity_->::bgs::protocol::Identity::Clear();
  clear_has_invitee_identity();
}
inline const ::bgs::protocol::Identity& Invitation::invitee_identity() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.Invitation.invitee_identity)
  return invitee_identity_ != NULL ? *invitee_identity_ : *default_instance_->invitee_identity_;
}
inline ::bgs::protocol::Identity* Invitation::mutable_invitee_identity() {
  set_has_invitee_identity();
  if (invitee_identity_ == NULL) invitee_identity_ = new ::bgs::protocol::Identity;
  // @@protoc_insertion_point(field_mutable:bgs.protocol.Invitation.invitee_identity)
  return invitee_identity_;
}
inline ::bgs::protocol::Identity* Invitation::release_invitee_identity() {
  clear_has_invitee_identity();
  ::bgs::protocol::Identity* temp = invitee_identity_;
  invitee_identity_ = NULL;
  return temp;
}
inline void Invitation::set_allocated_invitee_identity(::bgs::protocol::Identity* invitee_identity) {
  delete invitee_identity_;
  invitee_identity_ = invitee_identity;
  if (invitee_identity) {
    set_has_invitee_identity();
  } else {
    clear_has_invitee_identity();
  }
  // @@protoc_insertion_point(field_set_allocated:bgs.protocol.Invitation.invitee_identity)
}

// optional string inviter_name = 4;
inline bool Invitation::has_inviter_name() const {
  return (_has_bits_[0] & 0x00000008u) != 0;
}
inline void Invitation::set_has_inviter_name() {
  _has_bits_[0] |= 0x00000008u;
}
inline void Invitation::clear_has_inviter_name() {
  _has_bits_[0] &= ~0x00000008u;
}
inline void Invitation::clear_inviter_name() {
  if (inviter_name_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    inviter_name_->clear();
  }
  clear_has_inviter_name();
}
inline const ::std::string& Invitation::inviter_name() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.Invitation.inviter_name)
  return *inviter_name_;
}
inline void Invitation::set_inviter_name(const ::std::string& value) {
  set_has_inviter_name();
  if (inviter_name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    inviter_name_ = new ::std::string;
  }
  inviter_name_->assign(value);
  // @@protoc_insertion_point(field_set:bgs.protocol.Invitation.inviter_name)
}
inline void Invitation::set_inviter_name(const char* value) {
  set_has_inviter_name();
  if (inviter_name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    inviter_name_ = new ::std::string;
  }
  inviter_name_->assign(value);
  // @@protoc_insertion_point(field_set_char:bgs.protocol.Invitation.inviter_name)
}
inline void Invitation::set_inviter_name(const char* value, size_t size) {
  set_has_inviter_name();
  if (inviter_name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    inviter_name_ = new ::std::string;
  }
  inviter_name_->assign(reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_set_pointer:bgs.protocol.Invitation.inviter_name)
}
inline ::std::string* Invitation::mutable_inviter_name() {
  set_has_inviter_name();
  if (inviter_name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    inviter_name_ = new ::std::string;
  }
  // @@protoc_insertion_point(field_mutable:bgs.protocol.Invitation.inviter_name)
  return inviter_name_;
}
inline ::std::string* Invitation::release_inviter_name() {
  clear_has_inviter_name();
  if (inviter_name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    return NULL;
  } else {
    ::std::string* temp = inviter_name_;
    inviter_name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    return temp;
  }
}
inline void Invitation::set_allocated_inviter_name(::std::string* inviter_name) {
  if (inviter_name_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    delete inviter_name_;
  }
  if (inviter_name) {
    set_has_inviter_name();
    inviter_name_ = inviter_name;
  } else {
    clear_has_inviter_name();
    inviter_name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  // @@protoc_insertion_point(field_set_allocated:bgs.protocol.Invitation.inviter_name)
}

// optional string invitee_name = 5;
inline bool Invitation::has_invitee_name() const {
  return (_has_bits_[0] & 0x00000010u) != 0;
}
inline void Invitation::set_has_invitee_name() {
  _has_bits_[0] |= 0x00000010u;
}
inline void Invitation::clear_has_invitee_name() {
  _has_bits_[0] &= ~0x00000010u;
}
inline void Invitation::clear_invitee_name() {
  if (invitee_name_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    invitee_name_->clear();
  }
  clear_has_invitee_name();
}
inline const ::std::string& Invitation::invitee_name() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.Invitation.invitee_name)
  return *invitee_name_;
}
inline void Invitation::set_invitee_name(const ::std::string& value) {
  set_has_invitee_name();
  if (invitee_name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    invitee_name_ = new ::std::string;
  }
  invitee_name_->assign(value);
  // @@protoc_insertion_point(field_set:bgs.protocol.Invitation.invitee_name)
}
inline void Invitation::set_invitee_name(const char* value) {
  set_has_invitee_name();
  if (invitee_name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    invitee_name_ = new ::std::string;
  }
  invitee_name_->assign(value);
  // @@protoc_insertion_point(field_set_char:bgs.protocol.Invitation.invitee_name)
}
inline void Invitation::set_invitee_name(const char* value, size_t size) {
  set_has_invitee_name();
  if (invitee_name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    invitee_name_ = new ::std::string;
  }
  invitee_name_->assign(reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_set_pointer:bgs.protocol.Invitation.invitee_name)
}
inline ::std::string* Invitation::mutable_invitee_name() {
  set_has_invitee_name();
  if (invitee_name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    invitee_name_ = new ::std::string;
  }
  // @@protoc_insertion_point(field_mutable:bgs.protocol.Invitation.invitee_name)
  return invitee_name_;
}
inline ::std::string* Invitation::release_invitee_name() {
  clear_has_invitee_name();
  if (invitee_name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    return NULL;
  } else {
    ::std::string* temp = invitee_name_;
    invitee_name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    return temp;
  }
}
inline void Invitation::set_allocated_invitee_name(::std::string* invitee_name) {
  if (invitee_name_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    delete invitee_name_;
  }
  if (invitee_name) {
    set_has_invitee_name();
    invitee_name_ = invitee_name;
  } else {
    clear_has_invitee_name();
    invitee_name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  // @@protoc_insertion_point(field_set_allocated:bgs.protocol.Invitation.invitee_name)
}

// optional string invitation_message = 6;
inline bool Invitation::has_invitation_message() const {
  return (_has_bits_[0] & 0x00000020u) != 0;
}
inline void Invitation::set_has_invitation_message() {
  _has_bits_[0] |= 0x00000020u;
}
inline void Invitation::clear_has_invitation_message() {
  _has_bits_[0] &= ~0x00000020u;
}
inline void Invitation::clear_invitation_message() {
  if (invitation_message_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    invitation_message_->clear();
  }
  clear_has_invitation_message();
}
inline const ::std::string& Invitation::invitation_message() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.Invitation.invitation_message)
  return *invitation_message_;
}
inline void Invitation::set_invitation_message(const ::std::string& value) {
  set_has_invitation_message();
  if (invitation_message_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    invitation_message_ = new ::std::string;
  }
  invitation_message_->assign(value);
  // @@protoc_insertion_point(field_set:bgs.protocol.Invitation.invitation_message)
}
inline void Invitation::set_invitation_message(const char* value) {
  set_has_invitation_message();
  if (invitation_message_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    invitation_message_ = new ::std::string;
  }
  invitation_message_->assign(value);
  // @@protoc_insertion_point(field_set_char:bgs.protocol.Invitation.invitation_message)
}
inline void Invitation::set_invitation_message(const char* value, size_t size) {
  set_has_invitation_message();
  if (invitation_message_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    invitation_message_ = new ::std::string;
  }
  invitation_message_->assign(reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_set_pointer:bgs.protocol.Invitation.invitation_message)
}
inline ::std::string* Invitation::mutable_invitation_message() {
  set_has_invitation_message();
  if (invitation_message_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    invitation_message_ = new ::std::string;
  }
  // @@protoc_insertion_point(field_mutable:bgs.protocol.Invitation.invitation_message)
  return invitation_message_;
}
inline ::std::string* Invitation::release_invitation_message() {
  clear_has_invitation_message();
  if (invitation_message_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    return NULL;
  } else {
    ::std::string* temp = invitation_message_;
    invitation_message_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    return temp;
  }
}
inline void Invitation::set_allocated_invitation_message(::std::string* invitation_message) {
  if (invitation_message_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    delete invitation_message_;
  }
  if (invitation_message) {
    set_has_invitation_message();
    invitation_message_ = invitation_message;
  } else {
    clear_has_invitation_message();
    invitation_message_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  // @@protoc_insertion_point(field_set_allocated:bgs.protocol.Invitation.invitation_message)
}

// optional uint64 creation_time = 7;
inline bool Invitation::has_creation_time() const {
  return (_has_bits_[0] & 0x00000040u) != 0;
}
inline void Invitation::set_has_creation_time() {
  _has_bits_[0] |= 0x00000040u;
}
inline void Invitation::clear_has_creation_time() {
  _has_bits_[0] &= ~0x00000040u;
}
inline void Invitation::clear_creation_time() {
  creation_time_ = GOOGLE_ULONGLONG(0);
  clear_has_creation_time();
}
inline ::google::protobuf::uint64 Invitation::creation_time() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.Invitation.creation_time)
  return creation_time_;
}
inline void Invitation::set_creation_time(::google::protobuf::uint64 value) {
  set_has_creation_time();
  creation_time_ = value;
  // @@protoc_insertion_point(field_set:bgs.protocol.Invitation.creation_time)
}

// optional uint64 expiration_time = 8;
inline bool Invitation::has_expiration_time() const {
  return (_has_bits_[0] & 0x00000080u) != 0;
}
inline void Invitation::set_has_expiration_time() {
  _has_bits_[0] |= 0x00000080u;
}
inline void Invitation::clear_has_expiration_time() {
  _has_bits_[0] &= ~0x00000080u;
}
inline void Invitation::clear_expiration_time() {
  expiration_time_ = GOOGLE_ULONGLONG(0);
  clear_has_expiration_time();
}
inline ::google::protobuf::uint64 Invitation::expiration_time() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.Invitation.expiration_time)
  return expiration_time_;
}
inline void Invitation::set_expiration_time(::google::protobuf::uint64 value) {
  set_has_expiration_time();
  expiration_time_ = value;
  // @@protoc_insertion_point(field_set:bgs.protocol.Invitation.expiration_time)
}

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

// InvitationSuggestion

// optional .bgs.protocol.EntityId channel_id = 1;
inline bool InvitationSuggestion::has_channel_id() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void InvitationSuggestion::set_has_channel_id() {
  _has_bits_[0] |= 0x00000001u;
}
inline void InvitationSuggestion::clear_has_channel_id() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void InvitationSuggestion::clear_channel_id() {
  if (channel_id_ != NULL) channel_id_->::bgs::protocol::EntityId::Clear();
  clear_has_channel_id();
}
inline const ::bgs::protocol::EntityId& InvitationSuggestion::channel_id() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.InvitationSuggestion.channel_id)
  return channel_id_ != NULL ? *channel_id_ : *default_instance_->channel_id_;
}
inline ::bgs::protocol::EntityId* InvitationSuggestion::mutable_channel_id() {
  set_has_channel_id();
  if (channel_id_ == NULL) channel_id_ = new ::bgs::protocol::EntityId;
  // @@protoc_insertion_point(field_mutable:bgs.protocol.InvitationSuggestion.channel_id)
  return channel_id_;
}
inline ::bgs::protocol::EntityId* InvitationSuggestion::release_channel_id() {
  clear_has_channel_id();
  ::bgs::protocol::EntityId* temp = channel_id_;
  channel_id_ = NULL;
  return temp;
}
inline void InvitationSuggestion::set_allocated_channel_id(::bgs::protocol::EntityId* channel_id) {
  delete channel_id_;
  channel_id_ = channel_id;
  if (channel_id) {
    set_has_channel_id();
  } else {
    clear_has_channel_id();
  }
  // @@protoc_insertion_point(field_set_allocated:bgs.protocol.InvitationSuggestion.channel_id)
}

// required .bgs.protocol.EntityId suggester_id = 2;
inline bool InvitationSuggestion::has_suggester_id() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void InvitationSuggestion::set_has_suggester_id() {
  _has_bits_[0] |= 0x00000002u;
}
inline void InvitationSuggestion::clear_has_suggester_id() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void InvitationSuggestion::clear_suggester_id() {
  if (suggester_id_ != NULL) suggester_id_->::bgs::protocol::EntityId::Clear();
  clear_has_suggester_id();
}
inline const ::bgs::protocol::EntityId& InvitationSuggestion::suggester_id() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.InvitationSuggestion.suggester_id)
  return suggester_id_ != NULL ? *suggester_id_ : *default_instance_->suggester_id_;
}
inline ::bgs::protocol::EntityId* InvitationSuggestion::mutable_suggester_id() {
  set_has_suggester_id();
  if (suggester_id_ == NULL) suggester_id_ = new ::bgs::protocol::EntityId;
  // @@protoc_insertion_point(field_mutable:bgs.protocol.InvitationSuggestion.suggester_id)
  return suggester_id_;
}
inline ::bgs::protocol::EntityId* InvitationSuggestion::release_suggester_id() {
  clear_has_suggester_id();
  ::bgs::protocol::EntityId* temp = suggester_id_;
  suggester_id_ = NULL;
  return temp;
}
inline void InvitationSuggestion::set_allocated_suggester_id(::bgs::protocol::EntityId* suggester_id) {
  delete suggester_id_;
  suggester_id_ = suggester_id;
  if (suggester_id) {
    set_has_suggester_id();
  } else {
    clear_has_suggester_id();
  }
  // @@protoc_insertion_point(field_set_allocated:bgs.protocol.InvitationSuggestion.suggester_id)
}

// required .bgs.protocol.EntityId suggestee_id = 3;
inline bool InvitationSuggestion::has_suggestee_id() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
inline void InvitationSuggestion::set_has_suggestee_id() {
  _has_bits_[0] |= 0x00000004u;
}
inline void InvitationSuggestion::clear_has_suggestee_id() {
  _has_bits_[0] &= ~0x00000004u;
}
inline void InvitationSuggestion::clear_suggestee_id() {
  if (suggestee_id_ != NULL) suggestee_id_->::bgs::protocol::EntityId::Clear();
  clear_has_suggestee_id();
}
inline const ::bgs::protocol::EntityId& InvitationSuggestion::suggestee_id() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.InvitationSuggestion.suggestee_id)
  return suggestee_id_ != NULL ? *suggestee_id_ : *default_instance_->suggestee_id_;
}
inline ::bgs::protocol::EntityId* InvitationSuggestion::mutable_suggestee_id() {
  set_has_suggestee_id();
  if (suggestee_id_ == NULL) suggestee_id_ = new ::bgs::protocol::EntityId;
  // @@protoc_insertion_point(field_mutable:bgs.protocol.InvitationSuggestion.suggestee_id)
  return suggestee_id_;
}
inline ::bgs::protocol::EntityId* InvitationSuggestion::release_suggestee_id() {
  clear_has_suggestee_id();
  ::bgs::protocol::EntityId* temp = suggestee_id_;
  suggestee_id_ = NULL;
  return temp;
}
inline void InvitationSuggestion::set_allocated_suggestee_id(::bgs::protocol::EntityId* suggestee_id) {
  delete suggestee_id_;
  suggestee_id_ = suggestee_id;
  if (suggestee_id) {
    set_has_suggestee_id();
  } else {
    clear_has_suggestee_id();
  }
  // @@protoc_insertion_point(field_set_allocated:bgs.protocol.InvitationSuggestion.suggestee_id)
}

// optional string suggester_name = 4;
inline bool InvitationSuggestion::has_suggester_name() const {
  return (_has_bits_[0] & 0x00000008u) != 0;
}
inline void InvitationSuggestion::set_has_suggester_name() {
  _has_bits_[0] |= 0x00000008u;
}
inline void InvitationSuggestion::clear_has_suggester_name() {
  _has_bits_[0] &= ~0x00000008u;
}
inline void InvitationSuggestion::clear_suggester_name() {
  if (suggester_name_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    suggester_name_->clear();
  }
  clear_has_suggester_name();
}
inline const ::std::string& InvitationSuggestion::suggester_name() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.InvitationSuggestion.suggester_name)
  return *suggester_name_;
}
inline void InvitationSuggestion::set_suggester_name(const ::std::string& value) {
  set_has_suggester_name();
  if (suggester_name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    suggester_name_ = new ::std::string;
  }
  suggester_name_->assign(value);
  // @@protoc_insertion_point(field_set:bgs.protocol.InvitationSuggestion.suggester_name)
}
inline void InvitationSuggestion::set_suggester_name(const char* value) {
  set_has_suggester_name();
  if (suggester_name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    suggester_name_ = new ::std::string;
  }
  suggester_name_->assign(value);
  // @@protoc_insertion_point(field_set_char:bgs.protocol.InvitationSuggestion.suggester_name)
}
inline void InvitationSuggestion::set_suggester_name(const char* value, size_t size) {
  set_has_suggester_name();
  if (suggester_name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    suggester_name_ = new ::std::string;
  }
  suggester_name_->assign(reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_set_pointer:bgs.protocol.InvitationSuggestion.suggester_name)
}
inline ::std::string* InvitationSuggestion::mutable_suggester_name() {
  set_has_suggester_name();
  if (suggester_name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    suggester_name_ = new ::std::string;
  }
  // @@protoc_insertion_point(field_mutable:bgs.protocol.InvitationSuggestion.suggester_name)
  return suggester_name_;
}
inline ::std::string* InvitationSuggestion::release_suggester_name() {
  clear_has_suggester_name();
  if (suggester_name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    return NULL;
  } else {
    ::std::string* temp = suggester_name_;
    suggester_name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    return temp;
  }
}
inline void InvitationSuggestion::set_allocated_suggester_name(::std::string* suggester_name) {
  if (suggester_name_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    delete suggester_name_;
  }
  if (suggester_name) {
    set_has_suggester_name();
    suggester_name_ = suggester_name;
  } else {
    clear_has_suggester_name();
    suggester_name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  // @@protoc_insertion_point(field_set_allocated:bgs.protocol.InvitationSuggestion.suggester_name)
}

// optional string suggestee_name = 5;
inline bool InvitationSuggestion::has_suggestee_name() const {
  return (_has_bits_[0] & 0x00000010u) != 0;
}
inline void InvitationSuggestion::set_has_suggestee_name() {
  _has_bits_[0] |= 0x00000010u;
}
inline void InvitationSuggestion::clear_has_suggestee_name() {
  _has_bits_[0] &= ~0x00000010u;
}
inline void InvitationSuggestion::clear_suggestee_name() {
  if (suggestee_name_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    suggestee_name_->clear();
  }
  clear_has_suggestee_name();
}
inline const ::std::string& InvitationSuggestion::suggestee_name() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.InvitationSuggestion.suggestee_name)
  return *suggestee_name_;
}
inline void InvitationSuggestion::set_suggestee_name(const ::std::string& value) {
  set_has_suggestee_name();
  if (suggestee_name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    suggestee_name_ = new ::std::string;
  }
  suggestee_name_->assign(value);
  // @@protoc_insertion_point(field_set:bgs.protocol.InvitationSuggestion.suggestee_name)
}
inline void InvitationSuggestion::set_suggestee_name(const char* value) {
  set_has_suggestee_name();
  if (suggestee_name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    suggestee_name_ = new ::std::string;
  }
  suggestee_name_->assign(value);
  // @@protoc_insertion_point(field_set_char:bgs.protocol.InvitationSuggestion.suggestee_name)
}
inline void InvitationSuggestion::set_suggestee_name(const char* value, size_t size) {
  set_has_suggestee_name();
  if (suggestee_name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    suggestee_name_ = new ::std::string;
  }
  suggestee_name_->assign(reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_set_pointer:bgs.protocol.InvitationSuggestion.suggestee_name)
}
inline ::std::string* InvitationSuggestion::mutable_suggestee_name() {
  set_has_suggestee_name();
  if (suggestee_name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    suggestee_name_ = new ::std::string;
  }
  // @@protoc_insertion_point(field_mutable:bgs.protocol.InvitationSuggestion.suggestee_name)
  return suggestee_name_;
}
inline ::std::string* InvitationSuggestion::release_suggestee_name() {
  clear_has_suggestee_name();
  if (suggestee_name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    return NULL;
  } else {
    ::std::string* temp = suggestee_name_;
    suggestee_name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    return temp;
  }
}
inline void InvitationSuggestion::set_allocated_suggestee_name(::std::string* suggestee_name) {
  if (suggestee_name_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    delete suggestee_name_;
  }
  if (suggestee_name) {
    set_has_suggestee_name();
    suggestee_name_ = suggestee_name;
  } else {
    clear_has_suggestee_name();
    suggestee_name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  // @@protoc_insertion_point(field_set_allocated:bgs.protocol.InvitationSuggestion.suggestee_name)
}

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

// InvitationTarget

// optional .bgs.protocol.Identity identity = 1;
inline bool InvitationTarget::has_identity() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void InvitationTarget::set_has_identity() {
  _has_bits_[0] |= 0x00000001u;
}
inline void InvitationTarget::clear_has_identity() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void InvitationTarget::clear_identity() {
  if (identity_ != NULL) identity_->::bgs::protocol::Identity::Clear();
  clear_has_identity();
}
inline const ::bgs::protocol::Identity& InvitationTarget::identity() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.InvitationTarget.identity)
  return identity_ != NULL ? *identity_ : *default_instance_->identity_;
}
inline ::bgs::protocol::Identity* InvitationTarget::mutable_identity() {
  set_has_identity();
  if (identity_ == NULL) identity_ = new ::bgs::protocol::Identity;
  // @@protoc_insertion_point(field_mutable:bgs.protocol.InvitationTarget.identity)
  return identity_;
}
inline ::bgs::protocol::Identity* InvitationTarget::release_identity() {
  clear_has_identity();
  ::bgs::protocol::Identity* temp = identity_;
  identity_ = NULL;
  return temp;
}
inline void InvitationTarget::set_allocated_identity(::bgs::protocol::Identity* identity) {
  delete identity_;
  identity_ = identity;
  if (identity) {
    set_has_identity();
  } else {
    clear_has_identity();
  }
  // @@protoc_insertion_point(field_set_allocated:bgs.protocol.InvitationTarget.identity)
}

// optional string email = 2;
inline bool InvitationTarget::has_email() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void InvitationTarget::set_has_email() {
  _has_bits_[0] |= 0x00000002u;
}
inline void InvitationTarget::clear_has_email() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void InvitationTarget::clear_email() {
  if (email_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    email_->clear();
  }
  clear_has_email();
}
inline const ::std::string& InvitationTarget::email() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.InvitationTarget.email)
  return *email_;
}
inline void InvitationTarget::set_email(const ::std::string& value) {
  set_has_email();
  if (email_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    email_ = new ::std::string;
  }
  email_->assign(value);
  // @@protoc_insertion_point(field_set:bgs.protocol.InvitationTarget.email)
}
inline void InvitationTarget::set_email(const char* value) {
  set_has_email();
  if (email_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    email_ = new ::std::string;
  }
  email_->assign(value);
  // @@protoc_insertion_point(field_set_char:bgs.protocol.InvitationTarget.email)
}
inline void InvitationTarget::set_email(const char* value, size_t size) {
  set_has_email();
  if (email_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    email_ = new ::std::string;
  }
  email_->assign(reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_set_pointer:bgs.protocol.InvitationTarget.email)
}
inline ::std::string* InvitationTarget::mutable_email() {
  set_has_email();
  if (email_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    email_ = new ::std::string;
  }
  // @@protoc_insertion_point(field_mutable:bgs.protocol.InvitationTarget.email)
  return email_;
}
inline ::std::string* InvitationTarget::release_email() {
  clear_has_email();
  if (email_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    return NULL;
  } else {
    ::std::string* temp = email_;
    email_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    return temp;
  }
}
inline void InvitationTarget::set_allocated_email(::std::string* email) {
  if (email_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    delete email_;
  }
  if (email) {
    set_has_email();
    email_ = email;
  } else {
    clear_has_email();
    email_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  // @@protoc_insertion_point(field_set_allocated:bgs.protocol.InvitationTarget.email)
}

// optional string battle_tag = 3;
inline bool InvitationTarget::has_battle_tag() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
inline void InvitationTarget::set_has_battle_tag() {
  _has_bits_[0] |= 0x00000004u;
}
inline void InvitationTarget::clear_has_battle_tag() {
  _has_bits_[0] &= ~0x00000004u;
}
inline void InvitationTarget::clear_battle_tag() {
  if (battle_tag_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    battle_tag_->clear();
  }
  clear_has_battle_tag();
}
inline const ::std::string& InvitationTarget::battle_tag() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.InvitationTarget.battle_tag)
  return *battle_tag_;
}
inline void InvitationTarget::set_battle_tag(const ::std::string& value) {
  set_has_battle_tag();
  if (battle_tag_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    battle_tag_ = new ::std::string;
  }
  battle_tag_->assign(value);
  // @@protoc_insertion_point(field_set:bgs.protocol.InvitationTarget.battle_tag)
}
inline void InvitationTarget::set_battle_tag(const char* value) {
  set_has_battle_tag();
  if (battle_tag_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    battle_tag_ = new ::std::string;
  }
  battle_tag_->assign(value);
  // @@protoc_insertion_point(field_set_char:bgs.protocol.InvitationTarget.battle_tag)
}
inline void InvitationTarget::set_battle_tag(const char* value, size_t size) {
  set_has_battle_tag();
  if (battle_tag_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    battle_tag_ = new ::std::string;
  }
  battle_tag_->assign(reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_set_pointer:bgs.protocol.InvitationTarget.battle_tag)
}
inline ::std::string* InvitationTarget::mutable_battle_tag() {
  set_has_battle_tag();
  if (battle_tag_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    battle_tag_ = new ::std::string;
  }
  // @@protoc_insertion_point(field_mutable:bgs.protocol.InvitationTarget.battle_tag)
  return battle_tag_;
}
inline ::std::string* InvitationTarget::release_battle_tag() {
  clear_has_battle_tag();
  if (battle_tag_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    return NULL;
  } else {
    ::std::string* temp = battle_tag_;
    battle_tag_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    return temp;
  }
}
inline void InvitationTarget::set_allocated_battle_tag(::std::string* battle_tag) {
  if (battle_tag_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    delete battle_tag_;
  }
  if (battle_tag) {
    set_has_battle_tag();
    battle_tag_ = battle_tag;
  } else {
    clear_has_battle_tag();
    battle_tag_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  // @@protoc_insertion_point(field_set_allocated:bgs.protocol.InvitationTarget.battle_tag)
}

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

// InvitationParams

// optional string invitation_message = 1;
inline bool InvitationParams::has_invitation_message() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void InvitationParams::set_has_invitation_message() {
  _has_bits_[0] |= 0x00000001u;
}
inline void InvitationParams::clear_has_invitation_message() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void InvitationParams::clear_invitation_message() {
  if (invitation_message_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    invitation_message_->clear();
  }
  clear_has_invitation_message();
}
inline const ::std::string& InvitationParams::invitation_message() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.InvitationParams.invitation_message)
  return *invitation_message_;
}
inline void InvitationParams::set_invitation_message(const ::std::string& value) {
  set_has_invitation_message();
  if (invitation_message_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    invitation_message_ = new ::std::string;
  }
  invitation_message_->assign(value);
  // @@protoc_insertion_point(field_set:bgs.protocol.InvitationParams.invitation_message)
}
inline void InvitationParams::set_invitation_message(const char* value) {
  set_has_invitation_message();
  if (invitation_message_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    invitation_message_ = new ::std::string;
  }
  invitation_message_->assign(value);
  // @@protoc_insertion_point(field_set_char:bgs.protocol.InvitationParams.invitation_message)
}
inline void InvitationParams::set_invitation_message(const char* value, size_t size) {
  set_has_invitation_message();
  if (invitation_message_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    invitation_message_ = new ::std::string;
  }
  invitation_message_->assign(reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_set_pointer:bgs.protocol.InvitationParams.invitation_message)
}
inline ::std::string* InvitationParams::mutable_invitation_message() {
  set_has_invitation_message();
  if (invitation_message_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    invitation_message_ = new ::std::string;
  }
  // @@protoc_insertion_point(field_mutable:bgs.protocol.InvitationParams.invitation_message)
  return invitation_message_;
}
inline ::std::string* InvitationParams::release_invitation_message() {
  clear_has_invitation_message();
  if (invitation_message_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    return NULL;
  } else {
    ::std::string* temp = invitation_message_;
    invitation_message_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    return temp;
  }
}
inline void InvitationParams::set_allocated_invitation_message(::std::string* invitation_message) {
  if (invitation_message_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    delete invitation_message_;
  }
  if (invitation_message) {
    set_has_invitation_message();
    invitation_message_ = invitation_message;
  } else {
    clear_has_invitation_message();
    invitation_message_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  // @@protoc_insertion_point(field_set_allocated:bgs.protocol.InvitationParams.invitation_message)
}

// optional uint64 expiration_time = 2 [default = 0];
inline bool InvitationParams::has_expiration_time() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void InvitationParams::set_has_expiration_time() {
  _has_bits_[0] |= 0x00000002u;
}
inline void InvitationParams::clear_has_expiration_time() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void InvitationParams::clear_expiration_time() {
  expiration_time_ = GOOGLE_ULONGLONG(0);
  clear_has_expiration_time();
}
inline ::google::protobuf::uint64 InvitationParams::expiration_time() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.InvitationParams.expiration_time)
  return expiration_time_;
}
inline void InvitationParams::set_expiration_time(::google::protobuf::uint64 value) {
  set_has_expiration_time();
  expiration_time_ = value;
  // @@protoc_insertion_point(field_set:bgs.protocol.InvitationParams.expiration_time)
}

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

// SendInvitationRequest

// optional .bgs.protocol.Identity agent_identity = 1;
inline bool SendInvitationRequest::has_agent_identity() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void SendInvitationRequest::set_has_agent_identity() {
  _has_bits_[0] |= 0x00000001u;
}
inline void SendInvitationRequest::clear_has_agent_identity() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void SendInvitationRequest::clear_agent_identity() {
  if (agent_identity_ != NULL) agent_identity_->::bgs::protocol::Identity::Clear();
  clear_has_agent_identity();
}
inline const ::bgs::protocol::Identity& SendInvitationRequest::agent_identity() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.SendInvitationRequest.agent_identity)
  return agent_identity_ != NULL ? *agent_identity_ : *default_instance_->agent_identity_;
}
inline ::bgs::protocol::Identity* SendInvitationRequest::mutable_agent_identity() {
  set_has_agent_identity();
  if (agent_identity_ == NULL) agent_identity_ = new ::bgs::protocol::Identity;
  // @@protoc_insertion_point(field_mutable:bgs.protocol.SendInvitationRequest.agent_identity)
  return agent_identity_;
}
inline ::bgs::protocol::Identity* SendInvitationRequest::release_agent_identity() {
  clear_has_agent_identity();
  ::bgs::protocol::Identity* temp = agent_identity_;
  agent_identity_ = NULL;
  return temp;
}
inline void SendInvitationRequest::set_allocated_agent_identity(::bgs::protocol::Identity* agent_identity) {
  delete agent_identity_;
  agent_identity_ = agent_identity;
  if (agent_identity) {
    set_has_agent_identity();
  } else {
    clear_has_agent_identity();
  }
  // @@protoc_insertion_point(field_set_allocated:bgs.protocol.SendInvitationRequest.agent_identity)
}

// required .bgs.protocol.EntityId target_id = 2 [deprecated = true];
inline bool SendInvitationRequest::has_target_id() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void SendInvitationRequest::set_has_target_id() {
  _has_bits_[0] |= 0x00000002u;
}
inline void SendInvitationRequest::clear_has_target_id() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void SendInvitationRequest::clear_target_id() {
  if (target_id_ != NULL) target_id_->::bgs::protocol::EntityId::Clear();
  clear_has_target_id();
}
inline const ::bgs::protocol::EntityId& SendInvitationRequest::target_id() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.SendInvitationRequest.target_id)
  return target_id_ != NULL ? *target_id_ : *default_instance_->target_id_;
}
inline ::bgs::protocol::EntityId* SendInvitationRequest::mutable_target_id() {
  set_has_target_id();
  if (target_id_ == NULL) target_id_ = new ::bgs::protocol::EntityId;
  // @@protoc_insertion_point(field_mutable:bgs.protocol.SendInvitationRequest.target_id)
  return target_id_;
}
inline ::bgs::protocol::EntityId* SendInvitationRequest::release_target_id() {
  clear_has_target_id();
  ::bgs::protocol::EntityId* temp = target_id_;
  target_id_ = NULL;
  return temp;
}
inline void SendInvitationRequest::set_allocated_target_id(::bgs::protocol::EntityId* target_id) {
  delete target_id_;
  target_id_ = target_id;
  if (target_id) {
    set_has_target_id();
  } else {
    clear_has_target_id();
  }
  // @@protoc_insertion_point(field_set_allocated:bgs.protocol.SendInvitationRequest.target_id)
}

// required .bgs.protocol.InvitationParams params = 3;
inline bool SendInvitationRequest::has_params() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
inline void SendInvitationRequest::set_has_params() {
  _has_bits_[0] |= 0x00000004u;
}
inline void SendInvitationRequest::clear_has_params() {
  _has_bits_[0] &= ~0x00000004u;
}
inline void SendInvitationRequest::clear_params() {
  if (params_ != NULL) params_->::bgs::protocol::InvitationParams::Clear();
  clear_has_params();
}
inline const ::bgs::protocol::InvitationParams& SendInvitationRequest::params() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.SendInvitationRequest.params)
  return params_ != NULL ? *params_ : *default_instance_->params_;
}
inline ::bgs::protocol::InvitationParams* SendInvitationRequest::mutable_params() {
  set_has_params();
  if (params_ == NULL) params_ = new ::bgs::protocol::InvitationParams;
  // @@protoc_insertion_point(field_mutable:bgs.protocol.SendInvitationRequest.params)
  return params_;
}
inline ::bgs::protocol::InvitationParams* SendInvitationRequest::release_params() {
  clear_has_params();
  ::bgs::protocol::InvitationParams* temp = params_;
  params_ = NULL;
  return temp;
}
inline void SendInvitationRequest::set_allocated_params(::bgs::protocol::InvitationParams* params) {
  delete params_;
  params_ = params;
  if (params) {
    set_has_params();
  } else {
    clear_has_params();
  }
  // @@protoc_insertion_point(field_set_allocated:bgs.protocol.SendInvitationRequest.params)
}

// optional .bgs.protocol.AccountInfo agent_info = 4;
inline bool SendInvitationRequest::has_agent_info() const {
  return (_has_bits_[0] & 0x00000008u) != 0;
}
inline void SendInvitationRequest::set_has_agent_info() {
  _has_bits_[0] |= 0x00000008u;
}
inline void SendInvitationRequest::clear_has_agent_info() {
  _has_bits_[0] &= ~0x00000008u;
}
inline void SendInvitationRequest::clear_agent_info() {
  if (agent_info_ != NULL) agent_info_->::bgs::protocol::AccountInfo::Clear();
  clear_has_agent_info();
}
inline const ::bgs::protocol::AccountInfo& SendInvitationRequest::agent_info() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.SendInvitationRequest.agent_info)
  return agent_info_ != NULL ? *agent_info_ : *default_instance_->agent_info_;
}
inline ::bgs::protocol::AccountInfo* SendInvitationRequest::mutable_agent_info() {
  set_has_agent_info();
  if (agent_info_ == NULL) agent_info_ = new ::bgs::protocol::AccountInfo;
  // @@protoc_insertion_point(field_mutable:bgs.protocol.SendInvitationRequest.agent_info)
  return agent_info_;
}
inline ::bgs::protocol::AccountInfo* SendInvitationRequest::release_agent_info() {
  clear_has_agent_info();
  ::bgs::protocol::AccountInfo* temp = agent_info_;
  agent_info_ = NULL;
  return temp;
}
inline void SendInvitationRequest::set_allocated_agent_info(::bgs::protocol::AccountInfo* agent_info) {
  delete agent_info_;
  agent_info_ = agent_info;
  if (agent_info) {
    set_has_agent_info();
  } else {
    clear_has_agent_info();
  }
  // @@protoc_insertion_point(field_set_allocated:bgs.protocol.SendInvitationRequest.agent_info)
}

// optional .bgs.protocol.InvitationTarget target = 5;
inline bool SendInvitationRequest::has_target() const {
  return (_has_bits_[0] & 0x00000010u) != 0;
}
inline void SendInvitationRequest::set_has_target() {
  _has_bits_[0] |= 0x00000010u;
}
inline void SendInvitationRequest::clear_has_target() {
  _has_bits_[0] &= ~0x00000010u;
}
inline void SendInvitationRequest::clear_target() {
  if (target_ != NULL) target_->::bgs::protocol::InvitationTarget::Clear();
  clear_has_target();
}
inline const ::bgs::protocol::InvitationTarget& SendInvitationRequest::target() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.SendInvitationRequest.target)
  return target_ != NULL ? *target_ : *default_instance_->target_;
}
inline ::bgs::protocol::InvitationTarget* SendInvitationRequest::mutable_target() {
  set_has_target();
  if (target_ == NULL) target_ = new ::bgs::protocol::InvitationTarget;
  // @@protoc_insertion_point(field_mutable:bgs.protocol.SendInvitationRequest.target)
  return target_;
}
inline ::bgs::protocol::InvitationTarget* SendInvitationRequest::release_target() {
  clear_has_target();
  ::bgs::protocol::InvitationTarget* temp = target_;
  target_ = NULL;
  return temp;
}
inline void SendInvitationRequest::set_allocated_target(::bgs::protocol::InvitationTarget* target) {
  delete target_;
  target_ = target;
  if (target) {
    set_has_target();
  } else {
    clear_has_target();
  }
  // @@protoc_insertion_point(field_set_allocated:bgs.protocol.SendInvitationRequest.target)
}

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

// SendInvitationResponse

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

// UpdateInvitationRequest

// optional .bgs.protocol.Identity agent_identity = 1;
inline bool UpdateInvitationRequest::has_agent_identity() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void UpdateInvitationRequest::set_has_agent_identity() {
  _has_bits_[0] |= 0x00000001u;
}
inline void UpdateInvitationRequest::clear_has_agent_identity() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void UpdateInvitationRequest::clear_agent_identity() {
  if (agent_identity_ != NULL) agent_identity_->::bgs::protocol::Identity::Clear();
  clear_has_agent_identity();
}
inline const ::bgs::protocol::Identity& UpdateInvitationRequest::agent_identity() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.UpdateInvitationRequest.agent_identity)
  return agent_identity_ != NULL ? *agent_identity_ : *default_instance_->agent_identity_;
}
inline ::bgs::protocol::Identity* UpdateInvitationRequest::mutable_agent_identity() {
  set_has_agent_identity();
  if (agent_identity_ == NULL) agent_identity_ = new ::bgs::protocol::Identity;
  // @@protoc_insertion_point(field_mutable:bgs.protocol.UpdateInvitationRequest.agent_identity)
  return agent_identity_;
}
inline ::bgs::protocol::Identity* UpdateInvitationRequest::release_agent_identity() {
  clear_has_agent_identity();
  ::bgs::protocol::Identity* temp = agent_identity_;
  agent_identity_ = NULL;
  return temp;
}
inline void UpdateInvitationRequest::set_allocated_agent_identity(::bgs::protocol::Identity* agent_identity) {
  delete agent_identity_;
  agent_identity_ = agent_identity;
  if (agent_identity) {
    set_has_agent_identity();
  } else {
    clear_has_agent_identity();
  }
  // @@protoc_insertion_point(field_set_allocated:bgs.protocol.UpdateInvitationRequest.agent_identity)
}

// required fixed64 invitation_id = 2;
inline bool UpdateInvitationRequest::has_invitation_id() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void UpdateInvitationRequest::set_has_invitation_id() {
  _has_bits_[0] |= 0x00000002u;
}
inline void UpdateInvitationRequest::clear_has_invitation_id() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void UpdateInvitationRequest::clear_invitation_id() {
  invitation_id_ = GOOGLE_ULONGLONG(0);
  clear_has_invitation_id();
}
inline ::google::protobuf::uint64 UpdateInvitationRequest::invitation_id() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.UpdateInvitationRequest.invitation_id)
  return invitation_id_;
}
inline void UpdateInvitationRequest::set_invitation_id(::google::protobuf::uint64 value) {
  set_has_invitation_id();
  invitation_id_ = value;
  // @@protoc_insertion_point(field_set:bgs.protocol.UpdateInvitationRequest.invitation_id)
}

// required .bgs.protocol.InvitationParams params = 3;
inline bool UpdateInvitationRequest::has_params() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
inline void UpdateInvitationRequest::set_has_params() {
  _has_bits_[0] |= 0x00000004u;
}
inline void UpdateInvitationRequest::clear_has_params() {
  _has_bits_[0] &= ~0x00000004u;
}
inline void UpdateInvitationRequest::clear_params() {
  if (params_ != NULL) params_->::bgs::protocol::InvitationParams::Clear();
  clear_has_params();
}
inline const ::bgs::protocol::InvitationParams& UpdateInvitationRequest::params() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.UpdateInvitationRequest.params)
  return params_ != NULL ? *params_ : *default_instance_->params_;
}
inline ::bgs::protocol::InvitationParams* UpdateInvitationRequest::mutable_params() {
  set_has_params();
  if (params_ == NULL) params_ = new ::bgs::protocol::InvitationParams;
  // @@protoc_insertion_point(field_mutable:bgs.protocol.UpdateInvitationRequest.params)
  return params_;
}
inline ::bgs::protocol::InvitationParams* UpdateInvitationRequest::release_params() {
  clear_has_params();
  ::bgs::protocol::InvitationParams* temp = params_;
  params_ = NULL;
  return temp;
}
inline void UpdateInvitationRequest::set_allocated_params(::bgs::protocol::InvitationParams* params) {
  delete params_;
  params_ = params;
  if (params) {
    set_has_params();
  } else {
    clear_has_params();
  }
  // @@protoc_insertion_point(field_set_allocated:bgs.protocol.UpdateInvitationRequest.params)
}

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

// GenericInvitationRequest

// optional .bgs.protocol.EntityId agent_id = 1;
inline bool GenericInvitationRequest::has_agent_id() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void GenericInvitationRequest::set_has_agent_id() {
  _has_bits_[0] |= 0x00000001u;
}
inline void GenericInvitationRequest::clear_has_agent_id() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void GenericInvitationRequest::clear_agent_id() {
  if (agent_id_ != NULL) agent_id_->::bgs::protocol::EntityId::Clear();
  clear_has_agent_id();
}
inline const ::bgs::protocol::EntityId& GenericInvitationRequest::agent_id() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.GenericInvitationRequest.agent_id)
  return agent_id_ != NULL ? *agent_id_ : *default_instance_->agent_id_;
}
inline ::bgs::protocol::EntityId* GenericInvitationRequest::mutable_agent_id() {
  set_has_agent_id();
  if (agent_id_ == NULL) agent_id_ = new ::bgs::protocol::EntityId;
  // @@protoc_insertion_point(field_mutable:bgs.protocol.GenericInvitationRequest.agent_id)
  return agent_id_;
}
inline ::bgs::protocol::EntityId* GenericInvitationRequest::release_agent_id() {
  clear_has_agent_id();
  ::bgs::protocol::EntityId* temp = agent_id_;
  agent_id_ = NULL;
  return temp;
}
inline void GenericInvitationRequest::set_allocated_agent_id(::bgs::protocol::EntityId* agent_id) {
  delete agent_id_;
  agent_id_ = agent_id;
  if (agent_id) {
    set_has_agent_id();
  } else {
    clear_has_agent_id();
  }
  // @@protoc_insertion_point(field_set_allocated:bgs.protocol.GenericInvitationRequest.agent_id)
}

// optional .bgs.protocol.EntityId target_id = 2;
inline bool GenericInvitationRequest::has_target_id() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void GenericInvitationRequest::set_has_target_id() {
  _has_bits_[0] |= 0x00000002u;
}
inline void GenericInvitationRequest::clear_has_target_id() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void GenericInvitationRequest::clear_target_id() {
  if (target_id_ != NULL) target_id_->::bgs::protocol::EntityId::Clear();
  clear_has_target_id();
}
inline const ::bgs::protocol::EntityId& GenericInvitationRequest::target_id() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.GenericInvitationRequest.target_id)
  return target_id_ != NULL ? *target_id_ : *default_instance_->target_id_;
}
inline ::bgs::protocol::EntityId* GenericInvitationRequest::mutable_target_id() {
  set_has_target_id();
  if (target_id_ == NULL) target_id_ = new ::bgs::protocol::EntityId;
  // @@protoc_insertion_point(field_mutable:bgs.protocol.GenericInvitationRequest.target_id)
  return target_id_;
}
inline ::bgs::protocol::EntityId* GenericInvitationRequest::release_target_id() {
  clear_has_target_id();
  ::bgs::protocol::EntityId* temp = target_id_;
  target_id_ = NULL;
  return temp;
}
inline void GenericInvitationRequest::set_allocated_target_id(::bgs::protocol::EntityId* target_id) {
  delete target_id_;
  target_id_ = target_id;
  if (target_id) {
    set_has_target_id();
  } else {
    clear_has_target_id();
  }
  // @@protoc_insertion_point(field_set_allocated:bgs.protocol.GenericInvitationRequest.target_id)
}

// required fixed64 invitation_id = 3;
inline bool GenericInvitationRequest::has_invitation_id() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
inline void GenericInvitationRequest::set_has_invitation_id() {
  _has_bits_[0] |= 0x00000004u;
}
inline void GenericInvitationRequest::clear_has_invitation_id() {
  _has_bits_[0] &= ~0x00000004u;
}
inline void GenericInvitationRequest::clear_invitation_id() {
  invitation_id_ = GOOGLE_ULONGLONG(0);
  clear_has_invitation_id();
}
inline ::google::protobuf::uint64 GenericInvitationRequest::invitation_id() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.GenericInvitationRequest.invitation_id)
  return invitation_id_;
}
inline void GenericInvitationRequest::set_invitation_id(::google::protobuf::uint64 value) {
  set_has_invitation_id();
  invitation_id_ = value;
  // @@protoc_insertion_point(field_set:bgs.protocol.GenericInvitationRequest.invitation_id)
}

// optional string invitee_name = 4;
inline bool GenericInvitationRequest::has_invitee_name() const {
  return (_has_bits_[0] & 0x00000008u) != 0;
}
inline void GenericInvitationRequest::set_has_invitee_name() {
  _has_bits_[0] |= 0x00000008u;
}
inline void GenericInvitationRequest::clear_has_invitee_name() {
  _has_bits_[0] &= ~0x00000008u;
}
inline void GenericInvitationRequest::clear_invitee_name() {
  if (invitee_name_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    invitee_name_->clear();
  }
  clear_has_invitee_name();
}
inline const ::std::string& GenericInvitationRequest::invitee_name() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.GenericInvitationRequest.invitee_name)
  return *invitee_name_;
}
inline void GenericInvitationRequest::set_invitee_name(const ::std::string& value) {
  set_has_invitee_name();
  if (invitee_name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    invitee_name_ = new ::std::string;
  }
  invitee_name_->assign(value);
  // @@protoc_insertion_point(field_set:bgs.protocol.GenericInvitationRequest.invitee_name)
}
inline void GenericInvitationRequest::set_invitee_name(const char* value) {
  set_has_invitee_name();
  if (invitee_name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    invitee_name_ = new ::std::string;
  }
  invitee_name_->assign(value);
  // @@protoc_insertion_point(field_set_char:bgs.protocol.GenericInvitationRequest.invitee_name)
}
inline void GenericInvitationRequest::set_invitee_name(const char* value, size_t size) {
  set_has_invitee_name();
  if (invitee_name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    invitee_name_ = new ::std::string;
  }
  invitee_name_->assign(reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_set_pointer:bgs.protocol.GenericInvitationRequest.invitee_name)
}
inline ::std::string* GenericInvitationRequest::mutable_invitee_name() {
  set_has_invitee_name();
  if (invitee_name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    invitee_name_ = new ::std::string;
  }
  // @@protoc_insertion_point(field_mutable:bgs.protocol.GenericInvitationRequest.invitee_name)
  return invitee_name_;
}
inline ::std::string* GenericInvitationRequest::release_invitee_name() {
  clear_has_invitee_name();
  if (invitee_name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    return NULL;
  } else {
    ::std::string* temp = invitee_name_;
    invitee_name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    return temp;
  }
}
inline void GenericInvitationRequest::set_allocated_invitee_name(::std::string* invitee_name) {
  if (invitee_name_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    delete invitee_name_;
  }
  if (invitee_name) {
    set_has_invitee_name();
    invitee_name_ = invitee_name;
  } else {
    clear_has_invitee_name();
    invitee_name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  // @@protoc_insertion_point(field_set_allocated:bgs.protocol.GenericInvitationRequest.invitee_name)
}

// optional string inviter_name = 5;
inline bool GenericInvitationRequest::has_inviter_name() const {
  return (_has_bits_[0] & 0x00000010u) != 0;
}
inline void GenericInvitationRequest::set_has_inviter_name() {
  _has_bits_[0] |= 0x00000010u;
}
inline void GenericInvitationRequest::clear_has_inviter_name() {
  _has_bits_[0] &= ~0x00000010u;
}
inline void GenericInvitationRequest::clear_inviter_name() {
  if (inviter_name_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    inviter_name_->clear();
  }
  clear_has_inviter_name();
}
inline const ::std::string& GenericInvitationRequest::inviter_name() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.GenericInvitationRequest.inviter_name)
  return *inviter_name_;
}
inline void GenericInvitationRequest::set_inviter_name(const ::std::string& value) {
  set_has_inviter_name();
  if (inviter_name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    inviter_name_ = new ::std::string;
  }
  inviter_name_->assign(value);
  // @@protoc_insertion_point(field_set:bgs.protocol.GenericInvitationRequest.inviter_name)
}
inline void GenericInvitationRequest::set_inviter_name(const char* value) {
  set_has_inviter_name();
  if (inviter_name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    inviter_name_ = new ::std::string;
  }
  inviter_name_->assign(value);
  // @@protoc_insertion_point(field_set_char:bgs.protocol.GenericInvitationRequest.inviter_name)
}
inline void GenericInvitationRequest::set_inviter_name(const char* value, size_t size) {
  set_has_inviter_name();
  if (inviter_name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    inviter_name_ = new ::std::string;
  }
  inviter_name_->assign(reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_set_pointer:bgs.protocol.GenericInvitationRequest.inviter_name)
}
inline ::std::string* GenericInvitationRequest::mutable_inviter_name() {
  set_has_inviter_name();
  if (inviter_name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    inviter_name_ = new ::std::string;
  }
  // @@protoc_insertion_point(field_mutable:bgs.protocol.GenericInvitationRequest.inviter_name)
  return inviter_name_;
}
inline ::std::string* GenericInvitationRequest::release_inviter_name() {
  clear_has_inviter_name();
  if (inviter_name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    return NULL;
  } else {
    ::std::string* temp = inviter_name_;
    inviter_name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    return temp;
  }
}
inline void GenericInvitationRequest::set_allocated_inviter_name(::std::string* inviter_name) {
  if (inviter_name_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
    delete inviter_name_;
  }
  if (inviter_name) {
    set_has_inviter_name();
    inviter_name_ = inviter_name;
  } else {
    clear_has_inviter_name();
    inviter_name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  // @@protoc_insertion_point(field_set_allocated:bgs.protocol.GenericInvitationRequest.inviter_name)
}

// repeated uint32 previous_role = 6 [packed = true];
inline int GenericInvitationRequest::previous_role_size() const {
  return previous_role_.size();
}
inline void GenericInvitationRequest::clear_previous_role() {
  previous_role_.Clear();
}
inline ::google::protobuf::uint32 GenericInvitationRequest::previous_role(int index) const {
  // @@protoc_insertion_point(field_get:bgs.protocol.GenericInvitationRequest.previous_role)
  return previous_role_.Get(index);
}
inline void GenericInvitationRequest::set_previous_role(int index, ::google::protobuf::uint32 value) {
  previous_role_.Set(index, value);
  // @@protoc_insertion_point(field_set:bgs.protocol.GenericInvitationRequest.previous_role)
}
inline void GenericInvitationRequest::add_previous_role(::google::protobuf::uint32 value) {
  previous_role_.Add(value);
  // @@protoc_insertion_point(field_add:bgs.protocol.GenericInvitationRequest.previous_role)
}
inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
GenericInvitationRequest::previous_role() const {
  // @@protoc_insertion_point(field_list:bgs.protocol.GenericInvitationRequest.previous_role)
  return previous_role_;
}
inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
GenericInvitationRequest::mutable_previous_role() {
  // @@protoc_insertion_point(field_mutable_list:bgs.protocol.GenericInvitationRequest.previous_role)
  return &previous_role_;
}

// repeated uint32 desired_role = 7 [packed = true];
inline int GenericInvitationRequest::desired_role_size() const {
  return desired_role_.size();
}
inline void GenericInvitationRequest::clear_desired_role() {
  desired_role_.Clear();
}
inline ::google::protobuf::uint32 GenericInvitationRequest::desired_role(int index) const {
  // @@protoc_insertion_point(field_get:bgs.protocol.GenericInvitationRequest.desired_role)
  return desired_role_.Get(index);
}
inline void GenericInvitationRequest::set_desired_role(int index, ::google::protobuf::uint32 value) {
  desired_role_.Set(index, value);
  // @@protoc_insertion_point(field_set:bgs.protocol.GenericInvitationRequest.desired_role)
}
inline void GenericInvitationRequest::add_desired_role(::google::protobuf::uint32 value) {
  desired_role_.Add(value);
  // @@protoc_insertion_point(field_add:bgs.protocol.GenericInvitationRequest.desired_role)
}
inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
GenericInvitationRequest::desired_role() const {
  // @@protoc_insertion_point(field_list:bgs.protocol.GenericInvitationRequest.desired_role)
  return desired_role_;
}
inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
GenericInvitationRequest::mutable_desired_role() {
  // @@protoc_insertion_point(field_mutable_list:bgs.protocol.GenericInvitationRequest.desired_role)
  return &desired_role_;
}

// optional uint32 reason = 8;
inline bool GenericInvitationRequest::has_reason() const {
  return (_has_bits_[0] & 0x00000080u) != 0;
}
inline void GenericInvitationRequest::set_has_reason() {
  _has_bits_[0] |= 0x00000080u;
}
inline void GenericInvitationRequest::clear_has_reason() {
  _has_bits_[0] &= ~0x00000080u;
}
inline void GenericInvitationRequest::clear_reason() {
  reason_ = 0u;
  clear_has_reason();
}
inline ::google::protobuf::uint32 GenericInvitationRequest::reason() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.GenericInvitationRequest.reason)
  return reason_;
}
inline void GenericInvitationRequest::set_reason(::google::protobuf::uint32 value) {
  set_has_reason();
  reason_ = value;
  // @@protoc_insertion_point(field_set:bgs.protocol.GenericInvitationRequest.reason)
}


// @@protoc_insertion_point(namespace_scope)

}  // namespace protocol
}  // namespace bgs

#ifndef SWIG
namespace google {
namespace protobuf {


}  // namespace google
}  // namespace protobuf
#endif  // SWIG

// @@protoc_insertion_point(global_scope)

#endif  // PROTOBUF_invitation_5ftypes_2eproto__INCLUDED
