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

#ifndef PROTOBUF_user_5fmanager_5fservice_2eproto__INCLUDED
#define PROTOBUF_user_5fmanager_5fservice_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 "user_manager_types.pb.h"
#include "entity_types.pb.h"
#include "role_types.pb.h"
#include "rpc_types.pb.h"
#include "ServiceBase.h"
#include "MessageBuffer.h"
#include <functional>
#include <type_traits>
// @@protoc_insertion_point(includes)

namespace bgs {
namespace protocol {
namespace user_manager {
namespace v1 {

// Internal implementation detail -- do not call these.
void TC_PROTO_API protobuf_AddDesc_user_5fmanager_5fservice_2eproto();
void protobuf_AssignDesc_user_5fmanager_5fservice_2eproto();
void protobuf_ShutdownFile_user_5fmanager_5fservice_2eproto();

class SubscribeRequest;
class SubscribeResponse;
class UnsubscribeRequest;
class AddRecentPlayersRequest;
class ClearRecentPlayersRequest;
class BlockPlayerRequest;
class UnblockPlayerRequest;
class BlockedPlayerAddedNotification;
class BlockedPlayerRemovedNotification;
class RecentPlayersAddedNotification;
class RecentPlayersRemovedNotification;

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

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

  SubscribeRequest(const SubscribeRequest& from);

