aboutsummaryrefslogtreecommitdiff
path: root/src/server/proto/Client/api
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2018-11-05 17:41:37 +0100
committerShauren <shauren.trinity@gmail.com>2018-11-05 17:41:37 +0100
commit31f0186d20a1944e5d0ff47d71ca8f560074de4b (patch)
tree438b43e0d3ceb196f0ab6eef0e240717eaafe4a5 /src/server/proto/Client/api
parent126c8cf90f2978f4a60ede8e2bd0018a5a9b0aa5 (diff)
Core/Bnet: Updated protobuf messages and services
Diffstat (limited to 'src/server/proto/Client/api')
-rw-r--r--src/server/proto/Client/api/client/v1/channel_id.pb.cc436
-rw-r--r--src/server/proto/Client/api/client/v1/channel_id.pb.h262
-rw-r--r--src/server/proto/Client/api/client/v2/attribute_types.pb.cc1242
-rw-r--r--src/server/proto/Client/api/client/v2/attribute_types.pb.h901
-rw-r--r--src/server/proto/Client/api/client/v2/report_service.pb.cc654
-rw-r--r--src/server/proto/Client/api/client/v2/report_service.pb.h483
-rw-r--r--src/server/proto/Client/api/client/v2/report_types.pb.cc1293
-rw-r--r--src/server/proto/Client/api/client/v2/report_types.pb.h817
8 files changed, 6088 insertions, 0 deletions
diff --git a/src/server/proto/Client/api/client/v1/channel_id.pb.cc b/src/server/proto/Client/api/client/v1/channel_id.pb.cc
new file mode 100644
index 00000000000..7707817cee3
--- /dev/null
+++ b/src/server/proto/Client/api/client/v1/channel_id.pb.cc
@@ -0,0 +1,436 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: api/client/v1/channel_id.proto
+
+#define INTERNAL_SUPPRESS_PROTOBUF_FIELD_DEPRECATION
+#include "api/client/v1/channel_id.pb.h"
+
+#include <algorithm>
+#include <utility>
+
+#include <google/protobuf/stubs/common.h>
+#include <google/protobuf/stubs/once.h>
+#include <google/protobuf/io/coded_stream.h>
+#include <google/protobuf/wire_format_lite_inl.h>
+#include <google/protobuf/descriptor.h>
+#include <google/protobuf/generated_message_reflection.h>
+#include <google/protobuf/reflection_ops.h>
+#include <google/protobuf/wire_format.h>
+#include "Log.h"
+// @@protoc_insertion_point(includes)
+
+namespace bgs {
+namespace protocol {
+namespace channel {
+namespace v1 {
+
+namespace {
+
+const ::google::protobuf::Descriptor* ChannelId_descriptor_ = NULL;
+const ::google::protobuf::internal::GeneratedMessageReflection*
+ ChannelId_reflection_ = NULL;
+
+} // namespace
+
+
+void protobuf_AssignDesc_api_2fclient_2fv1_2fchannel_5fid_2eproto() {
+ protobuf_AddDesc_api_2fclient_2fv1_2fchannel_5fid_2eproto();
+ const ::google::protobuf::FileDescriptor* file =
+ ::google::protobuf::DescriptorPool::generated_pool()->FindFileByName(
+ "api/client/v1/channel_id.proto");
+ GOOGLE_CHECK(file != NULL);
+ ChannelId_descriptor_ = file->message_type(0);
+ static const int ChannelId_offsets_[3] = {
+ GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ChannelId, type_),
+ GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ChannelId, host_),
+ GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ChannelId, id_),
+ };
+ ChannelId_reflection_ =
+ new ::google::protobuf::internal::GeneratedMessageReflection(
+ ChannelId_descriptor_,
+ ChannelId::default_instance_,
+ ChannelId_offsets_,
+ GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ChannelId, _has_bits_[0]),
+ GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ChannelId, _unknown_fields_),
+ -1,
+ ::google::protobuf::DescriptorPool::generated_pool(),
+ ::google::protobuf::MessageFactory::generated_factory(),
+ sizeof(ChannelId));
+}
+
+namespace {
+
+GOOGLE_PROTOBUF_DECLARE_ONCE(protobuf_AssignDescriptors_once_);
+inline void protobuf_AssignDescriptorsOnce() {
+ ::google::protobuf::GoogleOnceInit(&protobuf_AssignDescriptors_once_,
+ &protobuf_AssignDesc_api_2fclient_2fv1_2fchannel_5fid_2eproto);
+}
+
+void protobuf_RegisterTypes(const ::std::string&) {
+ protobuf_AssignDescriptorsOnce();
+ ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
+ ChannelId_descriptor_, &ChannelId::default_instance());
+}
+
+} // namespace
+
+void protobuf_ShutdownFile_api_2fclient_2fv1_2fchannel_5fid_2eproto() {
+ delete ChannelId::default_instance_;
+ delete ChannelId_reflection_;
+}
+
+void protobuf_AddDesc_api_2fclient_2fv1_2fchannel_5fid_2eproto() {
+ static bool already_here = false;
+ if (already_here) return;
+ already_here = true;
+ GOOGLE_PROTOBUF_VERIFY_VERSION;
+
+ ::bgs::protocol::protobuf_AddDesc_rpc_5ftypes_2eproto();
+ ::google::protobuf::DescriptorPool::InternalAddGeneratedFile(
+ "\n\036api/client/v1/channel_id.proto\022\027bgs.pr"
+ "otocol.channel.v1\032\017rpc_types.proto\"T\n\tCh"
+ "annelId\022\014\n\004type\030\001 \001(\r\022%\n\004host\030\002 \001(\0132\027.bg"
+ "s.protocol.ProcessId\022\n\n\002id\030\003 \001(\007:\006\202\371+\002\010\001"
+ "B\002H\001", 164);
+ ::google::protobuf::MessageFactory::InternalRegisterGeneratedFile(
+ "api/client/v1/channel_id.proto", &protobuf_RegisterTypes);
+ ChannelId::default_instance_ = new ChannelId();
+ ChannelId::default_instance_->InitAsDefaultInstance();
+ ::google::protobuf::internal::OnShutdown(&protobuf_ShutdownFile_api_2fclient_2fv1_2fchannel_5fid_2eproto);
+}
+
+// Force AddDescriptors() to be called at static initialization time.
+struct StaticDescriptorInitializer_api_2fclient_2fv1_2fchannel_5fid_2eproto {
+ StaticDescriptorInitializer_api_2fclient_2fv1_2fchannel_5fid_2eproto() {
+ protobuf_AddDesc_api_2fclient_2fv1_2fchannel_5fid_2eproto();
+ }
+} static_descriptor_initializer_api_2fclient_2fv1_2fchannel_5fid_2eproto_;
+
+// ===================================================================
+
+#ifndef _MSC_VER
+const int ChannelId::kTypeFieldNumber;
+const int ChannelId::kHostFieldNumber;
+const int ChannelId::kIdFieldNumber;
+#endif // !_MSC_VER
+
+ChannelId::ChannelId()
+ : ::google::protobuf::Message() {
+ SharedCtor();
+ // @@protoc_insertion_point(constructor:bgs.protocol.channel.v1.ChannelId)
+}
+
+void ChannelId::InitAsDefaultInstance() {
+ host_ = const_cast< ::bgs::protocol::ProcessId*>(&::bgs::protocol::ProcessId::default_instance());
+}
+
+ChannelId::ChannelId(const ChannelId& from)
+ : ::google::protobuf::Message() {
+ SharedCtor();
+ MergeFrom(from);
+ // @@protoc_insertion_point(copy_constructor:bgs.protocol.channel.v1.ChannelId)
+}
+
+void ChannelId::SharedCtor() {
+ _cached_size_ = 0;
+ type_ = 0u;
+ host_ = NULL;
+ id_ = 0u;
+ ::memset(_has_bits_, 0, sizeof(_has_bits_));
+}
+
+ChannelId::~ChannelId() {
+ // @@protoc_insertion_point(destructor:bgs.protocol.channel.v1.ChannelId)
+ SharedDtor();
+}
+
+void ChannelId::SharedDtor() {
+ if (this != default_instance_) {
+ delete host_;
+ }
+}
+
+void ChannelId::SetCachedSize(int size) const {
+ GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+ _cached_size_ = size;
+ GOOGLE_SAFE_CONCURRENT_WRITES_END();
+}
+const ::google::protobuf::Descriptor* ChannelId::descriptor() {
+ protobuf_AssignDescriptorsOnce();
+ return ChannelId_descriptor_;
+}
+
+const ChannelId& ChannelId::default_instance() {
+ if (default_instance_ == NULL) protobuf_AddDesc_api_2fclient_2fv1_2fchannel_5fid_2eproto();
+ return *default_instance_;
+}
+
+ChannelId* ChannelId::default_instance_ = NULL;
+
+ChannelId* ChannelId::New() const {
+ return new ChannelId;
+}
+
+void ChannelId::Clear() {
+#define OFFSET_OF_FIELD_(f) (reinterpret_cast<char*>( \
+ &reinterpret_cast<ChannelId*>(16)->f) - \
+ reinterpret_cast<char*>(16))
+
+#define ZR_(first, last) do { \
+ size_t f = OFFSET_OF_FIELD_(first); \
+ size_t n = OFFSET_OF_FIELD_(last) - f + sizeof(last); \
+ ::memset(&first, 0, n); \
+ } while (0)
+
+ if (_has_bits_[0 / 32] & 7) {
+ ZR_(type_, id_);
+ if (has_host()) {
+ if (host_ != NULL) host_->::bgs::protocol::ProcessId::Clear();
+ }
+ }
+
+#undef OFFSET_OF_FIELD_
+#undef ZR_
+
+ ::memset(_has_bits_, 0, sizeof(_has_bits_));
+ mutable_unknown_fields()->Clear();
+}
+
+bool ChannelId::MergePartialFromCodedStream(
+ ::google::protobuf::io::CodedInputStream* input) {
+#define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
+ ::google::protobuf::uint32 tag;
+ // @@protoc_insertion_point(parse_start:bgs.protocol.channel.v1.ChannelId)
+ for (;;) {
+ ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
+ tag = p.first;
+ if (!p.second) goto handle_unusual;
+ switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
+ // optional uint32 type = 1;
+ case 1: {
+ if (tag == 8) {
+ DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+ ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
+ input, &type_)));
+ set_has_type();
+ } else {
+ goto handle_unusual;
+ }
+ if (input->ExpectTag(18)) goto parse_host;
+ break;
+ }
+
+ // optional .bgs.protocol.ProcessId host = 2;
+ case 2: {
+ if (tag == 18) {
+ parse_host:
+ DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
+ input, mutable_host()));
+ } else {
+ goto handle_unusual;
+ }
+ if (input->ExpectTag(29)) goto parse_id;
+ break;
+ }
+
+ // optional fixed32 id = 3;
+ case 3: {
+ if (tag == 29) {
+ parse_id:
+ DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+ ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_FIXED32>(
+ input, &id_)));
+ set_has_id();
+ } else {
+ goto handle_unusual;
+ }
+ if (input->ExpectAtEnd()) goto success;
+ break;
+ }
+
+ default: {
+ handle_unusual:
+ if (tag == 0 ||
+ ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+ ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
+ goto success;
+ }
+ DO_(::google::protobuf::internal::WireFormat::SkipField(
+ input, tag, mutable_unknown_fields()));
+ break;
+ }
+ }
+ }
+success:
+ // @@protoc_insertion_point(parse_success:bgs.protocol.channel.v1.ChannelId)
+ return true;
+failure:
+ // @@protoc_insertion_point(parse_failure:bgs.protocol.channel.v1.ChannelId)
+ return false;
+#undef DO_
+}
+
+void ChannelId::SerializeWithCachedSizes(
+ ::google::protobuf::io::CodedOutputStream* output) const {
+ // @@protoc_insertion_point(serialize_start:bgs.protocol.channel.v1.ChannelId)
+ // optional uint32 type = 1;
+ if (has_type()) {
+ ::google::protobuf::internal::WireFormatLite::WriteUInt32(1, this->type(), output);
+ }
+
+ // optional .bgs.protocol.ProcessId host = 2;
+ if (has_host()) {
+ ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
+ 2, this->host(), output);
+ }
+
+ // optional fixed32 id = 3;
+ if (has_id()) {
+ ::google::protobuf::internal::WireFormatLite::WriteFixed32(3, this->id(), output);
+ }
+
+ if (!unknown_fields().empty()) {
+ ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
+ unknown_fields(), output);
+ }
+ // @@protoc_insertion_point(serialize_end:bgs.protocol.channel.v1.ChannelId)
+}
+
+::google::protobuf::uint8* ChannelId::SerializeWithCachedSizesToArray(
+ ::google::protobuf::uint8* target) const {
+ // @@protoc_insertion_point(serialize_to_array_start:bgs.protocol.channel.v1.ChannelId)
+ // optional uint32 type = 1;
+ if (has_type()) {
+ target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(1, this->type(), target);
+ }
+
+ // optional .bgs.protocol.ProcessId host = 2;
+ if (has_host()) {
+ target = ::google::protobuf::internal::WireFormatLite::
+ WriteMessageNoVirtualToArray(
+ 2, this->host(), target);
+ }
+
+ // optional fixed32 id = 3;
+ if (has_id()) {
+ target = ::google::protobuf::internal::WireFormatLite::WriteFixed32ToArray(3, this->id(), target);
+ }
+
+ if (!unknown_fields().empty()) {
+ target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
+ unknown_fields(), target);
+ }
+ // @@protoc_insertion_point(serialize_to_array_end:bgs.protocol.channel.v1.ChannelId)
+ return target;
+}
+
+int ChannelId::ByteSize() const {
+ int total_size = 0;
+
+ if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
+ // optional uint32 type = 1;
+ if (has_type()) {
+ total_size += 1 +
+ ::google::protobuf::internal::WireFormatLite::UInt32Size(
+ this->type());
+ }
+
+ // optional .bgs.protocol.ProcessId host = 2;
+ if (has_host()) {
+ total_size += 1 +
+ ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
+ this->host());
+ }
+
+ // optional fixed32 id = 3;
+ if (has_id()) {
+ total_size += 1 + 4;
+ }
+
+ }
+ if (!unknown_fields().empty()) {
+ total_size +=
+ ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
+ unknown_fields());
+ }
+ GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+ _cached_size_ = total_size;
+ GOOGLE_SAFE_CONCURRENT_WRITES_END();
+ return total_size;
+}
+
+void ChannelId::MergeFrom(const ::google::protobuf::Message& from) {
+ GOOGLE_CHECK_NE(&from, this);
+ const ChannelId* source =
+ ::google::protobuf::internal::dynamic_cast_if_available<const ChannelId*>(
+ &from);
+ if (source == NULL) {
+ ::google::protobuf::internal::ReflectionOps::Merge(from, this);
+ } else {
+ MergeFrom(*source);
+ }
+}
+
+void ChannelId::MergeFrom(const ChannelId& from) {
+ GOOGLE_CHECK_NE(&from, this);
+ if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
+ if (from.has_type()) {
+ set_type(from.type());
+ }
+ if (from.has_host()) {
+ mutable_host()->::bgs::protocol::ProcessId::MergeFrom(from.host());
+ }
+ if (from.has_id()) {
+ set_id(from.id());
+ }
+ }
+ mutable_unknown_fields()->MergeFrom(from.unknown_fields());
+}
+
+void ChannelId::CopyFrom(const ::google::protobuf::Message& from) {
+ if (&from == this) return;
+ Clear();
+ MergeFrom(from);
+}
+
+void ChannelId::CopyFrom(const ChannelId& from) {
+ if (&from == this) return;
+ Clear();
+ MergeFrom(from);
+}
+
+bool ChannelId::IsInitialized() const {
+
+ if (has_host()) {
+ if (!this->host().IsInitialized()) return false;
+ }
+ return true;
+}
+
+void ChannelId::Swap(ChannelId* other) {
+ if (other != this) {
+ std::swap(type_, other->type_);
+ std::swap(host_, other->host_);
+ std::swap(id_, other->id_);
+ std::swap(_has_bits_[0], other->_has_bits_[0]);
+ _unknown_fields_.Swap(&other->_unknown_fields_);
+ std::swap(_cached_size_, other->_cached_size_);
+ }
+}
+
+::google::protobuf::Metadata ChannelId::GetMetadata() const {
+ protobuf_AssignDescriptorsOnce();
+ ::google::protobuf::Metadata metadata;
+ metadata.descriptor = ChannelId_descriptor_;
+ metadata.reflection = ChannelId_reflection_;
+ return metadata;
+}
+
+
+// @@protoc_insertion_point(namespace_scope)
+
+} // namespace v1
+} // namespace channel
+} // namespace protocol
+} // namespace bgs
+
+// @@protoc_insertion_point(global_scope)
diff --git a/src/server/proto/Client/api/client/v1/channel_id.pb.h b/src/server/proto/Client/api/client/v1/channel_id.pb.h
new file mode 100644
index 00000000000..a336c5e968e
--- /dev/null
+++ b/src/server/proto/Client/api/client/v1/channel_id.pb.h
@@ -0,0 +1,262 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: api/client/v1/channel_id.proto
+
+#ifndef PROTOBUF_api_2fclient_2fv1_2fchannel_5fid_2eproto__INCLUDED
+#define PROTOBUF_api_2fclient_2fv1_2fchannel_5fid_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 "rpc_types.pb.h"
+#include "Define.h" // for TC_PROTO_API
+// @@protoc_insertion_point(includes)
+
+namespace bgs {
+namespace protocol {
+namespace channel {
+namespace v1 {
+
+// Internal implementation detail -- do not call these.
+void TC_PROTO_API protobuf_AddDesc_api_2fclient_2fv1_2fchannel_5fid_2eproto();
+void protobuf_AssignDesc_api_2fclient_2fv1_2fchannel_5fid_2eproto();
+void protobuf_ShutdownFile_api_2fclient_2fv1_2fchannel_5fid_2eproto();
+
+class ChannelId;
+
+// ===================================================================
+
+class TC_PROTO_API ChannelId : public ::google::protobuf::Message {
+ public:
+ ChannelId();
+ virtual ~ChannelId();
+
+ ChannelId(const ChannelId& from);
+
+ inline ChannelId& operator=(const ChannelId& 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 ChannelId& default_instance();
+
+ void Swap(ChannelId* other);
+
+ // implements Message ----------------------------------------------
+
+ ChannelId* New() const;
+ void CopyFrom(const ::google::protobuf::Message& from);
+ void MergeFrom(const ::google::protobuf::Message& from);
+ void CopyFrom(const ChannelId& from);
+ void MergeFrom(const ChannelId& 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 uint32 type = 1;
+ inline bool has_type() const;
+ inline void clear_type();
+ static const int kTypeFieldNumber = 1;
+ inline ::google::protobuf::uint32 type() const;
+ inline void set_type(::google::protobuf::uint32 value);
+
+ // optional .bgs.protocol.ProcessId host = 2;
+ inline bool has_host() const;
+ inline void clear_host();
+ static const int kHostFieldNumber = 2;
+ inline const ::bgs::protocol::ProcessId& host() const;
+ inline ::bgs::protocol::ProcessId* mutable_host();
+ inline ::bgs::protocol::ProcessId* release_host();
+ inline void set_allocated_host(::bgs::protocol::ProcessId* host);
+
+ // optional fixed32 id = 3;
+ inline bool has_id() const;
+ inline void clear_id();
+ static const int kIdFieldNumber = 3;
+ inline ::google::protobuf::uint32 id() const;
+ inline void set_id(::google::protobuf::uint32 value);
+
+ // @@protoc_insertion_point(class_scope:bgs.protocol.channel.v1.ChannelId)
+ private:
+ inline void set_has_type();
+ inline void clear_has_type();
+ inline void set_has_host();
+ inline void clear_has_host();
+ inline void set_has_id();
+ inline void clear_has_id();
+
+ ::google::protobuf::UnknownFieldSet _unknown_fields_;
+
+ ::google::protobuf::uint32 _has_bits_[1];
+ mutable int _cached_size_;
+ ::bgs::protocol::ProcessId* host_;
+ ::google::protobuf::uint32 type_;
+ ::google::protobuf::uint32 id_;
+ friend void TC_PROTO_API protobuf_AddDesc_api_2fclient_2fv1_2fchannel_5fid_2eproto();
+ friend void protobuf_AssignDesc_api_2fclient_2fv1_2fchannel_5fid_2eproto();
+ friend void protobuf_ShutdownFile_api_2fclient_2fv1_2fchannel_5fid_2eproto();
+
+ void InitAsDefaultInstance();
+ static ChannelId* default_instance_;
+};
+// ===================================================================
+
+
+// ===================================================================
+
+
+// ===================================================================
+
+// ChannelId
+
+// optional uint32 type = 1;
+inline bool ChannelId::has_type() const {
+ return (_has_bits_[0] & 0x00000001u) != 0;
+}
+inline void ChannelId::set_has_type() {
+ _has_bits_[0] |= 0x00000001u;
+}
+inline void ChannelId::clear_has_type() {
+ _has_bits_[0] &= ~0x00000001u;
+}
+inline void ChannelId::clear_type() {
+ type_ = 0u;
+ clear_has_type();
+}
+inline ::google::protobuf::uint32 ChannelId::type() const {
+ // @@protoc_insertion_point(field_get:bgs.protocol.channel.v1.ChannelId.type)
+ return type_;
+}
+inline void ChannelId::set_type(::google::protobuf::uint32 value) {
+ set_has_type();
+ type_ = value;
+ // @@protoc_insertion_point(field_set:bgs.protocol.channel.v1.ChannelId.type)
+}
+
+// optional .bgs.protocol.ProcessId host = 2;
+inline bool ChannelId::has_host() const {
+ return (_has_bits_[0] & 0x00000002u) != 0;
+}
+inline void ChannelId::set_has_host() {
+ _has_bits_[0] |= 0x00000002u;
+}
+inline void ChannelId::clear_has_host() {
+ _has_bits_[0] &= ~0x00000002u;
+}
+inline void ChannelId::clear_host() {
+ if (host_ != NULL) host_->::bgs::protocol::ProcessId::Clear();
+ clear_has_host();
+}
+inline const ::bgs::protocol::ProcessId& ChannelId::host() const {
+ // @@protoc_insertion_point(field_get:bgs.protocol.channel.v1.ChannelId.host)
+ return host_ != NULL ? *host_ : *default_instance_->host_;
+}
+inline ::bgs::protocol::ProcessId* ChannelId::mutable_host() {
+ set_has_host();
+ if (host_ == NULL) host_ = new ::bgs::protocol::ProcessId;
+ // @@protoc_insertion_point(field_mutable:bgs.protocol.channel.v1.ChannelId.host)
+ return host_;
+}
+inline ::bgs::protocol::ProcessId* ChannelId::release_host() {
+ clear_has_host();
+ ::bgs::protocol::ProcessId* temp = host_;
+ host_ = NULL;
+ return temp;
+}
+inline void ChannelId::set_allocated_host(::bgs::protocol::ProcessId* host) {
+ delete host_;
+ host_ = host;
+ if (host) {
+ set_has_host();
+ } else {
+ clear_has_host();
+ }
+ // @@protoc_insertion_point(field_set_allocated:bgs.protocol.channel.v1.ChannelId.host)
+}
+
+// optional fixed32 id = 3;
+inline bool ChannelId::has_id() const {
+ return (_has_bits_[0] & 0x00000004u) != 0;
+}
+inline void ChannelId::set_has_id() {
+ _has_bits_[0] |= 0x00000004u;
+}
+inline void ChannelId::clear_has_id() {
+ _has_bits_[0] &= ~0x00000004u;
+}
+inline void ChannelId::clear_id() {
+ id_ = 0u;
+ clear_has_id();
+}
+inline ::google::protobuf::uint32 ChannelId::id() const {
+ // @@protoc_insertion_point(field_get:bgs.protocol.channel.v1.ChannelId.id)
+ return id_;
+}
+inline void ChannelId::set_id(::google::protobuf::uint32 value) {
+ set_has_id();
+ id_ = value;
+ // @@protoc_insertion_point(field_set:bgs.protocol.channel.v1.ChannelId.id)
+}
+
+
+// @@protoc_insertion_point(namespace_scope)
+
+} // namespace v1
+} // namespace channel
+} // namespace protocol
+} // namespace bgs
+
+#ifndef SWIG
+namespace google {
+namespace protobuf {
+
+
+} // namespace google
+} // namespace protobuf
+#endif // SWIG
+
+// @@protoc_insertion_point(global_scope)
+
+#endif // PROTOBUF_api_2fclient_2fv1_2fchannel_5fid_2eproto__INCLUDED
diff --git a/src/server/proto/Client/api/client/v2/attribute_types.pb.cc b/src/server/proto/Client/api/client/v2/attribute_types.pb.cc
new file mode 100644
index 00000000000..0137abf2da0
--- /dev/null
+++ b/src/server/proto/Client/api/client/v2/attribute_types.pb.cc
@@ -0,0 +1,1242 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: api/client/v2/attribute_types.proto
+
+#define INTERNAL_SUPPRESS_PROTOBUF_FIELD_DEPRECATION
+#include "api/client/v2/attribute_types.pb.h"
+
+#include <algorithm>
+#include <utility>
+
+#include <google/protobuf/stubs/common.h>
+#include <google/protobuf/stubs/once.h>
+#include <google/protobuf/io/coded_stream.h>
+#include <google/protobuf/wire_format_lite_inl.h>
+#include <google/protobuf/descriptor.h>
+#include <google/protobuf/generated_message_reflection.h>
+#include <google/protobuf/reflection_ops.h>
+#include <google/protobuf/wire_format.h>
+#include "Log.h"
+// @@protoc_insertion_point(includes)
+
+namespace bgs {
+namespace protocol {
+namespace v2 {
+
+namespace {
+
+const ::google::protobuf::Descriptor* Variant_descriptor_ = NULL;
+const ::google::protobuf::internal::GeneratedMessageReflection*
+ Variant_reflection_ = NULL;
+struct VariantOneofInstance {
+ bool bool_value_;
+ ::google::protobuf::int64 int_value_;
+ double float_value_;
+ const ::std::string* string_value_;
+ const ::std::string* blob_value_;
+ ::google::protobuf::uint64 uint_value_;
+}* Variant_default_oneof_instance_ = NULL;
+const ::google::protobuf::Descriptor* Attribute_descriptor_ = NULL;
+const ::google::protobuf::internal::GeneratedMessageReflection*
+ Attribute_reflection_ = NULL;
+const ::google::protobuf::Descriptor* AttributeFilter_descriptor_ = NULL;
+const ::google::protobuf::internal::GeneratedMessageReflection*
+ AttributeFilter_reflection_ = NULL;
+const ::google::protobuf::EnumDescriptor* AttributeFilter_Operation_descriptor_ = NULL;
+
+} // namespace
+
+
+void protobuf_AssignDesc_api_2fclient_2fv2_2fattribute_5ftypes_2eproto() {
+ protobuf_AddDesc_api_2fclient_2fv2_2fattribute_5ftypes_2eproto();
+ const ::google::protobuf::FileDescriptor* file =
+ ::google::protobuf::DescriptorPool::generated_pool()->FindFileByName(
+ "api/client/v2/attribute_types.proto");
+ GOOGLE_CHECK(file != NULL);
+ Variant_descriptor_ = file->message_type(0);
+ static const int Variant_offsets_[7] = {
+ PROTO2_GENERATED_DEFAULT_ONEOF_FIELD_OFFSET(Variant_default_oneof_instance_, bool_value_),
+ PROTO2_GENERATED_DEFAULT_ONEOF_FIELD_OFFSET(Variant_default_oneof_instance_, int_value_),
+ PROTO2_GENERATED_DEFAULT_ONEOF_FIELD_OFFSET(Variant_default_oneof_instance_, float_value_),
+ PROTO2_GENERATED_DEFAULT_ONEOF_FIELD_OFFSET(Variant_default_oneof_instance_, string_value_),
+ PROTO2_GENERATED_DEFAULT_ONEOF_FIELD_OFFSET(Variant_default_oneof_instance_, blob_value_),
+ PROTO2_GENERATED_DEFAULT_ONEOF_FIELD_OFFSET(Variant_default_oneof_instance_, uint_value_),
+ GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(Variant, type_),
+ };
+ Variant_reflection_ =
+ new ::google::protobuf::internal::GeneratedMessageReflection(
+ Variant_descriptor_,
+ Variant::default_instance_,
+ Variant_offsets_,
+ GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(Variant, _has_bits_[0]),
+ GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(Variant, _unknown_fields_),
+ -1,
+ Variant_default_oneof_instance_,
+ GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(Variant, _oneof_case_[0]),
+ ::google::protobuf::DescriptorPool::generated_pool(),
+ ::google::protobuf::MessageFactory::generated_factory(),
+ sizeof(Variant));
+ Attribute_descriptor_ = file->message_type(1);
+ static const int Attribute_offsets_[2] = {
+ GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(Attribute, name_),
+ GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(Attribute, value_),
+ };
+ Attribute_reflection_ =
+ new ::google::protobuf::internal::GeneratedMessageReflection(
+ Attribute_descriptor_,
+ Attribute::default_instance_,
+ Attribute_offsets_,
+ GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(Attribute, _has_bits_[0]),
+ GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(Attribute, _unknown_fields_),
+ -1,
+ ::google::protobuf::DescriptorPool::generated_pool(),
+ ::google::protobuf::MessageFactory::generated_factory(),
+ sizeof(Attribute));
+ AttributeFilter_descriptor_ = file->message_type(2);
+ static const int AttributeFilter_offsets_[2] = {
+ GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(AttributeFilter, op_),
+ GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(AttributeFilter, attribute_),
+ };
+ AttributeFilter_reflection_ =
+ new ::google::protobuf::internal::GeneratedMessageReflection(
+ AttributeFilter_descriptor_,
+ AttributeFilter::default_instance_,
+ AttributeFilter_offsets_,
+ GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(AttributeFilter, _has_bits_[0]),
+ GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(AttributeFilter, _unknown_fields_),
+ -1,
+ ::google::protobuf::DescriptorPool::generated_pool(),
+ ::google::protobuf::MessageFactory::generated_factory(),
+ sizeof(AttributeFilter));
+ AttributeFilter_Operation_descriptor_ = AttributeFilter_descriptor_->enum_type(0);
+}
+
+namespace {
+
+GOOGLE_PROTOBUF_DECLARE_ONCE(protobuf_AssignDescriptors_once_);
+inline void protobuf_AssignDescriptorsOnce() {
+ ::google::protobuf::GoogleOnceInit(&protobuf_AssignDescriptors_once_,
+ &protobuf_AssignDesc_api_2fclient_2fv2_2fattribute_5ftypes_2eproto);
+}
+
+void protobuf_RegisterTypes(const ::std::string&) {
+ protobuf_AssignDescriptorsOnce();
+ ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
+ Variant_descriptor_, &Variant::default_instance());
+ ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
+ Attribute_descriptor_, &Attribute::default_instance());
+ ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
+ AttributeFilter_descriptor_, &AttributeFilter::default_instance());
+}
+
+} // namespace
+
+void protobuf_ShutdownFile_api_2fclient_2fv2_2fattribute_5ftypes_2eproto() {
+ delete Variant::default_instance_;
+ delete Variant_default_oneof_instance_;
+ delete Variant_reflection_;
+ delete Attribute::default_instance_;
+ delete Attribute_reflection_;
+ delete AttributeFilter::default_instance_;
+ delete AttributeFilter_reflection_;
+}
+
+void protobuf_AddDesc_api_2fclient_2fv2_2fattribute_5ftypes_2eproto() {
+ static bool already_here = false;
+ if (already_here) return;
+ already_here = true;
+ GOOGLE_PROTOBUF_VERIFY_VERSION;
+
+ ::google::protobuf::DescriptorPool::InternalAddGeneratedFile(
+ "\n#api/client/v2/attribute_types.proto\022\017b"
+ "gs.protocol.v2\"\227\001\n\007Variant\022\024\n\nbool_value"
+ "\030\001 \001(\010H\000\022\023\n\tint_value\030\002 \001(\003H\000\022\025\n\013float_v"
+ "alue\030\003 \001(\001H\000\022\026\n\014string_value\030\004 \001(\tH\000\022\024\n\n"
+ "blob_value\030\005 \001(\014H\000\022\024\n\nuint_value\030\006 \001(\004H\000"
+ "B\006\n\004type\"B\n\tAttribute\022\014\n\004name\030\001 \001(\t\022\'\n\005v"
+ "alue\030\002 \001(\0132\030.bgs.protocol.v2.Variant\"\320\001\n"
+ "\017AttributeFilter\0226\n\002op\030\001 \001(\0162*.bgs.proto"
+ "col.v2.AttributeFilter.Operation\022-\n\tattr"
+ "ibute\030\002 \003(\0132\032.bgs.protocol.v2.Attribute\""
+ "V\n\tOperation\022\016\n\nMATCH_NONE\020\000\022\r\n\tMATCH_AN"
+ "Y\020\001\022\r\n\tMATCH_ALL\020\002\022\033\n\027MATCH_ALL_MOST_SPE"
+ "CIFIC\020\003B\002H\001", 491);
+ ::google::protobuf::MessageFactory::InternalRegisterGeneratedFile(
+ "api/client/v2/attribute_types.proto", &protobuf_RegisterTypes);
+ Variant::default_instance_ = new Variant();
+ Variant_default_oneof_instance_ = new VariantOneofInstance;
+ Attribute::default_instance_ = new Attribute();
+ AttributeFilter::default_instance_ = new AttributeFilter();
+ Variant::default_instance_->InitAsDefaultInstance();
+ Attribute::default_instance_->InitAsDefaultInstance();
+ AttributeFilter::default_instance_->InitAsDefaultInstance();
+ ::google::protobuf::internal::OnShutdown(&protobuf_ShutdownFile_api_2fclient_2fv2_2fattribute_5ftypes_2eproto);
+}
+
+// Force AddDescriptors() to be called at static initialization time.
+struct StaticDescriptorInitializer_api_2fclient_2fv2_2fattribute_5ftypes_2eproto {
+ StaticDescriptorInitializer_api_2fclient_2fv2_2fattribute_5ftypes_2eproto() {
+ protobuf_AddDesc_api_2fclient_2fv2_2fattribute_5ftypes_2eproto();
+ }
+} static_descriptor_initializer_api_2fclient_2fv2_2fattribute_5ftypes_2eproto_;
+
+// ===================================================================
+
+#ifndef _MSC_VER
+const int Variant::kBoolValueFieldNumber;
+const int Variant::kIntValueFieldNumber;
+const int Variant::kFloatValueFieldNumber;
+const int Variant::kStringValueFieldNumber;
+const int Variant::kBlobValueFieldNumber;
+const int Variant::kUintValueFieldNumber;
+#endif // !_MSC_VER
+
+Variant::Variant()
+ : ::google::protobuf::Message() {
+ SharedCtor();
+ // @@protoc_insertion_point(constructor:bgs.protocol.v2.Variant)
+}
+
+void Variant::InitAsDefaultInstance() {
+ Variant_default_oneof_instance_->bool_value_ = false;
+ Variant_default_oneof_instance_->int_value_ = GOOGLE_LONGLONG(0);
+ Variant_default_oneof_instance_->float_value_ = 0;
+ Variant_default_oneof_instance_->string_value_ = &::google::protobuf::internal::GetEmptyStringAlreadyInited();
+ Variant_default_oneof_instance_->blob_value_ = &::google::protobuf::internal::GetEmptyStringAlreadyInited();
+ Variant_default_oneof_instance_->uint_value_ = GOOGLE_ULONGLONG(0);
+}
+
+Variant::Variant(const Variant& from)
+ : ::google::protobuf::Message() {
+ SharedCtor();
+ MergeFrom(from);
+ // @@protoc_insertion_point(copy_constructor:bgs.protocol.v2.Variant)
+}
+
+void Variant::SharedCtor() {
+ ::google::protobuf::internal::GetEmptyString();
+ _cached_size_ = 0;
+ ::memset(_has_bits_, 0, sizeof(_has_bits_));
+ clear_has_type();
+}
+
+Variant::~Variant() {
+ // @@protoc_insertion_point(destructor:bgs.protocol.v2.Variant)
+ SharedDtor();
+}
+
+void Variant::SharedDtor() {
+ if (has_type()) {
+ clear_type();
+ }
+ if (this != default_instance_) {
+ }
+}
+
+void Variant::SetCachedSize(int size) const {
+ GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+ _cached_size_ = size;
+ GOOGLE_SAFE_CONCURRENT_WRITES_END();
+}
+const ::google::protobuf::Descriptor* Variant::descriptor() {
+ protobuf_AssignDescriptorsOnce();
+ return Variant_descriptor_;
+}
+
+const Variant& Variant::default_instance() {
+ if (default_instance_ == NULL) protobuf_AddDesc_api_2fclient_2fv2_2fattribute_5ftypes_2eproto();
+ return *default_instance_;
+}
+
+Variant* Variant::default_instance_ = NULL;
+
+Variant* Variant::New() const {
+ return new Variant;
+}
+
+void Variant::clear_type() {
+ switch(type_case()) {
+ case kBoolValue: {
+ // No need to clear
+ break;
+ }
+ case kIntValue: {
+ // No need to clear
+ break;
+ }
+ case kFloatValue: {
+ // No need to clear
+ break;
+ }
+ case kStringValue: {
+ delete type_.string_value_;
+ break;
+ }
+ case kBlobValue: {
+ delete type_.blob_value_;
+ break;
+ }
+ case kUintValue: {
+ // No need to clear
+ break;
+ }
+ case TYPE_NOT_SET: {
+ break;
+ }
+ }
+ _oneof_case_[0] = TYPE_NOT_SET;
+}
+
+
+void Variant::Clear() {
+ clear_type();
+ ::memset(_has_bits_, 0, sizeof(_has_bits_));
+ mutable_unknown_fields()->Clear();
+}
+
+bool Variant::MergePartialFromCodedStream(
+ ::google::protobuf::io::CodedInputStream* input) {
+#define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
+ ::google::protobuf::uint32 tag;
+ // @@protoc_insertion_point(parse_start:bgs.protocol.v2.Variant)
+ for (;;) {
+ ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
+ tag = p.first;
+ if (!p.second) goto handle_unusual;
+ switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
+ // optional bool bool_value = 1;
+ case 1: {
+ if (tag == 8) {
+ clear_type();
+ DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+ bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
+ input, &type_.bool_value_)));
+ set_has_bool_value();
+ } else {
+ goto handle_unusual;
+ }
+ if (input->ExpectTag(16)) goto parse_int_value;
+ break;
+ }
+
+ // optional int64 int_value = 2;
+ case 2: {
+ if (tag == 16) {
+ parse_int_value:
+ clear_type();
+ DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+ ::google::protobuf::int64, ::google::protobuf::internal::WireFormatLite::TYPE_INT64>(
+ input, &type_.int_value_)));
+ set_has_int_value();
+ } else {
+ goto handle_unusual;
+ }
+ if (input->ExpectTag(25)) goto parse_float_value;
+ break;
+ }
+
+ // optional double float_value = 3;
+ case 3: {
+ if (tag == 25) {
+ parse_float_value:
+ clear_type();
+ DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+ double, ::google::protobuf::internal::WireFormatLite::TYPE_DOUBLE>(
+ input, &type_.float_value_)));
+ set_has_float_value();
+ } else {
+ goto handle_unusual;
+ }
+ if (input->ExpectTag(34)) goto parse_string_value;
+ break;
+ }
+
+ // optional string string_value = 4;
+ case 4: {
+ if (tag == 34) {
+ parse_string_value:
+ DO_(::google::protobuf::internal::WireFormatLite::ReadString(
+ input, this->mutable_string_value()));
+ ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
+ this->string_value().data(), this->string_value().length(),
+ ::google::protobuf::internal::WireFormat::PARSE,
+ "string_value");
+ } else {
+ goto handle_unusual;
+ }
+ if (input->ExpectTag(42)) goto parse_blob_value;
+ break;
+ }
+
+ // optional bytes blob_value = 5;
+ case 5: {
+ if (tag == 42) {
+ parse_blob_value:
+ DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
+ input, this->mutable_blob_value()));
+ } else {
+ goto handle_unusual;
+ }
+ if (input->ExpectTag(48)) goto parse_uint_value;
+ break;
+ }
+
+ // optional uint64 uint_value = 6;
+ case 6: {
+ if (tag == 48) {
+ parse_uint_value:
+ clear_type();
+ DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+ ::google::protobuf::uint64, ::google::protobuf::internal::WireFormatLite::TYPE_UINT64>(
+ input, &type_.uint_value_)));
+ set_has_uint_value();
+ } else {
+ goto handle_unusual;
+ }
+ if (input->ExpectAtEnd()) goto success;
+ break;
+ }
+
+ default: {
+ handle_unusual:
+ if (tag == 0 ||
+ ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+ ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
+ goto success;
+ }
+ DO_(::google::protobuf::internal::WireFormat::SkipField(
+ input, tag, mutable_unknown_fields()));
+ break;
+ }
+ }
+ }
+success:
+ // @@protoc_insertion_point(parse_success:bgs.protocol.v2.Variant)
+ return true;
+failure:
+ // @@protoc_insertion_point(parse_failure:bgs.protocol.v2.Variant)
+ return false;
+#undef DO_
+}
+
+void Variant::SerializeWithCachedSizes(
+ ::google::protobuf::io::CodedOutputStream* output) const {
+ // @@protoc_insertion_point(serialize_start:bgs.protocol.v2.Variant)
+ // optional bool bool_value = 1;
+ if (has_bool_value()) {
+ ::google::protobuf::internal::WireFormatLite::WriteBool(1, this->bool_value(), output);
+ }
+
+ // optional int64 int_value = 2;
+ if (has_int_value()) {
+ ::google::protobuf::internal::WireFormatLite::WriteInt64(2, this->int_value(), output);
+ }
+
+ // optional double float_value = 3;
+ if (has_float_value()) {
+ ::google::protobuf::internal::WireFormatLite::WriteDouble(3, this->float_value(), output);
+ }
+
+ // optional string string_value = 4;
+ if (has_string_value()) {
+ ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
+ this->string_value().data(), this->string_value().length(),
+ ::google::protobuf::internal::WireFormat::SERIALIZE,
+ "string_value");
+ ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
+ 4, this->string_value(), output);
+ }
+
+ // optional bytes blob_value = 5;
+ if (has_blob_value()) {
+ ::google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(
+ 5, this->blob_value(), output);
+ }
+
+ // optional uint64 uint_value = 6;
+ if (has_uint_value()) {
+ ::google::protobuf::internal::WireFormatLite::WriteUInt64(6, this->uint_value(), output);
+ }
+
+ if (!unknown_fields().empty()) {
+ ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
+ unknown_fields(), output);
+ }
+ // @@protoc_insertion_point(serialize_end:bgs.protocol.v2.Variant)
+}
+
+::google::protobuf::uint8* Variant::SerializeWithCachedSizesToArray(
+ ::google::protobuf::uint8* target) const {
+ // @@protoc_insertion_point(serialize_to_array_start:bgs.protocol.v2.Variant)
+ // optional bool bool_value = 1;
+ if (has_bool_value()) {
+ target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(1, this->bool_value(), target);
+ }
+
+ // optional int64 int_value = 2;
+ if (has_int_value()) {
+ target = ::google::protobuf::internal::WireFormatLite::WriteInt64ToArray(2, this->int_value(), target);
+ }
+
+ // optional double float_value = 3;
+ if (has_float_value()) {
+ target = ::google::protobuf::internal::WireFormatLite::WriteDoubleToArray(3, this->float_value(), target);
+ }
+
+ // optional string string_value = 4;
+ if (has_string_value()) {
+ ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
+ this->string_value().data(), this->string_value().length(),
+ ::google::protobuf::internal::WireFormat::SERIALIZE,
+ "string_value");
+ target =
+ ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
+ 4, this->string_value(), target);
+ }
+
+ // optional bytes blob_value = 5;
+ if (has_blob_value()) {
+ target =
+ ::google::protobuf::internal::WireFormatLite::WriteBytesToArray(
+ 5, this->blob_value(), target);
+ }
+
+ // optional uint64 uint_value = 6;
+ if (has_uint_value()) {
+ target = ::google::protobuf::internal::WireFormatLite::WriteUInt64ToArray(6, this->uint_value(), target);
+ }
+
+ if (!unknown_fields().empty()) {
+ target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
+ unknown_fields(), target);
+ }
+ // @@protoc_insertion_point(serialize_to_array_end:bgs.protocol.v2.Variant)
+ return target;
+}
+
+int Variant::ByteSize() const {
+ int total_size = 0;
+
+ switch (type_case()) {
+ // optional bool bool_value = 1;
+ case kBoolValue: {
+ total_size += 1 + 1;
+ break;
+ }
+ // optional int64 int_value = 2;
+ case kIntValue: {
+ total_size += 1 +
+ ::google::protobuf::internal::WireFormatLite::Int64Size(
+ this->int_value());
+ break;
+ }
+ // optional double float_value = 3;
+ case kFloatValue: {
+ total_size += 1 + 8;
+ break;
+ }
+ // optional string string_value = 4;
+ case kStringValue: {
+ total_size += 1 +
+ ::google::protobuf::internal::WireFormatLite::StringSize(
+ this->string_value());
+ break;
+ }
+ // optional bytes blob_value = 5;
+ case kBlobValue: {
+ total_size += 1 +
+ ::google::protobuf::internal::WireFormatLite::BytesSize(
+ this->blob_value());
+ break;
+ }
+ // optional uint64 uint_value = 6;
+ case kUintValue: {
+ total_size += 1 +
+ ::google::protobuf::internal::WireFormatLite::UInt64Size(
+ this->uint_value());
+ break;
+ }
+ case TYPE_NOT_SET: {
+ break;
+ }
+ }
+ if (!unknown_fields().empty()) {
+ total_size +=
+ ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
+ unknown_fields());
+ }
+ GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+ _cached_size_ = total_size;
+ GOOGLE_SAFE_CONCURRENT_WRITES_END();
+ return total_size;
+}
+
+void Variant::MergeFrom(const ::google::protobuf::Message& from) {
+ GOOGLE_CHECK_NE(&from, this);
+ const Variant* source =
+ ::google::protobuf::internal::dynamic_cast_if_available<const Variant*>(
+ &from);
+ if (source == NULL) {
+ ::google::protobuf::internal::ReflectionOps::Merge(from, this);
+ } else {
+ MergeFrom(*source);
+ }
+}
+
+void Variant::MergeFrom(const Variant& from) {
+ GOOGLE_CHECK_NE(&from, this);
+ switch (from.type_case()) {
+ case kBoolValue: {
+ set_bool_value(from.bool_value());
+ break;
+ }
+ case kIntValue: {
+ set_int_value(from.int_value());
+ break;
+ }
+ case kFloatValue: {
+ set_float_value(from.float_value());
+ break;
+ }
+ case kStringValue: {
+ set_string_value(from.string_value());
+ break;
+ }
+ case kBlobValue: {
+ set_blob_value(from.blob_value());
+ break;
+ }
+ case kUintValue: {
+ set_uint_value(from.uint_value());
+ break;
+ }
+ case TYPE_NOT_SET: {
+ break;
+ }
+ }
+ mutable_unknown_fields()->MergeFrom(from.unknown_fields());
+}
+
+void Variant::CopyFrom(const ::google::protobuf::Message& from) {
+ if (&from == this) return;
+ Clear();
+ MergeFrom(from);
+}
+
+void Variant::CopyFrom(const Variant& from) {
+ if (&from == this) return;
+ Clear();
+ MergeFrom(from);
+}
+
+bool Variant::IsInitialized() const {
+
+ return true;
+}
+
+void Variant::Swap(Variant* other) {
+ if (other != this) {
+ std::swap(type_, other->type_);
+ std::swap(_oneof_case_[0], other->_oneof_case_[0]);
+ std::swap(_has_bits_[0], other->_has_bits_[0]);
+ _unknown_fields_.Swap(&other->_unknown_fields_);
+ std::swap(_cached_size_, other->_cached_size_);
+ }
+}
+
+::google::protobuf::Metadata Variant::GetMetadata() const {
+ protobuf_AssignDescriptorsOnce();
+ ::google::protobuf::Metadata metadata;
+ metadata.descriptor = Variant_descriptor_;
+ metadata.reflection = Variant_reflection_;
+ return metadata;
+}
+
+
+// ===================================================================
+
+#ifndef _MSC_VER
+const int Attribute::kNameFieldNumber;
+const int Attribute::kValueFieldNumber;
+#endif // !_MSC_VER
+
+Attribute::Attribute()
+ : ::google::protobuf::Message() {
+ SharedCtor();
+ // @@protoc_insertion_point(constructor:bgs.protocol.v2.Attribute)
+}
+
+void Attribute::InitAsDefaultInstance() {
+ value_ = const_cast< ::bgs::protocol::v2::Variant*>(&::bgs::protocol::v2::Variant::default_instance());
+}
+
+Attribute::Attribute(const Attribute& from)
+ : ::google::protobuf::Message() {
+ SharedCtor();
+ MergeFrom(from);
+ // @@protoc_insertion_point(copy_constructor:bgs.protocol.v2.Attribute)
+}
+
+void Attribute::SharedCtor() {
+ ::google::protobuf::internal::GetEmptyString();
+ _cached_size_ = 0;
+ name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+ value_ = NULL;
+ ::memset(_has_bits_, 0, sizeof(_has_bits_));
+}
+
+Attribute::~Attribute() {
+ // @@protoc_insertion_point(destructor:bgs.protocol.v2.Attribute)
+ SharedDtor();
+}
+
+void Attribute::SharedDtor() {
+ if (name_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
+ delete name_;
+ }
+ if (this != default_instance_) {
+ delete value_;
+ }
+}
+
+void Attribute::SetCachedSize(int size) const {
+ GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+ _cached_size_ = size;
+ GOOGLE_SAFE_CONCURRENT_WRITES_END();
+}
+const ::google::protobuf::Descriptor* Attribute::descriptor() {
+ protobuf_AssignDescriptorsOnce();
+ return Attribute_descriptor_;
+}
+
+const Attribute& Attribute::default_instance() {
+ if (default_instance_ == NULL) protobuf_AddDesc_api_2fclient_2fv2_2fattribute_5ftypes_2eproto();
+ return *default_instance_;
+}
+
+Attribute* Attribute::default_instance_ = NULL;
+
+Attribute* Attribute::New() const {
+ return new Attribute;
+}
+
+void Attribute::Clear() {
+ if (_has_bits_[0 / 32] & 3) {
+ if (has_name()) {
+ if (name_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
+ name_->clear();
+ }
+ }
+ if (has_value()) {
+ if (value_ != NULL) value_->::bgs::protocol::v2::Variant::Clear();
+ }
+ }
+ ::memset(_has_bits_, 0, sizeof(_has_bits_));
+ mutable_unknown_fields()->Clear();
+}
+
+bool Attribute::MergePartialFromCodedStream(
+ ::google::protobuf::io::CodedInputStream* input) {
+#define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
+ ::google::protobuf::uint32 tag;
+ // @@protoc_insertion_point(parse_start:bgs.protocol.v2.Attribute)
+ for (;;) {
+ ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
+ tag = p.first;
+ if (!p.second) goto handle_unusual;
+ switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
+ // optional string name = 1;
+ case 1: {
+ if (tag == 10) {
+ DO_(::google::protobuf::internal::WireFormatLite::ReadString(
+ input, this->mutable_name()));
+ ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
+ this->name().data(), this->name().length(),
+ ::google::protobuf::internal::WireFormat::PARSE,
+ "name");
+ } else {
+ goto handle_unusual;
+ }
+ if (input->ExpectTag(18)) goto parse_value;
+ break;
+ }
+
+ // optional .bgs.protocol.v2.Variant value = 2;
+ case 2: {
+ if (tag == 18) {
+ parse_value:
+ DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
+ input, mutable_value()));
+ } else {
+ goto handle_unusual;
+ }
+ if (input->ExpectAtEnd()) goto success;
+ break;
+ }
+
+ default: {
+ handle_unusual:
+ if (tag == 0 ||
+ ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+ ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
+ goto success;
+ }
+ DO_(::google::protobuf::internal::WireFormat::SkipField(
+ input, tag, mutable_unknown_fields()));
+ break;
+ }
+ }
+ }
+success:
+ // @@protoc_insertion_point(parse_success:bgs.protocol.v2.Attribute)
+ return true;
+failure:
+ // @@protoc_insertion_point(parse_failure:bgs.protocol.v2.Attribute)
+ return false;
+#undef DO_
+}
+
+void Attribute::SerializeWithCachedSizes(
+ ::google::protobuf::io::CodedOutputStream* output) const {
+ // @@protoc_insertion_point(serialize_start:bgs.protocol.v2.Attribute)
+ // optional string name = 1;
+ if (has_name()) {
+ ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
+ this->name().data(), this->name().length(),
+ ::google::protobuf::internal::WireFormat::SERIALIZE,
+ "name");
+ ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
+ 1, this->name(), output);
+ }
+
+ // optional .bgs.protocol.v2.Variant value = 2;
+ if (has_value()) {
+ ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
+ 2, this->value(), output);
+ }
+
+ if (!unknown_fields().empty()) {
+ ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
+ unknown_fields(), output);
+ }
+ // @@protoc_insertion_point(serialize_end:bgs.protocol.v2.Attribute)
+}
+
+::google::protobuf::uint8* Attribute::SerializeWithCachedSizesToArray(
+ ::google::protobuf::uint8* target) const {
+ // @@protoc_insertion_point(serialize_to_array_start:bgs.protocol.v2.Attribute)
+ // optional string name = 1;
+ if (has_name()) {
+ ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
+ this->name().data(), this->name().length(),
+ ::google::protobuf::internal::WireFormat::SERIALIZE,
+ "name");
+ target =
+ ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
+ 1, this->name(), target);
+ }
+
+ // optional .bgs.protocol.v2.Variant value = 2;
+ if (has_value()) {
+ target = ::google::protobuf::internal::WireFormatLite::
+ WriteMessageNoVirtualToArray(
+ 2, this->value(), target);
+ }
+
+ if (!unknown_fields().empty()) {
+ target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
+ unknown_fields(), target);
+ }
+ // @@protoc_insertion_point(serialize_to_array_end:bgs.protocol.v2.Attribute)
+ return target;
+}
+
+int Attribute::ByteSize() const {
+ int total_size = 0;
+
+ if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
+ // optional string name = 1;
+ if (has_name()) {
+ total_size += 1 +
+ ::google::protobuf::internal::WireFormatLite::StringSize(
+ this->name());
+ }
+
+ // optional .bgs.protocol.v2.Variant value = 2;
+ if (has_value()) {
+ total_size += 1 +
+ ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
+ this->value());
+ }
+
+ }
+ if (!unknown_fields().empty()) {
+ total_size +=
+ ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
+ unknown_fields());
+ }
+ GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+ _cached_size_ = total_size;
+ GOOGLE_SAFE_CONCURRENT_WRITES_END();
+ return total_size;
+}
+
+void Attribute::MergeFrom(const ::google::protobuf::Message& from) {
+ GOOGLE_CHECK_NE(&from, this);
+ const Attribute* source =
+ ::google::protobuf::internal::dynamic_cast_if_available<const Attribute*>(
+ &from);
+ if (source == NULL) {
+ ::google::protobuf::internal::ReflectionOps::Merge(from, this);
+ } else {
+ MergeFrom(*source);
+ }
+}
+
+void Attribute::MergeFrom(const Attribute& from) {
+ GOOGLE_CHECK_NE(&from, this);
+ if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
+ if (from.has_name()) {
+ set_name(from.name());
+ }
+ if (from.has_value()) {
+ mutable_value()->::bgs::protocol::v2::Variant::MergeFrom(from.value());
+ }
+ }
+ mutable_unknown_fields()->MergeFrom(from.unknown_fields());
+}
+
+void Attribute::CopyFrom(const ::google::protobuf::Message& from) {
+ if (&from == this) return;
+ Clear();
+ MergeFrom(from);
+}
+
+void Attribute::CopyFrom(const Attribute& from) {
+ if (&from == this) return;
+ Clear();
+ MergeFrom(from);
+}
+
+bool Attribute::IsInitialized() const {
+
+ return true;
+}
+
+void Attribute::Swap(Attribute* other) {
+ if (other != this) {
+ std::swap(name_, other->name_);
+ std::swap(value_, other->value_);
+ std::swap(_has_bits_[0], other->_has_bits_[0]);
+ _unknown_fields_.Swap(&other->_unknown_fields_);
+ std::swap(_cached_size_, other->_cached_size_);
+ }
+}
+
+::google::protobuf::Metadata Attribute::GetMetadata() const {
+ protobuf_AssignDescriptorsOnce();
+ ::google::protobuf::Metadata metadata;
+ metadata.descriptor = Attribute_descriptor_;
+ metadata.reflection = Attribute_reflection_;
+ return metadata;
+}
+
+
+// ===================================================================
+
+const ::google::protobuf::EnumDescriptor* AttributeFilter_Operation_descriptor() {
+ protobuf_AssignDescriptorsOnce();
+ return AttributeFilter_Operation_descriptor_;
+}
+bool AttributeFilter_Operation_IsValid(int value) {
+ switch(value) {
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ return true;
+ default:
+ return false;
+ }
+}
+
+#ifndef _MSC_VER
+const AttributeFilter_Operation AttributeFilter::MATCH_NONE;
+const AttributeFilter_Operation AttributeFilter::MATCH_ANY;
+const AttributeFilter_Operation AttributeFilter::MATCH_ALL;
+const AttributeFilter_Operation AttributeFilter::MATCH_ALL_MOST_SPECIFIC;
+const AttributeFilter_Operation AttributeFilter::Operation_MIN;
+const AttributeFilter_Operation AttributeFilter::Operation_MAX;
+const int AttributeFilter::Operation_ARRAYSIZE;
+#endif // _MSC_VER
+#ifndef _MSC_VER
+const int AttributeFilter::kOpFieldNumber;
+const int AttributeFilter::kAttributeFieldNumber;
+#endif // !_MSC_VER
+
+AttributeFilter::AttributeFilter()
+ : ::google::protobuf::Message() {
+ SharedCtor();
+ // @@protoc_insertion_point(constructor:bgs.protocol.v2.AttributeFilter)
+}
+
+void AttributeFilter::InitAsDefaultInstance() {
+}
+
+AttributeFilter::AttributeFilter(const AttributeFilter& from)
+ : ::google::protobuf::Message() {
+ SharedCtor();
+ MergeFrom(from);
+ // @@protoc_insertion_point(copy_constructor:bgs.protocol.v2.AttributeFilter)
+}
+
+void AttributeFilter::SharedCtor() {
+ _cached_size_ = 0;
+ op_ = 0;
+ ::memset(_has_bits_, 0, sizeof(_has_bits_));
+}
+
+AttributeFilter::~AttributeFilter() {
+ // @@protoc_insertion_point(destructor:bgs.protocol.v2.AttributeFilter)
+ SharedDtor();
+}
+
+void AttributeFilter::SharedDtor() {
+ if (this != default_instance_) {
+ }
+}
+
+void AttributeFilter::SetCachedSize(int size) const {
+ GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+ _cached_size_ = size;
+ GOOGLE_SAFE_CONCURRENT_WRITES_END();
+}
+const ::google::protobuf::Descriptor* AttributeFilter::descriptor() {
+ protobuf_AssignDescriptorsOnce();
+ return AttributeFilter_descriptor_;
+}
+
+const AttributeFilter& AttributeFilter::default_instance() {
+ if (default_instance_ == NULL) protobuf_AddDesc_api_2fclient_2fv2_2fattribute_5ftypes_2eproto();
+ return *default_instance_;
+}
+
+AttributeFilter* AttributeFilter::default_instance_ = NULL;
+
+AttributeFilter* AttributeFilter::New() const {
+ return new AttributeFilter;
+}
+
+void AttributeFilter::Clear() {
+ op_ = 0;
+ attribute_.Clear();
+ ::memset(_has_bits_, 0, sizeof(_has_bits_));
+ mutable_unknown_fields()->Clear();
+}
+
+bool AttributeFilter::MergePartialFromCodedStream(
+ ::google::protobuf::io::CodedInputStream* input) {
+#define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
+ ::google::protobuf::uint32 tag;
+ // @@protoc_insertion_point(parse_start:bgs.protocol.v2.AttributeFilter)
+ for (;;) {
+ ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
+ tag = p.first;
+ if (!p.second) goto handle_unusual;
+ switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
+ // optional .bgs.protocol.v2.AttributeFilter.Operation op = 1;
+ case 1: {
+ if (tag == 8) {
+ int value;
+ DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+ int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
+ input, &value)));
+ if (::bgs::protocol::v2::AttributeFilter_Operation_IsValid(value)) {
+ set_op(static_cast< ::bgs::protocol::v2::AttributeFilter_Operation >(value));
+ } else {
+ mutable_unknown_fields()->AddVarint(1, value);
+ }
+ } else {
+ goto handle_unusual;
+ }
+ if (input->ExpectTag(18)) goto parse_attribute;
+ break;
+ }
+
+ // repeated .bgs.protocol.v2.Attribute attribute = 2;
+ case 2: {
+ if (tag == 18) {
+ parse_attribute:
+ DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
+ input, add_attribute()));
+ } else {
+ goto handle_unusual;
+ }
+ if (input->ExpectTag(18)) goto parse_attribute;
+ if (input->ExpectAtEnd()) goto success;
+ break;
+ }
+
+ default: {
+ handle_unusual:
+ if (tag == 0 ||
+ ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+ ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
+ goto success;
+ }
+ DO_(::google::protobuf::internal::WireFormat::SkipField(
+ input, tag, mutable_unknown_fields()));
+ break;
+ }
+ }
+ }
+success:
+ // @@protoc_insertion_point(parse_success:bgs.protocol.v2.AttributeFilter)
+ return true;
+failure:
+ // @@protoc_insertion_point(parse_failure:bgs.protocol.v2.AttributeFilter)
+ return false;
+#undef DO_
+}
+
+void AttributeFilter::SerializeWithCachedSizes(
+ ::google::protobuf::io::CodedOutputStream* output) const {
+ // @@protoc_insertion_point(serialize_start:bgs.protocol.v2.AttributeFilter)
+ // optional .bgs.protocol.v2.AttributeFilter.Operation op = 1;
+ if (has_op()) {
+ ::google::protobuf::internal::WireFormatLite::WriteEnum(
+ 1, this->op(), output);
+ }
+
+ // repeated .bgs.protocol.v2.Attribute attribute = 2;
+ for (int i = 0; i < this->attribute_size(); i++) {
+ ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
+ 2, this->attribute(i), output);
+ }
+
+ if (!unknown_fields().empty()) {
+ ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
+ unknown_fields(), output);
+ }
+ // @@protoc_insertion_point(serialize_end:bgs.protocol.v2.AttributeFilter)
+}
+
+::google::protobuf::uint8* AttributeFilter::SerializeWithCachedSizesToArray(
+ ::google::protobuf::uint8* target) const {
+ // @@protoc_insertion_point(serialize_to_array_start:bgs.protocol.v2.AttributeFilter)
+ // optional .bgs.protocol.v2.AttributeFilter.Operation op = 1;
+ if (has_op()) {
+ target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
+ 1, this->op(), target);
+ }
+
+ // repeated .bgs.protocol.v2.Attribute attribute = 2;
+ for (int i = 0; i < this->attribute_size(); i++) {
+ target = ::google::protobuf::internal::WireFormatLite::
+ WriteMessageNoVirtualToArray(
+ 2, this->attribute(i), target);
+ }
+
+ if (!unknown_fields().empty()) {
+ target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
+ unknown_fields(), target);
+ }
+ // @@protoc_insertion_point(serialize_to_array_end:bgs.protocol.v2.AttributeFilter)
+ return target;
+}
+
+int AttributeFilter::ByteSize() const {
+ int total_size = 0;
+
+ if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
+ // optional .bgs.protocol.v2.AttributeFilter.Operation op = 1;
+ if (has_op()) {
+ total_size += 1 +
+ ::google::protobuf::internal::WireFormatLite::EnumSize(this->op());
+ }
+
+ }
+ // repeated .bgs.protocol.v2.Attribute attribute = 2;
+ total_size += 1 * this->attribute_size();
+ for (int i = 0; i < this->attribute_size(); i++) {
+ total_size +=
+ ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
+ this->attribute(i));
+ }
+
+ if (!unknown_fields().empty()) {
+ total_size +=
+ ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
+ unknown_fields());
+ }
+ GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+ _cached_size_ = total_size;
+ GOOGLE_SAFE_CONCURRENT_WRITES_END();
+ return total_size;
+}
+
+void AttributeFilter::MergeFrom(const ::google::protobuf::Message& from) {
+ GOOGLE_CHECK_NE(&from, this);
+ const AttributeFilter* source =
+ ::google::protobuf::internal::dynamic_cast_if_available<const AttributeFilter*>(
+ &from);
+ if (source == NULL) {
+ ::google::protobuf::internal::ReflectionOps::Merge(from, this);
+ } else {
+ MergeFrom(*source);
+ }
+}
+
+void AttributeFilter::MergeFrom(const AttributeFilter& from) {
+ GOOGLE_CHECK_NE(&from, this);
+ attribute_.MergeFrom(from.attribute_);
+ if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
+ if (from.has_op()) {
+ set_op(from.op());
+ }
+ }
+ mutable_unknown_fields()->MergeFrom(from.unknown_fields());
+}
+
+void AttributeFilter::CopyFrom(const ::google::protobuf::Message& from) {
+ if (&from == this) return;
+ Clear();
+ MergeFrom(from);
+}
+
+void AttributeFilter::CopyFrom(const AttributeFilter& from) {
+ if (&from == this) return;
+ Clear();
+ MergeFrom(from);
+}
+
+bool AttributeFilter::IsInitialized() const {
+
+ return true;
+}
+
+void AttributeFilter::Swap(AttributeFilter* other) {
+ if (other != this) {
+ std::swap(op_, other->op_);
+ attribute_.Swap(&other->attribute_);
+ std::swap(_has_bits_[0], other->_has_bits_[0]);
+ _unknown_fields_.Swap(&other->_unknown_fields_);
+ std::swap(_cached_size_, other->_cached_size_);
+ }
+}
+
+::google::protobuf::Metadata AttributeFilter::GetMetadata() const {
+ protobuf_AssignDescriptorsOnce();
+ ::google::protobuf::Metadata metadata;
+ metadata.descriptor = AttributeFilter_descriptor_;
+ metadata.reflection = AttributeFilter_reflection_;
+ return metadata;
+}
+
+
+// @@protoc_insertion_point(namespace_scope)
+
+} // namespace v2
+} // namespace protocol
+} // namespace bgs
+
+// @@protoc_insertion_point(global_scope)
diff --git a/src/server/proto/Client/api/client/v2/attribute_types.pb.h b/src/server/proto/Client/api/client/v2/attribute_types.pb.h
new file mode 100644
index 00000000000..76c85d631a0
--- /dev/null
+++ b/src/server/proto/Client/api/client/v2/attribute_types.pb.h
@@ -0,0 +1,901 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: api/client/v2/attribute_types.proto
+
+#ifndef PROTOBUF_api_2fclient_2fv2_2fattribute_5ftypes_2eproto__INCLUDED
+#define PROTOBUF_api_2fclient_2fv2_2fattribute_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/generated_enum_reflection.h>
+#include <google/protobuf/unknown_field_set.h>
+#include "Define.h" // for TC_PROTO_API
+// @@protoc_insertion_point(includes)
+
+namespace bgs {
+namespace protocol {
+namespace v2 {
+
+// Internal implementation detail -- do not call these.
+void TC_PROTO_API protobuf_AddDesc_api_2fclient_2fv2_2fattribute_5ftypes_2eproto();
+void protobuf_AssignDesc_api_2fclient_2fv2_2fattribute_5ftypes_2eproto();
+void protobuf_ShutdownFile_api_2fclient_2fv2_2fattribute_5ftypes_2eproto();
+
+class Variant;
+class Attribute;
+class AttributeFilter;
+
+enum AttributeFilter_Operation {
+ AttributeFilter_Operation_MATCH_NONE = 0,
+ AttributeFilter_Operation_MATCH_ANY = 1,
+ AttributeFilter_Operation_MATCH_ALL = 2,
+ AttributeFilter_Operation_MATCH_ALL_MOST_SPECIFIC = 3
+};
+TC_PROTO_API bool AttributeFilter_Operation_IsValid(int value);
+const AttributeFilter_Operation AttributeFilter_Operation_Operation_MIN = AttributeFilter_Operation_MATCH_NONE;
+const AttributeFilter_Operation AttributeFilter_Operation_Operation_MAX = AttributeFilter_Operation_MATCH_ALL_MOST_SPECIFIC;
+const int AttributeFilter_Operation_Operation_ARRAYSIZE = AttributeFilter_Operation_Operation_MAX + 1;
+
+TC_PROTO_API const ::google::protobuf::EnumDescriptor* AttributeFilter_Operation_descriptor();
+inline const ::std::string& AttributeFilter_Operation_Name(AttributeFilter_Operation value) {
+ return ::google::protobuf::internal::NameOfEnum(
+ AttributeFilter_Operation_descriptor(), value);
+}
+inline bool AttributeFilter_Operation_Parse(
+ const ::std::string& name, AttributeFilter_Operation* value) {
+ return ::google::protobuf::internal::ParseNamedEnum<AttributeFilter_Operation>(
+ AttributeFilter_Operation_descriptor(), name, value);
+}
+// ===================================================================
+
+class TC_PROTO_API Variant : public ::google::protobuf::Message {
+ public:
+ Variant();
+ virtual ~Variant();
+
+ Variant(const Variant& from);
+
+ inline Variant& operator=(const Variant& 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 Variant& default_instance();
+
+ enum TypeCase {
+ kBoolValue = 1,
+ kIntValue = 2,
+ kFloatValue = 3,
+ kStringValue = 4,
+ kBlobValue = 5,
+ kUintValue = 6,
+ TYPE_NOT_SET = 0,
+ };
+
+ void Swap(Variant* other);
+
+ // implements Message ----------------------------------------------
+
+ Variant* New() const;
+ void CopyFrom(const ::google::protobuf::Message& from);
+ void MergeFrom(const ::google::protobuf::Message& from);
+ void CopyFrom(const Variant& from);
+ void MergeFrom(const Variant& 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 bool bool_value = 1;
+ inline bool has_bool_value() const;
+ inline void clear_bool_value();
+ static const int kBoolValueFieldNumber = 1;
+ inline bool bool_value() const;
+ inline void set_bool_value(bool value);
+
+ // optional int64 int_value = 2;
+ inline bool has_int_value() const;
+ inline void clear_int_value();
+ static const int kIntValueFieldNumber = 2;
+ inline ::google::protobuf::int64 int_value() const;
+ inline void set_int_value(::google::protobuf::int64 value);
+
+ // optional double float_value = 3;
+ inline bool has_float_value() const;
+ inline void clear_float_value();
+ static const int kFloatValueFieldNumber = 3;
+ inline double float_value() const;
+ inline void set_float_value(double value);
+
+ // optional string string_value = 4;
+ inline bool has_string_value() const;
+ inline void clear_string_value();
+ static const int kStringValueFieldNumber = 4;
+ inline const ::std::string& string_value() const;
+ inline void set_string_value(const ::std::string& value);
+ inline void set_string_value(const char* value);
+ inline void set_string_value(const char* value, size_t size);
+ inline ::std::string* mutable_string_value();
+ inline ::std::string* release_string_value();
+ inline void set_allocated_string_value(::std::string* string_value);
+
+ // optional bytes blob_value = 5;
+ inline bool has_blob_value() const;
+ inline void clear_blob_value();
+ static const int kBlobValueFieldNumber = 5;
+ inline const ::std::string& blob_value() const;
+ inline void set_blob_value(const ::std::string& value);
+ inline void set_blob_value(const char* value);
+ inline void set_blob_value(const void* value, size_t size);
+ inline ::std::string* mutable_blob_value();
+ inline ::std::string* release_blob_value();
+ inline void set_allocated_blob_value(::std::string* blob_value);
+
+ // optional uint64 uint_value = 6;
+ inline bool has_uint_value() const;
+ inline void clear_uint_value();
+ static const int kUintValueFieldNumber = 6;
+ inline ::google::protobuf::uint64 uint_value() const;
+ inline void set_uint_value(::google::protobuf::uint64 value);
+
+ inline TypeCase type_case() const;
+ // @@protoc_insertion_point(class_scope:bgs.protocol.v2.Variant)
+ private:
+ inline void set_has_bool_value();
+ inline void set_has_int_value();
+ inline void set_has_float_value();
+ inline void set_has_string_value();
+ inline void set_has_blob_value();
+ inline void set_has_uint_value();
+
+ inline bool has_type();
+ void clear_type();
+ inline void clear_has_type();
+
+ ::google::protobuf::UnknownFieldSet _unknown_fields_;
+
+ ::google::protobuf::uint32 _has_bits_[1];
+ mutable int _cached_size_;
+ union TypeUnion {
+ bool bool_value_;
+ ::google::protobuf::int64 int_value_;
+ double float_value_;
+ ::std::string* string_value_;
+ ::std::string* blob_value_;
+ ::google::protobuf::uint64 uint_value_;
+ } type_;
+ ::google::protobuf::uint32 _oneof_case_[1];
+
+ friend void TC_PROTO_API protobuf_AddDesc_api_2fclient_2fv2_2fattribute_5ftypes_2eproto();
+ friend void protobuf_AssignDesc_api_2fclient_2fv2_2fattribute_5ftypes_2eproto();
+ friend void protobuf_ShutdownFile_api_2fclient_2fv2_2fattribute_5ftypes_2eproto();
+
+ void InitAsDefaultInstance();
+ static Variant* default_instance_;
+};
+// -------------------------------------------------------------------
+
+class TC_PROTO_API Attribute : public ::google::protobuf::Message {
+ public:
+ Attribute();
+ virtual ~Attribute();
+
+ Attribute(const Attribute& from);
+
+ inline Attribute& operator=(const Attribute& 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 Attribute& default_instance();
+
+ void Swap(Attribute* other);
+
+ // implements Message ----------------------------------------------
+
+ Attribute* New() const;
+ void CopyFrom(const ::google::protobuf::Message& from);
+ void MergeFrom(const ::google::protobuf::Message& from);
+ void CopyFrom(const Attribute& from);
+ void MergeFrom(const Attribute& 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 name = 1;
+ inline bool has_name() const;
+ inline void clear_name();
+ static const int kNameFieldNumber = 1;
+ inline const ::std::string& name() const;
+ inline void set_name(const ::std::string& value);
+ inline void set_name(const char* value);
+ inline void set_name(const char* value, size_t size);
+ inline ::std::string* mutable_name();
+ inline ::std::string* release_name();
+ inline void set_allocated_name(::std::string* name);
+
+ // optional .bgs.protocol.v2.Variant value = 2;
+ inline bool has_value() const;
+ inline void clear_value();
+ static const int kValueFieldNumber = 2;
+ inline const ::bgs::protocol::v2::Variant& value() const;
+ inline ::bgs::protocol::v2::Variant* mutable_value();
+ inline ::bgs::protocol::v2::Variant* release_value();
+ inline void set_allocated_value(::bgs::protocol::v2::Variant* value);
+
+ // @@protoc_insertion_point(class_scope:bgs.protocol.v2.Attribute)
+ private:
+ inline void set_has_name();
+ inline void clear_has_name();
+ inline void set_has_value();
+ inline void clear_has_value();
+
+ ::google::protobuf::UnknownFieldSet _unknown_fields_;
+
+ ::google::protobuf::uint32 _has_bits_[1];
+ mutable int _cached_size_;
+ ::std::string* name_;
+ ::bgs::protocol::v2::Variant* value_;
+ friend void TC_PROTO_API protobuf_AddDesc_api_2fclient_2fv2_2fattribute_5ftypes_2eproto();
+ friend void protobuf_AssignDesc_api_2fclient_2fv2_2fattribute_5ftypes_2eproto();
+ friend void protobuf_ShutdownFile_api_2fclient_2fv2_2fattribute_5ftypes_2eproto();
+
+ void InitAsDefaultInstance();
+ static Attribute* default_instance_;
+};
+// -------------------------------------------------------------------
+
+class TC_PROTO_API AttributeFilter : public ::google::protobuf::Message {
+ public:
+ AttributeFilter();
+ virtual ~AttributeFilter();
+
+ AttributeFilter(const AttributeFilter& from);
+
+ inline AttributeFilter& operator=(const AttributeFilter& 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 AttributeFilter& default_instance();
+
+ void Swap(AttributeFilter* other);
+
+ // implements Message ----------------------------------------------
+
+ AttributeFilter* New() const;
+ void CopyFrom(const ::google::protobuf::Message& from);
+ void MergeFrom(const ::google::protobuf::Message& from);
+ void CopyFrom(const AttributeFilter& from);
+ void MergeFrom(const AttributeFilter& 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 ----------------------------------------------------
+
+ typedef AttributeFilter_Operation Operation;
+ static const Operation MATCH_NONE = AttributeFilter_Operation_MATCH_NONE;
+ static const Operation MATCH_ANY = AttributeFilter_Operation_MATCH_ANY;
+ static const Operation MATCH_ALL = AttributeFilter_Operation_MATCH_ALL;
+ static const Operation MATCH_ALL_MOST_SPECIFIC = AttributeFilter_Operation_MATCH_ALL_MOST_SPECIFIC;
+ static inline bool Operation_IsValid(int value) {
+ return AttributeFilter_Operation_IsValid(value);
+ }
+ static const Operation Operation_MIN =
+ AttributeFilter_Operation_Operation_MIN;
+ static const Operation Operation_MAX =
+ AttributeFilter_Operation_Operation_MAX;
+ static const int Operation_ARRAYSIZE =
+ AttributeFilter_Operation_Operation_ARRAYSIZE;
+ static inline const ::google::protobuf::EnumDescriptor*
+ Operation_descriptor() {
+ return AttributeFilter_Operation_descriptor();
+ }
+ static inline const ::std::string& Operation_Name(Operation value) {
+ return AttributeFilter_Operation_Name(value);
+ }
+ static inline bool Operation_Parse(const ::std::string& name,
+ Operation* value) {
+ return AttributeFilter_Operation_Parse(name, value);
+ }
+
+ // accessors -------------------------------------------------------
+
+ // optional .bgs.protocol.v2.AttributeFilter.Operation op = 1;
+ inline bool has_op() const;
+ inline void clear_op();
+ static const int kOpFieldNumber = 1;
+ inline ::bgs::protocol::v2::AttributeFilter_Operation op() const;
+ inline void set_op(::bgs::protocol::v2::AttributeFilter_Operation value);
+
+ // repeated .bgs.protocol.v2.Attribute attribute = 2;
+ inline int attribute_size() const;
+ inline void clear_attribute();
+ static const int kAttributeFieldNumber = 2;
+ inline const ::bgs::protocol::v2::Attribute& attribute(int index) const;
+ inline ::bgs::protocol::v2::Attribute* mutable_attribute(int index);
+ inline ::bgs::protocol::v2::Attribute* add_attribute();
+ inline const ::google::protobuf::RepeatedPtrField< ::bgs::protocol::v2::Attribute >&
+ attribute() const;
+ inline ::google::protobuf::RepeatedPtrField< ::bgs::protocol::v2::Attribute >*
+ mutable_attribute();
+
+ // @@protoc_insertion_point(class_scope:bgs.protocol.v2.AttributeFilter)
+ private:
+ inline void set_has_op();
+ inline void clear_has_op();
+
+ ::google::protobuf::UnknownFieldSet _unknown_fields_;
+
+ ::google::protobuf::uint32 _has_bits_[1];
+ mutable int _cached_size_;
+ ::google::protobuf::RepeatedPtrField< ::bgs::protocol::v2::Attribute > attribute_;
+ int op_;
+ friend void TC_PROTO_API protobuf_AddDesc_api_2fclient_2fv2_2fattribute_5ftypes_2eproto();
+ friend void protobuf_AssignDesc_api_2fclient_2fv2_2fattribute_5ftypes_2eproto();
+ friend void protobuf_ShutdownFile_api_2fclient_2fv2_2fattribute_5ftypes_2eproto();
+
+ void InitAsDefaultInstance();
+ static AttributeFilter* default_instance_;
+};
+// ===================================================================
+
+
+// ===================================================================
+
+
+// ===================================================================
+
+// Variant
+
+// optional bool bool_value = 1;
+inline bool Variant::has_bool_value() const {
+ return type_case() == kBoolValue;
+}
+inline void Variant::set_has_bool_value() {
+ _oneof_case_[0] = kBoolValue;
+}
+inline void Variant::clear_bool_value() {
+ if (has_bool_value()) {
+ type_.bool_value_ = false;
+ clear_has_type();
+ }
+}
+inline bool Variant::bool_value() const {
+ if (has_bool_value()) {
+ return type_.bool_value_;
+ }
+ return false;
+}
+inline void Variant::set_bool_value(bool value) {
+ if (!has_bool_value()) {
+ clear_type();
+ set_has_bool_value();
+ }
+ type_.bool_value_ = value;
+}
+
+// optional int64 int_value = 2;
+inline bool Variant::has_int_value() const {
+ return type_case() == kIntValue;
+}
+inline void Variant::set_has_int_value() {
+ _oneof_case_[0] = kIntValue;
+}
+inline void Variant::clear_int_value() {
+ if (has_int_value()) {
+ type_.int_value_ = GOOGLE_LONGLONG(0);
+ clear_has_type();
+ }
+}
+inline ::google::protobuf::int64 Variant::int_value() const {
+ if (has_int_value()) {
+ return type_.int_value_;
+ }
+ return GOOGLE_LONGLONG(0);
+}
+inline void Variant::set_int_value(::google::protobuf::int64 value) {
+ if (!has_int_value()) {
+ clear_type();
+ set_has_int_value();
+ }
+ type_.int_value_ = value;
+}
+
+// optional double float_value = 3;
+inline bool Variant::has_float_value() const {
+ return type_case() == kFloatValue;
+}
+inline void Variant::set_has_float_value() {
+ _oneof_case_[0] = kFloatValue;
+}
+inline void Variant::clear_float_value() {
+ if (has_float_value()) {
+ type_.float_value_ = 0;
+ clear_has_type();
+ }
+}
+inline double Variant::float_value() const {
+ if (has_float_value()) {
+ return type_.float_value_;
+ }
+ return 0;
+}
+inline void Variant::set_float_value(double value) {
+ if (!has_float_value()) {
+ clear_type();
+ set_has_float_value();
+ }
+ type_.float_value_ = value;
+}
+
+// optional string string_value = 4;
+inline bool Variant::has_string_value() const {
+ return type_case() == kStringValue;
+}
+inline void Variant::set_has_string_value() {
+ _oneof_case_[0] = kStringValue;
+}
+inline void Variant::clear_string_value() {
+ if (has_string_value()) {
+ delete type_.string_value_;
+ clear_has_type();
+ }
+}
+inline const ::std::string& Variant::string_value() const {
+ if (has_string_value()) {
+ return *type_.string_value_;
+ }
+ return ::google::protobuf::internal::GetEmptyStringAlreadyInited();
+}
+inline void Variant::set_string_value(const ::std::string& value) {
+ if (!has_string_value()) {
+ clear_type();
+ set_has_string_value();
+ type_.string_value_ = new ::std::string;
+ }
+ type_.string_value_->assign(value);
+}
+inline void Variant::set_string_value(const char* value) {
+ if (!has_string_value()) {
+ clear_type();
+ set_has_string_value();
+ type_.string_value_ = new ::std::string;
+ }
+ type_.string_value_->assign(value);
+}
+inline void Variant::set_string_value(const char* value, size_t size) {
+ if (!has_string_value()) {
+ clear_type();
+ set_has_string_value();
+ type_.string_value_ = new ::std::string;
+ }
+ type_.string_value_->assign(
+ reinterpret_cast<const char*>(value), size);
+}
+inline ::std::string* Variant::mutable_string_value() {
+ if (!has_string_value()) {
+ clear_type();
+ set_has_string_value();
+ type_.string_value_ = new ::std::string;
+ }
+ return type_.string_value_;
+}
+inline ::std::string* Variant::release_string_value() {
+ if (has_string_value()) {
+ clear_has_type();
+ ::std::string* temp = type_.string_value_;
+ type_.string_value_ = NULL;
+ return temp;
+ } else {
+ return NULL;
+ }
+}
+inline void Variant::set_allocated_string_value(::std::string* string_value) {
+ clear_type();
+ if (string_value) {
+ set_has_string_value();
+ type_.string_value_ = string_value;
+ }
+}
+
+// optional bytes blob_value = 5;
+inline bool Variant::has_blob_value() const {
+ return type_case() == kBlobValue;
+}
+inline void Variant::set_has_blob_value() {
+ _oneof_case_[0] = kBlobValue;
+}
+inline void Variant::clear_blob_value() {
+ if (has_blob_value()) {
+ delete type_.blob_value_;
+ clear_has_type();
+ }
+}
+inline const ::std::string& Variant::blob_value() const {
+ if (has_blob_value()) {
+ return *type_.blob_value_;
+ }
+ return ::google::protobuf::internal::GetEmptyStringAlreadyInited();
+}
+inline void Variant::set_blob_value(const ::std::string& value) {
+ if (!has_blob_value()) {
+ clear_type();
+ set_has_blob_value();
+ type_.blob_value_ = new ::std::string;
+ }
+ type_.blob_value_->assign(value);
+}
+inline void Variant::set_blob_value(const char* value) {
+ if (!has_blob_value()) {
+ clear_type();
+ set_has_blob_value();
+ type_.blob_value_ = new ::std::string;
+ }
+ type_.blob_value_->assign(value);
+}
+inline void Variant::set_blob_value(const void* value, size_t size) {
+ if (!has_blob_value()) {
+ clear_type();
+ set_has_blob_value();
+ type_.blob_value_ = new ::std::string;
+ }
+ type_.blob_value_->assign(
+ reinterpret_cast<const char*>(value), size);
+}
+inline ::std::string* Variant::mutable_blob_value() {
+ if (!has_blob_value()) {
+ clear_type();
+ set_has_blob_value();
+ type_.blob_value_ = new ::std::string;
+ }
+ return type_.blob_value_;
+}
+inline ::std::string* Variant::release_blob_value() {
+ if (has_blob_value()) {
+ clear_has_type();
+ ::std::string* temp = type_.blob_value_;
+ type_.blob_value_ = NULL;
+ return temp;
+ } else {
+ return NULL;
+ }
+}
+inline void Variant::set_allocated_blob_value(::std::string* blob_value) {
+ clear_type();
+ if (blob_value) {
+ set_has_blob_value();
+ type_.blob_value_ = blob_value;
+ }
+}
+
+// optional uint64 uint_value = 6;
+inline bool Variant::has_uint_value() const {
+ return type_case() == kUintValue;
+}
+inline void Variant::set_has_uint_value() {
+ _oneof_case_[0] = kUintValue;
+}
+inline void Variant::clear_uint_value() {
+ if (has_uint_value()) {
+ type_.uint_value_ = GOOGLE_ULONGLONG(0);
+ clear_has_type();
+ }
+}
+inline ::google::protobuf::uint64 Variant::uint_value() const {
+ if (has_uint_value()) {
+ return type_.uint_value_;
+ }
+ return GOOGLE_ULONGLONG(0);
+}
+inline void Variant::set_uint_value(::google::protobuf::uint64 value) {
+ if (!has_uint_value()) {
+ clear_type();
+ set_has_uint_value();
+ }
+ type_.uint_value_ = value;
+}
+
+inline bool Variant::has_type() {
+ return type_case() != TYPE_NOT_SET;
+}
+inline void Variant::clear_has_type() {
+ _oneof_case_[0] = TYPE_NOT_SET;
+}
+inline Variant::TypeCase Variant::type_case() const {
+ return Variant::TypeCase(_oneof_case_[0]);
+}
+// -------------------------------------------------------------------
+
+// Attribute
+
+// optional string name = 1;
+inline bool Attribute::has_name() const {
+ return (_has_bits_[0] & 0x00000001u) != 0;
+}
+inline void Attribute::set_has_name() {
+ _has_bits_[0] |= 0x00000001u;
+}
+inline void Attribute::clear_has_name() {
+ _has_bits_[0] &= ~0x00000001u;
+}
+inline void Attribute::clear_name() {
+ if (name_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
+ name_->clear();
+ }
+ clear_has_name();
+}
+inline const ::std::string& Attribute::name() const {
+ // @@protoc_insertion_point(field_get:bgs.protocol.v2.Attribute.name)
+ return *name_;
+}
+inline void Attribute::set_name(const ::std::string& value) {
+ set_has_name();
+ if (name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
+ name_ = new ::std::string;
+ }
+ name_->assign(value);
+ // @@protoc_insertion_point(field_set:bgs.protocol.v2.Attribute.name)
+}
+inline void Attribute::set_name(const char* value) {
+ set_has_name();
+ if (name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
+ name_ = new ::std::string;
+ }
+ name_->assign(value);
+ // @@protoc_insertion_point(field_set_char:bgs.protocol.v2.Attribute.name)
+}
+inline void Attribute::set_name(const char* value, size_t size) {
+ set_has_name();
+ if (name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
+ name_ = new ::std::string;
+ }
+ name_->assign(reinterpret_cast<const char*>(value), size);
+ // @@protoc_insertion_point(field_set_pointer:bgs.protocol.v2.Attribute.name)
+}
+inline ::std::string* Attribute::mutable_name() {
+ set_has_name();
+ if (name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
+ name_ = new ::std::string;
+ }
+ // @@protoc_insertion_point(field_mutable:bgs.protocol.v2.Attribute.name)
+ return name_;
+}
+inline ::std::string* Attribute::release_name() {
+ clear_has_name();
+ if (name_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
+ return NULL;
+ } else {
+ ::std::string* temp = name_;
+ name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+ return temp;
+ }
+}
+inline void Attribute::set_allocated_name(::std::string* name) {
+ if (name_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
+ delete name_;
+ }
+ if (name) {
+ set_has_name();
+ name_ = name;
+ } else {
+ clear_has_name();
+ name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+ }
+ // @@protoc_insertion_point(field_set_allocated:bgs.protocol.v2.Attribute.name)
+}
+
+// optional .bgs.protocol.v2.Variant value = 2;
+inline bool Attribute::has_value() const {
+ return (_has_bits_[0] & 0x00000002u) != 0;
+}
+inline void Attribute::set_has_value() {
+ _has_bits_[0] |= 0x00000002u;
+}
+inline void Attribute::clear_has_value() {
+ _has_bits_[0] &= ~0x00000002u;
+}
+inline void Attribute::clear_value() {
+ if (value_ != NULL) value_->::bgs::protocol::v2::Variant::Clear();
+ clear_has_value();
+}
+inline const ::bgs::protocol::v2::Variant& Attribute::value() const {
+ // @@protoc_insertion_point(field_get:bgs.protocol.v2.Attribute.value)
+ return value_ != NULL ? *value_ : *default_instance_->value_;
+}
+inline ::bgs::protocol::v2::Variant* Attribute::mutable_value() {
+ set_has_value();
+ if (value_ == NULL) value_ = new ::bgs::protocol::v2::Variant;
+ // @@protoc_insertion_point(field_mutable:bgs.protocol.v2.Attribute.value)
+ return value_;
+}
+inline ::bgs::protocol::v2::Variant* Attribute::release_value() {
+ clear_has_value();
+ ::bgs::protocol::v2::Variant* temp = value_;
+ value_ = NULL;
+ return temp;
+}
+inline void Attribute::set_allocated_value(::bgs::protocol::v2::Variant* value) {
+ delete value_;
+ value_ = value;
+ if (value) {
+ set_has_value();
+ } else {
+ clear_has_value();
+ }
+ // @@protoc_insertion_point(field_set_allocated:bgs.protocol.v2.Attribute.value)
+}
+
+// -------------------------------------------------------------------
+
+// AttributeFilter
+
+// optional .bgs.protocol.v2.AttributeFilter.Operation op = 1;
+inline bool AttributeFilter::has_op() const {
+ return (_has_bits_[0] & 0x00000001u) != 0;
+}
+inline void AttributeFilter::set_has_op() {
+ _has_bits_[0] |= 0x00000001u;
+}
+inline void AttributeFilter::clear_has_op() {
+ _has_bits_[0] &= ~0x00000001u;
+}
+inline void AttributeFilter::clear_op() {
+ op_ = 0;
+ clear_has_op();
+}
+inline ::bgs::protocol::v2::AttributeFilter_Operation AttributeFilter::op() const {
+ // @@protoc_insertion_point(field_get:bgs.protocol.v2.AttributeFilter.op)
+ return static_cast< ::bgs::protocol::v2::AttributeFilter_Operation >(op_);
+}
+inline void AttributeFilter::set_op(::bgs::protocol::v2::AttributeFilter_Operation value) {
+ assert(::bgs::protocol::v2::AttributeFilter_Operation_IsValid(value));
+ set_has_op();
+ op_ = value;
+ // @@protoc_insertion_point(field_set:bgs.protocol.v2.AttributeFilter.op)
+}
+
+// repeated .bgs.protocol.v2.Attribute attribute = 2;
+inline int AttributeFilter::attribute_size() const {
+ return attribute_.size();
+}
+inline void AttributeFilter::clear_attribute() {
+ attribute_.Clear();
+}
+inline const ::bgs::protocol::v2::Attribute& AttributeFilter::attribute(int index) const {
+ // @@protoc_insertion_point(field_get:bgs.protocol.v2.AttributeFilter.attribute)
+ return attribute_.Get(index);
+}
+inline ::bgs::protocol::v2::Attribute* AttributeFilter::mutable_attribute(int index) {
+ // @@protoc_insertion_point(field_mutable:bgs.protocol.v2.AttributeFilter.attribute)
+ return attribute_.Mutable(index);
+}
+inline ::bgs::protocol::v2::Attribute* AttributeFilter::add_attribute() {
+ // @@protoc_insertion_point(field_add:bgs.protocol.v2.AttributeFilter.attribute)
+ return attribute_.Add();
+}
+inline const ::google::protobuf::RepeatedPtrField< ::bgs::protocol::v2::Attribute >&
+AttributeFilter::attribute() const {
+ // @@protoc_insertion_point(field_list:bgs.protocol.v2.AttributeFilter.attribute)
+ return attribute_;
+}
+inline ::google::protobuf::RepeatedPtrField< ::bgs::protocol::v2::Attribute >*
+AttributeFilter::mutable_attribute() {
+ // @@protoc_insertion_point(field_mutable_list:bgs.protocol.v2.AttributeFilter.attribute)
+ return &attribute_;
+}
+
+
+// @@protoc_insertion_point(namespace_scope)
+
+} // namespace v2
+} // namespace protocol
+} // namespace bgs
+
+#ifndef SWIG
+namespace google {
+namespace protobuf {
+
+template <> struct is_proto_enum< ::bgs::protocol::v2::AttributeFilter_Operation> : ::google::protobuf::internal::true_type {};
+template <>
+inline const EnumDescriptor* GetEnumDescriptor< ::bgs::protocol::v2::AttributeFilter_Operation>() {
+ return ::bgs::protocol::v2::AttributeFilter_Operation_descriptor();
+}
+
+} // namespace google
+} // namespace protobuf
+#endif // SWIG
+
+// @@protoc_insertion_point(global_scope)
+
+#endif // PROTOBUF_api_2fclient_2fv2_2fattribute_5ftypes_2eproto__INCLUDED
diff --git a/src/server/proto/Client/api/client/v2/report_service.pb.cc b/src/server/proto/Client/api/client/v2/report_service.pb.cc
new file mode 100644
index 00000000000..6b4341f2c92
--- /dev/null
+++ b/src/server/proto/Client/api/client/v2/report_service.pb.cc
@@ -0,0 +1,654 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: api/client/v2/report_service.proto
+
+#define INTERNAL_SUPPRESS_PROTOBUF_FIELD_DEPRECATION
+#include "api/client/v2/report_service.pb.h"
+
+#include <algorithm>
+#include <utility>
+
+#include <google/protobuf/stubs/common.h>
+#include <google/protobuf/stubs/once.h>
+#include <google/protobuf/io/coded_stream.h>
+#include <google/protobuf/wire_format_lite_inl.h>
+#include <google/protobuf/descriptor.h>
+#include <google/protobuf/generated_message_reflection.h>
+#include <google/protobuf/reflection_ops.h>
+#include <google/protobuf/wire_format.h>
+#include "Log.h"
+#include "Errors.h"
+#include "BattlenetRpcErrorCodes.h"
+// @@protoc_insertion_point(includes)
+
+namespace bgs {
+namespace protocol {
+namespace report {
+namespace v2 {
+
+namespace {
+
+const ::google::protobuf::Descriptor* SubmitReportRequest_descriptor_ = NULL;
+const ::google::protobuf::internal::GeneratedMessageReflection*
+ SubmitReportRequest_reflection_ = NULL;
+struct SubmitReportRequestOneofInstance {
+ const ::bgs::protocol::report::v2::UserOptions* user_options_;
+ const ::bgs::protocol::report::v2::ClubOptions* club_options_;
+}* SubmitReportRequest_default_oneof_instance_ = NULL;
+const ::google::protobuf::ServiceDescriptor* ReportService_descriptor_ = NULL;
+
+} // namespace
+
+
+void protobuf_AssignDesc_api_2fclient_2fv2_2freport_5fservice_2eproto() {
+ protobuf_AddDesc_api_2fclient_2fv2_2freport_5fservice_2eproto();
+ const ::google::protobuf::FileDescriptor* file =
+ ::google::protobuf::DescriptorPool::generated_pool()->FindFileByName(
+ "api/client/v2/report_service.proto");
+ GOOGLE_CHECK(file != NULL);
+ SubmitReportRequest_descriptor_ = file->message_type(0);
+ static const int SubmitReportRequest_offsets_[6] = {
+ GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SubmitReportRequest, agent_id_),
+ GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SubmitReportRequest, user_description_),
+ GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SubmitReportRequest, program_),
+ PROTO2_GENERATED_DEFAULT_ONEOF_FIELD_OFFSET(SubmitReportRequest_default_oneof_instance_, user_options_),
+ PROTO2_GENERATED_DEFAULT_ONEOF_FIELD_OFFSET(SubmitReportRequest_default_oneof_instance_, club_options_),
+ GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SubmitReportRequest, type_),
+ };
+ SubmitReportRequest_reflection_ =
+ new ::google::protobuf::internal::GeneratedMessageReflection(
+ SubmitReportRequest_descriptor_,
+ SubmitReportRequest::default_instance_,
+ SubmitReportRequest_offsets_,
+ GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SubmitReportRequest, _has_bits_[0]),
+ GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SubmitReportRequest, _unknown_fields_),
+ -1,
+ SubmitReportRequest_default_oneof_instance_,
+ GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SubmitReportRequest, _oneof_case_[0]),
+ ::google::protobuf::DescriptorPool::generated_pool(),
+ ::google::protobuf::MessageFactory::generated_factory(),
+ sizeof(SubmitReportRequest));
+ ReportService_descriptor_ = file->service(0);
+}
+
+namespace {
+
+GOOGLE_PROTOBUF_DECLARE_ONCE(protobuf_AssignDescriptors_once_);
+inline void protobuf_AssignDescriptorsOnce() {
+ ::google::protobuf::GoogleOnceInit(&protobuf_AssignDescriptors_once_,
+ &protobuf_AssignDesc_api_2fclient_2fv2_2freport_5fservice_2eproto);
+}
+
+void protobuf_RegisterTypes(const ::std::string&) {
+ protobuf_AssignDescriptorsOnce();
+ ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
+ SubmitReportRequest_descriptor_, &SubmitReportRequest::default_instance());
+}
+
+} // namespace
+
+void protobuf_ShutdownFile_api_2fclient_2fv2_2freport_5fservice_2eproto() {
+ delete SubmitReportRequest::default_instance_;
+ delete SubmitReportRequest_default_oneof_instance_;
+ delete SubmitReportRequest_reflection_;
+}
+
+void protobuf_AddDesc_api_2fclient_2fv2_2freport_5fservice_2eproto() {
+ static bool already_here = false;
+ if (already_here) return;
+ already_here = true;
+ GOOGLE_PROTOBUF_VERIFY_VERSION;
+
+ ::bgs::protocol::account::v1::protobuf_AddDesc_account_5ftypes_2eproto();
+ ::bgs::protocol::report::v2::protobuf_AddDesc_api_2fclient_2fv2_2freport_5ftypes_2eproto();
+ ::bgs::protocol::protobuf_AddDesc_rpc_5ftypes_2eproto();
+ ::google::protobuf::DescriptorPool::InternalAddGeneratedFile(
+ "\n\"api/client/v2/report_service.proto\022\026bg"
+ "s.protocol.report.v2\032\023account_types.prot"
+ "o\032 api/client/v2/report_types.proto\032\017rpc"
+ "_types.proto\"\370\001\n\023SubmitReportRequest\0224\n\010"
+ "agent_id\030\001 \001(\0132\".bgs.protocol.account.v1"
+ ".AccountId\022\030\n\020user_description\030\002 \001(\t\022\017\n\007"
+ "program\030\003 \001(\r\022;\n\014user_options\030\n \001(\0132#.bg"
+ "s.protocol.report.v2.UserOptionsH\000\022;\n\014cl"
+ "ub_options\030\013 \001(\0132#.bgs.protocol.report.v"
+ "2.ClubOptionsH\000B\006\n\004type2\245\001\n\rReportServic"
+ "e\022Y\n\014SubmitReport\022+.bgs.protocol.report."
+ "v2.SubmitReportRequest\032\024.bgs.protocol.No"
+ "Data\"\006\202\371+\002\010\001\0329\202\371+/\n%bnet.protocol.report"
+ ".v2.ReportService*\006report\212\371+\002\020\001B\005H\001\200\001\000", 558);
+ ::google::protobuf::MessageFactory::InternalRegisterGeneratedFile(
+ "api/client/v2/report_service.proto", &protobuf_RegisterTypes);
+ SubmitReportRequest::default_instance_ = new SubmitReportRequest();
+ SubmitReportRequest_default_oneof_instance_ = new SubmitReportRequestOneofInstance;
+ SubmitReportRequest::default_instance_->InitAsDefaultInstance();
+ ::google::protobuf::internal::OnShutdown(&protobuf_ShutdownFile_api_2fclient_2fv2_2freport_5fservice_2eproto);
+}
+
+// Force AddDescriptors() to be called at static initialization time.
+struct StaticDescriptorInitializer_api_2fclient_2fv2_2freport_5fservice_2eproto {
+ StaticDescriptorInitializer_api_2fclient_2fv2_2freport_5fservice_2eproto() {
+ protobuf_AddDesc_api_2fclient_2fv2_2freport_5fservice_2eproto();
+ }
+} static_descriptor_initializer_api_2fclient_2fv2_2freport_5fservice_2eproto_;
+
+// ===================================================================
+
+#ifndef _MSC_VER
+const int SubmitReportRequest::kAgentIdFieldNumber;
+const int SubmitReportRequest::kUserDescriptionFieldNumber;
+const int SubmitReportRequest::kProgramFieldNumber;
+const int SubmitReportRequest::kUserOptionsFieldNumber;
+const int SubmitReportRequest::kClubOptionsFieldNumber;
+#endif // !_MSC_VER
+
+SubmitReportRequest::SubmitReportRequest()
+ : ::google::protobuf::Message() {
+ SharedCtor();
+ // @@protoc_insertion_point(constructor:bgs.protocol.report.v2.SubmitReportRequest)
+}
+
+void SubmitReportRequest::InitAsDefaultInstance() {
+ agent_id_ = const_cast< ::bgs::protocol::account::v1::AccountId*>(&::bgs::protocol::account::v1::AccountId::default_instance());
+ SubmitReportRequest_default_oneof_instance_->user_options_ = const_cast< ::bgs::protocol::report::v2::UserOptions*>(&::bgs::protocol::report::v2::UserOptions::default_instance());
+ SubmitReportRequest_default_oneof_instance_->club_options_ = const_cast< ::bgs::protocol::report::v2::ClubOptions*>(&::bgs::protocol::report::v2::ClubOptions::default_instance());
+}
+
+SubmitReportRequest::SubmitReportRequest(const SubmitReportRequest& from)
+ : ::google::protobuf::Message() {
+ SharedCtor();
+ MergeFrom(from);
+ // @@protoc_insertion_point(copy_constructor:bgs.protocol.report.v2.SubmitReportRequest)
+}
+
+void SubmitReportRequest::SharedCtor() {
+ ::google::protobuf::internal::GetEmptyString();
+ _cached_size_ = 0;
+ agent_id_ = NULL;
+ user_description_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+ program_ = 0u;
+ ::memset(_has_bits_, 0, sizeof(_has_bits_));
+ clear_has_type();
+}
+
+SubmitReportRequest::~SubmitReportRequest() {
+ // @@protoc_insertion_point(destructor:bgs.protocol.report.v2.SubmitReportRequest)
+ SharedDtor();
+}
+
+void SubmitReportRequest::SharedDtor() {
+ if (user_description_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
+ delete user_description_;
+ }
+ if (has_type()) {
+ clear_type();
+ }
+ if (this != default_instance_) {
+ delete agent_id_;
+ }
+}
+
+void SubmitReportRequest::SetCachedSize(int size) const {
+ GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+ _cached_size_ = size;
+ GOOGLE_SAFE_CONCURRENT_WRITES_END();
+}
+const ::google::protobuf::Descriptor* SubmitReportRequest::descriptor() {
+ protobuf_AssignDescriptorsOnce();
+ return SubmitReportRequest_descriptor_;
+}
+
+const SubmitReportRequest& SubmitReportRequest::default_instance() {
+ if (default_instance_ == NULL) protobuf_AddDesc_api_2fclient_2fv2_2freport_5fservice_2eproto();
+ return *default_instance_;
+}
+
+SubmitReportRequest* SubmitReportRequest::default_instance_ = NULL;
+
+SubmitReportRequest* SubmitReportRequest::New() const {
+ return new SubmitReportRequest;
+}
+
+void SubmitReportRequest::clear_type() {
+ switch(type_case()) {
+ case kUserOptions: {
+ delete type_.user_options_;
+ break;
+ }
+ case kClubOptions: {
+ delete type_.club_options_;
+ break;
+ }
+ case TYPE_NOT_SET: {
+ break;
+ }
+ }
+ _oneof_case_[0] = TYPE_NOT_SET;
+}
+
+
+void SubmitReportRequest::Clear() {
+ if (_has_bits_[0 / 32] & 7) {
+ if (has_agent_id()) {
+ if (agent_id_ != NULL) agent_id_->::bgs::protocol::account::v1::AccountId::Clear();
+ }
+ if (has_user_description()) {
+ if (user_description_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
+ user_description_->clear();
+ }
+ }
+ program_ = 0u;
+ }
+ clear_type();
+ ::memset(_has_bits_, 0, sizeof(_has_bits_));
+ mutable_unknown_fields()->Clear();
+}
+
+bool SubmitReportRequest::MergePartialFromCodedStream(
+ ::google::protobuf::io::CodedInputStream* input) {
+#define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
+ ::google::protobuf::uint32 tag;
+ // @@protoc_insertion_point(parse_start:bgs.protocol.report.v2.SubmitReportRequest)
+ for (;;) {
+ ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
+ tag = p.first;
+ if (!p.second) goto handle_unusual;
+ switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
+ // optional .bgs.protocol.account.v1.AccountId agent_id = 1;
+ case 1: {
+ if (tag == 10) {
+ DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
+ input, mutable_agent_id()));
+ } else {
+ goto handle_unusual;
+ }
+ if (input->ExpectTag(18)) goto parse_user_description;
+ break;
+ }
+
+ // optional string user_description = 2;
+ case 2: {
+ if (tag == 18) {
+ parse_user_description:
+ DO_(::google::protobuf::internal::WireFormatLite::ReadString(
+ input, this->mutable_user_description()));
+ ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
+ this->user_description().data(), this->user_description().length(),
+ ::google::protobuf::internal::WireFormat::PARSE,
+ "user_description");
+ } else {
+ goto handle_unusual;
+ }
+ if (input->ExpectTag(24)) goto parse_program;
+ break;
+ }
+
+ // optional uint32 program = 3;
+ case 3: {
+ if (tag == 24) {
+ parse_program:
+ DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+ ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
+ input, &program_)));
+ set_has_program();
+ } else {
+ goto handle_unusual;
+ }
+ if (input->ExpectTag(82)) goto parse_user_options;
+ break;
+ }
+
+ // optional .bgs.protocol.report.v2.UserOptions user_options = 10;
+ case 10: {
+ if (tag == 82) {
+ parse_user_options:
+ DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
+ input, mutable_user_options()));
+ } else {
+ goto handle_unusual;
+ }
+ if (input->ExpectTag(90)) goto parse_club_options;
+ break;
+ }
+
+ // optional .bgs.protocol.report.v2.ClubOptions club_options = 11;
+ case 11: {
+ if (tag == 90) {
+ parse_club_options:
+ DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
+ input, mutable_club_options()));
+ } else {
+ goto handle_unusual;
+ }
+ if (input->ExpectAtEnd()) goto success;
+ break;
+ }
+
+ default: {
+ handle_unusual:
+ if (tag == 0 ||
+ ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+ ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
+ goto success;
+ }
+ DO_(::google::protobuf::internal::WireFormat::SkipField(
+ input, tag, mutable_unknown_fields()));
+ break;
+ }
+ }
+ }
+success:
+ // @@protoc_insertion_point(parse_success:bgs.protocol.report.v2.SubmitReportRequest)
+ return true;
+failure:
+ // @@protoc_insertion_point(parse_failure:bgs.protocol.report.v2.SubmitReportRequest)
+ return false;
+#undef DO_
+}
+
+void SubmitReportRequest::SerializeWithCachedSizes(
+ ::google::protobuf::io::CodedOutputStream* output) const {
+ // @@protoc_insertion_point(serialize_start:bgs.protocol.report.v2.SubmitReportRequest)
+ // optional .bgs.protocol.account.v1.AccountId agent_id = 1;
+ if (has_agent_id()) {
+ ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
+ 1, this->agent_id(), output);
+ }
+
+ // optional string user_description = 2;
+ if (has_user_description()) {
+ ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
+ this->user_description().data(), this->user_description().length(),
+ ::google::protobuf::internal::WireFormat::SERIALIZE,
+ "user_description");
+ ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
+ 2, this->user_description(), output);
+ }
+
+ // optional uint32 program = 3;
+ if (has_program()) {
+ ::google::protobuf::internal::WireFormatLite::WriteUInt32(3, this->program(), output);
+ }
+
+ // optional .bgs.protocol.report.v2.UserOptions user_options = 10;
+ if (has_user_options()) {
+ ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
+ 10, this->user_options(), output);
+ }
+
+ // optional .bgs.protocol.report.v2.ClubOptions club_options = 11;
+ if (has_club_options()) {
+ ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
+ 11, this->club_options(), output);
+ }
+
+ if (!unknown_fields().empty()) {
+ ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
+ unknown_fields(), output);
+ }
+ // @@protoc_insertion_point(serialize_end:bgs.protocol.report.v2.SubmitReportRequest)
+}
+
+::google::protobuf::uint8* SubmitReportRequest::SerializeWithCachedSizesToArray(
+ ::google::protobuf::uint8* target) const {
+ // @@protoc_insertion_point(serialize_to_array_start:bgs.protocol.report.v2.SubmitReportRequest)
+ // optional .bgs.protocol.account.v1.AccountId agent_id = 1;
+ if (has_agent_id()) {
+ target = ::google::protobuf::internal::WireFormatLite::
+ WriteMessageNoVirtualToArray(
+ 1, this->agent_id(), target);
+ }
+
+ // optional string user_description = 2;
+ if (has_user_description()) {
+ ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
+ this->user_description().data(), this->user_description().length(),
+ ::google::protobuf::internal::WireFormat::SERIALIZE,
+ "user_description");
+ target =
+ ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
+ 2, this->user_description(), target);
+ }
+
+ // optional uint32 program = 3;
+ if (has_program()) {
+ target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(3, this->program(), target);
+ }
+
+ // optional .bgs.protocol.report.v2.UserOptions user_options = 10;
+ if (has_user_options()) {
+ target = ::google::protobuf::internal::WireFormatLite::
+ WriteMessageNoVirtualToArray(
+ 10, this->user_options(), target);
+ }
+
+ // optional .bgs.protocol.report.v2.ClubOptions club_options = 11;
+ if (has_club_options()) {
+ target = ::google::protobuf::internal::WireFormatLite::
+ WriteMessageNoVirtualToArray(
+ 11, this->club_options(), target);
+ }
+
+ if (!unknown_fields().empty()) {
+ target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
+ unknown_fields(), target);
+ }
+ // @@protoc_insertion_point(serialize_to_array_end:bgs.protocol.report.v2.SubmitReportRequest)
+ return target;
+}
+
+int SubmitReportRequest::ByteSize() const {
+ int total_size = 0;
+
+ if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
+ // optional .bgs.protocol.account.v1.AccountId agent_id = 1;
+ if (has_agent_id()) {
+ total_size += 1 +
+ ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
+ this->agent_id());
+ }
+
+ // optional string user_description = 2;
+ if (has_user_description()) {
+ total_size += 1 +
+ ::google::protobuf::internal::WireFormatLite::StringSize(
+ this->user_description());
+ }
+
+ // optional uint32 program = 3;
+ if (has_program()) {
+ total_size += 1 +
+ ::google::protobuf::internal::WireFormatLite::UInt32Size(
+ this->program());
+ }
+
+ }
+ switch (type_case()) {
+ // optional .bgs.protocol.report.v2.UserOptions user_options = 10;
+ case kUserOptions: {
+ total_size += 1 +
+ ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
+ this->user_options());
+ break;
+ }
+ // optional .bgs.protocol.report.v2.ClubOptions club_options = 11;
+ case kClubOptions: {
+ total_size += 1 +
+ ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
+ this->club_options());
+ break;
+ }
+ case TYPE_NOT_SET: {
+ break;
+ }
+ }
+ if (!unknown_fields().empty()) {
+ total_size +=
+ ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
+ unknown_fields());
+ }
+ GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+ _cached_size_ = total_size;
+ GOOGLE_SAFE_CONCURRENT_WRITES_END();
+ return total_size;
+}
+
+void SubmitReportRequest::MergeFrom(const ::google::protobuf::Message& from) {
+ GOOGLE_CHECK_NE(&from, this);
+ const SubmitReportRequest* source =
+ ::google::protobuf::internal::dynamic_cast_if_available<const SubmitReportRequest*>(
+ &from);
+ if (source == NULL) {
+ ::google::protobuf::internal::ReflectionOps::Merge(from, this);
+ } else {
+ MergeFrom(*source);
+ }
+}
+
+void SubmitReportRequest::MergeFrom(const SubmitReportRequest& from) {
+ GOOGLE_CHECK_NE(&from, this);
+ switch (from.type_case()) {
+ case kUserOptions: {
+ mutable_user_options()->::bgs::protocol::report::v2::UserOptions::MergeFrom(from.user_options());
+ break;
+ }
+ case kClubOptions: {
+ mutable_club_options()->::bgs::protocol::report::v2::ClubOptions::MergeFrom(from.club_options());
+ break;
+ }
+ case TYPE_NOT_SET: {
+ break;
+ }
+ }
+ if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
+ if (from.has_agent_id()) {
+ mutable_agent_id()->::bgs::protocol::account::v1::AccountId::MergeFrom(from.agent_id());
+ }
+ if (from.has_user_description()) {
+ set_user_description(from.user_description());
+ }
+ if (from.has_program()) {
+ set_program(from.program());
+ }
+ }
+ mutable_unknown_fields()->MergeFrom(from.unknown_fields());
+}
+
+void SubmitReportRequest::CopyFrom(const ::google::protobuf::Message& from) {
+ if (&from == this) return;
+ Clear();
+ MergeFrom(from);
+}
+
+void SubmitReportRequest::CopyFrom(const SubmitReportRequest& from) {
+ if (&from == this) return;
+ Clear();
+ MergeFrom(from);
+}
+
+bool SubmitReportRequest::IsInitialized() const {
+
+ if (has_agent_id()) {
+ if (!this->agent_id().IsInitialized()) return false;
+ }
+ if (has_user_options()) {
+ if (!this->user_options().IsInitialized()) return false;
+ }
+ return true;
+}
+
+void SubmitReportRequest::Swap(SubmitReportRequest* other) {
+ if (other != this) {
+ std::swap(agent_id_, other->agent_id_);
+ std::swap(user_description_, other->user_description_);
+ std::swap(program_, other->program_);
+ std::swap(type_, other->type_);
+ std::swap(_oneof_case_[0], other->_oneof_case_[0]);
+ std::swap(_has_bits_[0], other->_has_bits_[0]);
+ _unknown_fields_.Swap(&other->_unknown_fields_);
+ std::swap(_cached_size_, other->_cached_size_);
+ }
+}
+
+::google::protobuf::Metadata SubmitReportRequest::GetMetadata() const {
+ protobuf_AssignDescriptorsOnce();
+ ::google::protobuf::Metadata metadata;
+ metadata.descriptor = SubmitReportRequest_descriptor_;
+ metadata.reflection = SubmitReportRequest_reflection_;
+ return metadata;
+}
+
+
+// ===================================================================
+
+ReportService::ReportService(bool use_original_hash) : service_hash_(use_original_hash ? OriginalHash::value : NameHash::value) {
+}
+
+ReportService::~ReportService() {
+}
+
+google::protobuf::ServiceDescriptor const* ReportService::descriptor() {
+ protobuf_AssignDescriptorsOnce();
+ return ReportService_descriptor_;
+}
+
+void ReportService::SubmitReport(::bgs::protocol::report::v2::SubmitReportRequest const* request, std::function<void(::bgs::protocol::NoData const*)> responseCallback) {
+ TC_LOG_DEBUG("service.protobuf", "%s Server called client method ReportService.SubmitReport(bgs.protocol.report.v2.SubmitReportRequest{ %s })",
+ GetCallerInfo().c_str(), request->ShortDebugString().c_str());
+ std::function<void(MessageBuffer)> callback = [responseCallback](MessageBuffer buffer) -> void {
+ ::bgs::protocol::NoData response;
+ if (response.ParseFromArray(buffer.GetReadPointer(), buffer.GetActiveSize()))
+ responseCallback(&response);
+ };
+ SendRequest(service_hash_, 1, request, std::move(callback));
+}
+
+void ReportService::CallServerMethod(uint32 token, uint32 methodId, MessageBuffer buffer) {
+ switch(methodId) {
+ case 1: {
+ ::bgs::protocol::report::v2::SubmitReportRequest request;
+ if (!request.ParseFromArray(buffer.GetReadPointer(), buffer.GetActiveSize())) {
+ TC_LOG_DEBUG("service.protobuf", "%s Failed to parse request for ReportService.SubmitReport server method call.", GetCallerInfo().c_str());
+ SendResponse(service_hash_, 1, token, ERROR_RPC_MALFORMED_REQUEST);
+ return;
+ }
+ TC_LOG_DEBUG("service.protobuf", "%s Client called server method ReportService.SubmitReport(bgs.protocol.report.v2.SubmitReportRequest{ %s }).",
+ GetCallerInfo().c_str(), request.ShortDebugString().c_str());
+ std::function<void(ServiceBase*, uint32, ::google::protobuf::Message const*)> continuation = [token](ServiceBase* service, uint32 status, ::google::protobuf::Message const* response)
+ {
+ ASSERT(response->GetDescriptor() == ::bgs::protocol::NoData::descriptor());
+ ReportService* self = static_cast<ReportService*>(service);
+ TC_LOG_DEBUG("service.protobuf", "%s Client called server method ReportService.SubmitReport() returned bgs.protocol.NoData{ %s } status %u.",
+ self->GetCallerInfo().c_str(), response->ShortDebugString().c_str(), status);
+ if (!status)
+ self->SendResponse(self->service_hash_, 1, token, response);
+ else
+ self->SendResponse(self->service_hash_, 1, token, status);
+ };
+ ::bgs::protocol::NoData response;
+ uint32 status = HandleSubmitReport(&request, &response, continuation);
+ if (continuation)
+ continuation(this, status, &response);
+ break;
+ }
+ default:
+ TC_LOG_ERROR("service.protobuf", "Bad method id %u.", methodId);
+ SendResponse(service_hash_, methodId, token, ERROR_RPC_INVALID_METHOD);
+ break;
+ }
+}
+
+uint32 ReportService::HandleSubmitReport(::bgs::protocol::report::v2::SubmitReportRequest const* request, ::bgs::protocol::NoData* response, std::function<void(ServiceBase*, uint32, ::google::protobuf::Message const*)>& continuation) {
+ TC_LOG_ERROR("service.protobuf", "%s Client tried to call not implemented method ReportService.SubmitReport({ %s })",
+ GetCallerInfo().c_str(), request->ShortDebugString().c_str());
+ return ERROR_RPC_NOT_IMPLEMENTED;
+}
+
+
+// @@protoc_insertion_point(namespace_scope)
+
+} // namespace v2
+} // namespace report
+} // namespace protocol
+} // namespace bgs
+
+// @@protoc_insertion_point(global_scope)
diff --git a/src/server/proto/Client/api/client/v2/report_service.pb.h b/src/server/proto/Client/api/client/v2/report_service.pb.h
new file mode 100644
index 00000000000..fb033acc335
--- /dev/null
+++ b/src/server/proto/Client/api/client/v2/report_service.pb.h
@@ -0,0 +1,483 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: api/client/v2/report_service.proto
+
+#ifndef PROTOBUF_api_2fclient_2fv2_2freport_5fservice_2eproto__INCLUDED
+#define PROTOBUF_api_2fclient_2fv2_2freport_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 "account_types.pb.h"
+#include "api/client/v2/report_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 report {
+namespace v2 {
+
+// Internal implementation detail -- do not call these.
+void TC_PROTO_API protobuf_AddDesc_api_2fclient_2fv2_2freport_5fservice_2eproto();
+void protobuf_AssignDesc_api_2fclient_2fv2_2freport_5fservice_2eproto();
+void protobuf_ShutdownFile_api_2fclient_2fv2_2freport_5fservice_2eproto();
+
+class SubmitReportRequest;
+
+// ===================================================================
+
+class TC_PROTO_API SubmitReportRequest : public ::google::protobuf::Message {
+ public:
+ SubmitReportRequest();
+ virtual ~SubmitReportRequest();
+
+ SubmitReportRequest(const SubmitReportRequest& from);
+
+ inline SubmitReportRequest& operator=(const SubmitReportRequest& 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 SubmitReportRequest& default_instance();
+
+ enum TypeCase {
+ kUserOptions = 10,
+ kClubOptions = 11,
+ TYPE_NOT_SET = 0,
+ };
+
+ void Swap(SubmitReportRequest* other);
+
+ // implements Message ----------------------------------------------
+
+ SubmitReportRequest* New() const;
+ void CopyFrom(const ::google::protobuf::Message& from);
+ void MergeFrom(const ::google::protobuf::Message& from);
+ void CopyFrom(const SubmitReportRequest& from);
+ void MergeFrom(const SubmitReportRequest& 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.account.v1.AccountId agent_id = 1;
+ inline bool has_agent_id() const;
+ inline void clear_agent_id();
+ static const int kAgentIdFieldNumber = 1;
+ inline const ::bgs::protocol::account::v1::AccountId& agent_id() const;
+ inline ::bgs::protocol::account::v1::AccountId* mutable_agent_id();
+ inline ::bgs::protocol::account::v1::AccountId* release_agent_id();
+ inline void set_allocated_agent_id(::bgs::protocol::account::v1::AccountId* agent_id);
+
+ // optional string user_description = 2;
+ inline bool has_user_description() const;
+ inline void clear_user_description();
+ static const int kUserDescriptionFieldNumber = 2;
+ inline const ::std::string& user_description() const;
+ inline void set_user_description(const ::std::string& value);
+ inline void set_user_description(const char* value);
+ inline void set_user_description(const char* value, size_t size);
+ inline ::std::string* mutable_user_description();
+ inline ::std::string* release_user_description();
+ inline void set_allocated_user_description(::std::string* user_description);
+
+ // 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);
+
+ // optional .bgs.protocol.report.v2.UserOptions user_options = 10;
+ inline bool has_user_options() const;
+ inline void clear_user_options();
+ static const int kUserOptionsFieldNumber = 10;
+ inline const ::bgs::protocol::report::v2::UserOptions& user_options() const;
+ inline ::bgs::protocol::report::v2::UserOptions* mutable_user_options();
+ inline ::bgs::protocol::report::v2::UserOptions* release_user_options();
+ inline void set_allocated_user_options(::bgs::protocol::report::v2::UserOptions* user_options);
+
+ // optional .bgs.protocol.report.v2.ClubOptions club_options = 11;
+ inline bool has_club_options() const;
+ inline void clear_club_options();
+ static const int kClubOptionsFieldNumber = 11;
+ inline const ::bgs::protocol::report::v2::ClubOptions& club_options() const;
+ inline ::bgs::protocol::report::v2::ClubOptions* mutable_club_options();
+ inline ::bgs::protocol::report::v2::ClubOptions* release_club_options();
+ inline void set_allocated_club_options(::bgs::protocol::report::v2::ClubOptions* club_options);
+
+ inline TypeCase type_case() const;
+ // @@protoc_insertion_point(class_scope:bgs.protocol.report.v2.SubmitReportRequest)
+ private:
+ inline void set_has_agent_id();
+ inline void clear_has_agent_id();
+ inline void set_has_user_description();
+ inline void clear_has_user_description();
+ inline void set_has_program();
+ inline void clear_has_program();
+ inline void set_has_user_options();
+ inline void set_has_club_options();
+
+ inline bool has_type();
+ void clear_type();
+ inline void clear_has_type();
+
+ ::google::protobuf::UnknownFieldSet _unknown_fields_;
+
+ ::google::protobuf::uint32 _has_bits_[1];
+ mutable int _cached_size_;
+ ::bgs::protocol::account::v1::AccountId* agent_id_;
+ ::std::string* user_description_;
+ ::google::protobuf::uint32 program_;
+ union TypeUnion {
+ ::bgs::protocol::report::v2::UserOptions* user_options_;
+ ::bgs::protocol::report::v2::ClubOptions* club_options_;
+ } type_;
+ ::google::protobuf::uint32 _oneof_case_[1];
+
+ friend void TC_PROTO_API protobuf_AddDesc_api_2fclient_2fv2_2freport_5fservice_2eproto();
+ friend void protobuf_AssignDesc_api_2fclient_2fv2_2freport_5fservice_2eproto();
+ friend void protobuf_ShutdownFile_api_2fclient_2fv2_2freport_5fservice_2eproto();
+
+ void InitAsDefaultInstance();
+ static SubmitReportRequest* default_instance_;
+};
+// ===================================================================
+
+class TC_PROTO_API ReportService : public ServiceBase
+{
+ public:
+
+ explicit ReportService(bool use_original_hash);
+ virtual ~ReportService();
+
+ typedef std::integral_constant<uint32, 0x3A4218FBu> OriginalHash;
+ typedef std::integral_constant<uint32, 0xA2480772u> NameHash;
+
+ static google::protobuf::ServiceDescriptor const* descriptor();
+
+ // client methods --------------------------------------------------
+
+ void SubmitReport(::bgs::protocol::report::v2::SubmitReportRequest const* request, std::function<void(::bgs::protocol::NoData const*)> responseCallback);
+ // server methods --------------------------------------------------
+
+ void CallServerMethod(uint32 token, uint32 methodId, MessageBuffer buffer) override final;
+
+ protected:
+ virtual uint32 HandleSubmitReport(::bgs::protocol::report::v2::SubmitReportRequest const* request, ::bgs::protocol::NoData* response, std::function<void(ServiceBase*, uint32, ::google::protobuf::Message const*)>& continuation);
+
+ private:
+ uint32 service_hash_;
+
+ GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ReportService);
+};
+
+// ===================================================================
+
+
+// ===================================================================
+
+// SubmitReportRequest
+
+// optional .bgs.protocol.account.v1.AccountId agent_id = 1;
+inline bool SubmitReportRequest::has_agent_id() const {
+ return (_has_bits_[0] & 0x00000001u) != 0;
+}
+inline void SubmitReportRequest::set_has_agent_id() {
+ _has_bits_[0] |= 0x00000001u;
+}
+inline void SubmitReportRequest::clear_has_agent_id() {
+ _has_bits_[0] &= ~0x00000001u;
+}
+inline void SubmitReportRequest::clear_agent_id() {
+ if (agent_id_ != NULL) agent_id_->::bgs::protocol::account::v1::AccountId::Clear();
+ clear_has_agent_id();
+}
+inline const ::bgs::protocol::account::v1::AccountId& SubmitReportRequest::agent_id() const {
+ // @@protoc_insertion_point(field_get:bgs.protocol.report.v2.SubmitReportRequest.agent_id)
+ return agent_id_ != NULL ? *agent_id_ : *default_instance_->agent_id_;
+}
+inline ::bgs::protocol::account::v1::AccountId* SubmitReportRequest::mutable_agent_id() {
+ set_has_agent_id();
+ if (agent_id_ == NULL) agent_id_ = new ::bgs::protocol::account::v1::AccountId;
+ // @@protoc_insertion_point(field_mutable:bgs.protocol.report.v2.SubmitReportRequest.agent_id)
+ return agent_id_;
+}
+inline ::bgs::protocol::account::v1::AccountId* SubmitReportRequest::release_agent_id() {
+ clear_has_agent_id();
+ ::bgs::protocol::account::v1::AccountId* temp = agent_id_;
+ agent_id_ = NULL;
+ return temp;
+}
+inline void SubmitReportRequest::set_allocated_agent_id(::bgs::protocol::account::v1::AccountId* 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.report.v2.SubmitReportRequest.agent_id)
+}
+
+// optional string user_description = 2;
+inline bool SubmitReportRequest::has_user_description() const {
+ return (_has_bits_[0] & 0x00000002u) != 0;
+}
+inline void SubmitReportRequest::set_has_user_description() {
+ _has_bits_[0] |= 0x00000002u;
+}
+inline void SubmitReportRequest::clear_has_user_description() {
+ _has_bits_[0] &= ~0x00000002u;
+}
+inline void SubmitReportRequest::clear_user_description() {
+ if (user_description_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
+ user_description_->clear();
+ }
+ clear_has_user_description();
+}
+inline const ::std::string& SubmitReportRequest::user_description() const {
+ // @@protoc_insertion_point(field_get:bgs.protocol.report.v2.SubmitReportRequest.user_description)
+ return *user_description_;
+}
+inline void SubmitReportRequest::set_user_description(const ::std::string& value) {
+ set_has_user_description();
+ if (user_description_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
+ user_description_ = new ::std::string;
+ }
+ user_description_->assign(value);
+ // @@protoc_insertion_point(field_set:bgs.protocol.report.v2.SubmitReportRequest.user_description)
+}
+inline void SubmitReportRequest::set_user_description(const char* value) {
+ set_has_user_description();
+ if (user_description_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
+ user_description_ = new ::std::string;
+ }
+ user_description_->assign(value);
+ // @@protoc_insertion_point(field_set_char:bgs.protocol.report.v2.SubmitReportRequest.user_description)
+}
+inline void SubmitReportRequest::set_user_description(const char* value, size_t size) {
+ set_has_user_description();
+ if (user_description_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
+ user_description_ = new ::std::string;
+ }
+ user_description_->assign(reinterpret_cast<const char*>(value), size);
+ // @@protoc_insertion_point(field_set_pointer:bgs.protocol.report.v2.SubmitReportRequest.user_description)
+}
+inline ::std::string* SubmitReportRequest::mutable_user_description() {
+ set_has_user_description();
+ if (user_description_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
+ user_description_ = new ::std::string;
+ }
+ // @@protoc_insertion_point(field_mutable:bgs.protocol.report.v2.SubmitReportRequest.user_description)
+ return user_description_;
+}
+inline ::std::string* SubmitReportRequest::release_user_description() {
+ clear_has_user_description();
+ if (user_description_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
+ return NULL;
+ } else {
+ ::std::string* temp = user_description_;
+ user_description_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+ return temp;
+ }
+}
+inline void SubmitReportRequest::set_allocated_user_description(::std::string* user_description) {
+ if (user_description_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
+ delete user_description_;
+ }
+ if (user_description) {
+ set_has_user_description();
+ user_description_ = user_description;
+ } else {
+ clear_has_user_description();
+ user_description_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+ }
+ // @@protoc_insertion_point(field_set_allocated:bgs.protocol.report.v2.SubmitReportRequest.user_description)
+}
+
+// optional uint32 program = 3;
+inline bool SubmitReportRequest::has_program() const {
+ return (_has_bits_[0] & 0x00000004u) != 0;
+}
+inline void SubmitReportRequest::set_has_program() {
+ _has_bits_[0] |= 0x00000004u;
+}
+inline void SubmitReportRequest::clear_has_program() {
+ _has_bits_[0] &= ~0x00000004u;
+}
+inline void SubmitReportRequest::clear_program() {
+ program_ = 0u;
+ clear_has_program();
+}
+inline ::google::protobuf::uint32 SubmitReportRequest::program() const {
+ // @@protoc_insertion_point(field_get:bgs.protocol.report.v2.SubmitReportRequest.program)
+ return program_;
+}
+inline void SubmitReportRequest::set_program(::google::protobuf::uint32 value) {
+ set_has_program();
+ program_ = value;
+ // @@protoc_insertion_point(field_set:bgs.protocol.report.v2.SubmitReportRequest.program)
+}
+
+// optional .bgs.protocol.report.v2.UserOptions user_options = 10;
+inline bool SubmitReportRequest::has_user_options() const {
+ return type_case() == kUserOptions;
+}
+inline void SubmitReportRequest::set_has_user_options() {
+ _oneof_case_[0] = kUserOptions;
+}
+inline void SubmitReportRequest::clear_user_options() {
+ if (has_user_options()) {
+ delete type_.user_options_;
+ clear_has_type();
+ }
+}
+inline const ::bgs::protocol::report::v2::UserOptions& SubmitReportRequest::user_options() const {
+ return has_user_options() ? *type_.user_options_
+ : ::bgs::protocol::report::v2::UserOptions::default_instance();
+}
+inline ::bgs::protocol::report::v2::UserOptions* SubmitReportRequest::mutable_user_options() {
+ if (!has_user_options()) {
+ clear_type();
+ set_has_user_options();
+ type_.user_options_ = new ::bgs::protocol::report::v2::UserOptions;
+ }
+ return type_.user_options_;
+}
+inline ::bgs::protocol::report::v2::UserOptions* SubmitReportRequest::release_user_options() {
+ if (has_user_options()) {
+ clear_has_type();
+ ::bgs::protocol::report::v2::UserOptions* temp = type_.user_options_;
+ type_.user_options_ = NULL;
+ return temp;
+ } else {
+ return NULL;
+ }
+}
+inline void SubmitReportRequest::set_allocated_user_options(::bgs::protocol::report::v2::UserOptions* user_options) {
+ clear_type();
+ if (user_options) {
+ set_has_user_options();
+ type_.user_options_ = user_options;
+ }
+}
+
+// optional .bgs.protocol.report.v2.ClubOptions club_options = 11;
+inline bool SubmitReportRequest::has_club_options() const {
+ return type_case() == kClubOptions;
+}
+inline void SubmitReportRequest::set_has_club_options() {
+ _oneof_case_[0] = kClubOptions;
+}
+inline void SubmitReportRequest::clear_club_options() {
+ if (has_club_options()) {
+ delete type_.club_options_;
+ clear_has_type();
+ }
+}
+inline const ::bgs::protocol::report::v2::ClubOptions& SubmitReportRequest::club_options() const {
+ return has_club_options() ? *type_.club_options_
+ : ::bgs::protocol::report::v2::ClubOptions::default_instance();
+}
+inline ::bgs::protocol::report::v2::ClubOptions* SubmitReportRequest::mutable_club_options() {
+ if (!has_club_options()) {
+ clear_type();
+ set_has_club_options();
+ type_.club_options_ = new ::bgs::protocol::report::v2::ClubOptions;
+ }
+ return type_.club_options_;
+}
+inline ::bgs::protocol::report::v2::ClubOptions* SubmitReportRequest::release_club_options() {
+ if (has_club_options()) {
+ clear_has_type();
+ ::bgs::protocol::report::v2::ClubOptions* temp = type_.club_options_;
+ type_.club_options_ = NULL;
+ return temp;
+ } else {
+ return NULL;
+ }
+}
+inline void SubmitReportRequest::set_allocated_club_options(::bgs::protocol::report::v2::ClubOptions* club_options) {
+ clear_type();
+ if (club_options) {
+ set_has_club_options();
+ type_.club_options_ = club_options;
+ }
+}
+
+inline bool SubmitReportRequest::has_type() {
+ return type_case() != TYPE_NOT_SET;
+}
+inline void SubmitReportRequest::clear_has_type() {
+ _oneof_case_[0] = TYPE_NOT_SET;
+}
+inline SubmitReportRequest::TypeCase SubmitReportRequest::type_case() const {
+ return SubmitReportRequest::TypeCase(_oneof_case_[0]);
+}
+
+// @@protoc_insertion_point(namespace_scope)
+
+} // namespace v2
+} // namespace report
+} // namespace protocol
+} // namespace bgs
+
+#ifndef SWIG
+namespace google {
+namespace protobuf {
+
+
+} // namespace google
+} // namespace protobuf
+#endif // SWIG
+
+// @@protoc_insertion_point(global_scope)
+
+#endif // PROTOBUF_api_2fclient_2fv2_2freport_5fservice_2eproto__INCLUDED
diff --git a/src/server/proto/Client/api/client/v2/report_types.pb.cc b/src/server/proto/Client/api/client/v2/report_types.pb.cc
new file mode 100644
index 00000000000..8cb58d6d61f
--- /dev/null
+++ b/src/server/proto/Client/api/client/v2/report_types.pb.cc
@@ -0,0 +1,1293 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: api/client/v2/report_types.proto
+
+#define INTERNAL_SUPPRESS_PROTOBUF_FIELD_DEPRECATION
+#include "api/client/v2/report_types.pb.h"
+
+#include <algorithm>
+#include <utility>
+
+#include <google/protobuf/stubs/common.h>
+#include <google/protobuf/stubs/once.h>
+#include <google/protobuf/io/coded_stream.h>
+#include <google/protobuf/wire_format_lite_inl.h>
+#include <google/protobuf/descriptor.h>
+#include <google/protobuf/generated_message_reflection.h>
+#include <google/protobuf/reflection_ops.h>
+#include <google/protobuf/wire_format.h>
+#include "Log.h"
+// @@protoc_insertion_point(includes)
+
+namespace bgs {
+namespace protocol {
+namespace report {
+namespace v2 {
+
+namespace {
+
+const ::google::protobuf::Descriptor* ReportItem_descriptor_ = NULL;
+const ::google::protobuf::internal::GeneratedMessageReflection*
+ ReportItem_reflection_ = NULL;
+struct ReportItemOneofInstance {
+ const ::bgs::protocol::MessageId* message_id_;
+}* ReportItem_default_oneof_instance_ = NULL;
+const ::google::protobuf::Descriptor* UserOptions_descriptor_ = NULL;
+const ::google::protobuf::internal::GeneratedMessageReflection*
+ UserOptions_reflection_ = NULL;
+const ::google::protobuf::Descriptor* ClubOptions_descriptor_ = NULL;
+const ::google::protobuf::internal::GeneratedMessageReflection*
+ ClubOptions_reflection_ = NULL;
+const ::google::protobuf::EnumDescriptor* IssueType_descriptor_ = NULL;
+const ::google::protobuf::EnumDescriptor* UserSource_descriptor_ = NULL;
+const ::google::protobuf::EnumDescriptor* ClubSource_descriptor_ = NULL;
+
+} // namespace
+
+
+void protobuf_AssignDesc_api_2fclient_2fv2_2freport_5ftypes_2eproto() {
+ protobuf_AddDesc_api_2fclient_2fv2_2freport_5ftypes_2eproto();
+ const ::google::protobuf::FileDescriptor* file =
+ ::google::protobuf::DescriptorPool::generated_pool()->FindFileByName(
+ "api/client/v2/report_types.proto");
+ GOOGLE_CHECK(file != NULL);
+ ReportItem_descriptor_ = file->message_type(0);
+ static const int ReportItem_offsets_[2] = {
+ PROTO2_GENERATED_DEFAULT_ONEOF_FIELD_OFFSET(ReportItem_default_oneof_instance_, message_id_),
+ GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ReportItem, type_),
+ };
+ ReportItem_reflection_ =
+ new ::google::protobuf::internal::GeneratedMessageReflection(
+ ReportItem_descriptor_,
+ ReportItem::default_instance_,
+ ReportItem_offsets_,
+ GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ReportItem, _has_bits_[0]),
+ GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ReportItem, _unknown_fields_),
+ -1,
+ ReportItem_default_oneof_instance_,
+ GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ReportItem, _oneof_case_[0]),
+ ::google::protobuf::DescriptorPool::generated_pool(),
+ ::google::protobuf::MessageFactory::generated_factory(),
+ sizeof(ReportItem));
+ UserOptions_descriptor_ = file->message_type(1);
+ static const int UserOptions_offsets_[4] = {
+ GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UserOptions, target_id_),
+ GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UserOptions, type_),
+ GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UserOptions, source_),
+ GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UserOptions, item_),
+ };
+ UserOptions_reflection_ =
+ new ::google::protobuf::internal::GeneratedMessageReflection(
+ UserOptions_descriptor_,
+ UserOptions::default_instance_,
+ UserOptions_offsets_,
+ GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UserOptions, _has_bits_[0]),
+ GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UserOptions, _unknown_fields_),
+ -1,
+ ::google::protobuf::DescriptorPool::generated_pool(),
+ ::google::protobuf::MessageFactory::generated_factory(),
+ sizeof(UserOptions));
+ ClubOptions_descriptor_ = file->message_type(2);
+ static const int ClubOptions_offsets_[5] = {
+ GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ClubOptions, club_id_),
+ GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ClubOptions, stream_id_),
+ GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ClubOptions, type_),
+ GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ClubOptions, source_),
+ GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ClubOptions, item_),
+ };
+ ClubOptions_reflection_ =
+ new ::google::protobuf::internal::GeneratedMessageReflection(
+ ClubOptions_descriptor_,
+ ClubOptions::default_instance_,
+ ClubOptions_offsets_,
+ GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ClubOptions, _has_bits_[0]),
+ GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ClubOptions, _unknown_fields_),
+ -1,
+ ::google::protobuf::DescriptorPool::generated_pool(),
+ ::google::protobuf::MessageFactory::generated_factory(),
+ sizeof(ClubOptions));
+ IssueType_descriptor_ = file->enum_type(0);
+ UserSource_descriptor_ = file->enum_type(1);
+ ClubSource_descriptor_ = file->enum_type(2);
+}
+
+namespace {
+
+GOOGLE_PROTOBUF_DECLARE_ONCE(protobuf_AssignDescriptors_once_);
+inline void protobuf_AssignDescriptorsOnce() {
+ ::google::protobuf::GoogleOnceInit(&protobuf_AssignDescriptors_once_,
+ &protobuf_AssignDesc_api_2fclient_2fv2_2freport_5ftypes_2eproto);
+}
+
+void protobuf_RegisterTypes(const ::std::string&) {
+ protobuf_AssignDescriptorsOnce();
+ ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
+ ReportItem_descriptor_, &ReportItem::default_instance());
+ ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
+ UserOptions_descriptor_, &UserOptions::default_instance());
+ ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
+ ClubOptions_descriptor_, &ClubOptions::default_instance());
+}
+
+} // namespace
+
+void protobuf_ShutdownFile_api_2fclient_2fv2_2freport_5ftypes_2eproto() {
+ delete ReportItem::default_instance_;
+ delete ReportItem_default_oneof_instance_;
+ delete ReportItem_reflection_;
+ delete UserOptions::default_instance_;
+ delete UserOptions_reflection_;
+ delete ClubOptions::default_instance_;
+ delete ClubOptions_reflection_;
+}
+
+void protobuf_AddDesc_api_2fclient_2fv2_2freport_5ftypes_2eproto() {
+ static bool already_here = false;
+ if (already_here) return;
+ already_here = true;
+ GOOGLE_PROTOBUF_VERIFY_VERSION;
+
+ ::bgs::protocol::account::v1::protobuf_AddDesc_account_5ftypes_2eproto();
+ ::bgs::protocol::protobuf_AddDesc_rpc_5ftypes_2eproto();
+ ::bgs::protocol::protobuf_AddDesc_message_5ftypes_2eproto();
+ ::google::protobuf::DescriptorPool::InternalAddGeneratedFile(
+ "\n api/client/v2/report_types.proto\022\026bgs."
+ "protocol.report.v2\032\023account_types.proto\032"
+ "\017rpc_types.proto\032\023message_types.proto\"C\n"
+ "\nReportItem\022-\n\nmessage_id\030\001 \001(\0132\027.bgs.pr"
+ "otocol.MessageIdH\000B\006\n\004type\"\333\001\n\013UserOptio"
+ "ns\0225\n\ttarget_id\030\001 \001(\0132\".bgs.protocol.acc"
+ "ount.v1.AccountId\022/\n\004type\030\002 \001(\0162!.bgs.pr"
+ "otocol.report.v2.IssueType\0222\n\006source\030\003 \001"
+ "(\0162\".bgs.protocol.report.v2.UserSource\0220"
+ "\n\004item\030\004 \001(\0132\".bgs.protocol.report.v2.Re"
+ "portItem\"\310\001\n\013ClubOptions\022\017\n\007club_id\030\001 \001("
+ "\004\022\021\n\tstream_id\030\002 \001(\004\022/\n\004type\030\003 \001(\0162!.bgs"
+ ".protocol.report.v2.IssueType\0222\n\006source\030"
+ "\004 \001(\0162\".bgs.protocol.report.v2.ClubSourc"
+ "e\0220\n\004item\030\005 \001(\0132\".bgs.protocol.report.v2"
+ ".ReportItem*\215\001\n\tIssueType\022\023\n\017ISSUE_TYPE_"
+ "SPAM\020\000\022\031\n\025ISSUE_TYPE_HARASSMENT\020\001\022 \n\034ISS"
+ "UE_TYPE_OFFENSIVE_CONTENT\020\003\022\026\n\022ISSUE_TYP"
+ "E_HACKING\020\004\022\026\n\022ISSUE_TYPE_BOTTING\020\005*\252\001\n\n"
+ "UserSource\022\025\n\021USER_SOURCE_OTHER\020\000\022\027\n\023USE"
+ "R_SOURCE_WHISPER\020\001\022\027\n\023USER_SOURCE_PROFIL"
+ "E\020\002\022\032\n\026USER_SOURCE_BATTLE_TAG\020\003\022\024\n\020USER_"
+ "SOURCE_CHAT\020\004\022!\n\035USER_SOURCE_FRIEND_INVI"
+ "TATION\020\005*t\n\nClubSource\022\025\n\021CLUB_SOURCE_OT"
+ "HER\020\000\022\027\n\023CLUB_SOURCE_MESSAGE\020\001\022\031\n\025CLUB_S"
+ "OURCE_CLUB_NAME\020\002\022\033\n\027CLUB_SOURCE_STREAM_"
+ "NAME\020\003B\005H\001\200\001\000", 1053);
+ ::google::protobuf::MessageFactory::InternalRegisterGeneratedFile(
+ "api/client/v2/report_types.proto", &protobuf_RegisterTypes);
+ ReportItem::default_instance_ = new ReportItem();
+ ReportItem_default_oneof_instance_ = new ReportItemOneofInstance;
+ UserOptions::default_instance_ = new UserOptions();
+ ClubOptions::default_instance_ = new ClubOptions();
+ ReportItem::default_instance_->InitAsDefaultInstance();
+ UserOptions::default_instance_->InitAsDefaultInstance();
+ ClubOptions::default_instance_->InitAsDefaultInstance();
+ ::google::protobuf::internal::OnShutdown(&protobuf_ShutdownFile_api_2fclient_2fv2_2freport_5ftypes_2eproto);
+}
+
+// Force AddDescriptors() to be called at static initialization time.
+struct StaticDescriptorInitializer_api_2fclient_2fv2_2freport_5ftypes_2eproto {
+ StaticDescriptorInitializer_api_2fclient_2fv2_2freport_5ftypes_2eproto() {
+ protobuf_AddDesc_api_2fclient_2fv2_2freport_5ftypes_2eproto();
+ }
+} static_descriptor_initializer_api_2fclient_2fv2_2freport_5ftypes_2eproto_;
+const ::google::protobuf::EnumDescriptor* IssueType_descriptor() {
+ protobuf_AssignDescriptorsOnce();
+ return IssueType_descriptor_;
+}
+bool IssueType_IsValid(int value) {
+ switch(value) {
+ case 0:
+ case 1:
+ case 3:
+ case 4:
+ case 5:
+ return true;
+ default:
+ return false;
+ }
+}
+
+const ::google::protobuf::EnumDescriptor* UserSource_descriptor() {
+ protobuf_AssignDescriptorsOnce();
+ return UserSource_descriptor_;
+}
+bool UserSource_IsValid(int value) {
+ switch(value) {
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ case 5:
+ return true;
+ default:
+ return false;
+ }
+}
+
+const ::google::protobuf::EnumDescriptor* ClubSource_descriptor() {
+ protobuf_AssignDescriptorsOnce();
+ return ClubSource_descriptor_;
+}
+bool ClubSource_IsValid(int value) {
+ switch(value) {
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ return true;
+ default:
+ return false;
+ }
+}
+
+
+// ===================================================================
+
+#ifndef _MSC_VER
+const int ReportItem::kMessageIdFieldNumber;
+#endif // !_MSC_VER
+
+ReportItem::ReportItem()
+ : ::google::protobuf::Message() {
+ SharedCtor();
+ // @@protoc_insertion_point(constructor:bgs.protocol.report.v2.ReportItem)
+}
+
+void ReportItem::InitAsDefaultInstance() {
+ ReportItem_default_oneof_instance_->message_id_ = const_cast< ::bgs::protocol::MessageId*>(&::bgs::protocol::MessageId::default_instance());
+}
+
+ReportItem::ReportItem(const ReportItem& from)
+ : ::google::protobuf::Message() {
+ SharedCtor();
+ MergeFrom(from);
+ // @@protoc_insertion_point(copy_constructor:bgs.protocol.report.v2.ReportItem)
+}
+
+void ReportItem::SharedCtor() {
+ _cached_size_ = 0;
+ ::memset(_has_bits_, 0, sizeof(_has_bits_));
+ clear_has_type();
+}
+
+ReportItem::~ReportItem() {
+ // @@protoc_insertion_point(destructor:bgs.protocol.report.v2.ReportItem)
+ SharedDtor();
+}
+
+void ReportItem::SharedDtor() {
+ if (has_type()) {
+ clear_type();
+ }
+ if (this != default_instance_) {
+ }
+}
+
+void ReportItem::SetCachedSize(int size) const {
+ GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+ _cached_size_ = size;
+ GOOGLE_SAFE_CONCURRENT_WRITES_END();
+}
+const ::google::protobuf::Descriptor* ReportItem::descriptor() {
+ protobuf_AssignDescriptorsOnce();
+ return ReportItem_descriptor_;
+}
+
+const ReportItem& ReportItem::default_instance() {
+ if (default_instance_ == NULL) protobuf_AddDesc_api_2fclient_2fv2_2freport_5ftypes_2eproto();
+ return *default_instance_;
+}
+
+ReportItem* ReportItem::default_instance_ = NULL;
+
+ReportItem* ReportItem::New() const {
+ return new ReportItem;
+}
+
+void ReportItem::clear_type() {
+ switch(type_case()) {
+ case kMessageId: {
+ delete type_.message_id_;
+ break;
+ }
+ case TYPE_NOT_SET: {
+ break;
+ }
+ }
+ _oneof_case_[0] = TYPE_NOT_SET;
+}
+
+
+void ReportItem::Clear() {
+ clear_type();
+ ::memset(_has_bits_, 0, sizeof(_has_bits_));
+ mutable_unknown_fields()->Clear();
+}
+
+bool ReportItem::MergePartialFromCodedStream(
+ ::google::protobuf::io::CodedInputStream* input) {
+#define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
+ ::google::protobuf::uint32 tag;
+ // @@protoc_insertion_point(parse_start:bgs.protocol.report.v2.ReportItem)
+ for (;;) {
+ ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
+ tag = p.first;
+ if (!p.second) goto handle_unusual;
+ switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
+ // optional .bgs.protocol.MessageId message_id = 1;
+ case 1: {
+ if (tag == 10) {
+ DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
+ input, mutable_message_id()));
+ } else {
+ goto handle_unusual;
+ }
+ if (input->ExpectAtEnd()) goto success;
+ break;
+ }
+
+ default: {
+ handle_unusual:
+ if (tag == 0 ||
+ ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+ ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
+ goto success;
+ }
+ DO_(::google::protobuf::internal::WireFormat::SkipField(
+ input, tag, mutable_unknown_fields()));
+ break;
+ }
+ }
+ }
+success:
+ // @@protoc_insertion_point(parse_success:bgs.protocol.report.v2.ReportItem)
+ return true;
+failure:
+ // @@protoc_insertion_point(parse_failure:bgs.protocol.report.v2.ReportItem)
+ return false;
+#undef DO_
+}
+
+void ReportItem::SerializeWithCachedSizes(
+ ::google::protobuf::io::CodedOutputStream* output) const {
+ // @@protoc_insertion_point(serialize_start:bgs.protocol.report.v2.ReportItem)
+ // optional .bgs.protocol.MessageId message_id = 1;
+ if (has_message_id()) {
+ ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
+ 1, this->message_id(), output);
+ }
+
+ if (!unknown_fields().empty()) {
+ ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
+ unknown_fields(), output);
+ }
+ // @@protoc_insertion_point(serialize_end:bgs.protocol.report.v2.ReportItem)
+}
+
+::google::protobuf::uint8* ReportItem::SerializeWithCachedSizesToArray(
+ ::google::protobuf::uint8* target) const {
+ // @@protoc_insertion_point(serialize_to_array_start:bgs.protocol.report.v2.ReportItem)
+ // optional .bgs.protocol.MessageId message_id = 1;
+ if (has_message_id()) {
+ target = ::google::protobuf::internal::WireFormatLite::
+ WriteMessageNoVirtualToArray(
+ 1, this->message_id(), target);
+ }
+
+ if (!unknown_fields().empty()) {
+ target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
+ unknown_fields(), target);
+ }
+ // @@protoc_insertion_point(serialize_to_array_end:bgs.protocol.report.v2.ReportItem)
+ return target;
+}
+
+int ReportItem::ByteSize() const {
+ int total_size = 0;
+
+ switch (type_case()) {
+ // optional .bgs.protocol.MessageId message_id = 1;
+ case kMessageId: {
+ total_size += 1 +
+ ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
+ this->message_id());
+ break;
+ }
+ case TYPE_NOT_SET: {
+ break;
+ }
+ }
+ if (!unknown_fields().empty()) {
+ total_size +=
+ ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
+ unknown_fields());
+ }
+ GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+ _cached_size_ = total_size;
+ GOOGLE_SAFE_CONCURRENT_WRITES_END();
+ return total_size;
+}
+
+void ReportItem::MergeFrom(const ::google::protobuf::Message& from) {
+ GOOGLE_CHECK_NE(&from, this);
+ const ReportItem* source =
+ ::google::protobuf::internal::dynamic_cast_if_available<const ReportItem*>(
+ &from);
+ if (source == NULL) {
+ ::google::protobuf::internal::ReflectionOps::Merge(from, this);
+ } else {
+ MergeFrom(*source);
+ }
+}
+
+void ReportItem::MergeFrom(const ReportItem& from) {
+ GOOGLE_CHECK_NE(&from, this);
+ switch (from.type_case()) {
+ case kMessageId: {
+ mutable_message_id()->::bgs::protocol::MessageId::MergeFrom(from.message_id());
+ break;
+ }
+ case TYPE_NOT_SET: {
+ break;
+ }
+ }
+ mutable_unknown_fields()->MergeFrom(from.unknown_fields());
+}
+
+void ReportItem::CopyFrom(const ::google::protobuf::Message& from) {
+ if (&from == this) return;
+ Clear();
+ MergeFrom(from);
+}
+
+void ReportItem::CopyFrom(const ReportItem& from) {
+ if (&from == this) return;
+ Clear();
+ MergeFrom(from);
+}
+
+bool ReportItem::IsInitialized() const {
+
+ return true;
+}
+
+void ReportItem::Swap(ReportItem* other) {
+ if (other != this) {
+ std::swap(type_, other->type_);
+ std::swap(_oneof_case_[0], other->_oneof_case_[0]);
+ std::swap(_has_bits_[0], other->_has_bits_[0]);
+ _unknown_fields_.Swap(&other->_unknown_fields_);
+ std::swap(_cached_size_, other->_cached_size_);
+ }
+}
+
+::google::protobuf::Metadata ReportItem::GetMetadata() const {
+ protobuf_AssignDescriptorsOnce();
+ ::google::protobuf::Metadata metadata;
+ metadata.descriptor = ReportItem_descriptor_;
+ metadata.reflection = ReportItem_reflection_;
+ return metadata;
+}
+
+
+// ===================================================================
+
+#ifndef _MSC_VER
+const int UserOptions::kTargetIdFieldNumber;
+const int UserOptions::kTypeFieldNumber;
+const int UserOptions::kSourceFieldNumber;
+const int UserOptions::kItemFieldNumber;
+#endif // !_MSC_VER
+
+UserOptions::UserOptions()
+ : ::google::protobuf::Message() {
+ SharedCtor();
+ // @@protoc_insertion_point(constructor:bgs.protocol.report.v2.UserOptions)
+}
+
+void UserOptions::InitAsDefaultInstance() {
+ target_id_ = const_cast< ::bgs::protocol::account::v1::AccountId*>(&::bgs::protocol::account::v1::AccountId::default_instance());
+ item_ = const_cast< ::bgs::protocol::report::v2::ReportItem*>(&::bgs::protocol::report::v2::ReportItem::default_instance());
+}
+
+UserOptions::UserOptions(const UserOptions& from)
+ : ::google::protobuf::Message() {
+ SharedCtor();
+ MergeFrom(from);
+ // @@protoc_insertion_point(copy_constructor:bgs.protocol.report.v2.UserOptions)
+}
+
+void UserOptions::SharedCtor() {
+ _cached_size_ = 0;
+ target_id_ = NULL;
+ type_ = 0;
+ source_ = 0;
+ item_ = NULL;
+ ::memset(_has_bits_, 0, sizeof(_has_bits_));
+}
+
+UserOptions::~UserOptions() {
+ // @@protoc_insertion_point(destructor:bgs.protocol.report.v2.UserOptions)
+ SharedDtor();
+}
+
+void UserOptions::SharedDtor() {
+ if (this != default_instance_) {
+ delete target_id_;
+ delete item_;
+ }
+}
+
+void UserOptions::SetCachedSize(int size) const {
+ GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+ _cached_size_ = size;
+ GOOGLE_SAFE_CONCURRENT_WRITES_END();
+}
+const ::google::protobuf::Descriptor* UserOptions::descriptor() {
+ protobuf_AssignDescriptorsOnce();
+ return UserOptions_descriptor_;
+}
+
+const UserOptions& UserOptions::default_instance() {
+ if (default_instance_ == NULL) protobuf_AddDesc_api_2fclient_2fv2_2freport_5ftypes_2eproto();
+ return *default_instance_;
+}
+
+UserOptions* UserOptions::default_instance_ = NULL;
+
+UserOptions* UserOptions::New() const {
+ return new UserOptions;
+}
+
+void UserOptions::Clear() {
+#define OFFSET_OF_FIELD_(f) (reinterpret_cast<char*>( \
+ &reinterpret_cast<UserOptions*>(16)->f) - \
+ reinterpret_cast<char*>(16))
+
+#define ZR_(first, last) do { \
+ size_t f = OFFSET_OF_FIELD_(first); \
+ size_t n = OFFSET_OF_FIELD_(last) - f + sizeof(last); \
+ ::memset(&first, 0, n); \
+ } while (0)
+
+ if (_has_bits_[0 / 32] & 15) {
+ ZR_(type_, source_);
+ if (has_target_id()) {
+ if (target_id_ != NULL) target_id_->::bgs::protocol::account::v1::AccountId::Clear();
+ }
+ if (has_item()) {
+ if (item_ != NULL) item_->::bgs::protocol::report::v2::ReportItem::Clear();
+ }
+ }
+
+#undef OFFSET_OF_FIELD_
+#undef ZR_
+
+ ::memset(_has_bits_, 0, sizeof(_has_bits_));
+ mutable_unknown_fields()->Clear();
+}
+
+bool UserOptions::MergePartialFromCodedStream(
+ ::google::protobuf::io::CodedInputStream* input) {
+#define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
+ ::google::protobuf::uint32 tag;
+ // @@protoc_insertion_point(parse_start:bgs.protocol.report.v2.UserOptions)
+ for (;;) {
+ ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
+ tag = p.first;
+ if (!p.second) goto handle_unusual;
+ switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
+ // optional .bgs.protocol.account.v1.AccountId target_id = 1;
+ case 1: {
+ if (tag == 10) {
+ DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
+ input, mutable_target_id()));
+ } else {
+ goto handle_unusual;
+ }
+ if (input->ExpectTag(16)) goto parse_type;
+ break;
+ }
+
+ // optional .bgs.protocol.report.v2.IssueType type = 2;
+ case 2: {
+ if (tag == 16) {
+ parse_type:
+ int value;
+ DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+ int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
+ input, &value)));
+ if (::bgs::protocol::report::v2::IssueType_IsValid(value)) {
+ set_type(static_cast< ::bgs::protocol::report::v2::IssueType >(value));
+ } else {
+ mutable_unknown_fields()->AddVarint(2, value);
+ }
+ } else {
+ goto handle_unusual;
+ }
+ if (input->ExpectTag(24)) goto parse_source;
+ break;
+ }
+
+ // optional .bgs.protocol.report.v2.UserSource source = 3;
+ case 3: {
+ if (tag == 24) {
+ parse_source:
+ int value;
+ DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+ int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
+ input, &value)));
+ if (::bgs::protocol::report::v2::UserSource_IsValid(value)) {
+ set_source(static_cast< ::bgs::protocol::report::v2::UserSource >(value));
+ } else {
+ mutable_unknown_fields()->AddVarint(3, value);
+ }
+ } else {
+ goto handle_unusual;
+ }
+ if (input->ExpectTag(34)) goto parse_item;
+ break;
+ }
+
+ // optional .bgs.protocol.report.v2.ReportItem item = 4;
+ case 4: {
+ if (tag == 34) {
+ parse_item:
+ DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
+ input, mutable_item()));
+ } else {
+ goto handle_unusual;
+ }
+ if (input->ExpectAtEnd()) goto success;
+ break;
+ }
+
+ default: {
+ handle_unusual:
+ if (tag == 0 ||
+ ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+ ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
+ goto success;
+ }
+ DO_(::google::protobuf::internal::WireFormat::SkipField(
+ input, tag, mutable_unknown_fields()));
+ break;
+ }
+ }
+ }
+success:
+ // @@protoc_insertion_point(parse_success:bgs.protocol.report.v2.UserOptions)
+ return true;
+failure:
+ // @@protoc_insertion_point(parse_failure:bgs.protocol.report.v2.UserOptions)
+ return false;
+#undef DO_
+}
+
+void UserOptions::SerializeWithCachedSizes(
+ ::google::protobuf::io::CodedOutputStream* output) const {
+ // @@protoc_insertion_point(serialize_start:bgs.protocol.report.v2.UserOptions)
+ // optional .bgs.protocol.account.v1.AccountId target_id = 1;
+ if (has_target_id()) {
+ ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
+ 1, this->target_id(), output);
+ }
+
+ // optional .bgs.protocol.report.v2.IssueType type = 2;
+ if (has_type()) {
+ ::google::protobuf::internal::WireFormatLite::WriteEnum(
+ 2, this->type(), output);
+ }
+
+ // optional .bgs.protocol.report.v2.UserSource source = 3;
+ if (has_source()) {
+ ::google::protobuf::internal::WireFormatLite::WriteEnum(
+ 3, this->source(), output);
+ }
+
+ // optional .bgs.protocol.report.v2.ReportItem item = 4;
+ if (has_item()) {
+ ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
+ 4, this->item(), output);
+ }
+
+ if (!unknown_fields().empty()) {
+ ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
+ unknown_fields(), output);
+ }
+ // @@protoc_insertion_point(serialize_end:bgs.protocol.report.v2.UserOptions)
+}
+
+::google::protobuf::uint8* UserOptions::SerializeWithCachedSizesToArray(
+ ::google::protobuf::uint8* target) const {
+ // @@protoc_insertion_point(serialize_to_array_start:bgs.protocol.report.v2.UserOptions)
+ // optional .bgs.protocol.account.v1.AccountId target_id = 1;
+ if (has_target_id()) {
+ target = ::google::protobuf::internal::WireFormatLite::
+ WriteMessageNoVirtualToArray(
+ 1, this->target_id(), target);
+ }
+
+ // optional .bgs.protocol.report.v2.IssueType type = 2;
+ if (has_type()) {
+ target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
+ 2, this->type(), target);
+ }
+
+ // optional .bgs.protocol.report.v2.UserSource source = 3;
+ if (has_source()) {
+ target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
+ 3, this->source(), target);
+ }
+
+ // optional .bgs.protocol.report.v2.ReportItem item = 4;
+ if (has_item()) {
+ target = ::google::protobuf::internal::WireFormatLite::
+ WriteMessageNoVirtualToArray(
+ 4, this->item(), target);
+ }
+
+ if (!unknown_fields().empty()) {
+ target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
+ unknown_fields(), target);
+ }
+ // @@protoc_insertion_point(serialize_to_array_end:bgs.protocol.report.v2.UserOptions)
+ return target;
+}
+
+int UserOptions::ByteSize() const {
+ int total_size = 0;
+
+ if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
+ // optional .bgs.protocol.account.v1.AccountId target_id = 1;
+ if (has_target_id()) {
+ total_size += 1 +
+ ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
+ this->target_id());
+ }
+
+ // optional .bgs.protocol.report.v2.IssueType type = 2;
+ if (has_type()) {
+ total_size += 1 +
+ ::google::protobuf::internal::WireFormatLite::EnumSize(this->type());
+ }
+
+ // optional .bgs.protocol.report.v2.UserSource source = 3;
+ if (has_source()) {
+ total_size += 1 +
+ ::google::protobuf::internal::WireFormatLite::EnumSize(this->source());
+ }
+
+ // optional .bgs.protocol.report.v2.ReportItem item = 4;
+ if (has_item()) {
+ total_size += 1 +
+ ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
+ this->item());
+ }
+
+ }
+ if (!unknown_fields().empty()) {
+ total_size +=
+ ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
+ unknown_fields());
+ }
+ GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+ _cached_size_ = total_size;
+ GOOGLE_SAFE_CONCURRENT_WRITES_END();
+ return total_size;
+}
+
+void UserOptions::MergeFrom(const ::google::protobuf::Message& from) {
+ GOOGLE_CHECK_NE(&from, this);
+ const UserOptions* source =
+ ::google::protobuf::internal::dynamic_cast_if_available<const UserOptions*>(
+ &from);
+ if (source == NULL) {
+ ::google::protobuf::internal::ReflectionOps::Merge(from, this);
+ } else {
+ MergeFrom(*source);
+ }
+}
+
+void UserOptions::MergeFrom(const UserOptions& from) {
+ GOOGLE_CHECK_NE(&from, this);
+ if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
+ if (from.has_target_id()) {
+ mutable_target_id()->::bgs::protocol::account::v1::AccountId::MergeFrom(from.target_id());
+ }
+ if (from.has_type()) {
+ set_type(from.type());
+ }
+ if (from.has_source()) {
+ set_source(from.source());
+ }
+ if (from.has_item()) {
+ mutable_item()->::bgs::protocol::report::v2::ReportItem::MergeFrom(from.item());
+ }
+ }
+ mutable_unknown_fields()->MergeFrom(from.unknown_fields());
+}
+
+void UserOptions::CopyFrom(const ::google::protobuf::Message& from) {
+ if (&from == this) return;
+ Clear();
+ MergeFrom(from);
+}
+
+void UserOptions::CopyFrom(const UserOptions& from) {
+ if (&from == this) return;
+ Clear();
+ MergeFrom(from);
+}
+
+bool UserOptions::IsInitialized() const {
+
+ if (has_target_id()) {
+ if (!this->target_id().IsInitialized()) return false;
+ }
+ return true;
+}
+
+void UserOptions::Swap(UserOptions* other) {
+ if (other != this) {
+ std::swap(target_id_, other->target_id_);
+ std::swap(type_, other->type_);
+ std::swap(source_, other->source_);
+ std::swap(item_, other->item_);
+ std::swap(_has_bits_[0], other->_has_bits_[0]);
+ _unknown_fields_.Swap(&other->_unknown_fields_);
+ std::swap(_cached_size_, other->_cached_size_);
+ }
+}
+
+::google::protobuf::Metadata UserOptions::GetMetadata() const {
+ protobuf_AssignDescriptorsOnce();
+ ::google::protobuf::Metadata metadata;
+ metadata.descriptor = UserOptions_descriptor_;
+ metadata.reflection = UserOptions_reflection_;
+ return metadata;
+}
+
+
+// ===================================================================
+
+#ifndef _MSC_VER
+const int ClubOptions::kClubIdFieldNumber;
+const int ClubOptions::kStreamIdFieldNumber;
+const int ClubOptions::kTypeFieldNumber;
+const int ClubOptions::kSourceFieldNumber;
+const int ClubOptions::kItemFieldNumber;
+#endif // !_MSC_VER
+
+ClubOptions::ClubOptions()
+ : ::google::protobuf::Message() {
+ SharedCtor();
+ // @@protoc_insertion_point(constructor:bgs.protocol.report.v2.ClubOptions)
+}
+
+void ClubOptions::InitAsDefaultInstance() {
+ item_ = const_cast< ::bgs::protocol::report::v2::ReportItem*>(&::bgs::protocol::report::v2::ReportItem::default_instance());
+}
+
+ClubOptions::ClubOptions(const ClubOptions& from)
+ : ::google::protobuf::Message() {
+ SharedCtor();
+ MergeFrom(from);
+ // @@protoc_insertion_point(copy_constructor:bgs.protocol.report.v2.ClubOptions)
+}
+
+void ClubOptions::SharedCtor() {
+ _cached_size_ = 0;
+ club_id_ = GOOGLE_ULONGLONG(0);
+ stream_id_ = GOOGLE_ULONGLONG(0);
+ type_ = 0;
+ source_ = 0;
+ item_ = NULL;
+ ::memset(_has_bits_, 0, sizeof(_has_bits_));
+}
+
+ClubOptions::~ClubOptions() {
+ // @@protoc_insertion_point(destructor:bgs.protocol.report.v2.ClubOptions)
+ SharedDtor();
+}
+
+void ClubOptions::SharedDtor() {
+ if (this != default_instance_) {
+ delete item_;
+ }
+}
+
+void ClubOptions::SetCachedSize(int size) const {
+ GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+ _cached_size_ = size;
+ GOOGLE_SAFE_CONCURRENT_WRITES_END();
+}
+const ::google::protobuf::Descriptor* ClubOptions::descriptor() {
+ protobuf_AssignDescriptorsOnce();
+ return ClubOptions_descriptor_;
+}
+
+const ClubOptions& ClubOptions::default_instance() {
+ if (default_instance_ == NULL) protobuf_AddDesc_api_2fclient_2fv2_2freport_5ftypes_2eproto();
+ return *default_instance_;
+}
+
+ClubOptions* ClubOptions::default_instance_ = NULL;
+
+ClubOptions* ClubOptions::New() const {
+ return new ClubOptions;
+}
+
+void ClubOptions::Clear() {
+#define OFFSET_OF_FIELD_(f) (reinterpret_cast<char*>( \
+ &reinterpret_cast<ClubOptions*>(16)->f) - \
+ reinterpret_cast<char*>(16))
+
+#define ZR_(first, last) do { \
+ size_t f = OFFSET_OF_FIELD_(first); \
+ size_t n = OFFSET_OF_FIELD_(last) - f + sizeof(last); \
+ ::memset(&first, 0, n); \
+ } while (0)
+
+ if (_has_bits_[0 / 32] & 31) {
+ ZR_(club_id_, source_);
+ if (has_item()) {
+ if (item_ != NULL) item_->::bgs::protocol::report::v2::ReportItem::Clear();
+ }
+ }
+
+#undef OFFSET_OF_FIELD_
+#undef ZR_
+
+ ::memset(_has_bits_, 0, sizeof(_has_bits_));
+ mutable_unknown_fields()->Clear();
+}
+
+bool ClubOptions::MergePartialFromCodedStream(
+ ::google::protobuf::io::CodedInputStream* input) {
+#define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
+ ::google::protobuf::uint32 tag;
+ // @@protoc_insertion_point(parse_start:bgs.protocol.report.v2.ClubOptions)
+ for (;;) {
+ ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
+ tag = p.first;
+ if (!p.second) goto handle_unusual;
+ switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
+ // optional uint64 club_id = 1;
+ case 1: {
+ if (tag == 8) {
+ DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+ ::google::protobuf::uint64, ::google::protobuf::internal::WireFormatLite::TYPE_UINT64>(
+ input, &club_id_)));
+ set_has_club_id();
+ } else {
+ goto handle_unusual;
+ }
+ if (input->ExpectTag(16)) goto parse_stream_id;
+ break;
+ }
+
+ // optional uint64 stream_id = 2;
+ case 2: {
+ if (tag == 16) {
+ parse_stream_id:
+ DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+ ::google::protobuf::uint64, ::google::protobuf::internal::WireFormatLite::TYPE_UINT64>(
+ input, &stream_id_)));
+ set_has_stream_id();
+ } else {
+ goto handle_unusual;
+ }
+ if (input->ExpectTag(24)) goto parse_type;
+ break;
+ }
+
+ // optional .bgs.protocol.report.v2.IssueType type = 3;
+ case 3: {
+ if (tag == 24) {
+ parse_type:
+ int value;
+ DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+ int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
+ input, &value)));
+ if (::bgs::protocol::report::v2::IssueType_IsValid(value)) {
+ set_type(static_cast< ::bgs::protocol::report::v2::IssueType >(value));
+ } else {
+ mutable_unknown_fields()->AddVarint(3, value);
+ }
+ } else {
+ goto handle_unusual;
+ }
+ if (input->ExpectTag(32)) goto parse_source;
+ break;
+ }
+
+ // optional .bgs.protocol.report.v2.ClubSource source = 4;
+ case 4: {
+ if (tag == 32) {
+ parse_source:
+ int value;
+ DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+ int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
+ input, &value)));
+ if (::bgs::protocol::report::v2::ClubSource_IsValid(value)) {
+ set_source(static_cast< ::bgs::protocol::report::v2::ClubSource >(value));
+ } else {
+ mutable_unknown_fields()->AddVarint(4, value);
+ }
+ } else {
+ goto handle_unusual;
+ }
+ if (input->ExpectTag(42)) goto parse_item;
+ break;
+ }
+
+ // optional .bgs.protocol.report.v2.ReportItem item = 5;
+ case 5: {
+ if (tag == 42) {
+ parse_item:
+ DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
+ input, mutable_item()));
+ } else {
+ goto handle_unusual;
+ }
+ if (input->ExpectAtEnd()) goto success;
+ break;
+ }
+
+ default: {
+ handle_unusual:
+ if (tag == 0 ||
+ ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
+ ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
+ goto success;
+ }
+ DO_(::google::protobuf::internal::WireFormat::SkipField(
+ input, tag, mutable_unknown_fields()));
+ break;
+ }
+ }
+ }
+success:
+ // @@protoc_insertion_point(parse_success:bgs.protocol.report.v2.ClubOptions)
+ return true;
+failure:
+ // @@protoc_insertion_point(parse_failure:bgs.protocol.report.v2.ClubOptions)
+ return false;
+#undef DO_
+}
+
+void ClubOptions::SerializeWithCachedSizes(
+ ::google::protobuf::io::CodedOutputStream* output) const {
+ // @@protoc_insertion_point(serialize_start:bgs.protocol.report.v2.ClubOptions)
+ // optional uint64 club_id = 1;
+ if (has_club_id()) {
+ ::google::protobuf::internal::WireFormatLite::WriteUInt64(1, this->club_id(), output);
+ }
+
+ // optional uint64 stream_id = 2;
+ if (has_stream_id()) {
+ ::google::protobuf::internal::WireFormatLite::WriteUInt64(2, this->stream_id(), output);
+ }
+
+ // optional .bgs.protocol.report.v2.IssueType type = 3;
+ if (has_type()) {
+ ::google::protobuf::internal::WireFormatLite::WriteEnum(
+ 3, this->type(), output);
+ }
+
+ // optional .bgs.protocol.report.v2.ClubSource source = 4;
+ if (has_source()) {
+ ::google::protobuf::internal::WireFormatLite::WriteEnum(
+ 4, this->source(), output);
+ }
+
+ // optional .bgs.protocol.report.v2.ReportItem item = 5;
+ if (has_item()) {
+ ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
+ 5, this->item(), output);
+ }
+
+ if (!unknown_fields().empty()) {
+ ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
+ unknown_fields(), output);
+ }
+ // @@protoc_insertion_point(serialize_end:bgs.protocol.report.v2.ClubOptions)
+}
+
+::google::protobuf::uint8* ClubOptions::SerializeWithCachedSizesToArray(
+ ::google::protobuf::uint8* target) const {
+ // @@protoc_insertion_point(serialize_to_array_start:bgs.protocol.report.v2.ClubOptions)
+ // optional uint64 club_id = 1;
+ if (has_club_id()) {
+ target = ::google::protobuf::internal::WireFormatLite::WriteUInt64ToArray(1, this->club_id(), target);
+ }
+
+ // optional uint64 stream_id = 2;
+ if (has_stream_id()) {
+ target = ::google::protobuf::internal::WireFormatLite::WriteUInt64ToArray(2, this->stream_id(), target);
+ }
+
+ // optional .bgs.protocol.report.v2.IssueType type = 3;
+ if (has_type()) {
+ target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
+ 3, this->type(), target);
+ }
+
+ // optional .bgs.protocol.report.v2.ClubSource source = 4;
+ if (has_source()) {
+ target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
+ 4, this->source(), target);
+ }
+
+ // optional .bgs.protocol.report.v2.ReportItem item = 5;
+ if (has_item()) {
+ target = ::google::protobuf::internal::WireFormatLite::
+ WriteMessageNoVirtualToArray(
+ 5, this->item(), target);
+ }
+
+ if (!unknown_fields().empty()) {
+ target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
+ unknown_fields(), target);
+ }
+ // @@protoc_insertion_point(serialize_to_array_end:bgs.protocol.report.v2.ClubOptions)
+ return target;
+}
+
+int ClubOptions::ByteSize() const {
+ int total_size = 0;
+
+ if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
+ // optional uint64 club_id = 1;
+ if (has_club_id()) {
+ total_size += 1 +
+ ::google::protobuf::internal::WireFormatLite::UInt64Size(
+ this->club_id());
+ }
+
+ // optional uint64 stream_id = 2;
+ if (has_stream_id()) {
+ total_size += 1 +
+ ::google::protobuf::internal::WireFormatLite::UInt64Size(
+ this->stream_id());
+ }
+
+ // optional .bgs.protocol.report.v2.IssueType type = 3;
+ if (has_type()) {
+ total_size += 1 +
+ ::google::protobuf::internal::WireFormatLite::EnumSize(this->type());
+ }
+
+ // optional .bgs.protocol.report.v2.ClubSource source = 4;
+ if (has_source()) {
+ total_size += 1 +
+ ::google::protobuf::internal::WireFormatLite::EnumSize(this->source());
+ }
+
+ // optional .bgs.protocol.report.v2.ReportItem item = 5;
+ if (has_item()) {
+ total_size += 1 +
+ ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
+ this->item());
+ }
+
+ }
+ if (!unknown_fields().empty()) {
+ total_size +=
+ ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
+ unknown_fields());
+ }
+ GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+ _cached_size_ = total_size;
+ GOOGLE_SAFE_CONCURRENT_WRITES_END();
+ return total_size;
+}
+
+void ClubOptions::MergeFrom(const ::google::protobuf::Message& from) {
+ GOOGLE_CHECK_NE(&from, this);
+ const ClubOptions* source =
+ ::google::protobuf::internal::dynamic_cast_if_available<const ClubOptions*>(
+ &from);
+ if (source == NULL) {
+ ::google::protobuf::internal::ReflectionOps::Merge(from, this);
+ } else {
+ MergeFrom(*source);
+ }
+}
+
+void ClubOptions::MergeFrom(const ClubOptions& from) {
+ GOOGLE_CHECK_NE(&from, this);
+ if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
+ if (from.has_club_id()) {
+ set_club_id(from.club_id());
+ }
+ if (from.has_stream_id()) {
+ set_stream_id(from.stream_id());
+ }
+ if (from.has_type()) {
+ set_type(from.type());
+ }
+ if (from.has_source()) {
+ set_source(from.source());
+ }
+ if (from.has_item()) {
+ mutable_item()->::bgs::protocol::report::v2::ReportItem::MergeFrom(from.item());
+ }
+ }
+ mutable_unknown_fields()->MergeFrom(from.unknown_fields());
+}
+
+void ClubOptions::CopyFrom(const ::google::protobuf::Message& from) {
+ if (&from == this) return;
+ Clear();
+ MergeFrom(from);
+}
+
+void ClubOptions::CopyFrom(const ClubOptions& from) {
+ if (&from == this) return;
+ Clear();
+ MergeFrom(from);
+}
+
+bool ClubOptions::IsInitialized() const {
+
+ return true;
+}
+
+void ClubOptions::Swap(ClubOptions* other) {
+ if (other != this) {
+ std::swap(club_id_, other->club_id_);
+ std::swap(stream_id_, other->stream_id_);
+ std::swap(type_, other->type_);
+ std::swap(source_, other->source_);
+ std::swap(item_, other->item_);
+ std::swap(_has_bits_[0], other->_has_bits_[0]);
+ _unknown_fields_.Swap(&other->_unknown_fields_);
+ std::swap(_cached_size_, other->_cached_size_);
+ }
+}
+
+::google::protobuf::Metadata ClubOptions::GetMetadata() const {
+ protobuf_AssignDescriptorsOnce();
+ ::google::protobuf::Metadata metadata;
+ metadata.descriptor = ClubOptions_descriptor_;
+ metadata.reflection = ClubOptions_reflection_;
+ return metadata;
+}
+
+
+// @@protoc_insertion_point(namespace_scope)
+
+} // namespace v2
+} // namespace report
+} // namespace protocol
+} // namespace bgs
+
+// @@protoc_insertion_point(global_scope)
diff --git a/src/server/proto/Client/api/client/v2/report_types.pb.h b/src/server/proto/Client/api/client/v2/report_types.pb.h
new file mode 100644
index 00000000000..bfaa6277203
--- /dev/null
+++ b/src/server/proto/Client/api/client/v2/report_types.pb.h
@@ -0,0 +1,817 @@
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: api/client/v2/report_types.proto
+
+#ifndef PROTOBUF_api_2fclient_2fv2_2freport_5ftypes_2eproto__INCLUDED
+#define PROTOBUF_api_2fclient_2fv2_2freport_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/generated_enum_reflection.h>
+#include <google/protobuf/unknown_field_set.h>
+#include "account_types.pb.h"
+#include "rpc_types.pb.h"
+#include "message_types.pb.h"
+#include "Define.h" // for TC_PROTO_API
+// @@protoc_insertion_point(includes)
+
+namespace bgs {
+namespace protocol {
+namespace report {
+namespace v2 {
+
+// Internal implementation detail -- do not call these.
+void TC_PROTO_API protobuf_AddDesc_api_2fclient_2fv2_2freport_5ftypes_2eproto();
+void protobuf_AssignDesc_api_2fclient_2fv2_2freport_5ftypes_2eproto();
+void protobuf_ShutdownFile_api_2fclient_2fv2_2freport_5ftypes_2eproto();
+
+class ReportItem;
+class UserOptions;
+class ClubOptions;
+
+enum IssueType {
+ ISSUE_TYPE_SPAM = 0,
+ ISSUE_TYPE_HARASSMENT = 1,
+ ISSUE_TYPE_OFFENSIVE_CONTENT = 3,
+ ISSUE_TYPE_HACKING = 4,
+ ISSUE_TYPE_BOTTING = 5
+};
+TC_PROTO_API bool IssueType_IsValid(int value);
+const IssueType IssueType_MIN = ISSUE_TYPE_SPAM;
+const IssueType IssueType_MAX = ISSUE_TYPE_BOTTING;
+const int IssueType_ARRAYSIZE = IssueType_MAX + 1;
+
+TC_PROTO_API const ::google::protobuf::EnumDescriptor* IssueType_descriptor();
+inline const ::std::string& IssueType_Name(IssueType value) {
+ return ::google::protobuf::internal::NameOfEnum(
+ IssueType_descriptor(), value);
+}
+inline bool IssueType_Parse(
+ const ::std::string& name, IssueType* value) {
+ return ::google::protobuf::internal::ParseNamedEnum<IssueType>(
+ IssueType_descriptor(), name, value);
+}
+enum UserSource {
+ USER_SOURCE_OTHER = 0,
+ USER_SOURCE_WHISPER = 1,
+ USER_SOURCE_PROFILE = 2,
+ USER_SOURCE_BATTLE_TAG = 3,
+ USER_SOURCE_CHAT = 4,
+ USER_SOURCE_FRIEND_INVITATION = 5
+};
+TC_PROTO_API bool UserSource_IsValid(int value);
+const UserSource UserSource_MIN = USER_SOURCE_OTHER;
+const UserSource UserSource_MAX = USER_SOURCE_FRIEND_INVITATION;
+const int UserSource_ARRAYSIZE = UserSource_MAX + 1;
+
+TC_PROTO_API const ::google::protobuf::EnumDescriptor* UserSource_descriptor();
+inline const ::std::string& UserSource_Name(UserSource value) {
+ return ::google::protobuf::internal::NameOfEnum(
+ UserSource_descriptor(), value);
+}
+inline bool UserSource_Parse(
+ const ::std::string& name, UserSource* value) {
+ return ::google::protobuf::internal::ParseNamedEnum<UserSource>(
+ UserSource_descriptor(), name, value);
+}
+enum ClubSource {
+ CLUB_SOURCE_OTHER = 0,
+ CLUB_SOURCE_MESSAGE = 1,
+ CLUB_SOURCE_CLUB_NAME = 2,
+ CLUB_SOURCE_STREAM_NAME = 3
+};
+TC_PROTO_API bool ClubSource_IsValid(int value);
+const ClubSource ClubSource_MIN = CLUB_SOURCE_OTHER;
+const ClubSource ClubSource_MAX = CLUB_SOURCE_STREAM_NAME;
+const int ClubSource_ARRAYSIZE = ClubSource_MAX + 1;
+
+TC_PROTO_API const ::google::protobuf::EnumDescriptor* ClubSource_descriptor();
+inline const ::std::string& ClubSource_Name(ClubSource value) {
+ return ::google::protobuf::internal::NameOfEnum(
+ ClubSource_descriptor(), value);
+}
+inline bool ClubSource_Parse(
+ const ::std::string& name, ClubSource* value) {
+ return ::google::protobuf::internal::ParseNamedEnum<ClubSource>(
+ ClubSource_descriptor(), name, value);
+}
+// ===================================================================
+
+class TC_PROTO_API ReportItem : public ::google::protobuf::Message {
+ public:
+ ReportItem();
+ virtual ~ReportItem();
+
+ ReportItem(const ReportItem& from);
+
+ inline ReportItem& operator=(const ReportItem& 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 ReportItem& default_instance();
+
+ enum TypeCase {
+ kMessageId = 1,
+ TYPE_NOT_SET = 0,
+ };
+
+ void Swap(ReportItem* other);
+
+ // implements Message ----------------------------------------------
+
+ ReportItem* New() const;
+ void CopyFrom(const ::google::protobuf::Message& from);
+ void MergeFrom(const ::google::protobuf::Message& from);
+ void CopyFrom(const ReportItem& from);
+ void MergeFrom(const ReportItem& 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.MessageId message_id = 1;
+ inline bool has_message_id() const;
+ inline void clear_message_id();
+ static const int kMessageIdFieldNumber = 1;
+ inline const ::bgs::protocol::MessageId& message_id() const;
+ inline ::bgs::protocol::MessageId* mutable_message_id();
+ inline ::bgs::protocol::MessageId* release_message_id();
+ inline void set_allocated_message_id(::bgs::protocol::MessageId* message_id);
+
+ inline TypeCase type_case() const;
+ // @@protoc_insertion_point(class_scope:bgs.protocol.report.v2.ReportItem)
+ private:
+ inline void set_has_message_id();
+
+ inline bool has_type();
+ void clear_type();
+ inline void clear_has_type();
+
+ ::google::protobuf::UnknownFieldSet _unknown_fields_;
+
+ ::google::protobuf::uint32 _has_bits_[1];
+ mutable int _cached_size_;
+ union TypeUnion {
+ ::bgs::protocol::MessageId* message_id_;
+ } type_;
+ ::google::protobuf::uint32 _oneof_case_[1];
+
+ friend void TC_PROTO_API protobuf_AddDesc_api_2fclient_2fv2_2freport_5ftypes_2eproto();
+ friend void protobuf_AssignDesc_api_2fclient_2fv2_2freport_5ftypes_2eproto();
+ friend void protobuf_ShutdownFile_api_2fclient_2fv2_2freport_5ftypes_2eproto();
+
+ void InitAsDefaultInstance();
+ static ReportItem* default_instance_;
+};
+// -------------------------------------------------------------------
+
+class TC_PROTO_API UserOptions : public ::google::protobuf::Message {
+ public:
+ UserOptions();
+ virtual ~UserOptions();
+
+ UserOptions(const UserOptions& from);
+
+ inline UserOptions& operator=(const UserOptions& 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 UserOptions& default_instance();
+
+ void Swap(UserOptions* other);
+
+ // implements Message ----------------------------------------------
+
+ UserOptions* New() const;
+ void CopyFrom(const ::google::protobuf::Message& from);
+ void MergeFrom(const ::google::protobuf::Message& from);
+ void CopyFrom(const UserOptions& from);
+ void MergeFrom(const UserOptions& 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.account.v1.AccountId target_id = 1;
+ inline bool has_target_id() const;
+ inline void clear_target_id();
+ static const int kTargetIdFieldNumber = 1;
+ inline const ::bgs::protocol::account::v1::AccountId& target_id() const;
+ inline ::bgs::protocol::account::v1::AccountId* mutable_target_id();
+ inline ::bgs::protocol::account::v1::AccountId* release_target_id();
+ inline void set_allocated_target_id(::bgs::protocol::account::v1::AccountId* target_id);
+
+ // optional .bgs.protocol.report.v2.IssueType type = 2;
+ inline bool has_type() const;
+ inline void clear_type();
+ static const int kTypeFieldNumber = 2;
+ inline ::bgs::protocol::report::v2::IssueType type() const;
+ inline void set_type(::bgs::protocol::report::v2::IssueType value);
+
+ // optional .bgs.protocol.report.v2.UserSource source = 3;
+ inline bool has_source() const;
+ inline void clear_source();
+ static const int kSourceFieldNumber = 3;
+ inline ::bgs::protocol::report::v2::UserSource source() const;
+ inline void set_source(::bgs::protocol::report::v2::UserSource value);
+
+ // optional .bgs.protocol.report.v2.ReportItem item = 4;
+ inline bool has_item() const;
+ inline void clear_item();
+ static const int kItemFieldNumber = 4;
+ inline const ::bgs::protocol::report::v2::ReportItem& item() const;
+ inline ::bgs::protocol::report::v2::ReportItem* mutable_item();
+ inline ::bgs::protocol::report::v2::ReportItem* release_item();
+ inline void set_allocated_item(::bgs::protocol::report::v2::ReportItem* item);
+
+ // @@protoc_insertion_point(class_scope:bgs.protocol.report.v2.UserOptions)
+ private:
+ inline void set_has_target_id();
+ inline void clear_has_target_id();
+ inline void set_has_type();
+ inline void clear_has_type();
+ inline void set_has_source();
+ inline void clear_has_source();
+ inline void set_has_item();
+ inline void clear_has_item();
+
+ ::google::protobuf::UnknownFieldSet _unknown_fields_;
+
+ ::google::protobuf::uint32 _has_bits_[1];
+ mutable int _cached_size_;
+ ::bgs::protocol::account::v1::AccountId* target_id_;
+ int type_;
+ int source_;
+ ::bgs::protocol::report::v2::ReportItem* item_;
+ friend void TC_PROTO_API protobuf_AddDesc_api_2fclient_2fv2_2freport_5ftypes_2eproto();
+ friend void protobuf_AssignDesc_api_2fclient_2fv2_2freport_5ftypes_2eproto();
+ friend void protobuf_ShutdownFile_api_2fclient_2fv2_2freport_5ftypes_2eproto();
+
+ void InitAsDefaultInstance();
+ static UserOptions* default_instance_;
+};
+// -------------------------------------------------------------------
+
+class TC_PROTO_API ClubOptions : public ::google::protobuf::Message {
+ public:
+ ClubOptions();
+ virtual ~ClubOptions();
+
+ ClubOptions(const ClubOptions& from);
+
+ inline ClubOptions& operator=(const ClubOptions& 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 ClubOptions& default_instance();
+
+ void Swap(ClubOptions* other);
+
+ // implements Message ----------------------------------------------
+
+ ClubOptions* New() const;
+ void CopyFrom(const ::google::protobuf::Message& from);
+ void MergeFrom(const ::google::protobuf::Message& from);
+ void CopyFrom(const ClubOptions& from);
+ void MergeFrom(const ClubOptions& 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 uint64 club_id = 1;
+ inline bool has_club_id() const;
+ inline void clear_club_id();
+ static const int kClubIdFieldNumber = 1;
+ inline ::google::protobuf::uint64 club_id() const;
+ inline void set_club_id(::google::protobuf::uint64 value);
+
+ // optional uint64 stream_id = 2;
+ inline bool has_stream_id() const;
+ inline void clear_stream_id();
+ static const int kStreamIdFieldNumber = 2;
+ inline ::google::protobuf::uint64 stream_id() const;
+ inline void set_stream_id(::google::protobuf::uint64 value);
+
+ // optional .bgs.protocol.report.v2.IssueType type = 3;
+ inline bool has_type() const;
+ inline void clear_type();
+ static const int kTypeFieldNumber = 3;
+ inline ::bgs::protocol::report::v2::IssueType type() const;
+ inline void set_type(::bgs::protocol::report::v2::IssueType value);
+
+ // optional .bgs.protocol.report.v2.ClubSource source = 4;
+ inline bool has_source() const;
+ inline void clear_source();
+ static const int kSourceFieldNumber = 4;
+ inline ::bgs::protocol::report::v2::ClubSource source() const;
+ inline void set_source(::bgs::protocol::report::v2::ClubSource value);
+
+ // optional .bgs.protocol.report.v2.ReportItem item = 5;
+ inline bool has_item() const;
+ inline void clear_item();
+ static const int kItemFieldNumber = 5;
+ inline const ::bgs::protocol::report::v2::ReportItem& item() const;
+ inline ::bgs::protocol::report::v2::ReportItem* mutable_item();
+ inline ::bgs::protocol::report::v2::ReportItem* release_item();
+ inline void set_allocated_item(::bgs::protocol::report::v2::ReportItem* item);
+
+ // @@protoc_insertion_point(class_scope:bgs.protocol.report.v2.ClubOptions)
+ private:
+ inline void set_has_club_id();
+ inline void clear_has_club_id();
+ inline void set_has_stream_id();
+ inline void clear_has_stream_id();
+ inline void set_has_type();
+ inline void clear_has_type();
+ inline void set_has_source();
+ inline void clear_has_source();
+ inline void set_has_item();
+ inline void clear_has_item();
+
+ ::google::protobuf::UnknownFieldSet _unknown_fields_;
+
+ ::google::protobuf::uint32 _has_bits_[1];
+ mutable int _cached_size_;
+ ::google::protobuf::uint64 club_id_;
+ ::google::protobuf::uint64 stream_id_;
+ int type_;
+ int source_;
+ ::bgs::protocol::report::v2::ReportItem* item_;
+ friend void TC_PROTO_API protobuf_AddDesc_api_2fclient_2fv2_2freport_5ftypes_2eproto();
+ friend void protobuf_AssignDesc_api_2fclient_2fv2_2freport_5ftypes_2eproto();
+ friend void protobuf_ShutdownFile_api_2fclient_2fv2_2freport_5ftypes_2eproto();
+
+ void InitAsDefaultInstance();
+ static ClubOptions* default_instance_;
+};
+// ===================================================================
+
+
+// ===================================================================
+
+
+// ===================================================================
+
+// ReportItem
+
+// optional .bgs.protocol.MessageId message_id = 1;
+inline bool ReportItem::has_message_id() const {
+ return type_case() == kMessageId;
+}
+inline void ReportItem::set_has_message_id() {
+ _oneof_case_[0] = kMessageId;
+}
+inline void ReportItem::clear_message_id() {
+ if (has_message_id()) {
+ delete type_.message_id_;
+ clear_has_type();
+ }
+}
+inline const ::bgs::protocol::MessageId& ReportItem::message_id() const {
+ return has_message_id() ? *type_.message_id_
+ : ::bgs::protocol::MessageId::default_instance();
+}
+inline ::bgs::protocol::MessageId* ReportItem::mutable_message_id() {
+ if (!has_message_id()) {
+ clear_type();
+ set_has_message_id();
+ type_.message_id_ = new ::bgs::protocol::MessageId;
+ }
+ return type_.message_id_;
+}
+inline ::bgs::protocol::MessageId* ReportItem::release_message_id() {
+ if (has_message_id()) {
+ clear_has_type();
+ ::bgs::protocol::MessageId* temp = type_.message_id_;
+ type_.message_id_ = NULL;
+ return temp;
+ } else {
+ return NULL;
+ }
+}
+inline void ReportItem::set_allocated_message_id(::bgs::protocol::MessageId* message_id) {
+ clear_type();
+ if (message_id) {
+ set_has_message_id();
+ type_.message_id_ = message_id;
+ }
+}
+
+inline bool ReportItem::has_type() {
+ return type_case() != TYPE_NOT_SET;
+}
+inline void ReportItem::clear_has_type() {
+ _oneof_case_[0] = TYPE_NOT_SET;
+}
+inline ReportItem::TypeCase ReportItem::type_case() const {
+ return ReportItem::TypeCase(_oneof_case_[0]);
+}
+// -------------------------------------------------------------------
+
+// UserOptions
+
+// optional .bgs.protocol.account.v1.AccountId target_id = 1;
+inline bool UserOptions::has_target_id() const {
+ return (_has_bits_[0] & 0x00000001u) != 0;
+}
+inline void UserOptions::set_has_target_id() {
+ _has_bits_[0] |= 0x00000001u;
+}
+inline void UserOptions::clear_has_target_id() {
+ _has_bits_[0] &= ~0x00000001u;
+}
+inline void UserOptions::clear_target_id() {
+ if (target_id_ != NULL) target_id_->::bgs::protocol::account::v1::AccountId::Clear();
+ clear_has_target_id();
+}
+inline const ::bgs::protocol::account::v1::AccountId& UserOptions::target_id() const {
+ // @@protoc_insertion_point(field_get:bgs.protocol.report.v2.UserOptions.target_id)
+ return target_id_ != NULL ? *target_id_ : *default_instance_->target_id_;
+}
+inline ::bgs::protocol::account::v1::AccountId* UserOptions::mutable_target_id() {
+ set_has_target_id();
+ if (target_id_ == NULL) target_id_ = new ::bgs::protocol::account::v1::AccountId;
+ // @@protoc_insertion_point(field_mutable:bgs.protocol.report.v2.UserOptions.target_id)
+ return target_id_;
+}
+inline ::bgs::protocol::account::v1::AccountId* UserOptions::release_target_id() {
+ clear_has_target_id();
+ ::bgs::protocol::account::v1::AccountId* temp = target_id_;
+ target_id_ = NULL;
+ return temp;
+}
+inline void UserOptions::set_allocated_target_id(::bgs::protocol::account::v1::AccountId* 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.report.v2.UserOptions.target_id)
+}
+
+// optional .bgs.protocol.report.v2.IssueType type = 2;
+inline bool UserOptions::has_type() const {
+ return (_has_bits_[0] & 0x00000002u) != 0;
+}
+inline void UserOptions::set_has_type() {
+ _has_bits_[0] |= 0x00000002u;
+}
+inline void UserOptions::clear_has_type() {
+ _has_bits_[0] &= ~0x00000002u;
+}
+inline void UserOptions::clear_type() {
+ type_ = 0;
+ clear_has_type();
+}
+inline ::bgs::protocol::report::v2::IssueType UserOptions::type() const {
+ // @@protoc_insertion_point(field_get:bgs.protocol.report.v2.UserOptions.type)
+ return static_cast< ::bgs::protocol::report::v2::IssueType >(type_);
+}
+inline void UserOptions::set_type(::bgs::protocol::report::v2::IssueType value) {
+ assert(::bgs::protocol::report::v2::IssueType_IsValid(value));
+ set_has_type();
+ type_ = value;
+ // @@protoc_insertion_point(field_set:bgs.protocol.report.v2.UserOptions.type)
+}
+
+// optional .bgs.protocol.report.v2.UserSource source = 3;
+inline bool UserOptions::has_source() const {
+ return (_has_bits_[0] & 0x00000004u) != 0;
+}
+inline void UserOptions::set_has_source() {
+ _has_bits_[0] |= 0x00000004u;
+}
+inline void UserOptions::clear_has_source() {
+ _has_bits_[0] &= ~0x00000004u;
+}
+inline void UserOptions::clear_source() {
+ source_ = 0;
+ clear_has_source();
+}
+inline ::bgs::protocol::report::v2::UserSource UserOptions::source() const {
+ // @@protoc_insertion_point(field_get:bgs.protocol.report.v2.UserOptions.source)
+ return static_cast< ::bgs::protocol::report::v2::UserSource >(source_);
+}
+inline void UserOptions::set_source(::bgs::protocol::report::v2::UserSource value) {
+ assert(::bgs::protocol::report::v2::UserSource_IsValid(value));
+ set_has_source();
+ source_ = value;
+ // @@protoc_insertion_point(field_set:bgs.protocol.report.v2.UserOptions.source)
+}
+
+// optional .bgs.protocol.report.v2.ReportItem item = 4;
+inline bool UserOptions::has_item() const {
+ return (_has_bits_[0] & 0x00000008u) != 0;
+}
+inline void UserOptions::set_has_item() {
+ _has_bits_[0] |= 0x00000008u;
+}
+inline void UserOptions::clear_has_item() {
+ _has_bits_[0] &= ~0x00000008u;
+}
+inline void UserOptions::clear_item() {
+ if (item_ != NULL) item_->::bgs::protocol::report::v2::ReportItem::Clear();
+ clear_has_item();
+}
+inline const ::bgs::protocol::report::v2::ReportItem& UserOptions::item() const {
+ // @@protoc_insertion_point(field_get:bgs.protocol.report.v2.UserOptions.item)
+ return item_ != NULL ? *item_ : *default_instance_->item_;
+}
+inline ::bgs::protocol::report::v2::ReportItem* UserOptions::mutable_item() {
+ set_has_item();
+ if (item_ == NULL) item_ = new ::bgs::protocol::report::v2::ReportItem;
+ // @@protoc_insertion_point(field_mutable:bgs.protocol.report.v2.UserOptions.item)
+ return item_;
+}
+inline ::bgs::protocol::report::v2::ReportItem* UserOptions::release_item() {
+ clear_has_item();
+ ::bgs::protocol::report::v2::ReportItem* temp = item_;
+ item_ = NULL;
+ return temp;
+}
+inline void UserOptions::set_allocated_item(::bgs::protocol::report::v2::ReportItem* item) {
+ delete item_;
+ item_ = item;
+ if (item) {
+ set_has_item();
+ } else {
+ clear_has_item();
+ }
+ // @@protoc_insertion_point(field_set_allocated:bgs.protocol.report.v2.UserOptions.item)
+}
+
+// -------------------------------------------------------------------
+
+// ClubOptions
+
+// optional uint64 club_id = 1;
+inline bool ClubOptions::has_club_id() const {
+ return (_has_bits_[0] & 0x00000001u) != 0;
+}
+inline void ClubOptions::set_has_club_id() {
+ _has_bits_[0] |= 0x00000001u;
+}
+inline void ClubOptions::clear_has_club_id() {
+ _has_bits_[0] &= ~0x00000001u;
+}
+inline void ClubOptions::clear_club_id() {
+ club_id_ = GOOGLE_ULONGLONG(0);
+ clear_has_club_id();
+}
+inline ::google::protobuf::uint64 ClubOptions::club_id() const {
+ // @@protoc_insertion_point(field_get:bgs.protocol.report.v2.ClubOptions.club_id)
+ return club_id_;
+}
+inline void ClubOptions::set_club_id(::google::protobuf::uint64 value) {
+ set_has_club_id();
+ club_id_ = value;
+ // @@protoc_insertion_point(field_set:bgs.protocol.report.v2.ClubOptions.club_id)
+}
+
+// optional uint64 stream_id = 2;
+inline bool ClubOptions::has_stream_id() const {
+ return (_has_bits_[0] & 0x00000002u) != 0;
+}
+inline void ClubOptions::set_has_stream_id() {
+ _has_bits_[0] |= 0x00000002u;
+}
+inline void ClubOptions::clear_has_stream_id() {
+ _has_bits_[0] &= ~0x00000002u;
+}
+inline void ClubOptions::clear_stream_id() {
+ stream_id_ = GOOGLE_ULONGLONG(0);
+ clear_has_stream_id();
+}
+inline ::google::protobuf::uint64 ClubOptions::stream_id() const {
+ // @@protoc_insertion_point(field_get:bgs.protocol.report.v2.ClubOptions.stream_id)
+ return stream_id_;
+}
+inline void ClubOptions::set_stream_id(::google::protobuf::uint64 value) {
+ set_has_stream_id();
+ stream_id_ = value;
+ // @@protoc_insertion_point(field_set:bgs.protocol.report.v2.ClubOptions.stream_id)
+}
+
+// optional .bgs.protocol.report.v2.IssueType type = 3;
+inline bool ClubOptions::has_type() const {
+ return (_has_bits_[0] & 0x00000004u) != 0;
+}
+inline void ClubOptions::set_has_type() {
+ _has_bits_[0] |= 0x00000004u;
+}
+inline void ClubOptions::clear_has_type() {
+ _has_bits_[0] &= ~0x00000004u;
+}
+inline void ClubOptions::clear_type() {
+ type_ = 0;
+ clear_has_type();
+}
+inline ::bgs::protocol::report::v2::IssueType ClubOptions::type() const {
+ // @@protoc_insertion_point(field_get:bgs.protocol.report.v2.ClubOptions.type)
+ return static_cast< ::bgs::protocol::report::v2::IssueType >(type_);
+}
+inline void ClubOptions::set_type(::bgs::protocol::report::v2::IssueType value) {
+ assert(::bgs::protocol::report::v2::IssueType_IsValid(value));
+ set_has_type();
+ type_ = value;
+ // @@protoc_insertion_point(field_set:bgs.protocol.report.v2.ClubOptions.type)
+}
+
+// optional .bgs.protocol.report.v2.ClubSource source = 4;
+inline bool ClubOptions::has_source() const {
+ return (_has_bits_[0] & 0x00000008u) != 0;
+}
+inline void ClubOptions::set_has_source() {
+ _has_bits_[0] |= 0x00000008u;
+}
+inline void ClubOptions::clear_has_source() {
+ _has_bits_[0] &= ~0x00000008u;
+}
+inline void ClubOptions::clear_source() {
+ source_ = 0;
+ clear_has_source();
+}
+inline ::bgs::protocol::report::v2::ClubSource ClubOptions::source() const {
+ // @@protoc_insertion_point(field_get:bgs.protocol.report.v2.ClubOptions.source)
+ return static_cast< ::bgs::protocol::report::v2::ClubSource >(source_);
+}
+inline void ClubOptions::set_source(::bgs::protocol::report::v2::ClubSource value) {
+ assert(::bgs::protocol::report::v2::ClubSource_IsValid(value));
+ set_has_source();
+ source_ = value;
+ // @@protoc_insertion_point(field_set:bgs.protocol.report.v2.ClubOptions.source)
+}
+
+// optional .bgs.protocol.report.v2.ReportItem item = 5;
+inline bool ClubOptions::has_item() const {
+ return (_has_bits_[0] & 0x00000010u) != 0;
+}
+inline void ClubOptions::set_has_item() {
+ _has_bits_[0] |= 0x00000010u;
+}
+inline void ClubOptions::clear_has_item() {
+ _has_bits_[0] &= ~0x00000010u;
+}
+inline void ClubOptions::clear_item() {
+ if (item_ != NULL) item_->::bgs::protocol::report::v2::ReportItem::Clear();
+ clear_has_item();
+}
+inline const ::bgs::protocol::report::v2::ReportItem& ClubOptions::item() const {
+ // @@protoc_insertion_point(field_get:bgs.protocol.report.v2.ClubOptions.item)
+ return item_ != NULL ? *item_ : *default_instance_->item_;
+}
+inline ::bgs::protocol::report::v2::ReportItem* ClubOptions::mutable_item() {
+ set_has_item();
+ if (item_ == NULL) item_ = new ::bgs::protocol::report::v2::ReportItem;
+ // @@protoc_insertion_point(field_mutable:bgs.protocol.report.v2.ClubOptions.item)
+ return item_;
+}
+inline ::bgs::protocol::report::v2::ReportItem* ClubOptions::release_item() {
+ clear_has_item();
+ ::bgs::protocol::report::v2::ReportItem* temp = item_;
+ item_ = NULL;
+ return temp;
+}
+inline void ClubOptions::set_allocated_item(::bgs::protocol::report::v2::ReportItem* item) {
+ delete item_;
+ item_ = item;
+ if (item) {
+ set_has_item();
+ } else {
+ clear_has_item();
+ }
+ // @@protoc_insertion_point(field_set_allocated:bgs.protocol.report.v2.ClubOptions.item)
+}
+
+
+// @@protoc_insertion_point(namespace_scope)
+
+} // namespace v2
+} // namespace report
+} // namespace protocol
+} // namespace bgs
+
+#ifndef SWIG
+namespace google {
+namespace protobuf {
+
+template <> struct is_proto_enum< ::bgs::protocol::report::v2::IssueType> : ::google::protobuf::internal::true_type {};
+template <>
+inline const EnumDescriptor* GetEnumDescriptor< ::bgs::protocol::report::v2::IssueType>() {
+ return ::bgs::protocol::report::v2::IssueType_descriptor();
+}
+template <> struct is_proto_enum< ::bgs::protocol::report::v2::UserSource> : ::google::protobuf::internal::true_type {};
+template <>
+inline const EnumDescriptor* GetEnumDescriptor< ::bgs::protocol::report::v2::UserSource>() {
+ return ::bgs::protocol::report::v2::UserSource_descriptor();
+}
+template <> struct is_proto_enum< ::bgs::protocol::report::v2::ClubSource> : ::google::protobuf::internal::true_type {};
+template <>
+inline const EnumDescriptor* GetEnumDescriptor< ::bgs::protocol::report::v2::ClubSource>() {
+ return ::bgs::protocol::report::v2::ClubSource_descriptor();
+}
+
+} // namespace google
+} // namespace protobuf
+#endif // SWIG
+
+// @@protoc_insertion_point(global_scope)
+
+#endif // PROTOBUF_api_2fclient_2fv2_2freport_5ftypes_2eproto__INCLUDED