  inline SubscribeRequest& operator=(const SubscribeRequest& 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 SubscribeRequest& default_instance();

  void Swap(SubscribeRequest* other);

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

  SubscribeRequest* New() const;
  void CopyFrom(const ::google::protobuf::Message& from);
  void MergeFrom(const ::google::protobuf::Message& from);
  void CopyFrom(const SubscribeRequest& from);
  void MergeFrom(const SubscribeRequest& 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);

  // required uint64 object_id = 2;
  inline bool has_object_id() const;
  inline void clear_object_id();
  static const int kObjectIdFieldNumber = 2;
  inline ::google::protobuf::uint64 object_id() const;
  inline void set_object_id(::google::protobuf::uint64 value);

  // @@protoc_insertion_point(class_scope:bgs.protocol.user_manager.v1.SubscribeRequest)
 private:
  inline void set_has_agent_id();
  inline void clear_has_agent_id();
  inline void set_has_object_id();
  inline void clear_has_object_id();

  ::google::protobuf::UnknownFieldSet _unknown_fields_;

  ::google::protobuf::uint32 _has_bits_[1];
  mutable int _cached_size_;
  ::bgs::protocol::EntityId* agent_id_;
  ::google::protobuf::uint64 object_id_;
  friend void TC_PROTO_API protobuf_AddDesc_user_5fmanager_5fservice_2eproto();
  friend void protobuf_AssignDesc_user_5fmanager_5fservice_2eproto();
  friend void protobuf_ShutdownFile_user_5fmanager_5fservice_2eproto();

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

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

  SubscribeResponse(const SubscribeResponse& from);

  inline SubscribeResponse& operator=(const SubscribeResponse& 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 SubscribeResponse& default_instance();

  void Swap(SubscribeResponse* other);

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

  SubscribeResponse* New() const;
  void CopyFrom(const ::google::protobuf::Message& from);
  void MergeFrom(const ::google::protobuf::Message& from);
  void CopyFrom(const SubscribeResponse& from);
  void MergeFrom(const SubscribeResponse& 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 -------------------------------------------------------

  // repeated .bgs.protocol.user_manager.v1.BlockedPlayer blocked_players = 1;
  inline int blocked_players_size() const;
  inline void clear_blocked_players();
  static const int kBlockedPlayersFieldNumber = 1;
  inline const ::bgs::protocol::user_manager::v1::BlockedPlayer& blocked_players(int index) const;
  inline ::bgs::protocol::user_manager::v1::BlockedPlayer* mutable_blocked_players(int index);
  inline ::bgs::protocol::user_manager::v1::BlockedPlayer* add_blocked_players();
  inline const ::google::protobuf::RepeatedPtrField< ::bgs::protocol::user_manager::v1::BlockedPlayer >&
      blocked_players() const;
  inline ::google::protobuf::RepeatedPtrField< ::bgs::protocol::user_manager::v1::BlockedPlayer >*
      mutable_blocked_players();

  // repeated .bgs.protocol.user_manager.v1.RecentPlayer recent_players = 2;
  inline int recent_players_size() const;
  inline void clear_recent_players();
  static const int kRecentPlayersFieldNumber = 2;
  inline const ::bgs::protocol::user_manager::v1::RecentPlayer& recent_players(int index) const;
  inline ::bgs::protocol::user_manager::v1::RecentPlayer* mutable_recent_players(int index);
  inline ::bgs::protocol::user_manager::v1::RecentPlayer* add_recent_players();
  inline const ::google::protobuf::RepeatedPtrField< ::bgs::protocol::user_manager::v1::RecentPlayer >&
      recent_players() const;
  inline ::google::protobuf::RepeatedPtrField< ::bgs::protocol::user_manager::v1::RecentPlayer >*
      mutable_recent_players();

  // repeated .bgs.protocol.Role role = 3;
  inline int role_size() const;
  inline void clear_role();
  static const int kRoleFieldNumber = 3;
  inline const ::bgs::protocol::Role& role(int index) const;
  inline ::bgs::protocol::Role* mutable_role(int index);
  inline ::bgs::protocol::Role* add_role();
  inline const ::google::protobuf::RepeatedPtrField< ::bgs::protocol::Role >&
      role() const;
  inline ::google::protobuf::RepeatedPtrField< ::bgs::protocol::Role >*
      mutable_role();

  // @@protoc_insertion_point(class_scope:bgs.protocol.user_manager.v1.SubscribeResponse)
 private:

  ::google::protobuf::UnknownFieldSet _unknown_fields_;

  ::google::protobuf::uint32 _has_bits_[1];
  mutable int _cached_size_;
  ::google::protobuf::RepeatedPtrField< ::bgs::protocol::user_manager::v1::BlockedPlayer > blocked_players_;
  ::google::protobuf::RepeatedPtrField< ::bgs::protocol::user_manager::v1::RecentPlayer > recent_players_;
  ::google::protobuf::RepeatedPtrField< ::bgs::protocol::Role > role_;
  friend void TC_PROTO_API protobuf_AddDesc_user_5fmanager_5fservice_2eproto();
  friend void protobuf_AssignDesc_user_5fmanager_5fservice_2eproto();
  friend void protobuf_ShutdownFile_user_5fmanager_5fservice_2eproto();

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

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

  UnsubscribeRequest(const UnsubscribeRequest& from);

  inline UnsubscribeRequest& operator=(const UnsubscribeRequest& 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 UnsubscribeRequest& default_instance();

  void Swap(UnsubscribeRequest* other);

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

  UnsubscribeRequest* New() const;
  void CopyFrom(const ::google::protobuf::Message& from);
  void MergeFrom(const ::google::protobuf::Message& from);
  void CopyFrom(const UnsubscribeRequest& from);
  void MergeFrom(const UnsubscribeRequest& 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 uint64 object_id = 2;
  inline bool has_object_id() const;
  inline void clear_object_id();
  static const int kObjectIdFieldNumber = 2;
  inline ::google::protobuf::uint64 object_id() const;
  inline void set_object_id(::google::protobuf::uint64 value);

  // @@protoc_insertion_point(class_scope:bgs.protocol.user_manager.v1.UnsubscribeRequest)
 private:
  inline void set_has_agent_id();
  inline void clear_has_agent_id();
  inline void set_has_object_id();
  inline void clear_has_object_id();

  ::google::protobuf::UnknownFieldSet _unknown_fields_;

  ::google::protobuf::uint32 _has_bits_[1];
  mutable int _cached_size_;
  ::bgs::protocol::EntityId* agent_id_;
  ::google::protobuf::uint64 object_id_;
  friend void TC_PROTO_API protobuf_AddDesc_user_5fmanager_5fservice_2eproto();
  friend void protobuf_AssignDesc_user_5fmanager_5fservice_2eproto();
  friend void protobuf_ShutdownFile_user_5fmanager_5fservice_2eproto();

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

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

  AddRecentPlayersRequest(const AddRecentPlayersRequest& from);

  inline AddRecentPlayersRequest& operator=(const AddRecentPlayersRequest& 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 AddRecentPlayersRequest& default_instance();

  void Swap(AddRecentPlayersRequest* other);

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

  AddRecentPlayersRequest* New() const;
  void CopyFrom(const ::google::protobuf::Message& from);
  void MergeFrom(const ::google::protobuf::Message& from);
  void CopyFrom(const AddRecentPlayersRequest& from);
  void MergeFrom(const AddRecentPlayersRequest& 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 -------------------------------------------------------

  // repeated .bgs.protocol.user_manager.v1.RecentPlayer players = 1;
  inline int players_size() const;
  inline void clear_players();
  static const int kPlayersFieldNumber = 1;
  inline const ::bgs::protocol::user_manager::v1::RecentPlayer& players(int index) const;
  inline ::bgs::protocol::user_manager::v1::RecentPlayer* mutable_players(int index);
  inline ::bgs::protocol::user_manager::v1::RecentPlayer* add_players();
  inline const ::google::protobuf::RepeatedPtrField< ::bgs::protocol::user_manager::v1::RecentPlayer >&
      players() const;
  inline ::google::protobuf::RepeatedPtrField< ::bgs::protocol::user_manager::v1::RecentPlayer >*
      mutable_players();

  // optional .bgs.protocol.EntityId agent_id = 2;
  inline bool has_agent_id() const;
  inline void clear_agent_id();
  static const int kAgentIdFieldNumber = 2;
  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 uint32 program = 3;
  inline bool has_program() const;
  inline void clear_program();
  static const int kProgramFieldNumber = 3;
  inline ::google::protobuf::uint32 program() const;
  inline void set_program(::google::protobuf::uint32 value);

  // @@protoc_insertion_point(class_scope:bgs.protocol.user_manager.v1.AddRecentPlayersRequest)
 private:
  inline void set_has_agent_id();
  inline void clear_has_agent_id();
  inline void set_has_program();
  inline void clear_has_program();

  ::google::protobuf::UnknownFieldSet _unknown_fields_;

  ::google::protobuf::uint32 _has_bits_[1];
  mutable int _cached_size_;
  ::google::protobuf::RepeatedPtrField< ::bgs::protocol::user_manager::v1::RecentPlayer > players_;
  ::bgs::protocol::EntityId* agent_id_;
  ::google::protobuf::uint32 program_;
  friend void TC_PROTO_API protobuf_AddDesc_user_5fmanager_5fservice_2eproto();
  friend void protobuf_AssignDesc_user_5fmanager_5fservice_2eproto();
  friend void protobuf_ShutdownFile_user_5fmanager_5fservice_2eproto();

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

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

  ClearRecentPlayersRequest(const ClearRecentPlayersRequest& from);

  inline ClearRecentPlayersRequest& operator=(const ClearRecentPlayersRequest& 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 ClearRecentPlayersRequest& default_instance();

  void Swap(ClearRecentPlayersRequest* other);

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

  ClearRecentPlayersRequest* New() const;
  void CopyFrom(const ::google::protobuf::Message& from);
  void MergeFrom(const ::google::protobuf::Message& from);
  void CopyFrom(const ClearRecentPlayersRequest& from);
  void MergeFrom(const ClearRecentPlayersRequest& 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 uint32 program = 2;
  inline bool has_program() const;
  inline void clear_program();
  static const int kProgramFieldNumber = 2;
  inline ::google::protobuf::uint32 program() const;
  inline void set_program(::google::protobuf::uint32 value);

  // @@protoc_insertion_point(class_scope:bgs.protocol.user_manager.v1.ClearRecentPlayersRequest)
 private:
  inline void set_has_agent_id();
  inline void clear_has_agent_id();
  inline void set_has_program();
  inline void clear_has_program();

  ::google::protobuf::UnknownFieldSet _unknown_fields_;

  ::google::protobuf::uint32 _has_bits_[1];
  mutable int _cached_size_;
  ::bgs::protocol::EntityId* agent_id_;
  ::google::protobuf::uint32 program_;
  friend void TC_PROTO_API protobuf_AddDesc_user_5fmanager_5fservice_2eproto();
  friend void protobuf_AssignDesc_user_5fmanager_5fservice_2eproto();
  friend void protobuf_ShutdownFile_user_5fmanager_5fservice_2eproto();

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

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

  BlockPlayerRequest(const BlockPlayerRequest& from);

  inline BlockPlayerRequest& operator=(const BlockPlayerRequest& 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 BlockPlayerRequest& default_instance();

  void Swap(BlockPlayerRequest* other);

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

  BlockPlayerRequest* New() const;
  void CopyFrom(const ::google::protobuf::Message& from);
  void MergeFrom(const ::google::protobuf::Message& from);
  void CopyFrom(const BlockPlayerRequest& from);
  void MergeFrom(const BlockPlayerRequest& 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);

  // required .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);

  // optional uint32 role = 3;
  inline bool has_role() const;
  inline void clear_role();
  static const int kRoleFieldNumber = 3;
  inline ::google::protobuf::uint32 role() const;
  inline void set_role(::google::protobuf::uint32 value);

  // @@protoc_insertion_point(class_scope:bgs.protocol.user_manager.v1.BlockPlayerRequest)
 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_role();
  inline void clear_has_role();

  ::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::uint32 role_;
  friend void TC_PROTO_API protobuf_AddDesc_user_5fmanager_5fservice_2eproto();
  friend void protobuf_AssignDesc_user_5fmanager_5fservice_2eproto();
  friend void protobuf_ShutdownFile_user_5fmanager_5fservice_2eproto();

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

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

  UnblockPlayerRequest(const UnblockPlayerRequest& from);

  inline UnblockPlayerRequest& operator=(const UnblockPlayerRequest& 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 UnblockPlayerRequest& default_instance();

  void Swap(UnblockPlayerRequest* other);

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

  UnblockPlayerRequest* New() const;
  void CopyFrom(const ::google::protobuf::Message& from);
  void MergeFrom(const ::google::protobuf::Message& from);
  void CopyFrom(const UnblockPlayerRequest& from);
  void MergeFrom(const UnblockPlayerRequest& 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);

  // required .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);

  // @@protoc_insertion_point(class_scope:bgs.protocol.user_manager.v1.UnblockPlayerRequest)
 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();

  ::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_;
  friend void TC_PROTO_API protobuf_AddDesc_user_5fmanager_5fservice_2eproto();
  friend void protobuf_AssignDesc_user_5fmanager_5fservice_2eproto();
  friend void protobuf_ShutdownFile_user_5fmanager_5fservice_2eproto();

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

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

  BlockedPlayerAddedNotification(const BlockedPlayerAddedNotification& from);

  inline BlockedPlayerAddedNotification& operator=(const BlockedPlayerAddedNotification& 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 BlockedPlayerAddedNotification& default_instance();

  void Swap(BlockedPlayerAddedNotification* other);

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

  BlockedPlayerAddedNotification* New() const;
  void CopyFrom(const ::google::protobuf::Message& from);
  void MergeFrom(const ::google::protobuf::Message& from);
  void CopyFrom(const BlockedPlayerAddedNotification& from);
  void MergeFrom(const BlockedPlayerAddedNotification& 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 .bgs.protocol.user_manager.v1.BlockedPlayer player = 1;
  inline bool has_player() const;
  inline void clear_player();
  static const int kPlayerFieldNumber = 1;
  inline const ::bgs::protocol::user_manager::v1::BlockedPlayer& player() const;
  inline ::bgs::protocol::user_manager::v1::BlockedPlayer* mutable_player();
  inline ::bgs::protocol::user_manager::v1::BlockedPlayer* release_player();
  inline void set_allocated_player(::bgs::protocol::user_manager::v1::BlockedPlayer* player);

  // optional .bgs.protocol.EntityId game_account_id = 2;
  inline bool has_game_account_id() const;
  inline void clear_game_account_id();
  static const int kGameAccountIdFieldNumber = 2;
  inline const ::bgs::protocol::EntityId& game_account_id() const;
  inline ::bgs::protocol::EntityId* mutable_game_account_id();
  inline ::bgs::protocol::EntityId* release_game_account_id();
  inline void set_allocated_game_account_id(::bgs::protocol::EntityId* game_account_id);

  // optional .bgs.protocol.EntityId account_id = 3;
  inline bool has_account_id() const;
  inline void clear_account_id();
  static const int kAccountIdFieldNumber = 3;
  inline const ::bgs::protocol::EntityId& account_id() const;
  inline ::bgs::protocol::EntityId* mutable_account_id();
  inline ::bgs::protocol::EntityId* release_account_id();
  inline void set_allocated_account_id(::bgs::protocol::EntityId* account_id);

  // @@protoc_insertion_point(class_scope:bgs.protocol.user_manager.v1.BlockedPlayerAddedNotification)
 private:
  inline void set_has_player();
  inline void clear_has_player();
  inline void set_has_game_account_id();
  inline void clear_has_game_account_id();
  inline void set_has_account_id();
  inline void clear_has_account_id();

  ::google::protobuf::UnknownFieldSet _unknown_fields_;

  ::google::protobuf::uint32 _has_bits_[1];
  mutable int _cached_size_;
  ::bgs::protocol::user_manager::v1::BlockedPlayer* player_;
  ::bgs::protocol::EntityId* game_account_id_;
  ::bgs::protocol::EntityId* account_id_;
  friend void TC_PROTO_API protobuf_AddDesc_user_5fmanager_5fservice_2eproto();
  friend void protobuf_AssignDesc_user_5fmanager_5fservice_2eproto();
  friend void protobuf_ShutdownFile_user_5fmanager_5fservice_2eproto();

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

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

  BlockedPlayerRemovedNotification(const BlockedPlayerRemovedNotification& from);

  inline BlockedPlayerRemovedNotification& operator=(const BlockedPlayerRemovedNotification& 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 BlockedPlayerRemovedNotification& default_instance();

  void Swap(BlockedPlayerRemovedNotification* other);

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

  BlockedPlayerRemovedNotification* New() const;
  void CopyFrom(const ::google::protobuf::Message& from);
  void MergeFrom(const ::google::protobuf::Message& from);
  void CopyFrom(const BlockedPlayerRemovedNotification& from);
  void MergeFrom(const BlockedPlayerRemovedNotification& 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 .bgs.protocol.user_manager.v1.BlockedPlayer player = 1;
  inline bool has_player() const;
  inline void clear_player();
  static const int kPlayerFieldNumber = 1;
  inline const ::bgs::protocol::user_manager::v1::BlockedPlayer& player() const;
  inline ::bgs::protocol::user_manager::v1::BlockedPlayer* mutable_player();
  inline ::bgs::protocol::user_manager::v1::BlockedPlayer* release_player();
  inline void set_allocated_player(::bgs::protocol::user_manager::v1::BlockedPlayer* player);

  // optional .bgs.protocol.EntityId game_account_id = 2;
  inline bool has_game_account_id() const;
  inline void clear_game_account_id();
  static const int kGameAccountIdFieldNumber = 2;
  inline const ::bgs::protocol::EntityId& game_account_id() const;
  inline ::bgs::protocol::EntityId* mutable_game_account_id();
  inline ::bgs::protocol::EntityId* release_game_account_id();
  inline void set_allocated_game_account_id(::bgs::protocol::EntityId* game_account_id);

  // optional .bgs.protocol.EntityId account_id = 3;
  inline bool has_account_id() const;
  inline void clear_account_id();
  static const int kAccountIdFieldNumber = 3;
  inline const ::bgs::protocol::EntityId& account_id() const;
  inline ::bgs::protocol::EntityId* mutable_account_id();
  inline ::bgs::protocol::EntityId* release_account_id();
  inline void set_allocated_account_id(::bgs::protocol::EntityId* account_id);

  // @@protoc_insertion_point(class_scope:bgs.protocol.user_manager.v1.BlockedPlayerRemovedNotification)
 private:
  inline void set_has_player();
  inline void clear_has_player();
  inline void set_has_game_account_id();
  inline void clear_has_game_account_id();
  inline void set_has_account_id();
  inline void clear_has_account_id();

  ::google::protobuf::UnknownFieldSet _unknown_fields_;

  ::google::protobuf::uint32 _has_bits_[1];
  mutable int _cached_size_;
  ::bgs::protocol::user_manager::v1::BlockedPlayer* player_;
  ::bgs::protocol::EntityId* game_account_id_;
  ::bgs::protocol::EntityId* account_id_;
  friend void TC_PROTO_API protobuf_AddDesc_user_5fmanager_5fservice_2eproto();
  friend void protobuf_AssignDesc_user_5fmanager_5fservice_2eproto();
  friend void protobuf_ShutdownFile_user_5fmanager_5fservice_2eproto();

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

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

  RecentPlayersAddedNotification(const RecentPlayersAddedNotification& from);

  inline RecentPlayersAddedNotification& operator=(const RecentPlayersAddedNotification& 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 RecentPlayersAddedNotification& default_instance();

  void Swap(RecentPlayersAddedNotification* other);

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

  RecentPlayersAddedNotification* New() const;
  void CopyFrom(const ::google::protobuf::Message& from);
  void MergeFrom(const ::google::protobuf::Message& from);
  void CopyFrom(const RecentPlayersAddedNotification& from);
  void MergeFrom(const RecentPlayersAddedNotification& 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 -------------------------------------------------------

  // repeated .bgs.protocol.user_manager.v1.RecentPlayer player = 1;
  inline int player_size() const;
  inline void clear_player();
  static const int kPlayerFieldNumber = 1;
  inline const ::bgs::protocol::user_manager::v1::RecentPlayer& player(int index) const;
  inline ::bgs::protocol::user_manager::v1::RecentPlayer* mutable_player(int index);
  inline ::bgs::protocol::user_manager::v1::RecentPlayer* add_player();
  inline const ::google::protobuf::RepeatedPtrField< ::bgs::protocol::user_manager::v1::RecentPlayer >&
      player() const;
  inline ::google::protobuf::RepeatedPtrField< ::bgs::protocol::user_manager::v1::RecentPlayer >*
      mutable_player();

  // @@protoc_insertion_point(class_scope:bgs.protocol.user_manager.v1.RecentPlayersAddedNotification)
 private:

  ::google::protobuf::UnknownFieldSet _unknown_fields_;

  ::google::protobuf::uint32 _has_bits_[1];
  mutable int _cached_size_;
  ::google::protobuf::RepeatedPtrField< ::bgs::protocol::user_manager::v1::RecentPlayer > player_;
  friend void TC_PROTO_API protobuf_AddDesc_user_5fmanager_5fservice_2eproto();
  friend void protobuf_AssignDesc_user_5fmanager_5fservice_2eproto();
  friend void protobuf_ShutdownFile_user_5fmanager_5fservice_2eproto();

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

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

  RecentPlayersRemovedNotification(const RecentPlayersRemovedNotification& from);

  inline RecentPlayersRemovedNotification& operator=(const RecentPlayersRemovedNotification& 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 RecentPlayersRemovedNotification& default_instance();

  void Swap(RecentPlayersRemovedNotification* other);

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

  RecentPlayersRemovedNotification* New() const;
  void CopyFrom(const ::google::protobuf::Message& from);
  void MergeFrom(const ::google::protobuf::Message& from);
  void CopyFrom(const RecentPlayersRemovedNotification& from);
  void MergeFrom(const RecentPlayersRemovedNotification& 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 -------------------------------------------------------

  // repeated .bgs.protocol.user_manager.v1.RecentPlayer player = 1;
  inline int player_size() const;
  inline void clear_player();
  static const int kPlayerFieldNumber = 1;
  inline const ::bgs::protocol::user_manager::v1::RecentPlayer& player(int index) const;
  inline ::bgs::protocol::user_manager::v1::RecentPlayer* mutable_player(int index);
  inline ::bgs::protocol::user_manager::v1::RecentPlayer* add_player();
  inline const ::google::protobuf::RepeatedPtrField< ::bgs::protocol::user_manager::v1::RecentPlayer >&
      player() const;
  inline ::google::protobuf::RepeatedPtrField< ::bgs::protocol::user_manager::v1::RecentPlayer >*
      mutable_player();

  // @@protoc_insertion_point(class_scope:bgs.protocol.user_manager.v1.RecentPlayersRemovedNotification)
 private:

  ::google::protobuf::UnknownFieldSet _unknown_fields_;

  ::google::protobuf::uint32 _has_bits_[1];
  mutable int _cached_size_;
  ::google::protobuf::RepeatedPtrField< ::bgs::protocol::user_manager::v1::RecentPlayer > player_;
  friend void TC_PROTO_API protobuf_AddDesc_user_5fmanager_5fservice_2eproto();
  friend void protobuf_AssignDesc_user_5fmanager_5fservice_2eproto();
  friend void protobuf_ShutdownFile_user_5fmanager_5fservice_2eproto();

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

class TC_PROTO_API UserManagerService : public ServiceBase
{
 public:

  explicit UserManagerService(bool use_original_hash);
  virtual ~UserManagerService();

  typedef std::integral_constant<uint32, 0x3E19268Au> OriginalHash;
  typedef std::integral_constant<uint32, 0x8EE5694Eu> NameHash;

  static google::protobuf::ServiceDescriptor const* descriptor();

  void CallServerMethod(uint32 token, uint32 methodId, MessageBuffer buffer) final;

 protected:
  // server methods --------------------------------------------------
  virtual uint32 HandleSubscribe(::bgs::protocol::user_manager::v1::SubscribeRequest const* request, ::bgs::protocol::user_manager::v1::SubscribeResponse* response, std::function<void(ServiceBase*, uint32, ::google::protobuf::Message const*)>& continuation);
  virtual uint32 HandleAddRecentPlayers(::bgs::protocol::user_manager::v1::AddRecentPlayersRequest const* request, ::bgs::protocol::NoData* response, std::function<void(ServiceBase*, uint32, ::google::protobuf::Message const*)>& continuation);
  virtual uint32 HandleClearRecentPlayers(::bgs::protocol::user_manager::v1::ClearRecentPlayersRequest const* request, ::bgs::protocol::NoData* response, std::function<void(ServiceBase*, uint32, ::google::protobuf::Message const*)>& continuation);
  virtual uint32 HandleBlockPlayer(::bgs::protocol::user_manager::v1::BlockPlayerRequest const* request, ::bgs::protocol::NoData* response, std::function<void(ServiceBase*, uint32, ::google::protobuf::Message const*)>& continuation);
  virtual uint32 HandleUnblockPlayer(::bgs::protocol::user_manager::v1::UnblockPlayerRequest const* request, ::bgs::protocol::NoData* response, std::function<void(ServiceBase*, uint32, ::google::protobuf::Message const*)>& continuation);
  virtual uint32 HandleBlockPlayerForSession(::bgs::protocol::user_manager::v1::BlockPlayerRequest const* request, ::bgs::protocol::NoData* response, std::function<void(ServiceBase*, uint32, ::google::protobuf::Message const*)>& continuation);
  virtual uint32 HandleUnsubscribe(::bgs::protocol::user_manager::v1::UnsubscribeRequest const* request, ::bgs::protocol::NoData* response, std::function<void(ServiceBase*, uint32, ::google::protobuf::Message const*)>& continuation);

 private:
  uint32 service_hash_;

  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(UserManagerService);
};

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

class TC_PROTO_API UserManagerListener : public ServiceBase
{
 public:

  explicit UserManagerListener(bool use_original_hash);
  virtual ~UserManagerListener();

  typedef std::integral_constant<uint32, 0xBC872C22u> OriginalHash;
  typedef std::integral_constant<uint32, 0xB3426BB3u> NameHash;

  static google::protobuf::ServiceDescriptor const* descriptor();

  // client methods --------------------------------------------------
  void OnBlockedPlayerAdded(::bgs::protocol::user_manager::v1::BlockedPlayerAddedNotification const* request, bool client = false, bool server = false);
  void OnBlockedPlayerRemoved(::bgs::protocol::user_manager::v1::BlockedPlayerRemovedNotification const* request, bool client = false, bool server = false);
  void OnRecentPlayersAdded(::bgs::protocol::user_manager::v1::RecentPlayersAddedNotification const* request, bool client = false, bool server = false);
  void OnRecentPlayersRemoved(::bgs::protocol::user_manager::v1::RecentPlayersRemovedNotification const* request, bool client = false, bool server = false);

  void CallServerMethod(uint32 token, uint32 methodId, MessageBuffer buffer) final;

 private:
  uint32 service_hash_;

  GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(UserManagerListener);
};

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


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

// SubscribeRequest

// optional .bgs.protocol.EntityId agent_id = 1;
inline bool SubscribeRequest::has_agent_id() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void SubscribeRequest::set_has_agent_id() {
  _has_bits_[0] |= 0x00000001u;
}
inline void SubscribeRequest::clear_has_agent_id() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void SubscribeRequest::clear_agent_id() {
  if (agent_id_ != NULL) agent_id_->::bgs::protocol::EntityId::Clear();
  clear_has_agent_id();
}
inline const ::bgs::protocol::EntityId& SubscribeRequest::agent_id() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.user_manager.v1.SubscribeRequest.agent_id)
  return agent_id_ != NULL ? *agent_id_ : *default_instance_->agent_id_;
}
inline ::bgs::protocol::EntityId* SubscribeRequest::mutable_agent_id() {
  set_has_agent_id();
  if (agent_id_ == NULL) agent_id_ = new ::bgs::protocol::EntityId;
  // @@protoc_insertion_point(field_mutable:bgs.protocol.user_manager.v1.SubscribeRequest.agent_id)
  return agent_id_;
}
inline ::bgs::protocol::EntityId* SubscribeRequest::release_agent_id() {
  clear_has_agent_id();
  ::bgs::protocol::EntityId* temp = agent_id_;
  agent_id_ = NULL;
  return temp;
}
inline void SubscribeRequest::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.user_manager.v1.SubscribeRequest.agent_id)
}

// required uint64 object_id = 2;
inline bool SubscribeRequest::has_object_id() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void SubscribeRequest::set_has_object_id() {
  _has_bits_[0] |= 0x00000002u;
}
inline void SubscribeRequest::clear_has_object_id() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void SubscribeRequest::clear_object_id() {
  object_id_ = GOOGLE_ULONGLONG(0);
  clear_has_object_id();
}
inline ::google::protobuf::uint64 SubscribeRequest::object_id() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.user_manager.v1.SubscribeRequest.object_id)
  return object_id_;
}
inline void SubscribeRequest::set_object_id(::google::protobuf::uint64 value) {
  set_has_object_id();
  object_id_ = value;
  // @@protoc_insertion_point(field_set:bgs.protocol.user_manager.v1.SubscribeRequest.object_id)
}

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

// SubscribeResponse

// repeated .bgs.protocol.user_manager.v1.BlockedPlayer blocked_players = 1;
inline int SubscribeResponse::blocked_players_size() const {
  return blocked_players_.size();
}
inline void SubscribeResponse::clear_blocked_players() {
  blocked_players_.Clear();
}
inline const ::bgs::protocol::user_manager::v1::BlockedPlayer& SubscribeResponse::blocked_players(int index) const {
  // @@protoc_insertion_point(field_get:bgs.protocol.user_manager.v1.SubscribeResponse.blocked_players)
  return blocked_players_.Get(index);
}
inline ::bgs::protocol::user_manager::v1::BlockedPlayer* SubscribeResponse::mutable_blocked_players(int index) {
  // @@protoc_insertion_point(field_mutable:bgs.protocol.user_manager.v1.SubscribeResponse.blocked_players)
  return blocked_players_.Mutable(index);
}
inline ::bgs::protocol::user_manager::v1::BlockedPlayer* SubscribeResponse::add_blocked_players() {
  // @@protoc_insertion_point(field_add:bgs.protocol.user_manager.v1.SubscribeResponse.blocked_players)
  return blocked_players_.Add();
}
inline const ::google::protobuf::RepeatedPtrField< ::bgs::protocol::user_manager::v1::BlockedPlayer >&
SubscribeResponse::blocked_players() const {
  // @@protoc_insertion_point(field_list:bgs.protocol.user_manager.v1.SubscribeResponse.blocked_players)
  return blocked_players_;
}
inline ::google::protobuf::RepeatedPtrField< ::bgs::protocol::user_manager::v1::BlockedPlayer >*
SubscribeResponse::mutable_blocked_players() {
  // @@protoc_insertion_point(field_mutable_list:bgs.protocol.user_manager.v1.SubscribeResponse.blocked_players)
  return &blocked_players_;
}

// repeated .bgs.protocol.user_manager.v1.RecentPlayer recent_players = 2;
inline int SubscribeResponse::recent_players_size() const {
  return recent_players_.size();
}
inline void SubscribeResponse::clear_recent_players() {
  recent_players_.Clear();
}
inline const ::bgs::protocol::user_manager::v1::RecentPlayer& SubscribeResponse::recent_players(int index) const {
  // @@protoc_insertion_point(field_get:bgs.protocol.user_manager.v1.SubscribeResponse.recent_players)
  return recent_players_.Get(index);
}
inline ::bgs::protocol::user_manager::v1::RecentPlayer* SubscribeResponse::mutable_recent_players(int index) {
  // @@protoc_insertion_point(field_mutable:bgs.protocol.user_manager.v1.SubscribeResponse.recent_players)
  return recent_players_.Mutable(index);
}
inline ::bgs::protocol::user_manager::v1::RecentPlayer* SubscribeResponse::add_recent_players() {
  // @@protoc_insertion_point(field_add:bgs.protocol.user_manager.v1.SubscribeResponse.recent_players)
  return recent_players_.Add();
}
inline const ::google::protobuf::RepeatedPtrField< ::bgs::protocol::user_manager::v1::RecentPlayer >&
SubscribeResponse::recent_players() const {
  // @@protoc_insertion_point(field_list:bgs.protocol.user_manager.v1.SubscribeResponse.recent_players)
  return recent_players_;
}
inline ::google::protobuf::RepeatedPtrField< ::bgs::protocol::user_manager::v1::RecentPlayer >*
SubscribeResponse::mutable_recent_players() {
  // @@protoc_insertion_point(field_mutable_list:bgs.protocol.user_manager.v1.SubscribeResponse.recent_players)
  return &recent_players_;
}

// repeated .bgs.protocol.Role role = 3;
inline int SubscribeResponse::role_size() const {
  return role_.size();
}
inline void SubscribeResponse::clear_role() {
  role_.Clear();
}
inline const ::bgs::protocol::Role& SubscribeResponse::role(int index) const {
  // @@protoc_insertion_point(field_get:bgs.protocol.user_manager.v1.SubscribeResponse.role)
  return role_.Get(index);
}
inline ::bgs::protocol::Role* SubscribeResponse::mutable_role(int index) {
  // @@protoc_insertion_point(field_mutable:bgs.protocol.user_manager.v1.SubscribeResponse.role)
  return role_.Mutable(index);
}
inline ::bgs::protocol::Role* SubscribeResponse::add_role() {
  // @@protoc_insertion_point(field_add:bgs.protocol.user_manager.v1.SubscribeResponse.role)
  return role_.Add();
}
inline const ::google::protobuf::RepeatedPtrField< ::bgs::protocol::Role >&
SubscribeResponse::role() const {
  // @@protoc_insertion_point(field_list:bgs.protocol.user_manager.v1.SubscribeResponse.role)
  return role_;
}
inline ::google::protobuf::RepeatedPtrField< ::bgs::protocol::Role >*
SubscribeResponse::mutable_role() {
  // @@protoc_insertion_point(field_mutable_list:bgs.protocol.user_manager.v1.SubscribeResponse.role)
  return &role_;
}

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

// UnsubscribeRequest

// optional .bgs.protocol.EntityId agent_id = 1;
inline bool UnsubscribeRequest::has_agent_id() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void UnsubscribeRequest::set_has_agent_id() {
  _has_bits_[0] |= 0x00000001u;
}
inline void UnsubscribeRequest::clear_has_agent_id() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void UnsubscribeRequest::clear_agent_id() {
  if (agent_id_ != NULL) agent_id_->::bgs::protocol::EntityId::Clear();
  clear_has_agent_id();
}
inline const ::bgs::protocol::EntityId& UnsubscribeRequest::agent_id() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.user_manager.v1.UnsubscribeRequest.agent_id)
  return agent_id_ != NULL ? *agent_id_ : *default_instance_->agent_id_;
}
inline ::bgs::protocol::EntityId* UnsubscribeRequest::mutable_agent_id() {
  set_has_agent_id();
  if (agent_id_ == NULL) agent_id_ = new ::bgs::protocol::EntityId;
  // @@protoc_insertion_point(field_mutable:bgs.protocol.user_manager.v1.UnsubscribeRequest.agent_id)
  return agent_id_;
}
inline ::bgs::protocol::EntityId* UnsubscribeRequest::release_agent_id() {
  clear_has_agent_id();
  ::bgs::protocol::EntityId* temp = agent_id_;
  agent_id_ = NULL;
  return temp;
}
inline void UnsubscribeRequest::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.user_manager.v1.UnsubscribeRequest.agent_id)
}

// optional uint64 object_id = 2;
inline bool UnsubscribeRequest::has_object_id() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void UnsubscribeRequest::set_has_object_id() {
  _has_bits_[0] |= 0x00000002u;
}
inline void UnsubscribeRequest::clear_has_object_id() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void UnsubscribeRequest::clear_object_id() {
  object_id_ = GOOGLE_ULONGLONG(0);
  clear_has_object_id();
}
inline ::google::protobuf::uint64 UnsubscribeRequest::object_id() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.user_manager.v1.UnsubscribeRequest.object_id)
  return object_id_;
}
inline void UnsubscribeRequest::set_object_id(::google::protobuf::uint64 value) {
  set_has_object_id();
  object_id_ = value;
  // @@protoc_insertion_point(field_set:bgs.protocol.user_manager.v1.UnsubscribeRequest.object_id)
}

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

// AddRecentPlayersRequest

// repeated .bgs.protocol.user_manager.v1.RecentPlayer players = 1;
inline int AddRecentPlayersRequest::players_size() const {
  return players_.size();
}
inline void AddRecentPlayersRequest::clear_players() {
  players_.Clear();
}
inline const ::bgs::protocol::user_manager::v1::RecentPlayer& AddRecentPlayersRequest::players(int index) const {
  // @@protoc_insertion_point(field_get:bgs.protocol.user_manager.v1.AddRecentPlayersRequest.players)
  return players_.Get(index);
}
inline ::bgs::protocol::user_manager::v1::RecentPlayer* AddRecentPlayersRequest::mutable_players(int index) {
  // @@protoc_insertion_point(field_mutable:bgs.protocol.user_manager.v1.AddRecentPlayersRequest.players)
  return players_.Mutable(index);
}
inline ::bgs::protocol::user_manager::v1::RecentPlayer* AddRecentPlayersRequest::add_players() {
  // @@protoc_insertion_point(field_add:bgs.protocol.user_manager.v1.AddRecentPlayersRequest.players)
  return players_.Add();
}
inline const ::google::protobuf::RepeatedPtrField< ::bgs::protocol::user_manager::v1::RecentPlayer >&
AddRecentPlayersRequest::players() const {
  // @@protoc_insertion_point(field_list:bgs.protocol.user_manager.v1.AddRecentPlayersRequest.players)
  return players_;
}
inline ::google::protobuf::RepeatedPtrField< ::bgs::protocol::user_manager::v1::RecentPlayer >*
AddRecentPlayersRequest::mutable_players() {
  // @@protoc_insertion_point(field_mutable_list:bgs.protocol.user_manager.v1.AddRecentPlayersRequest.players)
  return &players_;
}

// optional .bgs.protocol.EntityId agent_id = 2;
inline bool AddRecentPlayersRequest::has_agent_id() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void AddRecentPlayersRequest::set_has_agent_id() {
  _has_bits_[0] |= 0x00000002u;
}
inline void AddRecentPlayersRequest::clear_has_agent_id() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void AddRecentPlayersRequest::clear_agent_id() {
  if (agent_id_ != NULL) agent_id_->::bgs::protocol::EntityId::Clear();
  clear_has_agent_id();
}
inline const ::bgs::protocol::EntityId& AddRecentPlayersRequest::agent_id() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.user_manager.v1.AddRecentPlayersRequest.agent_id)
  return agent_id_ != NULL ? *agent_id_ : *default_instance_->agent_id_;
}
inline ::bgs::protocol::EntityId* AddRecentPlayersRequest::mutable_agent_id() {
  set_has_agent_id();
  if (agent_id_ == NULL) agent_id_ = new ::bgs::protocol::EntityId;
  // @@protoc_insertion_point(field_mutable:bgs.protocol.user_manager.v1.AddRecentPlayersRequest.agent_id)
  return agent_id_;
}
inline ::bgs::protocol::EntityId* AddRecentPlayersRequest::release_agent_id() {
  clear_has_agent_id();
  ::bgs::protocol::EntityId* temp = agent_id_;
  agent_id_ = NULL;
  return temp;
}
inline void AddRecentPlayersRequest::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.user_manager.v1.AddRecentPlayersRequest.agent_id)
}

// optional uint32 program = 3;
inline bool AddRecentPlayersRequest::has_program() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
inline void AddRecentPlayersRequest::set_has_program() {
  _has_bits_[0] |= 0x00000004u;
}
inline void AddRecentPlayersRequest::clear_has_program() {
  _has_bits_[0] &= ~0x00000004u;
}
inline void AddRecentPlayersRequest::clear_program() {
  program_ = 0u;
  clear_has_program();
}
inline ::google::protobuf::uint32 AddRecentPlayersRequest::program() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.user_manager.v1.AddRecentPlayersRequest.program)
  return program_;
}
inline void AddRecentPlayersRequest::set_program(::google::protobuf::uint32 value) {
  set_has_program();
  program_ = value;
  // @@protoc_insertion_point(field_set:bgs.protocol.user_manager.v1.AddRecentPlayersRequest.program)
}

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

// ClearRecentPlayersRequest

// optional .bgs.protocol.EntityId agent_id = 1;
inline bool ClearRecentPlayersRequest::has_agent_id() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void ClearRecentPlayersRequest::set_has_agent_id() {
  _has_bits_[0] |= 0x00000001u;
}
inline void ClearRecentPlayersRequest::clear_has_agent_id() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void ClearRecentPlayersRequest::clear_agent_id() {
  if (agent_id_ != NULL) agent_id_->::bgs::protocol::EntityId::Clear();
  clear_has_agent_id();
}
inline const ::bgs::protocol::EntityId& ClearRecentPlayersRequest::agent_id() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.user_manager.v1.ClearRecentPlayersRequest.agent_id)
  return agent_id_ != NULL ? *agent_id_ : *default_instance_->agent_id_;
}
inline ::bgs::protocol::EntityId* ClearRecentPlayersRequest::mutable_agent_id() {
  set_has_agent_id();
  if (agent_id_ == NULL) agent_id_ = new ::bgs::protocol::EntityId;
  // @@protoc_insertion_point(field_mutable:bgs.protocol.user_manager.v1.ClearRecentPlayersRequest.agent_id)
  return agent_id_;
}
inline ::bgs::protocol::EntityId* ClearRecentPlayersRequest::release_agent_id() {
  clear_has_agent_id();
  ::bgs::protocol::EntityId* temp = agent_id_;
  agent_id_ = NULL;
  return temp;
}
inline void ClearRecentPlayersRequest::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.user_manager.v1.ClearRecentPlayersRequest.agent_id)
}

// optional uint32 program = 2;
inline bool ClearRecentPlayersRequest::has_program() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void ClearRecentPlayersRequest::set_has_program() {
  _has_bits_[0] |= 0x00000002u;
}
inline void ClearRecentPlayersRequest::clear_has_program() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void ClearRecentPlayersRequest::clear_program() {
  program_ = 0u;
  clear_has_program();
}
inline ::google::protobuf::uint32 ClearRecentPlayersRequest::program() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.user_manager.v1.ClearRecentPlayersRequest.program)
  return program_;
}
inline void ClearRecentPlayersRequest::set_program(::google::protobuf::uint32 value) {
  set_has_program();
  program_ = value;
  // @@protoc_insertion_point(field_set:bgs.protocol.user_manager.v1.ClearRecentPlayersRequest.program)
}

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

// BlockPlayerRequest

// optional .bgs.protocol.EntityId agent_id = 1;
inline bool BlockPlayerRequest::has_agent_id() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void BlockPlayerRequest::set_has_agent_id() {
  _has_bits_[0] |= 0x00000001u;
}
inline void BlockPlayerRequest::clear_has_agent_id() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void BlockPlayerRequest::clear_agent_id() {
  if (agent_id_ != NULL) agent_id_->::bgs::protocol::EntityId::Clear();
  clear_has_agent_id();
}
inline const ::bgs::protocol::EntityId& BlockPlayerRequest::agent_id() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.user_manager.v1.BlockPlayerRequest.agent_id)
  return agent_id_ != NULL ? *agent_id_ : *default_instance_->agent_id_;
}
inline ::bgs::protocol::EntityId* BlockPlayerRequest::mutable_agent_id() {
  set_has_agent_id();
  if (agent_id_ == NULL) agent_id_ = new ::bgs::protocol::EntityId;
  // @@protoc_insertion_point(field_mutable:bgs.protocol.user_manager.v1.BlockPlayerRequest.agent_id)
  return agent_id_;
}
inline ::bgs::protocol::EntityId* BlockPlayerRequest::release_agent_id() {
  clear_has_agent_id();
  ::bgs::protocol::EntityId* temp = agent_id_;
  agent_id_ = NULL;
  return temp;
}
inline void BlockPlayerRequest::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.user_manager.v1.BlockPlayerRequest.agent_id)
}

// required .bgs.protocol.EntityId target_id = 2;
inline bool BlockPlayerRequest::has_target_id() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void BlockPlayerRequest::set_has_target_id() {
  _has_bits_[0] |= 0x00000002u;
}
inline void BlockPlayerRequest::clear_has_target_id() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void BlockPlayerRequest::clear_target_id() {
  if (target_id_ != NULL) target_id_->::bgs::protocol::EntityId::Clear();
  clear_has_target_id();
}
inline const ::bgs::protocol::EntityId& BlockPlayerRequest::target_id() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.user_manager.v1.BlockPlayerRequest.target_id)
  return target_id_ != NULL ? *target_id_ : *default_instance_->target_id_;
}
inline ::bgs::protocol::EntityId* BlockPlayerRequest::mutable_target_id() {
  set_has_target_id();
  if (target_id_ == NULL) target_id_ = new ::bgs::protocol::EntityId;
  // @@protoc_insertion_point(field_mutable:bgs.protocol.user_manager.v1.BlockPlayerRequest.target_id)
  return target_id_;
}
inline ::bgs::protocol::EntityId* BlockPlayerRequest::release_target_id() {
  clear_has_target_id();
  ::bgs::protocol::EntityId* temp = target_id_;
  target_id_ = NULL;
  return temp;
}
inline void BlockPlayerRequest::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.user_manager.v1.BlockPlayerRequest.target_id)
}

// optional uint32 role = 3;
inline bool BlockPlayerRequest::has_role() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
inline void BlockPlayerRequest::set_has_role() {
  _has_bits_[0] |= 0x00000004u;
}
inline void BlockPlayerRequest::clear_has_role() {
  _has_bits_[0] &= ~0x00000004u;
}
inline void BlockPlayerRequest::clear_role() {
  role_ = 0u;
  clear_has_role();
}
inline ::google::protobuf::uint32 BlockPlayerRequest::role() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.user_manager.v1.BlockPlayerRequest.role)
  return role_;
}
inline void BlockPlayerRequest::set_role(::google::protobuf::uint32 value) {
  set_has_role();
  role_ = value;
  // @@protoc_insertion_point(field_set:bgs.protocol.user_manager.v1.BlockPlayerRequest.role)
}

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

// UnblockPlayerRequest

// optional .bgs.protocol.EntityId agent_id = 1;
inline bool UnblockPlayerRequest::has_agent_id() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void UnblockPlayerRequest::set_has_agent_id() {
  _has_bits_[0] |= 0x00000001u;
}
inline void UnblockPlayerRequest::clear_has_agent_id() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void UnblockPlayerRequest::clear_agent_id() {
  if (agent_id_ != NULL) agent_id_->::bgs::protocol::EntityId::Clear();
  clear_has_agent_id();
}
inline const ::bgs::protocol::EntityId& UnblockPlayerRequest::agent_id() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.user_manager.v1.UnblockPlayerRequest.agent_id)
  return agent_id_ != NULL ? *agent_id_ : *default_instance_->agent_id_;
}
inline ::bgs::protocol::EntityId* UnblockPlayerRequest::mutable_agent_id() {
  set_has_agent_id();
  if (agent_id_ == NULL) agent_id_ = new ::bgs::protocol::EntityId;
  // @@protoc_insertion_point(field_mutable:bgs.protocol.user_manager.v1.UnblockPlayerRequest.agent_id)
  return agent_id_;
}
inline ::bgs::protocol::EntityId* UnblockPlayerRequest::release_agent_id() {
  clear_has_agent_id();
  ::bgs::protocol::EntityId* temp = agent_id_;
  agent_id_ = NULL;
  return temp;
}
inline void UnblockPlayerRequest::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.user_manager.v1.UnblockPlayerRequest.agent_id)
}

// required .bgs.protocol.EntityId target_id = 2;
inline bool UnblockPlayerRequest::has_target_id() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void UnblockPlayerRequest::set_has_target_id() {
  _has_bits_[0] |= 0x00000002u;
}
inline void UnblockPlayerRequest::clear_has_target_id() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void UnblockPlayerRequest::clear_target_id() {
  if (target_id_ != NULL) target_id_->::bgs::protocol::EntityId::Clear();
  clear_has_target_id();
}
inline const ::bgs::protocol::EntityId& UnblockPlayerRequest::target_id() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.user_manager.v1.UnblockPlayerRequest.target_id)
  return target_id_ != NULL ? *target_id_ : *default_instance_->target_id_;
}
inline ::bgs::protocol::EntityId* UnblockPlayerRequest::mutable_target_id() {
  set_has_target_id();
  if (target_id_ == NULL) target_id_ = new ::bgs::protocol::EntityId;
  // @@protoc_insertion_point(field_mutable:bgs.protocol.user_manager.v1.UnblockPlayerRequest.target_id)
  return target_id_;
}
inline ::bgs::protocol::EntityId* UnblockPlayerRequest::release_target_id() {
  clear_has_target_id();
  ::bgs::protocol::EntityId* temp = target_id_;
  target_id_ = NULL;
  return temp;
}
inline void UnblockPlayerRequest::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.user_manager.v1.UnblockPlayerRequest.target_id)
}

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

// BlockedPlayerAddedNotification

// required .bgs.protocol.user_manager.v1.BlockedPlayer player = 1;
inline bool BlockedPlayerAddedNotification::has_player() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void BlockedPlayerAddedNotification::set_has_player() {
  _has_bits_[0] |= 0x00000001u;
}
inline void BlockedPlayerAddedNotification::clear_has_player() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void BlockedPlayerAddedNotification::clear_player() {
  if (player_ != NULL) player_->::bgs::protocol::user_manager::v1::BlockedPlayer::Clear();
  clear_has_player();
}
inline const ::bgs::protocol::user_manager::v1::BlockedPlayer& BlockedPlayerAddedNotification::player() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.user_manager.v1.BlockedPlayerAddedNotification.player)
  return player_ != NULL ? *player_ : *default_instance_->player_;
}
inline ::bgs::protocol::user_manager::v1::BlockedPlayer* BlockedPlayerAddedNotification::mutable_player() {
  set_has_player();
  if (player_ == NULL) player_ = new ::bgs::protocol::user_manager::v1::BlockedPlayer;
  // @@protoc_insertion_point(field_mutable:bgs.protocol.user_manager.v1.BlockedPlayerAddedNotification.player)
  return player_;
}
inline ::bgs::protocol::user_manager::v1::BlockedPlayer* BlockedPlayerAddedNotification::release_player() {
  clear_has_player();
  ::bgs::protocol::user_manager::v1::BlockedPlayer* temp = player_;
  player_ = NULL;
  return temp;
}
inline void BlockedPlayerAddedNotification::set_allocated_player(::bgs::protocol::user_manager::v1::BlockedPlayer* player) {
  delete player_;
  player_ = player;
  if (player) {
    set_has_player();
  } else {
    clear_has_player();
  }
  // @@protoc_insertion_point(field_set_allocated:bgs.protocol.user_manager.v1.BlockedPlayerAddedNotification.player)
}

// optional .bgs.protocol.EntityId game_account_id = 2;
inline bool BlockedPlayerAddedNotification::has_game_account_id() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void BlockedPlayerAddedNotification::set_has_game_account_id() {
  _has_bits_[0] |= 0x00000002u;
}
inline void BlockedPlayerAddedNotification::clear_has_game_account_id() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void BlockedPlayerAddedNotification::clear_game_account_id() {
  if (game_account_id_ != NULL) game_account_id_->::bgs::protocol::EntityId::Clear();
  clear_has_game_account_id();
}
inline const ::bgs::protocol::EntityId& BlockedPlayerAddedNotification::game_account_id() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.user_manager.v1.BlockedPlayerAddedNotification.game_account_id)
  return game_account_id_ != NULL ? *game_account_id_ : *default_instance_->game_account_id_;
}
inline ::bgs::protocol::EntityId* BlockedPlayerAddedNotification::mutable_game_account_id() {
  set_has_game_account_id();
  if (game_account_id_ == NULL) game_account_id_ = new ::bgs::protocol::EntityId;
  // @@protoc_insertion_point(field_mutable:bgs.protocol.user_manager.v1.BlockedPlayerAddedNotification.game_account_id)
  return game_account_id_;
}
inline ::bgs::protocol::EntityId* BlockedPlayerAddedNotification::release_game_account_id() {
  clear_has_game_account_id();
  ::bgs::protocol::EntityId* temp = game_account_id_;
  game_account_id_ = NULL;
  return temp;
}
inline void BlockedPlayerAddedNotification::set_allocated_game_account_id(::bgs::protocol::EntityId* game_account_id) {
  delete game_account_id_;
  game_account_id_ = game_account_id;
  if (game_account_id) {
    set_has_game_account_id();
  } else {
    clear_has_game_account_id();
  }
  // @@protoc_insertion_point(field_set_allocated:bgs.protocol.user_manager.v1.BlockedPlayerAddedNotification.game_account_id)
}

// optional .bgs.protocol.EntityId account_id = 3;
inline bool BlockedPlayerAddedNotification::has_account_id() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
inline void BlockedPlayerAddedNotification::set_has_account_id() {
  _has_bits_[0] |= 0x00000004u;
}
inline void BlockedPlayerAddedNotification::clear_has_account_id() {
  _has_bits_[0] &= ~0x00000004u;
}
inline void BlockedPlayerAddedNotification::clear_account_id() {
  if (account_id_ != NULL) account_id_->::bgs::protocol::EntityId::Clear();
  clear_has_account_id();
}
inline const ::bgs::protocol::EntityId& BlockedPlayerAddedNotification::account_id() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.user_manager.v1.BlockedPlayerAddedNotification.account_id)
  return account_id_ != NULL ? *account_id_ : *default_instance_->account_id_;
}
inline ::bgs::protocol::EntityId* BlockedPlayerAddedNotification::mutable_account_id() {
  set_has_account_id();
  if (account_id_ == NULL) account_id_ = new ::bgs::protocol::EntityId;
  // @@protoc_insertion_point(field_mutable:bgs.protocol.user_manager.v1.BlockedPlayerAddedNotification.account_id)
  return account_id_;
}
inline ::bgs::protocol::EntityId* BlockedPlayerAddedNotification::release_account_id() {
  clear_has_account_id();
  ::bgs::protocol::EntityId* temp = account_id_;
  account_id_ = NULL;
  return temp;
}
inline void BlockedPlayerAddedNotification::set_allocated_account_id(::bgs::protocol::EntityId* account_id) {
  delete account_id_;
  account_id_ = account_id;
  if (account_id) {
    set_has_account_id();
  } else {
    clear_has_account_id();
  }
  // @@protoc_insertion_point(field_set_allocated:bgs.protocol.user_manager.v1.BlockedPlayerAddedNotification.account_id)
}

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

// BlockedPlayerRemovedNotification

// required .bgs.protocol.user_manager.v1.BlockedPlayer player = 1;
inline bool BlockedPlayerRemovedNotification::has_player() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void BlockedPlayerRemovedNotification::set_has_player() {
  _has_bits_[0] |= 0x00000001u;
}
inline void BlockedPlayerRemovedNotification::clear_has_player() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void BlockedPlayerRemovedNotification::clear_player() {
  if (player_ != NULL) player_->::bgs::protocol::user_manager::v1::BlockedPlayer::Clear();
  clear_has_player();
}
inline const ::bgs::protocol::user_manager::v1::BlockedPlayer& BlockedPlayerRemovedNotification::player() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.user_manager.v1.BlockedPlayerRemovedNotification.player)
  return player_ != NULL ? *player_ : *default_instance_->player_;
}
inline ::bgs::protocol::user_manager::v1::BlockedPlayer* BlockedPlayerRemovedNotification::mutable_player() {
  set_has_player();
  if (player_ == NULL) player_ = new ::bgs::protocol::user_manager::v1::BlockedPlayer;
  // @@protoc_insertion_point(field_mutable:bgs.protocol.user_manager.v1.BlockedPlayerRemovedNotification.player)
  return player_;
}
inline ::bgs::protocol::user_manager::v1::BlockedPlayer* BlockedPlayerRemovedNotification::release_player() {
  clear_has_player();
  ::bgs::protocol::user_manager::v1::BlockedPlayer* temp = player_;
  player_ = NULL;
  return temp;
}
inline void BlockedPlayerRemovedNotification::set_allocated_player(::bgs::protocol::user_manager::v1::BlockedPlayer* player) {
  delete player_;
  player_ = player;
  if (player) {
    set_has_player();
  } else {
    clear_has_player();
  }
  // @@protoc_insertion_point(field_set_allocated:bgs.protocol.user_manager.v1.BlockedPlayerRemovedNotification.player)
}

// optional .bgs.protocol.EntityId game_account_id = 2;
inline bool BlockedPlayerRemovedNotification::has_game_account_id() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void BlockedPlayerRemovedNotification::set_has_game_account_id() {
  _has_bits_[0] |= 0x00000002u;
}
inline void BlockedPlayerRemovedNotification::clear_has_game_account_id() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void BlockedPlayerRemovedNotification::clear_game_account_id() {
  if (game_account_id_ != NULL) game_account_id_->::bgs::protocol::EntityId::Clear();
  clear_has_game_account_id();
}
inline const ::bgs::protocol::EntityId& BlockedPlayerRemovedNotification::game_account_id() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.user_manager.v1.BlockedPlayerRemovedNotification.game_account_id)
  return game_account_id_ != NULL ? *game_account_id_ : *default_instance_->game_account_id_;
}
inline ::bgs::protocol::EntityId* BlockedPlayerRemovedNotification::mutable_game_account_id() {
  set_has_game_account_id();
  if (game_account_id_ == NULL) game_account_id_ = new ::bgs::protocol::EntityId;
  // @@protoc_insertion_point(field_mutable:bgs.protocol.user_manager.v1.BlockedPlayerRemovedNotification.game_account_id)
  return game_account_id_;
}
inline ::bgs::protocol::EntityId* BlockedPlayerRemovedNotification::release_game_account_id() {
  clear_has_game_account_id();
  ::bgs::protocol::EntityId* temp = game_account_id_;
  game_account_id_ = NULL;
  return temp;
}
inline void BlockedPlayerRemovedNotification::set_allocated_game_account_id(::bgs::protocol::EntityId* game_account_id) {
  delete game_account_id_;
  game_account_id_ = game_account_id;
  if (game_account_id) {
    set_has_game_account_id();
  } else {
    clear_has_game_account_id();
  }
  // @@protoc_insertion_point(field_set_allocated:bgs.protocol.user_manager.v1.BlockedPlayerRemovedNotification.game_account_id)
}

// optional .bgs.protocol.EntityId account_id = 3;
inline bool BlockedPlayerRemovedNotification::has_account_id() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
inline void BlockedPlayerRemovedNotification::set_has_account_id() {
  _has_bits_[0] |= 0x00000004u;
}
inline void BlockedPlayerRemovedNotification::clear_has_account_id() {
  _has_bits_[0] &= ~0x00000004u;
}
inline void BlockedPlayerRemovedNotification::clear_account_id() {
  if (account_id_ != NULL) account_id_->::bgs::protocol::EntityId::Clear();
  clear_has_account_id();
}
inline const ::bgs::protocol::EntityId& BlockedPlayerRemovedNotification::account_id() const {
  // @@protoc_insertion_point(field_get:bgs.protocol.user_manager.v1.BlockedPlayerRemovedNotification.account_id)
  return account_id_ != NULL ? *account_id_ : *default_instance_->account_id_;
}
inline ::bgs::protocol::EntityId* BlockedPlayerRemovedNotification::mutable_account_id() {
  set_has_account_id();
  if (account_id_ == NULL) account_id_ = new ::bgs::protocol::EntityId;
  // @@protoc_insertion_point(field_mutable:bgs.protocol.user_manager.v1.BlockedPlayerRemovedNotification.account_id)
  return account_id_;
}
inline ::bgs::protocol::EntityId* BlockedPlayerRemovedNotification::release_account_id() {
  clear_has_account_id();
  ::bgs::protocol::EntityId* temp = account_id_;
  account_id_ = NULL;
  return temp;
}
inline void BlockedPlayerRemovedNotification::set_allocated_account_id(::bgs::protocol::EntityId* account_id) {
  delete account_id_;
  account_id_ = account_id;
  if (account_id) {
    set_has_account_id();
  } else {
    clear_has_account_id();
  }
  // @@protoc_insertion_point(field_set_allocated:bgs.protocol.user_manager.v1.BlockedPlayerRemovedNotification.account_id)
}

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

// RecentPlayersAddedNotification

// repeated .bgs.protocol.user_manager.v1.RecentPlayer player = 1;
inline int RecentPlayersAddedNotification::player_size() const {
  return player_.size();
}
inline void RecentPlayersAddedNotification::clear_player() {
  player_.Clear();
}
inline const ::bgs::protocol::user_manager::v1::RecentPlayer& RecentPlayersAddedNotification::player(int index) const {
  // @@protoc_insertion_point(field_get:bgs.protocol.user_manager.v1.RecentPlayersAddedNotification.player)
  return player_.Get(index);
}
inline ::bgs::protocol::user_manager::v1::RecentPlayer* RecentPlayersAddedNotification::mutable_player(int index) {
  // @@protoc_insertion_point(field_mutable:bgs.protocol.user_manager.v1.RecentPlayersAddedNotification.player)
  return player_.Mutable(index);
}
inline ::bgs::protocol::user_manager::v1::RecentPlayer* RecentPlayersAddedNotification::add_player() {
  // @@protoc_insertion_point(field_add:bgs.protocol.user_manager.v1.RecentPlayersAddedNotification.player)
  return player_.Add();
}
inline const ::google::protobuf::RepeatedPtrField< ::bgs::protocol::user_manager::v1::RecentPlayer >&
RecentPlayersAddedNotification::player() const {
  // @@protoc_insertion_point(field_list:bgs.protocol.user_manager.v1.RecentPlayersAddedNotification.player)
  return player_;
}
inline ::google::protobuf::RepeatedPtrField< ::bgs::protocol::user_manager::v1::RecentPlayer >*
RecentPlayersAddedNotification::mutable_player() {
  // @@protoc_insertion_point(field_mutable_list:bgs.protocol.user_manager.v1.RecentPlayersAddedNotification.player)
  return &player_;
}

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

// RecentPlayersRemovedNotification

// repeated .bgs.protocol.user_manager.v1.RecentPlayer player = 1;
inline int RecentPlayersRemovedNotification::player_size() const {
  return player_.size();
}
inline void RecentPlayersRemovedNotification::clear_player() {
  player_.Clear();
}
inline const ::bgs::protocol::user_manager::v1::RecentPlayer& RecentPlayersRemovedNotification::player(int index) const {
  // @@protoc_insertion_point(field_get:bgs.protocol.user_manager.v1.RecentPlayersRemovedNotification.player)
  return player_.Get(index);
}
inline ::bgs::protocol::user_manager::v1::RecentPlayer* RecentPlayersRemovedNotification::mutable_player(int index) {
  // @@protoc_insertion_point(field_mutable:bgs.protocol.user_manager.v1.RecentPlayersRemovedNotification.player)
  return player_.Mutable(index);
}
inline ::bgs::protocol::user_manager::v1::RecentPlayer* RecentPlayersRemovedNotification::add_player() {
  // @@protoc_insertion_point(field_add:bgs.protocol.user_manager.v1.RecentPlayersRemovedNotification.player)
  return player_.Add();
}
inline const ::google::protobuf::RepeatedPtrField< ::bgs::protocol::user_manager::v1::RecentPlayer >&
RecentPlayersRemovedNotification::player() const {
  // @@protoc_insertion_point(field_list:bgs.protocol.user_manager.v1.RecentPlayersRemovedNotification.player)
  return player_;
}
inline ::google::protobuf::RepeatedPtrField< ::bgs::protocol::user_manager::v1::RecentPlayer >*
RecentPlayersRemovedNotification::mutable_player() {
  // @@protoc_insertion_point(field_mutable_list:bgs.protocol.user_manager.v1.RecentPlayersRemovedNotification.player)
  return &player_;
}


// @@protoc_insertion_point(namespace_scope)

}  // namespace v1
}  // namespace user_manager
}  // namespace protocol
}  // namespace bgs

#ifndef SWIG
namespace google {
namespace protobuf {


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

// @@protoc_insertion_point(global_scope)

#endif  // PROTOBUF_user_5fmanager_5fservice_2eproto__INCLUDED
