diff options
Diffstat (limited to 'src')
16 files changed, 6007 insertions, 0 deletions
diff --git a/src/server/bnetserver/Services/ServiceDispatcher.cpp b/src/server/bnetserver/Services/ServiceDispatcher.cpp index 27f38b6124a..dbef19a8b03 100644 --- a/src/server/bnetserver/Services/ServiceDispatcher.cpp +++ b/src/server/bnetserver/Services/ServiceDispatcher.cpp @@ -27,8 +27,10 @@ Battlenet::ServiceDispatcher::ServiceDispatcher() AddService<Services::Connection>(); AddService<Service<friends::v1::FriendsService>>(); AddService<Services::GameUtilities>(); + AddService<Service<notification::v1::NotificationService>>(); AddService<Service<notification::v2::client::NotificationService>>(); AddService<Service<presence::v1::PresenceService>>(); + AddService<Service<report::v1::ReportService>>(); AddService<Service<report::v2::ReportService>>(); AddService<Service<resources::v1::ResourcesService>>(); AddService<Service<whisper::v2::client::WhisperService>>(); diff --git a/src/server/bnetserver/Services/ServiceDispatcher.h b/src/server/bnetserver/Services/ServiceDispatcher.h index 65fd06abac4..d21bdb9e7ed 100644 --- a/src/server/bnetserver/Services/ServiceDispatcher.h +++ b/src/server/bnetserver/Services/ServiceDispatcher.h @@ -31,9 +31,12 @@ #include "ConnectionService.h" #include "friends_service.pb.h" #include "GameUtilitiesService.h" +#include "notification_service.pb.h" +#include "api/client/v2/notification_listener.pb.h" #include "api/client/v2/notification_service.pb.h" #include "presence_listener.pb.h" #include "presence_service.pb.h" +#include "report_service.pb.h" #include "api/client/v2/report_service.pb.h" #include "resource_service.pb.h" #include "api/client/v2/whisper_listener.pb.h" diff --git a/src/server/game/Services/WorldserverServiceDispatcher.cpp b/src/server/game/Services/WorldserverServiceDispatcher.cpp index a91ba05e994..e4b37ba912e 100644 --- a/src/server/game/Services/WorldserverServiceDispatcher.cpp +++ b/src/server/game/Services/WorldserverServiceDispatcher.cpp @@ -27,8 +27,10 @@ Battlenet::WorldserverServiceDispatcher::WorldserverServiceDispatcher() AddService<WorldserverService<connection::v1::ConnectionService>>(); AddService<WorldserverService<friends::v1::FriendsService>>(); AddService<Services::GameUtilitiesService>(); + AddService<WorldserverService<notification::v1::NotificationService>>(); AddService<WorldserverService<notification::v2::client::NotificationService>>(); AddService<WorldserverService<presence::v1::PresenceService>>(); + AddService<WorldserverService<report::v1::ReportService>>(); AddService<WorldserverService<report::v2::ReportService>>(); AddService<WorldserverService<resources::v1::ResourcesService>>(); AddService<WorldserverService<whisper::v2::client::WhisperService>>(); diff --git a/src/server/game/Services/WorldserverServiceDispatcher.h b/src/server/game/Services/WorldserverServiceDispatcher.h index b4fd09d22b1..c1320472e2d 100644 --- a/src/server/game/Services/WorldserverServiceDispatcher.h +++ b/src/server/game/Services/WorldserverServiceDispatcher.h @@ -33,9 +33,12 @@ #include "connection_service.pb.h" #include "friends_service.pb.h" #include "WorldserverGameUtilitiesService.h" +#include "notification_service.pb.h" +#include "api/client/v2/notification_listener.pb.h" #include "api/client/v2/notification_service.pb.h" #include "presence_listener.pb.h" #include "presence_service.pb.h" +#include "report_service.pb.h" #include "api/client/v2/report_service.pb.h" #include "resource_service.pb.h" #include "api/client/v2/whisper_listener.pb.h" diff --git a/src/server/proto/Client/api/client/v2/notification_listener.pb.cc b/src/server/proto/Client/api/client/v2/notification_listener.pb.cc new file mode 100644 index 00000000000..378fa1e3877 --- /dev/null +++ b/src/server/proto/Client/api/client/v2/notification_listener.pb.cc @@ -0,0 +1,216 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: api/client/v2/notification_listener.proto + +#define INTERNAL_SUPPRESS_PROTOBUF_FIELD_DEPRECATION +#include "api/client/v2/notification_listener.pb.h" + +#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 "BattlenetRpcErrorCodes.h" +// @@protoc_insertion_point(includes) + +namespace bgs { +namespace protocol { +namespace notification { +namespace v2 { +namespace client { + +namespace { + +const ::google::protobuf::Descriptor* NotificationReceivedNotification_descriptor_ = NULL; +const ::google::protobuf::internal::GeneratedMessageReflection* + NotificationReceivedNotification_reflection_ = NULL; +const ::google::protobuf::ServiceDescriptor* NotificationListener_descriptor_ = NULL; + +} // namespace + +void protobuf_AssignDesc_api_2fclient_2fv2_2fnotification_5flistener_2eproto() { + protobuf_AddDesc_api_2fclient_2fv2_2fnotification_5flistener_2eproto(); + const ::google::protobuf::FileDescriptor* file = + ::google::protobuf::DescriptorPool::generated_pool()->FindFileByName( + "api/client/v2/notification_listener.proto"); + GOOGLE_CHECK(file != NULL); + NotificationReceivedNotification_descriptor_ = file->message_type(0); + static const int NotificationReceivedNotification_offsets_[1] = { + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NotificationReceivedNotification, notifications_), + }; + NotificationReceivedNotification_reflection_ = + new ::google::protobuf::internal::GeneratedMessageReflection( + NotificationReceivedNotification_descriptor_, + NotificationReceivedNotification::default_instance_, + NotificationReceivedNotification_offsets_, + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NotificationReceivedNotification, _has_bits_[0]), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NotificationReceivedNotification, _unknown_fields_), + -1, + ::google::protobuf::DescriptorPool::generated_pool(), + ::google::protobuf::MessageFactory::generated_factory(), + sizeof(NotificationReceivedNotification)); + NotificationListener_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_2fnotification_5flistener_2eproto); +} + +void protobuf_RegisterTypes(const ::std::string&) { + protobuf_AssignDescriptorsOnce(); + ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage( + NotificationReceivedNotification_descriptor_, &NotificationReceivedNotification::default_instance()); +} + +} // namespace + +void protobuf_ShutdownFile_api_2fclient_2fv2_2fnotification_5flistener_2eproto() { + delete NotificationReceivedNotification::default_instance_; + delete NotificationReceivedNotification_reflection_; +} + +void protobuf_AddDesc_api_2fclient_2fv2_2fnotification_5flistener_2eproto() { + static bool already_here = false; + if (already_here) return; + already_here = true; + GOOGLE_PROTOBUF_VERIFY_VERSION; + + ::bgs::protocol::protobuf_AddDesc_rpc_5ftypes_2eproto(); + ::bgs::protocol::notification::v2::client::protobuf_AddDesc_api_2fclient_2fv2_2fnotification_5ftypes_2eproto(); + ::google::protobuf::DescriptorPool::InternalAddGeneratedFile( + "\n)api/client/v2/notification_listener.pr" + "oto\022#bgs.protocol.notification.v2.client" + "\032\017rpc_types.proto\032&api/client/v2/notific" + "ation_types.proto\"l\n NotificationReceive" + "dNotification\022H\n\rnotifications\030\001 \003(\01321.b" + "gs.protocol.notification.v2.client.Notif" + "ication2\346\001\n\024NotificationListener\022\202\001\n\026OnN" + "otificationReceived\022E.bgs.protocol.notif" + "ication.v2.client.NotificationReceivedNo" + "tification\032\031.bgs.protocol.NO_RESPONSE\"\006\202" + "\371+\002\010\001\032I\202\371+=\n9bnet.protocol.notification." + "v2.client.NotificationListener8\001\212\371+\004\010\001\030\001" + "B\005H\002\200\001\000", 487); + ::google::protobuf::MessageFactory::InternalRegisterGeneratedFile( + "api/client/v2/notification_listener.proto", &protobuf_RegisterTypes); + NotificationReceivedNotification::default_instance_ = new NotificationReceivedNotification(); + NotificationReceivedNotification::default_instance_->InitAsDefaultInstance(); + ::google::protobuf::internal::OnShutdown(&protobuf_ShutdownFile_api_2fclient_2fv2_2fnotification_5flistener_2eproto); +} + +// Force AddDescriptors() to be called at static initialization time. +struct StaticDescriptorInitializer_api_2fclient_2fv2_2fnotification_5flistener_2eproto { + StaticDescriptorInitializer_api_2fclient_2fv2_2fnotification_5flistener_2eproto() { + protobuf_AddDesc_api_2fclient_2fv2_2fnotification_5flistener_2eproto(); + } +} static_descriptor_initializer_api_2fclient_2fv2_2fnotification_5flistener_2eproto_; +// =================================================================== + +#ifndef _MSC_VER +const int NotificationReceivedNotification::kNotificationsFieldNumber; +#endif // !_MSC_VER + +NotificationReceivedNotification::NotificationReceivedNotification() + : ::google::protobuf::Message() { + SharedCtor(); + // @@protoc_insertion_point(constructor:bgs.protocol.notification.v2.client.NotificationReceivedNotification) +} + +void NotificationReceivedNotification::InitAsDefaultInstance() { +} + +NotificationReceivedNotification::NotificationReceivedNotification(const NotificationReceivedNotification& from) + : ::google::protobuf::Message() { + SharedCtor(); + MergeFrom(from); + // @@protoc_insertion_point(copy_constructor:bgs.protocol.notification.v2.client.NotificationReceivedNotification) +} + +void NotificationReceivedNotification::SharedCtor() { + _cached_size_ = 0; + ::memset(_has_bits_, 0, sizeof(_has_bits_)); +} + +NotificationReceivedNotification::~NotificationReceivedNotification() { + // @@protoc_insertion_point(destructor:bgs.protocol.notification.v2.client.NotificationReceivedNotification) + SharedDtor(); +} + +void NotificationReceivedNotification::SharedDtor() { + if (this != default_instance_) { + } +} + +void NotificationReceivedNotification::SetCachedSize(int size) const { + GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); + _cached_size_ = size; + GOOGLE_SAFE_CONCURRENT_WRITES_END(); +} +const ::google::protobuf::Descriptor* NotificationReceivedNotification::descriptor() { + protobuf_AssignDescriptorsOnce(); + return NotificationReceivedNotification_descriptor_; +} + +const NotificationReceivedNotification& NotificationReceivedNotification::default_instance() { + if (default_instance_ == NULL) protobuf_AddDesc_api_2fclient_2fv2_2fnotification_5flistener_2eproto(); + return *default_instance_; +} + +NotificationReceivedNotification* NotificationReceivedNotification::default_instance_ = NULL; + +NotificationReceivedNotification* NotificationReceivedNotification::New() const { + return new NotificationReceivedNotification; +} + +void NotificationReceivedNotification::Swap(NotificationReceivedNotification* other) { + if (other != this) { + GetReflection()->Swap(this, other);} +} + +::google::protobuf::Metadata NotificationReceivedNotification::GetMetadata() const { + protobuf_AssignDescriptorsOnce(); + ::google::protobuf::Metadata metadata; + metadata.descriptor = NotificationReceivedNotification_descriptor_; + metadata.reflection = NotificationReceivedNotification_reflection_; + return metadata; +} + +// =================================================================== + +NotificationListener::NotificationListener(bool use_original_hash) : ServiceBase(use_original_hash ? OriginalHash::value : NameHash::value) { +} + +NotificationListener::~NotificationListener() { +} + +google::protobuf::ServiceDescriptor const* NotificationListener::descriptor() { + protobuf_AssignDescriptorsOnce(); + return NotificationListener_descriptor_; +} + +void NotificationListener::OnNotificationReceived(::bgs::protocol::notification::v2::client::NotificationReceivedNotification const* request, bool client /*= false*/, bool server /*= false*/) { + LogCallClientMethod("NotificationListener.OnNotificationReceived", "bgs.protocol.notification.v2.client.NotificationReceivedNotification", request); + SendRequest(service_hash_, 1 | (client ? 0x40000000 : 0) | (server ? 0x80000000 : 0), request); +} + +void NotificationListener::CallServerMethod(uint32 /*token*/, uint32 methodId, MessageBuffer /*buffer*/) { + LogDisallowedMethod(methodId); +} + +// @@protoc_insertion_point(namespace_scope) + +} // namespace client +} // namespace v2 +} // namespace notification +} // namespace protocol +} // namespace bgs + +// @@protoc_insertion_point(global_scope) diff --git a/src/server/proto/Client/api/client/v2/notification_listener.pb.h b/src/server/proto/Client/api/client/v2/notification_listener.pb.h new file mode 100644 index 00000000000..7359cb12426 --- /dev/null +++ b/src/server/proto/Client/api/client/v2/notification_listener.pb.h @@ -0,0 +1,194 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: api/client/v2/notification_listener.proto + +#ifndef PROTOBUF_api_2fclient_2fv2_2fnotification_5flistener_2eproto__INCLUDED +#define PROTOBUF_api_2fclient_2fv2_2fnotification_5flistener_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 "api/client/v2/notification_types.pb.h" +#include "ServiceBase.h" +#include "MessageBuffer.h" +#include <functional> +#include <type_traits> +// @@protoc_insertion_point(includes) + +namespace bgs { +namespace protocol { +namespace notification { +namespace v2 { +namespace client { + +// Internal implementation detail -- do not call these. +void TC_PROTO_API protobuf_AddDesc_api_2fclient_2fv2_2fnotification_5flistener_2eproto(); +void protobuf_AssignDesc_api_2fclient_2fv2_2fnotification_5flistener_2eproto(); +void protobuf_ShutdownFile_api_2fclient_2fv2_2fnotification_5flistener_2eproto(); + +class NotificationReceivedNotification; + +// =================================================================== + +class TC_PROTO_API NotificationReceivedNotification : public ::google::protobuf::Message { + public: + NotificationReceivedNotification(); + virtual ~NotificationReceivedNotification(); + + NotificationReceivedNotification(const NotificationReceivedNotification& from); + + inline NotificationReceivedNotification& operator=(const NotificationReceivedNotification& 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 NotificationReceivedNotification& default_instance(); + + void Swap(NotificationReceivedNotification* other); + + // implements Message ---------------------------------------------- + + NotificationReceivedNotification* New() const; + int GetCachedSize() const { return _cached_size_; } + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const; + public: + ::google::protobuf::Metadata GetMetadata() const; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + // repeated .bgs.protocol.notification.v2.client.Notification notifications = 1; + inline int notifications_size() const; + inline void clear_notifications(); + static const int kNotificationsFieldNumber = 1; + inline const ::bgs::protocol::notification::v2::client::Notification& notifications(int index) const; + inline ::bgs::protocol::notification::v2::client::Notification* mutable_notifications(int index); + inline ::bgs::protocol::notification::v2::client::Notification* add_notifications(); + inline const ::google::protobuf::RepeatedPtrField< ::bgs::protocol::notification::v2::client::Notification >& + notifications() const; + inline ::google::protobuf::RepeatedPtrField< ::bgs::protocol::notification::v2::client::Notification >* + mutable_notifications(); + + // @@protoc_insertion_point(class_scope:bgs.protocol.notification.v2.client.NotificationReceivedNotification) + private: + + ::google::protobuf::UnknownFieldSet _unknown_fields_; + + ::google::protobuf::uint32 _has_bits_[1]; + mutable int _cached_size_; + ::google::protobuf::RepeatedPtrField< ::bgs::protocol::notification::v2::client::Notification > notifications_; + friend void TC_PROTO_API protobuf_AddDesc_api_2fclient_2fv2_2fnotification_5flistener_2eproto(); + friend void protobuf_AssignDesc_api_2fclient_2fv2_2fnotification_5flistener_2eproto(); + friend void protobuf_ShutdownFile_api_2fclient_2fv2_2fnotification_5flistener_2eproto(); + + void InitAsDefaultInstance(); + static NotificationReceivedNotification* default_instance_; +}; +// =================================================================== + +class TC_PROTO_API NotificationListener : public ServiceBase +{ + public: + + explicit NotificationListener(bool use_original_hash); + NotificationListener(NotificationListener const&) = delete; + NotificationListener(NotificationListener&&) = delete; + NotificationListener& operator=(NotificationListener const&) = delete; + NotificationListener& operator=(NotificationListener&&) = delete; + virtual ~NotificationListener(); + + typedef std::integral_constant<uint32, 0x2362BECDu> OriginalHash; + typedef std::integral_constant<uint32, 0xF98DCEBCu> NameHash; + + static google::protobuf::ServiceDescriptor const* descriptor(); + + // client methods -------------------------------------------------- + void OnNotificationReceived(::bgs::protocol::notification::v2::client::NotificationReceivedNotification const* request, bool client = false, bool server = false); + + void CallServerMethod(uint32 token, uint32 methodId, MessageBuffer buffer) final; +}; + +// =================================================================== + +// =================================================================== + +// NotificationReceivedNotification + +// repeated .bgs.protocol.notification.v2.client.Notification notifications = 1; +inline int NotificationReceivedNotification::notifications_size() const { + return notifications_.size(); +} +inline void NotificationReceivedNotification::clear_notifications() { + notifications_.Clear(); +} +inline const ::bgs::protocol::notification::v2::client::Notification& NotificationReceivedNotification::notifications(int index) const { + // @@protoc_insertion_point(field_get:bgs.protocol.notification.v2.client.NotificationReceivedNotification.notifications) + return notifications_.Get(index); +} +inline ::bgs::protocol::notification::v2::client::Notification* NotificationReceivedNotification::mutable_notifications(int index) { + // @@protoc_insertion_point(field_mutable:bgs.protocol.notification.v2.client.NotificationReceivedNotification.notifications) + return notifications_.Mutable(index); +} +inline ::bgs::protocol::notification::v2::client::Notification* NotificationReceivedNotification::add_notifications() { + // @@protoc_insertion_point(field_add:bgs.protocol.notification.v2.client.NotificationReceivedNotification.notifications) + return notifications_.Add(); +} +inline const ::google::protobuf::RepeatedPtrField< ::bgs::protocol::notification::v2::client::Notification >& +NotificationReceivedNotification::notifications() const { + // @@protoc_insertion_point(field_list:bgs.protocol.notification.v2.client.NotificationReceivedNotification.notifications) + return notifications_; +} +inline ::google::protobuf::RepeatedPtrField< ::bgs::protocol::notification::v2::client::Notification >* +NotificationReceivedNotification::mutable_notifications() { + // @@protoc_insertion_point(field_mutable_list:bgs.protocol.notification.v2.client.NotificationReceivedNotification.notifications) + return ¬ifications_; +} + +// @@protoc_insertion_point(namespace_scope) + +} // namespace client +} // namespace v2 +} // namespace notification +} // 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_2fnotification_5flistener_2eproto__INCLUDED diff --git a/src/server/proto/Client/api/client/v2/notification_listener.proto b/src/server/proto/Client/api/client/v2/notification_listener.proto new file mode 100644 index 00000000000..c9628fb9653 --- /dev/null +++ b/src/server/proto/Client/api/client/v2/notification_listener.proto @@ -0,0 +1,30 @@ +syntax = "proto2"; + +import "rpc_types.proto"; +import "api/client/v2/notification_types.proto"; +package bgs.protocol.notification.v2.client; + +option optimize_for = CODE_SIZE; +option cc_generic_services = false; + +message NotificationReceivedNotification { + repeated .bgs.protocol.notification.v2.client.Notification notifications = 1; +} + +service NotificationListener { + option (.bgs.protocol.service_options) = { + descriptor_name: "bnet.protocol.notification.v2.client.NotificationListener" + type: SERVICE_TYPE_RPC_DIRECT + }; + option (.bgs.protocol.sdk_service_options) = { + inbound: true + use_client_id: true + }; + rpc OnNotificationReceived(.bgs.protocol.notification.v2.client.NotificationReceivedNotification) returns (.bgs.protocol.NO_RESPONSE) { + option (.bgs.protocol.method_options) = { + id: 1 + }; + } +} + + diff --git a/src/server/proto/Client/notification_service.pb.cc b/src/server/proto/Client/notification_service.pb.cc new file mode 100644 index 00000000000..a76d6b53b1b --- /dev/null +++ b/src/server/proto/Client/notification_service.pb.cc @@ -0,0 +1,548 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: notification_service.proto + +#define INTERNAL_SUPPRESS_PROTOBUF_FIELD_DEPRECATION +#include "notification_service.pb.h" + +#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 "BattlenetRpcErrorCodes.h" +// @@protoc_insertion_point(includes) + +namespace bgs { +namespace protocol { +namespace notification { +namespace v1 { + +namespace { + +const ::google::protobuf::Descriptor* SubscribeRequest_descriptor_ = NULL; +const ::google::protobuf::internal::GeneratedMessageReflection* + SubscribeRequest_reflection_ = NULL; +const ::google::protobuf::Descriptor* UnsubscribeRequest_descriptor_ = NULL; +const ::google::protobuf::internal::GeneratedMessageReflection* + UnsubscribeRequest_reflection_ = NULL; +const ::google::protobuf::Descriptor* PublishRequest_descriptor_ = NULL; +const ::google::protobuf::internal::GeneratedMessageReflection* + PublishRequest_reflection_ = NULL; +const ::google::protobuf::ServiceDescriptor* NotificationService_descriptor_ = NULL; +const ::google::protobuf::ServiceDescriptor* NotificationListener_descriptor_ = NULL; + +} // namespace + +void protobuf_AssignDesc_notification_5fservice_2eproto() { + protobuf_AddDesc_notification_5fservice_2eproto(); + const ::google::protobuf::FileDescriptor* file = + ::google::protobuf::DescriptorPool::generated_pool()->FindFileByName( + "notification_service.proto"); + GOOGLE_CHECK(file != NULL); + SubscribeRequest_descriptor_ = file->message_type(0); + static const int SubscribeRequest_offsets_[1] = { + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SubscribeRequest, subscription_), + }; + SubscribeRequest_reflection_ = + new ::google::protobuf::internal::GeneratedMessageReflection( + SubscribeRequest_descriptor_, + SubscribeRequest::default_instance_, + SubscribeRequest_offsets_, + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SubscribeRequest, _has_bits_[0]), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SubscribeRequest, _unknown_fields_), + -1, + ::google::protobuf::DescriptorPool::generated_pool(), + ::google::protobuf::MessageFactory::generated_factory(), + sizeof(SubscribeRequest)); + UnsubscribeRequest_descriptor_ = file->message_type(1); + static const int UnsubscribeRequest_offsets_[1] = { + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UnsubscribeRequest, subscription_), + }; + UnsubscribeRequest_reflection_ = + new ::google::protobuf::internal::GeneratedMessageReflection( + UnsubscribeRequest_descriptor_, + UnsubscribeRequest::default_instance_, + UnsubscribeRequest_offsets_, + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UnsubscribeRequest, _has_bits_[0]), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UnsubscribeRequest, _unknown_fields_), + -1, + ::google::protobuf::DescriptorPool::generated_pool(), + ::google::protobuf::MessageFactory::generated_factory(), + sizeof(UnsubscribeRequest)); + PublishRequest_descriptor_ = file->message_type(2); + static const int PublishRequest_offsets_[2] = { + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PublishRequest, target_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PublishRequest, notification_), + }; + PublishRequest_reflection_ = + new ::google::protobuf::internal::GeneratedMessageReflection( + PublishRequest_descriptor_, + PublishRequest::default_instance_, + PublishRequest_offsets_, + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PublishRequest, _has_bits_[0]), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PublishRequest, _unknown_fields_), + -1, + ::google::protobuf::DescriptorPool::generated_pool(), + ::google::protobuf::MessageFactory::generated_factory(), + sizeof(PublishRequest)); + NotificationService_descriptor_ = file->service(0); + NotificationListener_descriptor_ = file->service(1); +} + +namespace { + +GOOGLE_PROTOBUF_DECLARE_ONCE(protobuf_AssignDescriptors_once_); +inline void protobuf_AssignDescriptorsOnce() { + ::google::protobuf::GoogleOnceInit(&protobuf_AssignDescriptors_once_, + &protobuf_AssignDesc_notification_5fservice_2eproto); +} + +void protobuf_RegisterTypes(const ::std::string&) { + protobuf_AssignDescriptorsOnce(); + ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage( + SubscribeRequest_descriptor_, &SubscribeRequest::default_instance()); + ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage( + UnsubscribeRequest_descriptor_, &UnsubscribeRequest::default_instance()); + ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage( + PublishRequest_descriptor_, &PublishRequest::default_instance()); +} + +} // namespace + +void protobuf_ShutdownFile_notification_5fservice_2eproto() { + delete SubscribeRequest::default_instance_; + delete SubscribeRequest_reflection_; + delete UnsubscribeRequest::default_instance_; + delete UnsubscribeRequest_reflection_; + delete PublishRequest::default_instance_; + delete PublishRequest_reflection_; +} + +void protobuf_AddDesc_notification_5fservice_2eproto() { + static bool already_here = false; + if (already_here) return; + already_here = true; + GOOGLE_PROTOBUF_VERIFY_VERSION; + + ::bgs::protocol::protobuf_AddDesc_rpc_5ftypes_2eproto(); + ::bgs::protocol::notification::v1::protobuf_AddDesc_notification_5ftypes_2eproto(); + ::google::protobuf::DescriptorPool::InternalAddGeneratedFile( + "\n\032notification_service.proto\022\034bgs.protoc" + "ol.notification.v1\032\017rpc_types.proto\032\030not" + "ification_types.proto\"T\n\020SubscribeReques" + "t\022@\n\014subscription\030\001 \001(\0132*.bgs.protocol.n" + "otification.v1.Subscription\"V\n\022Unsubscri" + "beRequest\022@\n\014subscription\030\001 \001(\0132*.bgs.pr" + "otocol.notification.v1.Subscription\"\210\001\n\016" + "PublishRequest\0224\n\006target\030\001 \001(\0132$.bgs.pro" + "tocol.notification.v1.Target\022@\n\014notifica" + "tion\030\002 \001(\0132*.bgs.protocol.notification.v" + "1.Notification2\300\003\n\023NotificationService\022\\" + "\n\020SendNotification\022*.bgs.protocol.notifi" + "cation.v1.Notification\032\024.bgs.protocol.No" + "Data\"\006\202\371+\002\010\001\022Y\n\tSubscribe\022..bgs.protocol" + ".notification.v1.SubscribeRequest\032\024.bgs." + "protocol.NoData\"\006\202\371+\002\010\006\022]\n\013Unsubscribe\0220" + ".bgs.protocol.notification.v1.Unsubscrib" + "eRequest\032\024.bgs.protocol.NoData\"\006\202\371+\002\010\007\022U" + "\n\007Publish\022,.bgs.protocol.notification.v1" + ".PublishRequest\032\024.bgs.protocol.NoData\"\006\202" + "\371+\002\010\010\032:\202\371+0\n.bnet.protocol.notification." + "NotificationService\212\371+\002\020\0012\274\001\n\024Notificati" + "onListener\022g\n\026OnNotificationReceived\022*.b" + "gs.protocol.notification.v1.Notification" + "\032\031.bgs.protocol.NO_RESPONSE\"\006\202\371+\002\010\001\032;\202\371+" + "1\n/bnet.protocol.notification.Notificati" + "onListener\212\371+\002\010\001B\005H\002\200\001\000", 1063); + ::google::protobuf::MessageFactory::InternalRegisterGeneratedFile( + "notification_service.proto", &protobuf_RegisterTypes); + SubscribeRequest::default_instance_ = new SubscribeRequest(); + UnsubscribeRequest::default_instance_ = new UnsubscribeRequest(); + PublishRequest::default_instance_ = new PublishRequest(); + SubscribeRequest::default_instance_->InitAsDefaultInstance(); + UnsubscribeRequest::default_instance_->InitAsDefaultInstance(); + PublishRequest::default_instance_->InitAsDefaultInstance(); + ::google::protobuf::internal::OnShutdown(&protobuf_ShutdownFile_notification_5fservice_2eproto); +} + +// Force AddDescriptors() to be called at static initialization time. +struct StaticDescriptorInitializer_notification_5fservice_2eproto { + StaticDescriptorInitializer_notification_5fservice_2eproto() { + protobuf_AddDesc_notification_5fservice_2eproto(); + } +} static_descriptor_initializer_notification_5fservice_2eproto_; +// =================================================================== + +#ifndef _MSC_VER +const int SubscribeRequest::kSubscriptionFieldNumber; +#endif // !_MSC_VER + +SubscribeRequest::SubscribeRequest() + : ::google::protobuf::Message() { + SharedCtor(); + // @@protoc_insertion_point(constructor:bgs.protocol.notification.v1.SubscribeRequest) +} + +void SubscribeRequest::InitAsDefaultInstance() { + subscription_ = const_cast< ::bgs::protocol::notification::v1::Subscription*>(&::bgs::protocol::notification::v1::Subscription::default_instance()); +} + +SubscribeRequest::SubscribeRequest(const SubscribeRequest& from) + : ::google::protobuf::Message() { + SharedCtor(); + MergeFrom(from); + // @@protoc_insertion_point(copy_constructor:bgs.protocol.notification.v1.SubscribeRequest) +} + +void SubscribeRequest::SharedCtor() { + _cached_size_ = 0; + subscription_ = NULL; + ::memset(_has_bits_, 0, sizeof(_has_bits_)); +} + +SubscribeRequest::~SubscribeRequest() { + // @@protoc_insertion_point(destructor:bgs.protocol.notification.v1.SubscribeRequest) + SharedDtor(); +} + +void SubscribeRequest::SharedDtor() { + if (this != default_instance_) { + delete subscription_; + } +} + +void SubscribeRequest::SetCachedSize(int size) const { + GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); + _cached_size_ = size; + GOOGLE_SAFE_CONCURRENT_WRITES_END(); +} +const ::google::protobuf::Descriptor* SubscribeRequest::descriptor() { + protobuf_AssignDescriptorsOnce(); + return SubscribeRequest_descriptor_; +} + +const SubscribeRequest& SubscribeRequest::default_instance() { + if (default_instance_ == NULL) protobuf_AddDesc_notification_5fservice_2eproto(); + return *default_instance_; +} + +SubscribeRequest* SubscribeRequest::default_instance_ = NULL; + +SubscribeRequest* SubscribeRequest::New() const { + return new SubscribeRequest; +} + +void SubscribeRequest::Swap(SubscribeRequest* other) { + if (other != this) { + GetReflection()->Swap(this, other);} +} + +::google::protobuf::Metadata SubscribeRequest::GetMetadata() const { + protobuf_AssignDescriptorsOnce(); + ::google::protobuf::Metadata metadata; + metadata.descriptor = SubscribeRequest_descriptor_; + metadata.reflection = SubscribeRequest_reflection_; + return metadata; +} + +// =================================================================== + +#ifndef _MSC_VER +const int UnsubscribeRequest::kSubscriptionFieldNumber; +#endif // !_MSC_VER + +UnsubscribeRequest::UnsubscribeRequest() + : ::google::protobuf::Message() { + SharedCtor(); + // @@protoc_insertion_point(constructor:bgs.protocol.notification.v1.UnsubscribeRequest) +} + +void UnsubscribeRequest::InitAsDefaultInstance() { + subscription_ = const_cast< ::bgs::protocol::notification::v1::Subscription*>(&::bgs::protocol::notification::v1::Subscription::default_instance()); +} + +UnsubscribeRequest::UnsubscribeRequest(const UnsubscribeRequest& from) + : ::google::protobuf::Message() { + SharedCtor(); + MergeFrom(from); + // @@protoc_insertion_point(copy_constructor:bgs.protocol.notification.v1.UnsubscribeRequest) +} + +void UnsubscribeRequest::SharedCtor() { + _cached_size_ = 0; + subscription_ = NULL; + ::memset(_has_bits_, 0, sizeof(_has_bits_)); +} + +UnsubscribeRequest::~UnsubscribeRequest() { + // @@protoc_insertion_point(destructor:bgs.protocol.notification.v1.UnsubscribeRequest) + SharedDtor(); +} + +void UnsubscribeRequest::SharedDtor() { + if (this != default_instance_) { + delete subscription_; + } +} + +void UnsubscribeRequest::SetCachedSize(int size) const { + GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); + _cached_size_ = size; + GOOGLE_SAFE_CONCURRENT_WRITES_END(); +} +const ::google::protobuf::Descriptor* UnsubscribeRequest::descriptor() { + protobuf_AssignDescriptorsOnce(); + return UnsubscribeRequest_descriptor_; +} + +const UnsubscribeRequest& UnsubscribeRequest::default_instance() { + if (default_instance_ == NULL) protobuf_AddDesc_notification_5fservice_2eproto(); + return *default_instance_; +} + +UnsubscribeRequest* UnsubscribeRequest::default_instance_ = NULL; + +UnsubscribeRequest* UnsubscribeRequest::New() const { + return new UnsubscribeRequest; +} + +void UnsubscribeRequest::Swap(UnsubscribeRequest* other) { + if (other != this) { + GetReflection()->Swap(this, other);} +} + +::google::protobuf::Metadata UnsubscribeRequest::GetMetadata() const { + protobuf_AssignDescriptorsOnce(); + ::google::protobuf::Metadata metadata; + metadata.descriptor = UnsubscribeRequest_descriptor_; + metadata.reflection = UnsubscribeRequest_reflection_; + return metadata; +} + +// =================================================================== + +#ifndef _MSC_VER +const int PublishRequest::kTargetFieldNumber; +const int PublishRequest::kNotificationFieldNumber; +#endif // !_MSC_VER + +PublishRequest::PublishRequest() + : ::google::protobuf::Message() { + SharedCtor(); + // @@protoc_insertion_point(constructor:bgs.protocol.notification.v1.PublishRequest) +} + +void PublishRequest::InitAsDefaultInstance() { + target_ = const_cast< ::bgs::protocol::notification::v1::Target*>(&::bgs::protocol::notification::v1::Target::default_instance()); + notification_ = const_cast< ::bgs::protocol::notification::v1::Notification*>(&::bgs::protocol::notification::v1::Notification::default_instance()); +} + +PublishRequest::PublishRequest(const PublishRequest& from) + : ::google::protobuf::Message() { + SharedCtor(); + MergeFrom(from); + // @@protoc_insertion_point(copy_constructor:bgs.protocol.notification.v1.PublishRequest) +} + +void PublishRequest::SharedCtor() { + _cached_size_ = 0; + target_ = NULL; + notification_ = NULL; + ::memset(_has_bits_, 0, sizeof(_has_bits_)); +} + +PublishRequest::~PublishRequest() { + // @@protoc_insertion_point(destructor:bgs.protocol.notification.v1.PublishRequest) + SharedDtor(); +} + +void PublishRequest::SharedDtor() { + if (this != default_instance_) { + delete target_; + delete notification_; + } +} + +void PublishRequest::SetCachedSize(int size) const { + GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); + _cached_size_ = size; + GOOGLE_SAFE_CONCURRENT_WRITES_END(); +} +const ::google::protobuf::Descriptor* PublishRequest::descriptor() { + protobuf_AssignDescriptorsOnce(); + return PublishRequest_descriptor_; +} + +const PublishRequest& PublishRequest::default_instance() { + if (default_instance_ == NULL) protobuf_AddDesc_notification_5fservice_2eproto(); + return *default_instance_; +} + +PublishRequest* PublishRequest::default_instance_ = NULL; + +PublishRequest* PublishRequest::New() const { + return new PublishRequest; +} + +void PublishRequest::Swap(PublishRequest* other) { + if (other != this) { + GetReflection()->Swap(this, other);} +} + +::google::protobuf::Metadata PublishRequest::GetMetadata() const { + protobuf_AssignDescriptorsOnce(); + ::google::protobuf::Metadata metadata; + metadata.descriptor = PublishRequest_descriptor_; + metadata.reflection = PublishRequest_reflection_; + return metadata; +} + +// =================================================================== + +NotificationService::NotificationService(bool use_original_hash) : ServiceBase(use_original_hash ? OriginalHash::value : NameHash::value) { +} + +NotificationService::~NotificationService() { +} + +google::protobuf::ServiceDescriptor const* NotificationService::descriptor() { + protobuf_AssignDescriptorsOnce(); + return NotificationService_descriptor_; +} + +void NotificationService::CallServerMethod(uint32 token, uint32 methodId, MessageBuffer buffer) { + switch(methodId & 0x3FFFFFFF) { + case 1: + ParseAndHandleSendNotification(token, methodId, buffer); + break; + case 6: + ParseAndHandleSubscribe(token, methodId, buffer); + break; + case 7: + ParseAndHandleUnsubscribe(token, methodId, buffer); + break; + case 8: + ParseAndHandlePublish(token, methodId, buffer); + break; + default: + LogInvalidMethod(methodId); + SendResponse(service_hash_, methodId, token, ERROR_RPC_INVALID_METHOD); + break; + } +} + +uint32 NotificationService::HandleSendNotification(::bgs::protocol::notification::v1::Notification const* request, ::bgs::protocol::NoData* /*response*/, std::function<void(ServiceBase*, uint32, ::google::protobuf::Message const*)>& /*continuation*/) { + LogUnimplementedServerMethod("NotificationService.SendNotification", request); + return ERROR_RPC_NOT_IMPLEMENTED; +} + +uint32 NotificationService::HandleSubscribe(::bgs::protocol::notification::v1::SubscribeRequest const* request, ::bgs::protocol::NoData* /*response*/, std::function<void(ServiceBase*, uint32, ::google::protobuf::Message const*)>& /*continuation*/) { + LogUnimplementedServerMethod("NotificationService.Subscribe", request); + return ERROR_RPC_NOT_IMPLEMENTED; +} + +uint32 NotificationService::HandleUnsubscribe(::bgs::protocol::notification::v1::UnsubscribeRequest const* request, ::bgs::protocol::NoData* /*response*/, std::function<void(ServiceBase*, uint32, ::google::protobuf::Message const*)>& /*continuation*/) { + LogUnimplementedServerMethod("NotificationService.Unsubscribe", request); + return ERROR_RPC_NOT_IMPLEMENTED; +} + +uint32 NotificationService::HandlePublish(::bgs::protocol::notification::v1::PublishRequest const* request, ::bgs::protocol::NoData* /*response*/, std::function<void(ServiceBase*, uint32, ::google::protobuf::Message const*)>& /*continuation*/) { + LogUnimplementedServerMethod("NotificationService.Publish", request); + return ERROR_RPC_NOT_IMPLEMENTED; +} + +void NotificationService::ParseAndHandleSendNotification(uint32 token, uint32 methodId, MessageBuffer& buffer) { + ::bgs::protocol::notification::v1::Notification request; + if (!request.ParseFromArray(buffer.GetReadPointer(), buffer.GetActiveSize())) { + LogFailedParsingRequest("NotificationService.SendNotification"); + SendResponse(service_hash_, methodId, token, ERROR_RPC_MALFORMED_REQUEST); + return; + } + LogCallServerMethod("NotificationService.SendNotification", "bgs.protocol.notification.v1.Notification", &request); + std::function<void(ServiceBase*, uint32, ::google::protobuf::Message const*)> continuation = CreateServerContinuation(token, methodId, "NotificationService.SendNotification", ::bgs::protocol::NoData::descriptor()); + ::bgs::protocol::NoData response; + uint32 status = HandleSendNotification(&request, &response, continuation); + if (continuation) + continuation(this, status, &response); +} + +void NotificationService::ParseAndHandleSubscribe(uint32 token, uint32 methodId, MessageBuffer& buffer) { + ::bgs::protocol::notification::v1::SubscribeRequest request; + if (!request.ParseFromArray(buffer.GetReadPointer(), buffer.GetActiveSize())) { + LogFailedParsingRequest("NotificationService.Subscribe"); + SendResponse(service_hash_, methodId, token, ERROR_RPC_MALFORMED_REQUEST); + return; + } + LogCallServerMethod("NotificationService.Subscribe", "bgs.protocol.notification.v1.SubscribeRequest", &request); + std::function<void(ServiceBase*, uint32, ::google::protobuf::Message const*)> continuation = CreateServerContinuation(token, methodId, "NotificationService.Subscribe", ::bgs::protocol::NoData::descriptor()); + ::bgs::protocol::NoData response; + uint32 status = HandleSubscribe(&request, &response, continuation); + if (continuation) + continuation(this, status, &response); +} + +void NotificationService::ParseAndHandleUnsubscribe(uint32 token, uint32 methodId, MessageBuffer& buffer) { + ::bgs::protocol::notification::v1::UnsubscribeRequest request; + if (!request.ParseFromArray(buffer.GetReadPointer(), buffer.GetActiveSize())) { + LogFailedParsingRequest("NotificationService.Unsubscribe"); + SendResponse(service_hash_, methodId, token, ERROR_RPC_MALFORMED_REQUEST); + return; + } + LogCallServerMethod("NotificationService.Unsubscribe", "bgs.protocol.notification.v1.UnsubscribeRequest", &request); + std::function<void(ServiceBase*, uint32, ::google::protobuf::Message const*)> continuation = CreateServerContinuation(token, methodId, "NotificationService.Unsubscribe", ::bgs::protocol::NoData::descriptor()); + ::bgs::protocol::NoData response; + uint32 status = HandleUnsubscribe(&request, &response, continuation); + if (continuation) + continuation(this, status, &response); +} + +void NotificationService::ParseAndHandlePublish(uint32 token, uint32 methodId, MessageBuffer& buffer) { + ::bgs::protocol::notification::v1::PublishRequest request; + if (!request.ParseFromArray(buffer.GetReadPointer(), buffer.GetActiveSize())) { + LogFailedParsingRequest("NotificationService.Publish"); + SendResponse(service_hash_, methodId, token, ERROR_RPC_MALFORMED_REQUEST); + return; + } + LogCallServerMethod("NotificationService.Publish", "bgs.protocol.notification.v1.PublishRequest", &request); + std::function<void(ServiceBase*, uint32, ::google::protobuf::Message const*)> continuation = CreateServerContinuation(token, methodId, "NotificationService.Publish", ::bgs::protocol::NoData::descriptor()); + ::bgs::protocol::NoData response; + uint32 status = HandlePublish(&request, &response, continuation); + if (continuation) + continuation(this, status, &response); +} + +// =================================================================== + +NotificationListener::NotificationListener(bool use_original_hash) : ServiceBase(use_original_hash ? OriginalHash::value : NameHash::value) { +} + +NotificationListener::~NotificationListener() { +} + +google::protobuf::ServiceDescriptor const* NotificationListener::descriptor() { + protobuf_AssignDescriptorsOnce(); + return NotificationListener_descriptor_; +} + +void NotificationListener::OnNotificationReceived(::bgs::protocol::notification::v1::Notification const* request, bool client /*= false*/, bool server /*= false*/) { + LogCallClientMethod("NotificationListener.OnNotificationReceived", "bgs.protocol.notification.v1.Notification", request); + SendRequest(service_hash_, 1 | (client ? 0x40000000 : 0) | (server ? 0x80000000 : 0), request); +} + +void NotificationListener::CallServerMethod(uint32 /*token*/, uint32 methodId, MessageBuffer /*buffer*/) { + LogDisallowedMethod(methodId); +} + +// @@protoc_insertion_point(namespace_scope) + +} // namespace v1 +} // namespace notification +} // namespace protocol +} // namespace bgs + +// @@protoc_insertion_point(global_scope) diff --git a/src/server/proto/Client/notification_service.pb.h b/src/server/proto/Client/notification_service.pb.h new file mode 100644 index 00000000000..2ff5890514f --- /dev/null +++ b/src/server/proto/Client/notification_service.pb.h @@ -0,0 +1,517 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: notification_service.proto + +#ifndef PROTOBUF_notification_5fservice_2eproto__INCLUDED +#define PROTOBUF_notification_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 "rpc_types.pb.h" +#include "notification_types.pb.h" +#include "ServiceBase.h" +#include "MessageBuffer.h" +#include <functional> +#include <type_traits> +// @@protoc_insertion_point(includes) + +namespace bgs { +namespace protocol { +namespace notification { +namespace v1 { + +// Internal implementation detail -- do not call these. +void TC_PROTO_API protobuf_AddDesc_notification_5fservice_2eproto(); +void protobuf_AssignDesc_notification_5fservice_2eproto(); +void protobuf_ShutdownFile_notification_5fservice_2eproto(); + +class SubscribeRequest; +class UnsubscribeRequest; +class PublishRequest; + +// =================================================================== + +class TC_PROTO_API SubscribeRequest : public ::google::protobuf::Message { + public: + SubscribeRequest(); + virtual ~SubscribeRequest(); + + SubscribeRequest(const SubscribeRequest& from); + + inline SubscribeRequest& operator=(const SubscribeRequest& from) { + CopyFrom(from); + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const { + return _unknown_fields_; + } + + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() { + return &_unknown_fields_; + } + + static const ::google::protobuf::Descriptor* descriptor(); + static const SubscribeRequest& default_instance(); + + void Swap(SubscribeRequest* other); + + // implements Message ---------------------------------------------- + + SubscribeRequest* New() const; + 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.notification.v1.Subscription subscription = 1; + inline bool has_subscription() const; + inline void clear_subscription(); + static const int kSubscriptionFieldNumber = 1; + inline const ::bgs::protocol::notification::v1::Subscription& subscription() const; + inline ::bgs::protocol::notification::v1::Subscription* mutable_subscription(); + inline ::bgs::protocol::notification::v1::Subscription* release_subscription(); + inline void set_allocated_subscription(::bgs::protocol::notification::v1::Subscription* subscription); + + // @@protoc_insertion_point(class_scope:bgs.protocol.notification.v1.SubscribeRequest) + private: + inline void set_has_subscription(); + inline void clear_has_subscription(); + + ::google::protobuf::UnknownFieldSet _unknown_fields_; + + ::google::protobuf::uint32 _has_bits_[1]; + mutable int _cached_size_; + ::bgs::protocol::notification::v1::Subscription* subscription_; + friend void TC_PROTO_API protobuf_AddDesc_notification_5fservice_2eproto(); + friend void protobuf_AssignDesc_notification_5fservice_2eproto(); + friend void protobuf_ShutdownFile_notification_5fservice_2eproto(); + + void InitAsDefaultInstance(); + static SubscribeRequest* default_instance_; +}; +// ------------------------------------------------------------------- + +class TC_PROTO_API UnsubscribeRequest : public ::google::protobuf::Message { + public: + UnsubscribeRequest(); + virtual ~UnsubscribeRequest(); + + UnsubscribeRequest(const UnsubscribeRequest& from); + + inline UnsubscribeRequest& operator=(const UnsubscribeRequest& from) { + CopyFrom(from); + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const { + return _unknown_fields_; + } + + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() { + return &_unknown_fields_; + } + + static const ::google::protobuf::Descriptor* descriptor(); + static const UnsubscribeRequest& default_instance(); + + void Swap(UnsubscribeRequest* other); + + // implements Message ---------------------------------------------- + + UnsubscribeRequest* New() const; + 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.notification.v1.Subscription subscription = 1; + inline bool has_subscription() const; + inline void clear_subscription(); + static const int kSubscriptionFieldNumber = 1; + inline const ::bgs::protocol::notification::v1::Subscription& subscription() const; + inline ::bgs::protocol::notification::v1::Subscription* mutable_subscription(); + inline ::bgs::protocol::notification::v1::Subscription* release_subscription(); + inline void set_allocated_subscription(::bgs::protocol::notification::v1::Subscription* subscription); + + // @@protoc_insertion_point(class_scope:bgs.protocol.notification.v1.UnsubscribeRequest) + private: + inline void set_has_subscription(); + inline void clear_has_subscription(); + + ::google::protobuf::UnknownFieldSet _unknown_fields_; + + ::google::protobuf::uint32 _has_bits_[1]; + mutable int _cached_size_; + ::bgs::protocol::notification::v1::Subscription* subscription_; + friend void TC_PROTO_API protobuf_AddDesc_notification_5fservice_2eproto(); + friend void protobuf_AssignDesc_notification_5fservice_2eproto(); + friend void protobuf_ShutdownFile_notification_5fservice_2eproto(); + + void InitAsDefaultInstance(); + static UnsubscribeRequest* default_instance_; +}; +// ------------------------------------------------------------------- + +class TC_PROTO_API PublishRequest : public ::google::protobuf::Message { + public: + PublishRequest(); + virtual ~PublishRequest(); + + PublishRequest(const PublishRequest& from); + + inline PublishRequest& operator=(const PublishRequest& 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 PublishRequest& default_instance(); + + void Swap(PublishRequest* other); + + // implements Message ---------------------------------------------- + + PublishRequest* New() 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.notification.v1.Target target = 1; + inline bool has_target() const; + inline void clear_target(); + static const int kTargetFieldNumber = 1; + inline const ::bgs::protocol::notification::v1::Target& target() const; + inline ::bgs::protocol::notification::v1::Target* mutable_target(); + inline ::bgs::protocol::notification::v1::Target* release_target(); + inline void set_allocated_target(::bgs::protocol::notification::v1::Target* target); + + // optional .bgs.protocol.notification.v1.Notification notification = 2; + inline bool has_notification() const; + inline void clear_notification(); + static const int kNotificationFieldNumber = 2; + inline const ::bgs::protocol::notification::v1::Notification& notification() const; + inline ::bgs::protocol::notification::v1::Notification* mutable_notification(); + inline ::bgs::protocol::notification::v1::Notification* release_notification(); + inline void set_allocated_notification(::bgs::protocol::notification::v1::Notification* notification); + + // @@protoc_insertion_point(class_scope:bgs.protocol.notification.v1.PublishRequest) + private: + inline void set_has_target(); + inline void clear_has_target(); + inline void set_has_notification(); + inline void clear_has_notification(); + + ::google::protobuf::UnknownFieldSet _unknown_fields_; + + ::google::protobuf::uint32 _has_bits_[1]; + mutable int _cached_size_; + ::bgs::protocol::notification::v1::Target* target_; + ::bgs::protocol::notification::v1::Notification* notification_; + friend void TC_PROTO_API protobuf_AddDesc_notification_5fservice_2eproto(); + friend void protobuf_AssignDesc_notification_5fservice_2eproto(); + friend void protobuf_ShutdownFile_notification_5fservice_2eproto(); + + void InitAsDefaultInstance(); + static PublishRequest* default_instance_; +}; +// =================================================================== + +class TC_PROTO_API NotificationService : public ServiceBase +{ + public: + + explicit NotificationService(bool use_original_hash); + NotificationService(NotificationService const&) = delete; + NotificationService(NotificationService&&) = delete; + NotificationService& operator=(NotificationService const&) = delete; + NotificationService& operator=(NotificationService&&) = delete; + virtual ~NotificationService(); + + typedef std::integral_constant<uint32, 0xCBE3C43u> OriginalHash; + typedef std::integral_constant<uint32, 0x53C8C253u> NameHash; + + static google::protobuf::ServiceDescriptor const* descriptor(); + + void CallServerMethod(uint32 token, uint32 methodId, MessageBuffer buffer) final; + + protected: + // server methods -------------------------------------------------- + virtual uint32 HandleSendNotification(::bgs::protocol::notification::v1::Notification const* request, ::bgs::protocol::NoData* response, std::function<void(ServiceBase*, uint32, ::google::protobuf::Message const*)>& continuation); + virtual uint32 HandleSubscribe(::bgs::protocol::notification::v1::SubscribeRequest const* request, ::bgs::protocol::NoData* response, std::function<void(ServiceBase*, uint32, ::google::protobuf::Message const*)>& continuation); + virtual uint32 HandleUnsubscribe(::bgs::protocol::notification::v1::UnsubscribeRequest const* request, ::bgs::protocol::NoData* response, std::function<void(ServiceBase*, uint32, ::google::protobuf::Message const*)>& continuation); + virtual uint32 HandlePublish(::bgs::protocol::notification::v1::PublishRequest const* request, ::bgs::protocol::NoData* response, std::function<void(ServiceBase*, uint32, ::google::protobuf::Message const*)>& continuation); + + private: + void ParseAndHandleSendNotification(uint32 token, uint32 methodId, MessageBuffer& buffer); + void ParseAndHandleSubscribe(uint32 token, uint32 methodId, MessageBuffer& buffer); + void ParseAndHandleUnsubscribe(uint32 token, uint32 methodId, MessageBuffer& buffer); + void ParseAndHandlePublish(uint32 token, uint32 methodId, MessageBuffer& buffer); +}; + +// ------------------------------------------------------------------- + +class TC_PROTO_API NotificationListener : public ServiceBase +{ + public: + + explicit NotificationListener(bool use_original_hash); + NotificationListener(NotificationListener const&) = delete; + NotificationListener(NotificationListener&&) = delete; + NotificationListener& operator=(NotificationListener const&) = delete; + NotificationListener& operator=(NotificationListener&&) = delete; + virtual ~NotificationListener(); + + typedef std::integral_constant<uint32, 0xE1CB2EA8u> OriginalHash; + typedef std::integral_constant<uint32, 0xC1490E58u> NameHash; + + static google::protobuf::ServiceDescriptor const* descriptor(); + + // client methods -------------------------------------------------- + void OnNotificationReceived(::bgs::protocol::notification::v1::Notification const* request, bool client = false, bool server = false); + + void CallServerMethod(uint32 token, uint32 methodId, MessageBuffer buffer) final; +}; + +// =================================================================== + +// =================================================================== + +// SubscribeRequest + +// optional .bgs.protocol.notification.v1.Subscription subscription = 1; +inline bool SubscribeRequest::has_subscription() const { + return (_has_bits_[0] & 0x00000001u) != 0; +} +inline void SubscribeRequest::set_has_subscription() { + _has_bits_[0] |= 0x00000001u; +} +inline void SubscribeRequest::clear_has_subscription() { + _has_bits_[0] &= ~0x00000001u; +} +inline void SubscribeRequest::clear_subscription() { + if (subscription_ != NULL) subscription_->::bgs::protocol::notification::v1::Subscription::Clear(); + clear_has_subscription(); +} +inline const ::bgs::protocol::notification::v1::Subscription& SubscribeRequest::subscription() const { + // @@protoc_insertion_point(field_get:bgs.protocol.notification.v1.SubscribeRequest.subscription) + return subscription_ != NULL ? *subscription_ : *default_instance_->subscription_; +} +inline ::bgs::protocol::notification::v1::Subscription* SubscribeRequest::mutable_subscription() { + set_has_subscription(); + if (subscription_ == NULL) subscription_ = new ::bgs::protocol::notification::v1::Subscription; + // @@protoc_insertion_point(field_mutable:bgs.protocol.notification.v1.SubscribeRequest.subscription) + return subscription_; +} +inline ::bgs::protocol::notification::v1::Subscription* SubscribeRequest::release_subscription() { + clear_has_subscription(); + ::bgs::protocol::notification::v1::Subscription* temp = subscription_; + subscription_ = NULL; + return temp; +} +inline void SubscribeRequest::set_allocated_subscription(::bgs::protocol::notification::v1::Subscription* subscription) { + delete subscription_; + subscription_ = subscription; + if (subscription) { + set_has_subscription(); + } else { + clear_has_subscription(); + } + // @@protoc_insertion_point(field_set_allocated:bgs.protocol.notification.v1.SubscribeRequest.subscription) +} + +// ------------------------------------------------------------------- + +// UnsubscribeRequest + +// optional .bgs.protocol.notification.v1.Subscription subscription = 1; +inline bool UnsubscribeRequest::has_subscription() const { + return (_has_bits_[0] & 0x00000001u) != 0; +} +inline void UnsubscribeRequest::set_has_subscription() { + _has_bits_[0] |= 0x00000001u; +} +inline void UnsubscribeRequest::clear_has_subscription() { + _has_bits_[0] &= ~0x00000001u; +} +inline void UnsubscribeRequest::clear_subscription() { + if (subscription_ != NULL) subscription_->::bgs::protocol::notification::v1::Subscription::Clear(); + clear_has_subscription(); +} +inline const ::bgs::protocol::notification::v1::Subscription& UnsubscribeRequest::subscription() const { + // @@protoc_insertion_point(field_get:bgs.protocol.notification.v1.UnsubscribeRequest.subscription) + return subscription_ != NULL ? *subscription_ : *default_instance_->subscription_; +} +inline ::bgs::protocol::notification::v1::Subscription* UnsubscribeRequest::mutable_subscription() { + set_has_subscription(); + if (subscription_ == NULL) subscription_ = new ::bgs::protocol::notification::v1::Subscription; + // @@protoc_insertion_point(field_mutable:bgs.protocol.notification.v1.UnsubscribeRequest.subscription) + return subscription_; +} +inline ::bgs::protocol::notification::v1::Subscription* UnsubscribeRequest::release_subscription() { + clear_has_subscription(); + ::bgs::protocol::notification::v1::Subscription* temp = subscription_; + subscription_ = NULL; + return temp; +} +inline void UnsubscribeRequest::set_allocated_subscription(::bgs::protocol::notification::v1::Subscription* subscription) { + delete subscription_; + subscription_ = subscription; + if (subscription) { + set_has_subscription(); + } else { + clear_has_subscription(); + } + // @@protoc_insertion_point(field_set_allocated:bgs.protocol.notification.v1.UnsubscribeRequest.subscription) +} + +// ------------------------------------------------------------------- + +// PublishRequest + +// optional .bgs.protocol.notification.v1.Target target = 1; +inline bool PublishRequest::has_target() const { + return (_has_bits_[0] & 0x00000001u) != 0; +} +inline void PublishRequest::set_has_target() { + _has_bits_[0] |= 0x00000001u; +} +inline void PublishRequest::clear_has_target() { + _has_bits_[0] &= ~0x00000001u; +} +inline void PublishRequest::clear_target() { + if (target_ != NULL) target_->::bgs::protocol::notification::v1::Target::Clear(); + clear_has_target(); +} +inline const ::bgs::protocol::notification::v1::Target& PublishRequest::target() const { + // @@protoc_insertion_point(field_get:bgs.protocol.notification.v1.PublishRequest.target) + return target_ != NULL ? *target_ : *default_instance_->target_; +} +inline ::bgs::protocol::notification::v1::Target* PublishRequest::mutable_target() { + set_has_target(); + if (target_ == NULL) target_ = new ::bgs::protocol::notification::v1::Target; + // @@protoc_insertion_point(field_mutable:bgs.protocol.notification.v1.PublishRequest.target) + return target_; +} +inline ::bgs::protocol::notification::v1::Target* PublishRequest::release_target() { + clear_has_target(); + ::bgs::protocol::notification::v1::Target* temp = target_; + target_ = NULL; + return temp; +} +inline void PublishRequest::set_allocated_target(::bgs::protocol::notification::v1::Target* target) { + delete target_; + target_ = target; + if (target) { + set_has_target(); + } else { + clear_has_target(); + } + // @@protoc_insertion_point(field_set_allocated:bgs.protocol.notification.v1.PublishRequest.target) +} + +// optional .bgs.protocol.notification.v1.Notification notification = 2; +inline bool PublishRequest::has_notification() const { + return (_has_bits_[0] & 0x00000002u) != 0; +} +inline void PublishRequest::set_has_notification() { + _has_bits_[0] |= 0x00000002u; +} +inline void PublishRequest::clear_has_notification() { + _has_bits_[0] &= ~0x00000002u; +} +inline void PublishRequest::clear_notification() { + if (notification_ != NULL) notification_->::bgs::protocol::notification::v1::Notification::Clear(); + clear_has_notification(); +} +inline const ::bgs::protocol::notification::v1::Notification& PublishRequest::notification() const { + // @@protoc_insertion_point(field_get:bgs.protocol.notification.v1.PublishRequest.notification) + return notification_ != NULL ? *notification_ : *default_instance_->notification_; +} +inline ::bgs::protocol::notification::v1::Notification* PublishRequest::mutable_notification() { + set_has_notification(); + if (notification_ == NULL) notification_ = new ::bgs::protocol::notification::v1::Notification; + // @@protoc_insertion_point(field_mutable:bgs.protocol.notification.v1.PublishRequest.notification) + return notification_; +} +inline ::bgs::protocol::notification::v1::Notification* PublishRequest::release_notification() { + clear_has_notification(); + ::bgs::protocol::notification::v1::Notification* temp = notification_; + notification_ = NULL; + return temp; +} +inline void PublishRequest::set_allocated_notification(::bgs::protocol::notification::v1::Notification* notification) { + delete notification_; + notification_ = notification; + if (notification) { + set_has_notification(); + } else { + clear_has_notification(); + } + // @@protoc_insertion_point(field_set_allocated:bgs.protocol.notification.v1.PublishRequest.notification) +} + +// @@protoc_insertion_point(namespace_scope) + +} // namespace v1 +} // namespace notification +} // namespace protocol +} // namespace bgs + +#ifndef SWIG +namespace google { +namespace protobuf { +} // namespace google +} // namespace protobuf +#endif // SWIG + +// @@protoc_insertion_point(global_scope) + +#endif // PROTOBUF_notification_5fservice_2eproto__INCLUDED diff --git a/src/server/proto/Client/notification_service.proto b/src/server/proto/Client/notification_service.proto new file mode 100644 index 00000000000..072367d2d7d --- /dev/null +++ b/src/server/proto/Client/notification_service.proto @@ -0,0 +1,66 @@ +syntax = "proto2"; + +import "bgs/low/pb/client/rpc_types.proto"; +import "bgs/low/pb/client/notification_types.proto"; +package bgs.protocol.notification.v1; + +option optimize_for = CODE_SIZE; +option cc_generic_services = false; + +message SubscribeRequest { + optional .bgs.protocol.notification.v1.Subscription subscription = 1; +} + +message UnsubscribeRequest { + optional .bgs.protocol.notification.v1.Subscription subscription = 1; +} + +message PublishRequest { + optional .bgs.protocol.notification.v1.Target target = 1; + optional .bgs.protocol.notification.v1.Notification notification = 2; +} + +service NotificationService { + option (.bgs.protocol.service_options) = { + descriptor_name: "bnet.protocol.notification.NotificationService" + }; + option (.bgs.protocol.sdk_service_options) = { + outbound: true + }; + rpc SendNotification(.bgs.protocol.notification.v1.Notification) returns (.bgs.protocol.NoData) { + option (.bgs.protocol.method_options) = { + id: 1 + }; + } + rpc Subscribe(.bgs.protocol.notification.v1.SubscribeRequest) returns (.bgs.protocol.NoData) { + option (.bgs.protocol.method_options) = { + id: 6 + }; + } + rpc Unsubscribe(.bgs.protocol.notification.v1.UnsubscribeRequest) returns (.bgs.protocol.NoData) { + option (.bgs.protocol.method_options) = { + id: 7 + }; + } + rpc Publish(.bgs.protocol.notification.v1.PublishRequest) returns (.bgs.protocol.NoData) { + option (.bgs.protocol.method_options) = { + id: 8 + }; + } +} + +service NotificationListener { + option (.bgs.protocol.service_options) = { + descriptor_name: "bnet.protocol.notification.NotificationListener" + }; + option (.bgs.protocol.sdk_service_options) = { + inbound: true + }; + rpc OnNotificationReceived(.bgs.protocol.notification.v1.Notification) returns (.bgs.protocol.NO_RESPONSE) { + option (.bgs.protocol.method_options) = { + id: 1 + }; + } +} + + diff --git a/src/server/proto/Client/report_service.pb.cc b/src/server/proto/Client/report_service.pb.cc new file mode 100644 index 00000000000..fcaea55c605 --- /dev/null +++ b/src/server/proto/Client/report_service.pb.cc @@ -0,0 +1,376 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: report_service.proto + +#define INTERNAL_SUPPRESS_PROTOBUF_FIELD_DEPRECATION +#include "report_service.pb.h" + +#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 "BattlenetRpcErrorCodes.h" +// @@protoc_insertion_point(includes) + +namespace bgs { +namespace protocol { +namespace report { +namespace v1 { + +namespace { + +const ::google::protobuf::Descriptor* SendReportRequest_descriptor_ = NULL; +const ::google::protobuf::internal::GeneratedMessageReflection* + SendReportRequest_reflection_ = NULL; +const ::google::protobuf::Descriptor* SubmitReportRequest_descriptor_ = NULL; +const ::google::protobuf::internal::GeneratedMessageReflection* + SubmitReportRequest_reflection_ = NULL; +const ::google::protobuf::ServiceDescriptor* ReportService_descriptor_ = NULL; + +} // namespace + +void protobuf_AssignDesc_report_5fservice_2eproto() { + protobuf_AddDesc_report_5fservice_2eproto(); + const ::google::protobuf::FileDescriptor* file = + ::google::protobuf::DescriptorPool::generated_pool()->FindFileByName( + "report_service.proto"); + GOOGLE_CHECK(file != NULL); + SendReportRequest_descriptor_ = file->message_type(0); + static const int SendReportRequest_offsets_[2] = { + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SendReportRequest, report_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SendReportRequest, program_), + }; + SendReportRequest_reflection_ = + new ::google::protobuf::internal::GeneratedMessageReflection( + SendReportRequest_descriptor_, + SendReportRequest::default_instance_, + SendReportRequest_offsets_, + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SendReportRequest, _has_bits_[0]), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SendReportRequest, _unknown_fields_), + -1, + ::google::protobuf::DescriptorPool::generated_pool(), + ::google::protobuf::MessageFactory::generated_factory(), + sizeof(SendReportRequest)); + SubmitReportRequest_descriptor_ = file->message_type(1); + static const int SubmitReportRequest_offsets_[3] = { + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SubmitReportRequest, agent_id_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SubmitReportRequest, report_type_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SubmitReportRequest, program_), + }; + 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, + ::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_report_5fservice_2eproto); +} + +void protobuf_RegisterTypes(const ::std::string&) { + protobuf_AssignDescriptorsOnce(); + ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage( + SendReportRequest_descriptor_, &SendReportRequest::default_instance()); + ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage( + SubmitReportRequest_descriptor_, &SubmitReportRequest::default_instance()); +} + +} // namespace + +void protobuf_ShutdownFile_report_5fservice_2eproto() { + delete SendReportRequest::default_instance_; + delete SendReportRequest_reflection_; + delete SubmitReportRequest::default_instance_; + delete SubmitReportRequest_reflection_; +} + +void protobuf_AddDesc_report_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::v1::protobuf_AddDesc_report_5ftypes_2eproto(); + ::bgs::protocol::protobuf_AddDesc_rpc_5ftypes_2eproto(); + ::google::protobuf::DescriptorPool::InternalAddGeneratedFile( + "\n\024report_service.proto\022\026bgs.protocol.rep" + "ort.v1\032\023account_types.proto\032\022report_type" + "s.proto\032\017rpc_types.proto\"T\n\021SendReportRe" + "quest\022.\n\006report\030\001 \002(\0132\036.bgs.protocol.rep" + "ort.v1.Report\022\017\n\007program\030\002 \001(\r\"\235\001\n\023Submi" + "tReportRequest\022<\n\010agent_id\030\001 \001(\0132*.bgs.p" + "rotocol.account.v1.GameAccountHandle\0227\n\013" + "report_type\030\002 \001(\0132\".bgs.protocol.report." + "v1.ReportType\022\017\n\007program\030\003 \001(\r2\361\001\n\rRepor" + "tService\022U\n\nSendReport\022).bgs.protocol.re" + "port.v1.SendReportRequest\032\024.bgs.protocol" + ".NoData\"\006\202\371+\002\010\001\022Y\n\014SubmitReport\022+.bgs.pr" + "otocol.report.v1.SubmitReportRequest\032\024.b" + "gs.protocol.NoData\"\006\202\371+\002\010\002\032.\202\371+$\n\"bnet.p" + "rotocol.report.ReportService\212\371+\002\020\001B\005H\002\200\001" + "\000", 601); + ::google::protobuf::MessageFactory::InternalRegisterGeneratedFile( + "report_service.proto", &protobuf_RegisterTypes); + SendReportRequest::default_instance_ = new SendReportRequest(); + SubmitReportRequest::default_instance_ = new SubmitReportRequest(); + SendReportRequest::default_instance_->InitAsDefaultInstance(); + SubmitReportRequest::default_instance_->InitAsDefaultInstance(); + ::google::protobuf::internal::OnShutdown(&protobuf_ShutdownFile_report_5fservice_2eproto); +} + +// Force AddDescriptors() to be called at static initialization time. +struct StaticDescriptorInitializer_report_5fservice_2eproto { + StaticDescriptorInitializer_report_5fservice_2eproto() { + protobuf_AddDesc_report_5fservice_2eproto(); + } +} static_descriptor_initializer_report_5fservice_2eproto_; +// =================================================================== + +#ifndef _MSC_VER +const int SendReportRequest::kReportFieldNumber; +const int SendReportRequest::kProgramFieldNumber; +#endif // !_MSC_VER + +SendReportRequest::SendReportRequest() + : ::google::protobuf::Message() { + SharedCtor(); + // @@protoc_insertion_point(constructor:bgs.protocol.report.v1.SendReportRequest) +} + +void SendReportRequest::InitAsDefaultInstance() { + report_ = const_cast< ::bgs::protocol::report::v1::Report*>(&::bgs::protocol::report::v1::Report::default_instance()); +} + +SendReportRequest::SendReportRequest(const SendReportRequest& from) + : ::google::protobuf::Message() { + SharedCtor(); + MergeFrom(from); + // @@protoc_insertion_point(copy_constructor:bgs.protocol.report.v1.SendReportRequest) +} + +void SendReportRequest::SharedCtor() { + _cached_size_ = 0; + report_ = NULL; + program_ = 0u; + ::memset(_has_bits_, 0, sizeof(_has_bits_)); +} + +SendReportRequest::~SendReportRequest() { + // @@protoc_insertion_point(destructor:bgs.protocol.report.v1.SendReportRequest) + SharedDtor(); +} + +void SendReportRequest::SharedDtor() { + if (this != default_instance_) { + delete report_; + } +} + +void SendReportRequest::SetCachedSize(int size) const { + GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); + _cached_size_ = size; + GOOGLE_SAFE_CONCURRENT_WRITES_END(); +} +const ::google::protobuf::Descriptor* SendReportRequest::descriptor() { + protobuf_AssignDescriptorsOnce(); + return SendReportRequest_descriptor_; +} + +const SendReportRequest& SendReportRequest::default_instance() { + if (default_instance_ == NULL) protobuf_AddDesc_report_5fservice_2eproto(); + return *default_instance_; +} + +SendReportRequest* SendReportRequest::default_instance_ = NULL; + +SendReportRequest* SendReportRequest::New() const { + return new SendReportRequest; +} + +void SendReportRequest::Swap(SendReportRequest* other) { + if (other != this) { + GetReflection()->Swap(this, other);} +} + +::google::protobuf::Metadata SendReportRequest::GetMetadata() const { + protobuf_AssignDescriptorsOnce(); + ::google::protobuf::Metadata metadata; + metadata.descriptor = SendReportRequest_descriptor_; + metadata.reflection = SendReportRequest_reflection_; + return metadata; +} + +// =================================================================== + +#ifndef _MSC_VER +const int SubmitReportRequest::kAgentIdFieldNumber; +const int SubmitReportRequest::kReportTypeFieldNumber; +const int SubmitReportRequest::kProgramFieldNumber; +#endif // !_MSC_VER + +SubmitReportRequest::SubmitReportRequest() + : ::google::protobuf::Message() { + SharedCtor(); + // @@protoc_insertion_point(constructor:bgs.protocol.report.v1.SubmitReportRequest) +} + +void SubmitReportRequest::InitAsDefaultInstance() { + agent_id_ = const_cast< ::bgs::protocol::account::v1::GameAccountHandle*>(&::bgs::protocol::account::v1::GameAccountHandle::default_instance()); + report_type_ = const_cast< ::bgs::protocol::report::v1::ReportType*>(&::bgs::protocol::report::v1::ReportType::default_instance()); +} + +SubmitReportRequest::SubmitReportRequest(const SubmitReportRequest& from) + : ::google::protobuf::Message() { + SharedCtor(); + MergeFrom(from); + // @@protoc_insertion_point(copy_constructor:bgs.protocol.report.v1.SubmitReportRequest) +} + +void SubmitReportRequest::SharedCtor() { + _cached_size_ = 0; + agent_id_ = NULL; + report_type_ = NULL; + program_ = 0u; + ::memset(_has_bits_, 0, sizeof(_has_bits_)); +} + +SubmitReportRequest::~SubmitReportRequest() { + // @@protoc_insertion_point(destructor:bgs.protocol.report.v1.SubmitReportRequest) + SharedDtor(); +} + +void SubmitReportRequest::SharedDtor() { + if (this != default_instance_) { + delete agent_id_; + delete report_type_; + } +} + +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_report_5fservice_2eproto(); + return *default_instance_; +} + +SubmitReportRequest* SubmitReportRequest::default_instance_ = NULL; + +SubmitReportRequest* SubmitReportRequest::New() const { + return new SubmitReportRequest; +} + +void SubmitReportRequest::Swap(SubmitReportRequest* other) { + if (other != this) { + GetReflection()->Swap(this, other);} +} + +::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) : ServiceBase(use_original_hash ? OriginalHash::value : NameHash::value) { +} + +ReportService::~ReportService() { +} + +google::protobuf::ServiceDescriptor const* ReportService::descriptor() { + protobuf_AssignDescriptorsOnce(); + return ReportService_descriptor_; +} + +void ReportService::CallServerMethod(uint32 token, uint32 methodId, MessageBuffer buffer) { + switch(methodId & 0x3FFFFFFF) { + case 1: + ParseAndHandleSendReport(token, methodId, buffer); + break; + case 2: + ParseAndHandleSubmitReport(token, methodId, buffer); + break; + default: + LogInvalidMethod(methodId); + SendResponse(service_hash_, methodId, token, ERROR_RPC_INVALID_METHOD); + break; + } +} + +uint32 ReportService::HandleSendReport(::bgs::protocol::report::v1::SendReportRequest const* request, ::bgs::protocol::NoData* /*response*/, std::function<void(ServiceBase*, uint32, ::google::protobuf::Message const*)>& /*continuation*/) { + LogUnimplementedServerMethod("ReportService.SendReport", request); + return ERROR_RPC_NOT_IMPLEMENTED; +} + +uint32 ReportService::HandleSubmitReport(::bgs::protocol::report::v1::SubmitReportRequest const* request, ::bgs::protocol::NoData* /*response*/, std::function<void(ServiceBase*, uint32, ::google::protobuf::Message const*)>& /*continuation*/) { + LogUnimplementedServerMethod("ReportService.SubmitReport", request); + return ERROR_RPC_NOT_IMPLEMENTED; +} + +void ReportService::ParseAndHandleSendReport(uint32 token, uint32 methodId, MessageBuffer& buffer) { + ::bgs::protocol::report::v1::SendReportRequest request; + if (!request.ParseFromArray(buffer.GetReadPointer(), buffer.GetActiveSize())) { + LogFailedParsingRequest("ReportService.SendReport"); + SendResponse(service_hash_, methodId, token, ERROR_RPC_MALFORMED_REQUEST); + return; + } + LogCallServerMethod("ReportService.SendReport", "bgs.protocol.report.v1.SendReportRequest", &request); + std::function<void(ServiceBase*, uint32, ::google::protobuf::Message const*)> continuation = CreateServerContinuation(token, methodId, "ReportService.SendReport", ::bgs::protocol::NoData::descriptor()); + ::bgs::protocol::NoData response; + uint32 status = HandleSendReport(&request, &response, continuation); + if (continuation) + continuation(this, status, &response); +} + +void ReportService::ParseAndHandleSubmitReport(uint32 token, uint32 methodId, MessageBuffer& buffer) { + ::bgs::protocol::report::v1::SubmitReportRequest request; + if (!request.ParseFromArray(buffer.GetReadPointer(), buffer.GetActiveSize())) { + LogFailedParsingRequest("ReportService.SubmitReport"); + SendResponse(service_hash_, methodId, token, ERROR_RPC_MALFORMED_REQUEST); + return; + } + LogCallServerMethod("ReportService.SubmitReport", "bgs.protocol.report.v1.SubmitReportRequest", &request); + std::function<void(ServiceBase*, uint32, ::google::protobuf::Message const*)> continuation = CreateServerContinuation(token, methodId, "ReportService.SubmitReport", ::bgs::protocol::NoData::descriptor()); + ::bgs::protocol::NoData response; + uint32 status = HandleSubmitReport(&request, &response, continuation); + if (continuation) + continuation(this, status, &response); +} + +// @@protoc_insertion_point(namespace_scope) + +} // namespace v1 +} // namespace report +} // namespace protocol +} // namespace bgs + +// @@protoc_insertion_point(global_scope) diff --git a/src/server/proto/Client/report_service.pb.h b/src/server/proto/Client/report_service.pb.h new file mode 100644 index 00000000000..84b01905e9c --- /dev/null +++ b/src/server/proto/Client/report_service.pb.h @@ -0,0 +1,444 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: report_service.proto + +#ifndef PROTOBUF_report_5fservice_2eproto__INCLUDED +#define PROTOBUF_report_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 "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 v1 { + +// Internal implementation detail -- do not call these. +void TC_PROTO_API protobuf_AddDesc_report_5fservice_2eproto(); +void protobuf_AssignDesc_report_5fservice_2eproto(); +void protobuf_ShutdownFile_report_5fservice_2eproto(); + +class SendReportRequest; +class SubmitReportRequest; + +// =================================================================== + +class TC_PROTO_API SendReportRequest : public ::google::protobuf::Message { + public: + SendReportRequest(); + virtual ~SendReportRequest(); + + SendReportRequest(const SendReportRequest& from); + + inline SendReportRequest& operator=(const SendReportRequest& 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 SendReportRequest& default_instance(); + + void Swap(SendReportRequest* other); + + // implements Message ---------------------------------------------- + + SendReportRequest* New() const; + int GetCachedSize() const { return _cached_size_; } + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const; + public: + ::google::protobuf::Metadata GetMetadata() const; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + // required .bgs.protocol.report.v1.Report report = 1; + inline bool has_report() const; + inline void clear_report(); + static const int kReportFieldNumber = 1; + inline const ::bgs::protocol::report::v1::Report& report() const; + inline ::bgs::protocol::report::v1::Report* mutable_report(); + inline ::bgs::protocol::report::v1::Report* release_report(); + inline void set_allocated_report(::bgs::protocol::report::v1::Report* report); + + // optional uint32 program = 2; + inline bool has_program() const; + inline void clear_program(); + static const int kProgramFieldNumber = 2; + inline ::google::protobuf::uint32 program() const; + inline void set_program(::google::protobuf::uint32 value); + + // @@protoc_insertion_point(class_scope:bgs.protocol.report.v1.SendReportRequest) + private: + inline void set_has_report(); + inline void clear_has_report(); + inline void set_has_program(); + inline void clear_has_program(); + + ::google::protobuf::UnknownFieldSet _unknown_fields_; + + ::google::protobuf::uint32 _has_bits_[1]; + mutable int _cached_size_; + ::bgs::protocol::report::v1::Report* report_; + ::google::protobuf::uint32 program_; + friend void TC_PROTO_API protobuf_AddDesc_report_5fservice_2eproto(); + friend void protobuf_AssignDesc_report_5fservice_2eproto(); + friend void protobuf_ShutdownFile_report_5fservice_2eproto(); + + void InitAsDefaultInstance(); + static SendReportRequest* default_instance_; +}; +// ------------------------------------------------------------------- + +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(); + + void Swap(SubmitReportRequest* other); + + // implements Message ---------------------------------------------- + + SubmitReportRequest* New() 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.GameAccountHandle 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::GameAccountHandle& agent_id() const; + inline ::bgs::protocol::account::v1::GameAccountHandle* mutable_agent_id(); + inline ::bgs::protocol::account::v1::GameAccountHandle* release_agent_id(); + inline void set_allocated_agent_id(::bgs::protocol::account::v1::GameAccountHandle* agent_id); + + // optional .bgs.protocol.report.v1.ReportType report_type = 2; + inline bool has_report_type() const; + inline void clear_report_type(); + static const int kReportTypeFieldNumber = 2; + inline const ::bgs::protocol::report::v1::ReportType& report_type() const; + inline ::bgs::protocol::report::v1::ReportType* mutable_report_type(); + inline ::bgs::protocol::report::v1::ReportType* release_report_type(); + inline void set_allocated_report_type(::bgs::protocol::report::v1::ReportType* report_type); + + // optional uint32 program = 3; + inline bool has_program() const; + inline void clear_program(); + static const int kProgramFieldNumber = 3; + inline ::google::protobuf::uint32 program() const; + inline void set_program(::google::protobuf::uint32 value); + + // @@protoc_insertion_point(class_scope:bgs.protocol.report.v1.SubmitReportRequest) + private: + inline void set_has_agent_id(); + inline void clear_has_agent_id(); + inline void set_has_report_type(); + inline void clear_has_report_type(); + inline void set_has_program(); + inline void clear_has_program(); + + ::google::protobuf::UnknownFieldSet _unknown_fields_; + + ::google::protobuf::uint32 _has_bits_[1]; + mutable int _cached_size_; + ::bgs::protocol::account::v1::GameAccountHandle* agent_id_; + ::bgs::protocol::report::v1::ReportType* report_type_; + ::google::protobuf::uint32 program_; + friend void TC_PROTO_API protobuf_AddDesc_report_5fservice_2eproto(); + friend void protobuf_AssignDesc_report_5fservice_2eproto(); + friend void protobuf_ShutdownFile_report_5fservice_2eproto(); + + void InitAsDefaultInstance(); + static SubmitReportRequest* default_instance_; +}; +// =================================================================== + +class TC_PROTO_API ReportService : public ServiceBase +{ + public: + + explicit ReportService(bool use_original_hash); + ReportService(ReportService const&) = delete; + ReportService(ReportService&&) = delete; + ReportService& operator=(ReportService const&) = delete; + ReportService& operator=(ReportService&&) = delete; + virtual ~ReportService(); + + typedef std::integral_constant<uint32, 0x7CAF61C9u> OriginalHash; + typedef std::integral_constant<uint32, 0x724F5F47u> NameHash; + + static google::protobuf::ServiceDescriptor const* descriptor(); + + void CallServerMethod(uint32 token, uint32 methodId, MessageBuffer buffer) final; + + protected: + // server methods -------------------------------------------------- + virtual uint32 HandleSendReport(::bgs::protocol::report::v1::SendReportRequest const* request, ::bgs::protocol::NoData* response, std::function<void(ServiceBase*, uint32, ::google::protobuf::Message const*)>& continuation); + virtual uint32 HandleSubmitReport(::bgs::protocol::report::v1::SubmitReportRequest const* request, ::bgs::protocol::NoData* response, std::function<void(ServiceBase*, uint32, ::google::protobuf::Message const*)>& continuation); + + private: + void ParseAndHandleSendReport(uint32 token, uint32 methodId, MessageBuffer& buffer); + void ParseAndHandleSubmitReport(uint32 token, uint32 methodId, MessageBuffer& buffer); +}; + +// =================================================================== + +// =================================================================== + +// SendReportRequest + +// required .bgs.protocol.report.v1.Report report = 1; +inline bool SendReportRequest::has_report() const { + return (_has_bits_[0] & 0x00000001u) != 0; +} +inline void SendReportRequest::set_has_report() { + _has_bits_[0] |= 0x00000001u; +} +inline void SendReportRequest::clear_has_report() { + _has_bits_[0] &= ~0x00000001u; +} +inline void SendReportRequest::clear_report() { + if (report_ != NULL) report_->::bgs::protocol::report::v1::Report::Clear(); + clear_has_report(); +} +inline const ::bgs::protocol::report::v1::Report& SendReportRequest::report() const { + // @@protoc_insertion_point(field_get:bgs.protocol.report.v1.SendReportRequest.report) + return report_ != NULL ? *report_ : *default_instance_->report_; +} +inline ::bgs::protocol::report::v1::Report* SendReportRequest::mutable_report() { + set_has_report(); + if (report_ == NULL) report_ = new ::bgs::protocol::report::v1::Report; + // @@protoc_insertion_point(field_mutable:bgs.protocol.report.v1.SendReportRequest.report) + return report_; +} +inline ::bgs::protocol::report::v1::Report* SendReportRequest::release_report() { + clear_has_report(); + ::bgs::protocol::report::v1::Report* temp = report_; + report_ = NULL; + return temp; +} +inline void SendReportRequest::set_allocated_report(::bgs::protocol::report::v1::Report* report) { + delete report_; + report_ = report; + if (report) { + set_has_report(); + } else { + clear_has_report(); + } + // @@protoc_insertion_point(field_set_allocated:bgs.protocol.report.v1.SendReportRequest.report) +} + +// optional uint32 program = 2; +inline bool SendReportRequest::has_program() const { + return (_has_bits_[0] & 0x00000002u) != 0; +} +inline void SendReportRequest::set_has_program() { + _has_bits_[0] |= 0x00000002u; +} +inline void SendReportRequest::clear_has_program() { + _has_bits_[0] &= ~0x00000002u; +} +inline void SendReportRequest::clear_program() { + program_ = 0u; + clear_has_program(); +} +inline ::google::protobuf::uint32 SendReportRequest::program() const { + // @@protoc_insertion_point(field_get:bgs.protocol.report.v1.SendReportRequest.program) + return program_; +} +inline void SendReportRequest::set_program(::google::protobuf::uint32 value) { + set_has_program(); + program_ = value; + // @@protoc_insertion_point(field_set:bgs.protocol.report.v1.SendReportRequest.program) +} + +// ------------------------------------------------------------------- + +// SubmitReportRequest + +// optional .bgs.protocol.account.v1.GameAccountHandle 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::GameAccountHandle::Clear(); + clear_has_agent_id(); +} +inline const ::bgs::protocol::account::v1::GameAccountHandle& SubmitReportRequest::agent_id() const { + // @@protoc_insertion_point(field_get:bgs.protocol.report.v1.SubmitReportRequest.agent_id) + return agent_id_ != NULL ? *agent_id_ : *default_instance_->agent_id_; +} +inline ::bgs::protocol::account::v1::GameAccountHandle* SubmitReportRequest::mutable_agent_id() { + set_has_agent_id(); + if (agent_id_ == NULL) agent_id_ = new ::bgs::protocol::account::v1::GameAccountHandle; + // @@protoc_insertion_point(field_mutable:bgs.protocol.report.v1.SubmitReportRequest.agent_id) + return agent_id_; +} +inline ::bgs::protocol::account::v1::GameAccountHandle* SubmitReportRequest::release_agent_id() { + clear_has_agent_id(); + ::bgs::protocol::account::v1::GameAccountHandle* temp = agent_id_; + agent_id_ = NULL; + return temp; +} +inline void SubmitReportRequest::set_allocated_agent_id(::bgs::protocol::account::v1::GameAccountHandle* 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.v1.SubmitReportRequest.agent_id) +} + +// optional .bgs.protocol.report.v1.ReportType report_type = 2; +inline bool SubmitReportRequest::has_report_type() const { + return (_has_bits_[0] & 0x00000002u) != 0; +} +inline void SubmitReportRequest::set_has_report_type() { + _has_bits_[0] |= 0x00000002u; +} +inline void SubmitReportRequest::clear_has_report_type() { + _has_bits_[0] &= ~0x00000002u; +} +inline void SubmitReportRequest::clear_report_type() { + if (report_type_ != NULL) report_type_->::bgs::protocol::report::v1::ReportType::Clear(); + clear_has_report_type(); +} +inline const ::bgs::protocol::report::v1::ReportType& SubmitReportRequest::report_type() const { + // @@protoc_insertion_point(field_get:bgs.protocol.report.v1.SubmitReportRequest.report_type) + return report_type_ != NULL ? *report_type_ : *default_instance_->report_type_; +} +inline ::bgs::protocol::report::v1::ReportType* SubmitReportRequest::mutable_report_type() { + set_has_report_type(); + if (report_type_ == NULL) report_type_ = new ::bgs::protocol::report::v1::ReportType; + // @@protoc_insertion_point(field_mutable:bgs.protocol.report.v1.SubmitReportRequest.report_type) + return report_type_; +} +inline ::bgs::protocol::report::v1::ReportType* SubmitReportRequest::release_report_type() { + clear_has_report_type(); + ::bgs::protocol::report::v1::ReportType* temp = report_type_; + report_type_ = NULL; + return temp; +} +inline void SubmitReportRequest::set_allocated_report_type(::bgs::protocol::report::v1::ReportType* report_type) { + delete report_type_; + report_type_ = report_type; + if (report_type) { + set_has_report_type(); + } else { + clear_has_report_type(); + } + // @@protoc_insertion_point(field_set_allocated:bgs.protocol.report.v1.SubmitReportRequest.report_type) +} + +// 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.v1.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.v1.SubmitReportRequest.program) +} + +// @@protoc_insertion_point(namespace_scope) + +} // namespace v1 +} // 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_report_5fservice_2eproto__INCLUDED diff --git a/src/server/proto/Client/report_service.proto b/src/server/proto/Client/report_service.proto new file mode 100644 index 00000000000..8f65611d0b0 --- /dev/null +++ b/src/server/proto/Client/report_service.proto @@ -0,0 +1,41 @@ +syntax = "proto2"; + +import "account_types.proto"; +import "report_types.proto"; +import "rpc_types.proto"; +package bgs.protocol.report.v1; + +option optimize_for = CODE_SIZE; +option cc_generic_services = false; + +message SendReportRequest { + required .bgs.protocol.report.v1.Report report = 1; + optional uint32 program = 2; +} + +message SubmitReportRequest { + optional .bgs.protocol.account.v1.GameAccountHandle agent_id = 1; + optional .bgs.protocol.report.v1.ReportType report_type = 2; + optional uint32 program = 3; +} + +service ReportService { + option (.bgs.protocol.service_options) = { + descriptor_name: "bnet.protocol.report.ReportService" + }; + option (.bgs.protocol.sdk_service_options) = { + outbound: true + }; + rpc SendReport(.bgs.protocol.report.v1.SendReportRequest) returns (.bgs.protocol.NoData) { + option (.bgs.protocol.method_options) = { + id: 1 + }; + } + rpc SubmitReport(.bgs.protocol.report.v1.SubmitReportRequest) returns (.bgs.protocol.NoData) { + option (.bgs.protocol.method_options) = { + id: 2 + }; + } +} + + diff --git a/src/server/proto/Client/report_types.pb.cc b/src/server/proto/Client/report_types.pb.cc new file mode 100644 index 00000000000..cf076e42ef8 --- /dev/null +++ b/src/server/proto/Client/report_types.pb.cc @@ -0,0 +1,1167 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: report_types.proto + +#define INTERNAL_SUPPRESS_PROTOBUF_FIELD_DEPRECATION +#include "report_types.pb.h" + +#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> +// @@protoc_insertion_point(includes) + +namespace bgs { +namespace protocol { +namespace report { +namespace v1 { + +namespace { + +const ::google::protobuf::Descriptor* ReportType_descriptor_ = NULL; +const ::google::protobuf::internal::GeneratedMessageReflection* + ReportType_reflection_ = NULL; +struct ReportTypeOneofInstance { + const ::bgs::protocol::report::v1::CustomReport* custom_report_; + const ::bgs::protocol::report::v1::SpamReport* spam_report_; + const ::bgs::protocol::report::v1::HarassmentReport* harassment_report_; + const ::bgs::protocol::report::v1::RealLifeThreatReport* real_life_threat_report_; + const ::bgs::protocol::report::v1::InappropriateBattleTagReport* inappropriate_battle_tag_report_; + const ::bgs::protocol::report::v1::HackingReport* hacking_report_; + const ::bgs::protocol::report::v1::BottingReport* botting_report_; +}* ReportType_default_oneof_instance_ = NULL; +const ::google::protobuf::Descriptor* CustomReport_descriptor_ = NULL; +const ::google::protobuf::internal::GeneratedMessageReflection* + CustomReport_reflection_ = NULL; +const ::google::protobuf::Descriptor* SpamReport_descriptor_ = NULL; +const ::google::protobuf::internal::GeneratedMessageReflection* + SpamReport_reflection_ = NULL; +const ::google::protobuf::EnumDescriptor* SpamReport_SpamSource_descriptor_ = NULL; +const ::google::protobuf::Descriptor* HarassmentReport_descriptor_ = NULL; +const ::google::protobuf::internal::GeneratedMessageReflection* + HarassmentReport_reflection_ = NULL; +const ::google::protobuf::Descriptor* RealLifeThreatReport_descriptor_ = NULL; +const ::google::protobuf::internal::GeneratedMessageReflection* + RealLifeThreatReport_reflection_ = NULL; +const ::google::protobuf::Descriptor* InappropriateBattleTagReport_descriptor_ = NULL; +const ::google::protobuf::internal::GeneratedMessageReflection* + InappropriateBattleTagReport_reflection_ = NULL; +const ::google::protobuf::Descriptor* HackingReport_descriptor_ = NULL; +const ::google::protobuf::internal::GeneratedMessageReflection* + HackingReport_reflection_ = NULL; +const ::google::protobuf::Descriptor* BottingReport_descriptor_ = NULL; +const ::google::protobuf::internal::GeneratedMessageReflection* + BottingReport_reflection_ = NULL; +const ::google::protobuf::Descriptor* Report_descriptor_ = NULL; +const ::google::protobuf::internal::GeneratedMessageReflection* + Report_reflection_ = NULL; + +} // namespace + +void protobuf_AssignDesc_report_5ftypes_2eproto() { + protobuf_AddDesc_report_5ftypes_2eproto(); + const ::google::protobuf::FileDescriptor* file = + ::google::protobuf::DescriptorPool::generated_pool()->FindFileByName( + "report_types.proto"); + GOOGLE_CHECK(file != NULL); + ReportType_descriptor_ = file->message_type(0); + static const int ReportType_offsets_[9] = { + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ReportType, user_description_), + PROTO2_GENERATED_DEFAULT_ONEOF_FIELD_OFFSET(ReportType_default_oneof_instance_, custom_report_), + PROTO2_GENERATED_DEFAULT_ONEOF_FIELD_OFFSET(ReportType_default_oneof_instance_, spam_report_), + PROTO2_GENERATED_DEFAULT_ONEOF_FIELD_OFFSET(ReportType_default_oneof_instance_, harassment_report_), + PROTO2_GENERATED_DEFAULT_ONEOF_FIELD_OFFSET(ReportType_default_oneof_instance_, real_life_threat_report_), + PROTO2_GENERATED_DEFAULT_ONEOF_FIELD_OFFSET(ReportType_default_oneof_instance_, inappropriate_battle_tag_report_), + PROTO2_GENERATED_DEFAULT_ONEOF_FIELD_OFFSET(ReportType_default_oneof_instance_, hacking_report_), + PROTO2_GENERATED_DEFAULT_ONEOF_FIELD_OFFSET(ReportType_default_oneof_instance_, botting_report_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ReportType, type_), + }; + ReportType_reflection_ = + new ::google::protobuf::internal::GeneratedMessageReflection( + ReportType_descriptor_, + ReportType::default_instance_, + ReportType_offsets_, + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ReportType, _has_bits_[0]), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ReportType, _unknown_fields_), + -1, + ReportType_default_oneof_instance_, + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ReportType, _oneof_case_[0]), + ::google::protobuf::DescriptorPool::generated_pool(), + ::google::protobuf::MessageFactory::generated_factory(), + sizeof(ReportType)); + CustomReport_descriptor_ = file->message_type(1); + static const int CustomReport_offsets_[3] = { + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(CustomReport, type_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(CustomReport, program_id_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(CustomReport, attribute_), + }; + CustomReport_reflection_ = + new ::google::protobuf::internal::GeneratedMessageReflection( + CustomReport_descriptor_, + CustomReport::default_instance_, + CustomReport_offsets_, + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(CustomReport, _has_bits_[0]), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(CustomReport, _unknown_fields_), + -1, + ::google::protobuf::DescriptorPool::generated_pool(), + ::google::protobuf::MessageFactory::generated_factory(), + sizeof(CustomReport)); + SpamReport_descriptor_ = file->message_type(2); + static const int SpamReport_offsets_[2] = { + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SpamReport, target_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SpamReport, source_), + }; + SpamReport_reflection_ = + new ::google::protobuf::internal::GeneratedMessageReflection( + SpamReport_descriptor_, + SpamReport::default_instance_, + SpamReport_offsets_, + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SpamReport, _has_bits_[0]), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SpamReport, _unknown_fields_), + -1, + ::google::protobuf::DescriptorPool::generated_pool(), + ::google::protobuf::MessageFactory::generated_factory(), + sizeof(SpamReport)); + SpamReport_SpamSource_descriptor_ = SpamReport_descriptor_->enum_type(0); + HarassmentReport_descriptor_ = file->message_type(3); + static const int HarassmentReport_offsets_[2] = { + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(HarassmentReport, target_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(HarassmentReport, text_), + }; + HarassmentReport_reflection_ = + new ::google::protobuf::internal::GeneratedMessageReflection( + HarassmentReport_descriptor_, + HarassmentReport::default_instance_, + HarassmentReport_offsets_, + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(HarassmentReport, _has_bits_[0]), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(HarassmentReport, _unknown_fields_), + -1, + ::google::protobuf::DescriptorPool::generated_pool(), + ::google::protobuf::MessageFactory::generated_factory(), + sizeof(HarassmentReport)); + RealLifeThreatReport_descriptor_ = file->message_type(4); + static const int RealLifeThreatReport_offsets_[2] = { + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RealLifeThreatReport, target_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RealLifeThreatReport, text_), + }; + RealLifeThreatReport_reflection_ = + new ::google::protobuf::internal::GeneratedMessageReflection( + RealLifeThreatReport_descriptor_, + RealLifeThreatReport::default_instance_, + RealLifeThreatReport_offsets_, + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RealLifeThreatReport, _has_bits_[0]), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RealLifeThreatReport, _unknown_fields_), + -1, + ::google::protobuf::DescriptorPool::generated_pool(), + ::google::protobuf::MessageFactory::generated_factory(), + sizeof(RealLifeThreatReport)); + InappropriateBattleTagReport_descriptor_ = file->message_type(5); + static const int InappropriateBattleTagReport_offsets_[2] = { + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(InappropriateBattleTagReport, target_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(InappropriateBattleTagReport, battle_tag_), + }; + InappropriateBattleTagReport_reflection_ = + new ::google::protobuf::internal::GeneratedMessageReflection( + InappropriateBattleTagReport_descriptor_, + InappropriateBattleTagReport::default_instance_, + InappropriateBattleTagReport_offsets_, + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(InappropriateBattleTagReport, _has_bits_[0]), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(InappropriateBattleTagReport, _unknown_fields_), + -1, + ::google::protobuf::DescriptorPool::generated_pool(), + ::google::protobuf::MessageFactory::generated_factory(), + sizeof(InappropriateBattleTagReport)); + HackingReport_descriptor_ = file->message_type(6); + static const int HackingReport_offsets_[1] = { + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(HackingReport, target_), + }; + HackingReport_reflection_ = + new ::google::protobuf::internal::GeneratedMessageReflection( + HackingReport_descriptor_, + HackingReport::default_instance_, + HackingReport_offsets_, + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(HackingReport, _has_bits_[0]), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(HackingReport, _unknown_fields_), + -1, + ::google::protobuf::DescriptorPool::generated_pool(), + ::google::protobuf::MessageFactory::generated_factory(), + sizeof(HackingReport)); + BottingReport_descriptor_ = file->message_type(7); + static const int BottingReport_offsets_[1] = { + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BottingReport, target_), + }; + BottingReport_reflection_ = + new ::google::protobuf::internal::GeneratedMessageReflection( + BottingReport_descriptor_, + BottingReport::default_instance_, + BottingReport_offsets_, + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BottingReport, _has_bits_[0]), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BottingReport, _unknown_fields_), + -1, + ::google::protobuf::DescriptorPool::generated_pool(), + ::google::protobuf::MessageFactory::generated_factory(), + sizeof(BottingReport)); + Report_descriptor_ = file->message_type(8); + static const int Report_offsets_[6] = { + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(Report, report_type_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(Report, attribute_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(Report, report_qos_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(Report, reporting_account_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(Report, reporting_game_account_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(Report, report_timestamp_), + }; + Report_reflection_ = + new ::google::protobuf::internal::GeneratedMessageReflection( + Report_descriptor_, + Report::default_instance_, + Report_offsets_, + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(Report, _has_bits_[0]), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(Report, _unknown_fields_), + -1, + ::google::protobuf::DescriptorPool::generated_pool(), + ::google::protobuf::MessageFactory::generated_factory(), + sizeof(Report)); +} + +namespace { + +GOOGLE_PROTOBUF_DECLARE_ONCE(protobuf_AssignDescriptors_once_); +inline void protobuf_AssignDescriptorsOnce() { + ::google::protobuf::GoogleOnceInit(&protobuf_AssignDescriptors_once_, + &protobuf_AssignDesc_report_5ftypes_2eproto); +} + +void protobuf_RegisterTypes(const ::std::string&) { + protobuf_AssignDescriptorsOnce(); + ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage( + ReportType_descriptor_, &ReportType::default_instance()); + ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage( + CustomReport_descriptor_, &CustomReport::default_instance()); + ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage( + SpamReport_descriptor_, &SpamReport::default_instance()); + ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage( + HarassmentReport_descriptor_, &HarassmentReport::default_instance()); + ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage( + RealLifeThreatReport_descriptor_, &RealLifeThreatReport::default_instance()); + ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage( + InappropriateBattleTagReport_descriptor_, &InappropriateBattleTagReport::default_instance()); + ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage( + HackingReport_descriptor_, &HackingReport::default_instance()); + ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage( + BottingReport_descriptor_, &BottingReport::default_instance()); + ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage( + Report_descriptor_, &Report::default_instance()); +} + +} // namespace + +void protobuf_ShutdownFile_report_5ftypes_2eproto() { + delete ReportType::default_instance_; + delete ReportType_default_oneof_instance_; + delete ReportType_reflection_; + delete CustomReport::default_instance_; + delete CustomReport_reflection_; + delete SpamReport::default_instance_; + delete SpamReport_reflection_; + delete HarassmentReport::default_instance_; + delete HarassmentReport_reflection_; + delete RealLifeThreatReport::default_instance_; + delete RealLifeThreatReport_reflection_; + delete InappropriateBattleTagReport::default_instance_; + delete InappropriateBattleTagReport_reflection_; + delete HackingReport::default_instance_; + delete HackingReport_reflection_; + delete BottingReport::default_instance_; + delete BottingReport_reflection_; + delete Report::default_instance_; + delete Report_reflection_; +} + +void protobuf_AddDesc_report_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_attribute_5ftypes_2eproto(); + ::bgs::protocol::protobuf_AddDesc_entity_5ftypes_2eproto(); + ::bgs::protocol::protobuf_AddDesc_rpc_5ftypes_2eproto(); + ::google::protobuf::DescriptorPool::InternalAddGeneratedFile( + "\n\022report_types.proto\022\026bgs.protocol.repor" + "t.v1\032\023account_types.proto\032\025attribute_typ" + "es.proto\032\022entity_types.proto\032\017rpc_types." + "proto\"\243\004\n\nReportType\022\030\n\020user_description" + "\030\001 \001(\t\022=\n\rcustom_report\030\n \001(\0132$.bgs.prot" + "ocol.report.v1.CustomReportH\000\0229\n\013spam_re" + "port\030\013 \001(\0132\".bgs.protocol.report.v1.Spam" + "ReportH\000\022E\n\021harassment_report\030\014 \001(\0132(.bg" + "s.protocol.report.v1.HarassmentReportH\000\022" + "O\n\027real_life_threat_report\030\r \001(\0132,.bgs.p" + "rotocol.report.v1.RealLifeThreatReportH\000" + "\022_\n\037inappropriate_battle_tag_report\030\016 \001(" + "\01324.bgs.protocol.report.v1.Inappropriate" + "BattleTagReportH\000\022\?\n\016hacking_report\030\017 \001(" + "\0132%.bgs.protocol.report.v1.HackingReport" + "H\000\022\?\n\016botting_report\030\020 \001(\0132%.bgs.protoco" + "l.report.v1.BottingReportH\000B\006\n\004type\"`\n\014C" + "ustomReport\022\014\n\004type\030\001 \001(\t\022\026\n\nprogram_id\030" + "\002 \001(\tB\002\030\001\022*\n\tattribute\030\003 \003(\0132\027.bgs.proto" + "col.Attribute\"\325\001\n\nSpamReport\022:\n\006target\030\001" + " \001(\0132*.bgs.protocol.account.v1.GameAccou" + "ntHandle\022D\n\006source\030\002 \001(\0162-.bgs.protocol." + "report.v1.SpamReport.SpamSource:\005OTHER\"E" + "\n\nSpamSource\022\t\n\005OTHER\020\001\022\025\n\021FRIEND_INVITA" + "TION\020\002\022\013\n\007WHISPER\020\003\022\010\n\004CHAT\020\004\"\\\n\020Harassm" + "entReport\022:\n\006target\030\001 \001(\0132*.bgs.protocol" + ".account.v1.GameAccountHandle\022\014\n\004text\030\002 " + "\001(\t\"`\n\024RealLifeThreatReport\022:\n\006target\030\001 " + "\001(\0132*.bgs.protocol.account.v1.GameAccoun" + "tHandle\022\014\n\004text\030\002 \001(\t\"n\n\034InappropriateBa" + "ttleTagReport\022:\n\006target\030\001 \001(\0132*.bgs.prot" + "ocol.account.v1.GameAccountHandle\022\022\n\nbat" + "tle_tag\030\002 \001(\t\"K\n\rHackingReport\022:\n\006target" + "\030\001 \001(\0132*.bgs.protocol.account.v1.GameAcc" + "ountHandle\"K\n\rBottingReport\022:\n\006target\030\001 " + "\001(\0132*.bgs.protocol.account.v1.GameAccoun" + "tHandle\"\345\001\n\006Report\022\023\n\013report_type\030\001 \002(\t\022" + "*\n\tattribute\030\002 \003(\0132\027.bgs.protocol.Attrib" + "ute\022\025\n\nreport_qos\030\003 \001(\005:\0010\0221\n\021reporting_" + "account\030\004 \001(\0132\026.bgs.protocol.EntityId\0226\n" + "\026reporting_game_account\030\005 \001(\0132\026.bgs.prot" + "ocol.EntityId\022\030\n\020report_timestamp\030\006 \001(\006B" + "\005H\002\200\001\000", 1686); + ::google::protobuf::MessageFactory::InternalRegisterGeneratedFile( + "report_types.proto", &protobuf_RegisterTypes); + ReportType::default_instance_ = new ReportType(); + ReportType_default_oneof_instance_ = new ReportTypeOneofInstance; + CustomReport::default_instance_ = new CustomReport(); + SpamReport::default_instance_ = new SpamReport(); + HarassmentReport::default_instance_ = new HarassmentReport(); + RealLifeThreatReport::default_instance_ = new RealLifeThreatReport(); + InappropriateBattleTagReport::default_instance_ = new InappropriateBattleTagReport(); + HackingReport::default_instance_ = new HackingReport(); + BottingReport::default_instance_ = new BottingReport(); + Report::default_instance_ = new Report(); + ReportType::default_instance_->InitAsDefaultInstance(); + CustomReport::default_instance_->InitAsDefaultInstance(); + SpamReport::default_instance_->InitAsDefaultInstance(); + HarassmentReport::default_instance_->InitAsDefaultInstance(); + RealLifeThreatReport::default_instance_->InitAsDefaultInstance(); + InappropriateBattleTagReport::default_instance_->InitAsDefaultInstance(); + HackingReport::default_instance_->InitAsDefaultInstance(); + BottingReport::default_instance_->InitAsDefaultInstance(); + Report::default_instance_->InitAsDefaultInstance(); + ::google::protobuf::internal::OnShutdown(&protobuf_ShutdownFile_report_5ftypes_2eproto); +} + +// Force AddDescriptors() to be called at static initialization time. +struct StaticDescriptorInitializer_report_5ftypes_2eproto { + StaticDescriptorInitializer_report_5ftypes_2eproto() { + protobuf_AddDesc_report_5ftypes_2eproto(); + } +} static_descriptor_initializer_report_5ftypes_2eproto_; +// =================================================================== + +#ifndef _MSC_VER +const int ReportType::kUserDescriptionFieldNumber; +const int ReportType::kCustomReportFieldNumber; +const int ReportType::kSpamReportFieldNumber; +const int ReportType::kHarassmentReportFieldNumber; +const int ReportType::kRealLifeThreatReportFieldNumber; +const int ReportType::kInappropriateBattleTagReportFieldNumber; +const int ReportType::kHackingReportFieldNumber; +const int ReportType::kBottingReportFieldNumber; +#endif // !_MSC_VER + +ReportType::ReportType() + : ::google::protobuf::Message() { + SharedCtor(); + // @@protoc_insertion_point(constructor:bgs.protocol.report.v1.ReportType) +} + +void ReportType::InitAsDefaultInstance() { + ReportType_default_oneof_instance_->custom_report_ = const_cast< ::bgs::protocol::report::v1::CustomReport*>(&::bgs::protocol::report::v1::CustomReport::default_instance()); + ReportType_default_oneof_instance_->spam_report_ = const_cast< ::bgs::protocol::report::v1::SpamReport*>(&::bgs::protocol::report::v1::SpamReport::default_instance()); + ReportType_default_oneof_instance_->harassment_report_ = const_cast< ::bgs::protocol::report::v1::HarassmentReport*>(&::bgs::protocol::report::v1::HarassmentReport::default_instance()); + ReportType_default_oneof_instance_->real_life_threat_report_ = const_cast< ::bgs::protocol::report::v1::RealLifeThreatReport*>(&::bgs::protocol::report::v1::RealLifeThreatReport::default_instance()); + ReportType_default_oneof_instance_->inappropriate_battle_tag_report_ = const_cast< ::bgs::protocol::report::v1::InappropriateBattleTagReport*>(&::bgs::protocol::report::v1::InappropriateBattleTagReport::default_instance()); + ReportType_default_oneof_instance_->hacking_report_ = const_cast< ::bgs::protocol::report::v1::HackingReport*>(&::bgs::protocol::report::v1::HackingReport::default_instance()); + ReportType_default_oneof_instance_->botting_report_ = const_cast< ::bgs::protocol::report::v1::BottingReport*>(&::bgs::protocol::report::v1::BottingReport::default_instance()); +} + +ReportType::ReportType(const ReportType& from) + : ::google::protobuf::Message() { + SharedCtor(); + MergeFrom(from); + // @@protoc_insertion_point(copy_constructor:bgs.protocol.report.v1.ReportType) +} + +void ReportType::SharedCtor() { + ::google::protobuf::internal::GetEmptyString(); + _cached_size_ = 0; + user_description_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + ::memset(_has_bits_, 0, sizeof(_has_bits_)); + clear_has_type(); +} + +ReportType::~ReportType() { + // @@protoc_insertion_point(destructor:bgs.protocol.report.v1.ReportType) + SharedDtor(); +} + +void ReportType::SharedDtor() { + if (user_description_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) { + delete user_description_; + } + if (has_type()) { + clear_type(); + } + if (this != default_instance_) { + } +} + +void ReportType::SetCachedSize(int size) const { + GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); + _cached_size_ = size; + GOOGLE_SAFE_CONCURRENT_WRITES_END(); +} +const ::google::protobuf::Descriptor* ReportType::descriptor() { + protobuf_AssignDescriptorsOnce(); + return ReportType_descriptor_; +} + +const ReportType& ReportType::default_instance() { + if (default_instance_ == NULL) protobuf_AddDesc_report_5ftypes_2eproto(); + return *default_instance_; +} + +ReportType* ReportType::default_instance_ = NULL; + +ReportType* ReportType::New() const { + return new ReportType; +} + +void ReportType::clear_type() { + switch(type_case()) { + case kCustomReport: { + delete type_.custom_report_; + break; + } + case kSpamReport: { + delete type_.spam_report_; + break; + } + case kHarassmentReport: { + delete type_.harassment_report_; + break; + } + case kRealLifeThreatReport: { + delete type_.real_life_threat_report_; + break; + } + case kInappropriateBattleTagReport: { + delete type_.inappropriate_battle_tag_report_; + break; + } + case kHackingReport: { + delete type_.hacking_report_; + break; + } + case kBottingReport: { + delete type_.botting_report_; + break; + } + case TYPE_NOT_SET: { + break; + } + } + _oneof_case_[0] = TYPE_NOT_SET; +} + +void ReportType::Swap(ReportType* other) { + if (other != this) { + GetReflection()->Swap(this, other);} +} + +::google::protobuf::Metadata ReportType::GetMetadata() const { + protobuf_AssignDescriptorsOnce(); + ::google::protobuf::Metadata metadata; + metadata.descriptor = ReportType_descriptor_; + metadata.reflection = ReportType_reflection_; + return metadata; +} + +// =================================================================== + +#ifndef _MSC_VER +const int CustomReport::kTypeFieldNumber; +const int CustomReport::kProgramIdFieldNumber; +const int CustomReport::kAttributeFieldNumber; +#endif // !_MSC_VER + +CustomReport::CustomReport() + : ::google::protobuf::Message() { + SharedCtor(); + // @@protoc_insertion_point(constructor:bgs.protocol.report.v1.CustomReport) +} + +void CustomReport::InitAsDefaultInstance() { +} + +CustomReport::CustomReport(const CustomReport& from) + : ::google::protobuf::Message() { + SharedCtor(); + MergeFrom(from); + // @@protoc_insertion_point(copy_constructor:bgs.protocol.report.v1.CustomReport) +} + +void CustomReport::SharedCtor() { + ::google::protobuf::internal::GetEmptyString(); + _cached_size_ = 0; + type_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + program_id_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + ::memset(_has_bits_, 0, sizeof(_has_bits_)); +} + +CustomReport::~CustomReport() { + // @@protoc_insertion_point(destructor:bgs.protocol.report.v1.CustomReport) + SharedDtor(); +} + +void CustomReport::SharedDtor() { + if (type_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) { + delete type_; + } + if (program_id_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) { + delete program_id_; + } + if (this != default_instance_) { + } +} + +void CustomReport::SetCachedSize(int size) const { + GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); + _cached_size_ = size; + GOOGLE_SAFE_CONCURRENT_WRITES_END(); +} +const ::google::protobuf::Descriptor* CustomReport::descriptor() { + protobuf_AssignDescriptorsOnce(); + return CustomReport_descriptor_; +} + +const CustomReport& CustomReport::default_instance() { + if (default_instance_ == NULL) protobuf_AddDesc_report_5ftypes_2eproto(); + return *default_instance_; +} + +CustomReport* CustomReport::default_instance_ = NULL; + +CustomReport* CustomReport::New() const { + return new CustomReport; +} + +void CustomReport::Swap(CustomReport* other) { + if (other != this) { + GetReflection()->Swap(this, other);} +} + +::google::protobuf::Metadata CustomReport::GetMetadata() const { + protobuf_AssignDescriptorsOnce(); + ::google::protobuf::Metadata metadata; + metadata.descriptor = CustomReport_descriptor_; + metadata.reflection = CustomReport_reflection_; + return metadata; +} + +// =================================================================== + +const ::google::protobuf::EnumDescriptor* SpamReport_SpamSource_descriptor() { + protobuf_AssignDescriptorsOnce(); + return SpamReport_SpamSource_descriptor_; +} +bool SpamReport_SpamSource_IsValid(int value) { + switch(value) { + case 1: + case 2: + case 3: + case 4: + return true; + default: + return false; + } +} + +#ifndef _MSC_VER +const SpamReport_SpamSource SpamReport::OTHER; +const SpamReport_SpamSource SpamReport::FRIEND_INVITATION; +const SpamReport_SpamSource SpamReport::WHISPER; +const SpamReport_SpamSource SpamReport::CHAT; +const SpamReport_SpamSource SpamReport::SpamSource_MIN; +const SpamReport_SpamSource SpamReport::SpamSource_MAX; +const int SpamReport::SpamSource_ARRAYSIZE; +#endif // _MSC_VER +#ifndef _MSC_VER +const int SpamReport::kTargetFieldNumber; +const int SpamReport::kSourceFieldNumber; +#endif // !_MSC_VER + +SpamReport::SpamReport() + : ::google::protobuf::Message() { + SharedCtor(); + // @@protoc_insertion_point(constructor:bgs.protocol.report.v1.SpamReport) +} + +void SpamReport::InitAsDefaultInstance() { + target_ = const_cast< ::bgs::protocol::account::v1::GameAccountHandle*>(&::bgs::protocol::account::v1::GameAccountHandle::default_instance()); +} + +SpamReport::SpamReport(const SpamReport& from) + : ::google::protobuf::Message() { + SharedCtor(); + MergeFrom(from); + // @@protoc_insertion_point(copy_constructor:bgs.protocol.report.v1.SpamReport) +} + +void SpamReport::SharedCtor() { + _cached_size_ = 0; + target_ = NULL; + source_ = 1; + ::memset(_has_bits_, 0, sizeof(_has_bits_)); +} + +SpamReport::~SpamReport() { + // @@protoc_insertion_point(destructor:bgs.protocol.report.v1.SpamReport) + SharedDtor(); +} + +void SpamReport::SharedDtor() { + if (this != default_instance_) { + delete target_; + } +} + +void SpamReport::SetCachedSize(int size) const { + GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); + _cached_size_ = size; + GOOGLE_SAFE_CONCURRENT_WRITES_END(); +} +const ::google::protobuf::Descriptor* SpamReport::descriptor() { + protobuf_AssignDescriptorsOnce(); + return SpamReport_descriptor_; +} + +const SpamReport& SpamReport::default_instance() { + if (default_instance_ == NULL) protobuf_AddDesc_report_5ftypes_2eproto(); + return *default_instance_; +} + +SpamReport* SpamReport::default_instance_ = NULL; + +SpamReport* SpamReport::New() const { + return new SpamReport; +} + +void SpamReport::Swap(SpamReport* other) { + if (other != this) { + GetReflection()->Swap(this, other);} +} + +::google::protobuf::Metadata SpamReport::GetMetadata() const { + protobuf_AssignDescriptorsOnce(); + ::google::protobuf::Metadata metadata; + metadata.descriptor = SpamReport_descriptor_; + metadata.reflection = SpamReport_reflection_; + return metadata; +} + +// =================================================================== + +#ifndef _MSC_VER +const int HarassmentReport::kTargetFieldNumber; +const int HarassmentReport::kTextFieldNumber; +#endif // !_MSC_VER + +HarassmentReport::HarassmentReport() + : ::google::protobuf::Message() { + SharedCtor(); + // @@protoc_insertion_point(constructor:bgs.protocol.report.v1.HarassmentReport) +} + +void HarassmentReport::InitAsDefaultInstance() { + target_ = const_cast< ::bgs::protocol::account::v1::GameAccountHandle*>(&::bgs::protocol::account::v1::GameAccountHandle::default_instance()); +} + +HarassmentReport::HarassmentReport(const HarassmentReport& from) + : ::google::protobuf::Message() { + SharedCtor(); + MergeFrom(from); + // @@protoc_insertion_point(copy_constructor:bgs.protocol.report.v1.HarassmentReport) +} + +void HarassmentReport::SharedCtor() { + ::google::protobuf::internal::GetEmptyString(); + _cached_size_ = 0; + target_ = NULL; + text_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + ::memset(_has_bits_, 0, sizeof(_has_bits_)); +} + +HarassmentReport::~HarassmentReport() { + // @@protoc_insertion_point(destructor:bgs.protocol.report.v1.HarassmentReport) + SharedDtor(); +} + +void HarassmentReport::SharedDtor() { + if (text_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) { + delete text_; + } + if (this != default_instance_) { + delete target_; + } +} + +void HarassmentReport::SetCachedSize(int size) const { + GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); + _cached_size_ = size; + GOOGLE_SAFE_CONCURRENT_WRITES_END(); +} +const ::google::protobuf::Descriptor* HarassmentReport::descriptor() { + protobuf_AssignDescriptorsOnce(); + return HarassmentReport_descriptor_; +} + +const HarassmentReport& HarassmentReport::default_instance() { + if (default_instance_ == NULL) protobuf_AddDesc_report_5ftypes_2eproto(); + return *default_instance_; +} + +HarassmentReport* HarassmentReport::default_instance_ = NULL; + +HarassmentReport* HarassmentReport::New() const { + return new HarassmentReport; +} + +void HarassmentReport::Swap(HarassmentReport* other) { + if (other != this) { + GetReflection()->Swap(this, other);} +} + +::google::protobuf::Metadata HarassmentReport::GetMetadata() const { + protobuf_AssignDescriptorsOnce(); + ::google::protobuf::Metadata metadata; + metadata.descriptor = HarassmentReport_descriptor_; + metadata.reflection = HarassmentReport_reflection_; + return metadata; +} + +// =================================================================== + +#ifndef _MSC_VER +const int RealLifeThreatReport::kTargetFieldNumber; +const int RealLifeThreatReport::kTextFieldNumber; +#endif // !_MSC_VER + +RealLifeThreatReport::RealLifeThreatReport() + : ::google::protobuf::Message() { + SharedCtor(); + // @@protoc_insertion_point(constructor:bgs.protocol.report.v1.RealLifeThreatReport) +} + +void RealLifeThreatReport::InitAsDefaultInstance() { + target_ = const_cast< ::bgs::protocol::account::v1::GameAccountHandle*>(&::bgs::protocol::account::v1::GameAccountHandle::default_instance()); +} + +RealLifeThreatReport::RealLifeThreatReport(const RealLifeThreatReport& from) + : ::google::protobuf::Message() { + SharedCtor(); + MergeFrom(from); + // @@protoc_insertion_point(copy_constructor:bgs.protocol.report.v1.RealLifeThreatReport) +} + +void RealLifeThreatReport::SharedCtor() { + ::google::protobuf::internal::GetEmptyString(); + _cached_size_ = 0; + target_ = NULL; + text_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + ::memset(_has_bits_, 0, sizeof(_has_bits_)); +} + +RealLifeThreatReport::~RealLifeThreatReport() { + // @@protoc_insertion_point(destructor:bgs.protocol.report.v1.RealLifeThreatReport) + SharedDtor(); +} + +void RealLifeThreatReport::SharedDtor() { + if (text_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) { + delete text_; + } + if (this != default_instance_) { + delete target_; + } +} + +void RealLifeThreatReport::SetCachedSize(int size) const { + GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); + _cached_size_ = size; + GOOGLE_SAFE_CONCURRENT_WRITES_END(); +} +const ::google::protobuf::Descriptor* RealLifeThreatReport::descriptor() { + protobuf_AssignDescriptorsOnce(); + return RealLifeThreatReport_descriptor_; +} + +const RealLifeThreatReport& RealLifeThreatReport::default_instance() { + if (default_instance_ == NULL) protobuf_AddDesc_report_5ftypes_2eproto(); + return *default_instance_; +} + +RealLifeThreatReport* RealLifeThreatReport::default_instance_ = NULL; + +RealLifeThreatReport* RealLifeThreatReport::New() const { + return new RealLifeThreatReport; +} + +void RealLifeThreatReport::Swap(RealLifeThreatReport* other) { + if (other != this) { + GetReflection()->Swap(this, other);} +} + +::google::protobuf::Metadata RealLifeThreatReport::GetMetadata() const { + protobuf_AssignDescriptorsOnce(); + ::google::protobuf::Metadata metadata; + metadata.descriptor = RealLifeThreatReport_descriptor_; + metadata.reflection = RealLifeThreatReport_reflection_; + return metadata; +} + +// =================================================================== + +#ifndef _MSC_VER +const int InappropriateBattleTagReport::kTargetFieldNumber; +const int InappropriateBattleTagReport::kBattleTagFieldNumber; +#endif // !_MSC_VER + +InappropriateBattleTagReport::InappropriateBattleTagReport() + : ::google::protobuf::Message() { + SharedCtor(); + // @@protoc_insertion_point(constructor:bgs.protocol.report.v1.InappropriateBattleTagReport) +} + +void InappropriateBattleTagReport::InitAsDefaultInstance() { + target_ = const_cast< ::bgs::protocol::account::v1::GameAccountHandle*>(&::bgs::protocol::account::v1::GameAccountHandle::default_instance()); +} + +InappropriateBattleTagReport::InappropriateBattleTagReport(const InappropriateBattleTagReport& from) + : ::google::protobuf::Message() { + SharedCtor(); + MergeFrom(from); + // @@protoc_insertion_point(copy_constructor:bgs.protocol.report.v1.InappropriateBattleTagReport) +} + +void InappropriateBattleTagReport::SharedCtor() { + ::google::protobuf::internal::GetEmptyString(); + _cached_size_ = 0; + target_ = NULL; + battle_tag_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + ::memset(_has_bits_, 0, sizeof(_has_bits_)); +} + +InappropriateBattleTagReport::~InappropriateBattleTagReport() { + // @@protoc_insertion_point(destructor:bgs.protocol.report.v1.InappropriateBattleTagReport) + SharedDtor(); +} + +void InappropriateBattleTagReport::SharedDtor() { + if (battle_tag_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) { + delete battle_tag_; + } + if (this != default_instance_) { + delete target_; + } +} + +void InappropriateBattleTagReport::SetCachedSize(int size) const { + GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); + _cached_size_ = size; + GOOGLE_SAFE_CONCURRENT_WRITES_END(); +} +const ::google::protobuf::Descriptor* InappropriateBattleTagReport::descriptor() { + protobuf_AssignDescriptorsOnce(); + return InappropriateBattleTagReport_descriptor_; +} + +const InappropriateBattleTagReport& InappropriateBattleTagReport::default_instance() { + if (default_instance_ == NULL) protobuf_AddDesc_report_5ftypes_2eproto(); + return *default_instance_; +} + +InappropriateBattleTagReport* InappropriateBattleTagReport::default_instance_ = NULL; + +InappropriateBattleTagReport* InappropriateBattleTagReport::New() const { + return new InappropriateBattleTagReport; +} + +void InappropriateBattleTagReport::Swap(InappropriateBattleTagReport* other) { + if (other != this) { + GetReflection()->Swap(this, other);} +} + +::google::protobuf::Metadata InappropriateBattleTagReport::GetMetadata() const { + protobuf_AssignDescriptorsOnce(); + ::google::protobuf::Metadata metadata; + metadata.descriptor = InappropriateBattleTagReport_descriptor_; + metadata.reflection = InappropriateBattleTagReport_reflection_; + return metadata; +} + +// =================================================================== + +#ifndef _MSC_VER +const int HackingReport::kTargetFieldNumber; +#endif // !_MSC_VER + +HackingReport::HackingReport() + : ::google::protobuf::Message() { + SharedCtor(); + // @@protoc_insertion_point(constructor:bgs.protocol.report.v1.HackingReport) +} + +void HackingReport::InitAsDefaultInstance() { + target_ = const_cast< ::bgs::protocol::account::v1::GameAccountHandle*>(&::bgs::protocol::account::v1::GameAccountHandle::default_instance()); +} + +HackingReport::HackingReport(const HackingReport& from) + : ::google::protobuf::Message() { + SharedCtor(); + MergeFrom(from); + // @@protoc_insertion_point(copy_constructor:bgs.protocol.report.v1.HackingReport) +} + +void HackingReport::SharedCtor() { + _cached_size_ = 0; + target_ = NULL; + ::memset(_has_bits_, 0, sizeof(_has_bits_)); +} + +HackingReport::~HackingReport() { + // @@protoc_insertion_point(destructor:bgs.protocol.report.v1.HackingReport) + SharedDtor(); +} + +void HackingReport::SharedDtor() { + if (this != default_instance_) { + delete target_; + } +} + +void HackingReport::SetCachedSize(int size) const { + GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); + _cached_size_ = size; + GOOGLE_SAFE_CONCURRENT_WRITES_END(); +} +const ::google::protobuf::Descriptor* HackingReport::descriptor() { + protobuf_AssignDescriptorsOnce(); + return HackingReport_descriptor_; +} + +const HackingReport& HackingReport::default_instance() { + if (default_instance_ == NULL) protobuf_AddDesc_report_5ftypes_2eproto(); + return *default_instance_; +} + +HackingReport* HackingReport::default_instance_ = NULL; + +HackingReport* HackingReport::New() const { + return new HackingReport; +} + +void HackingReport::Swap(HackingReport* other) { + if (other != this) { + GetReflection()->Swap(this, other);} +} + +::google::protobuf::Metadata HackingReport::GetMetadata() const { + protobuf_AssignDescriptorsOnce(); + ::google::protobuf::Metadata metadata; + metadata.descriptor = HackingReport_descriptor_; + metadata.reflection = HackingReport_reflection_; + return metadata; +} + +// =================================================================== + +#ifndef _MSC_VER +const int BottingReport::kTargetFieldNumber; +#endif // !_MSC_VER + +BottingReport::BottingReport() + : ::google::protobuf::Message() { + SharedCtor(); + // @@protoc_insertion_point(constructor:bgs.protocol.report.v1.BottingReport) +} + +void BottingReport::InitAsDefaultInstance() { + target_ = const_cast< ::bgs::protocol::account::v1::GameAccountHandle*>(&::bgs::protocol::account::v1::GameAccountHandle::default_instance()); +} + +BottingReport::BottingReport(const BottingReport& from) + : ::google::protobuf::Message() { + SharedCtor(); + MergeFrom(from); + // @@protoc_insertion_point(copy_constructor:bgs.protocol.report.v1.BottingReport) +} + +void BottingReport::SharedCtor() { + _cached_size_ = 0; + target_ = NULL; + ::memset(_has_bits_, 0, sizeof(_has_bits_)); +} + +BottingReport::~BottingReport() { + // @@protoc_insertion_point(destructor:bgs.protocol.report.v1.BottingReport) + SharedDtor(); +} + +void BottingReport::SharedDtor() { + if (this != default_instance_) { + delete target_; + } +} + +void BottingReport::SetCachedSize(int size) const { + GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); + _cached_size_ = size; + GOOGLE_SAFE_CONCURRENT_WRITES_END(); +} +const ::google::protobuf::Descriptor* BottingReport::descriptor() { + protobuf_AssignDescriptorsOnce(); + return BottingReport_descriptor_; +} + +const BottingReport& BottingReport::default_instance() { + if (default_instance_ == NULL) protobuf_AddDesc_report_5ftypes_2eproto(); + return *default_instance_; +} + +BottingReport* BottingReport::default_instance_ = NULL; + +BottingReport* BottingReport::New() const { + return new BottingReport; +} + +void BottingReport::Swap(BottingReport* other) { + if (other != this) { + GetReflection()->Swap(this, other);} +} + +::google::protobuf::Metadata BottingReport::GetMetadata() const { + protobuf_AssignDescriptorsOnce(); + ::google::protobuf::Metadata metadata; + metadata.descriptor = BottingReport_descriptor_; + metadata.reflection = BottingReport_reflection_; + return metadata; +} + +// =================================================================== + +#ifndef _MSC_VER +const int Report::kReportTypeFieldNumber; +const int Report::kAttributeFieldNumber; +const int Report::kReportQosFieldNumber; +const int Report::kReportingAccountFieldNumber; +const int Report::kReportingGameAccountFieldNumber; +const int Report::kReportTimestampFieldNumber; +#endif // !_MSC_VER + +Report::Report() + : ::google::protobuf::Message() { + SharedCtor(); + // @@protoc_insertion_point(constructor:bgs.protocol.report.v1.Report) +} + +void Report::InitAsDefaultInstance() { + reporting_account_ = const_cast< ::bgs::protocol::EntityId*>(&::bgs::protocol::EntityId::default_instance()); + reporting_game_account_ = const_cast< ::bgs::protocol::EntityId*>(&::bgs::protocol::EntityId::default_instance()); +} + +Report::Report(const Report& from) + : ::google::protobuf::Message() { + SharedCtor(); + MergeFrom(from); + // @@protoc_insertion_point(copy_constructor:bgs.protocol.report.v1.Report) +} + +void Report::SharedCtor() { + ::google::protobuf::internal::GetEmptyString(); + _cached_size_ = 0; + report_type_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + report_qos_ = 0; + reporting_account_ = NULL; + reporting_game_account_ = NULL; + report_timestamp_ = GOOGLE_ULONGLONG(0); + ::memset(_has_bits_, 0, sizeof(_has_bits_)); +} + +Report::~Report() { + // @@protoc_insertion_point(destructor:bgs.protocol.report.v1.Report) + SharedDtor(); +} + +void Report::SharedDtor() { + if (report_type_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) { + delete report_type_; + } + if (this != default_instance_) { + delete reporting_account_; + delete reporting_game_account_; + } +} + +void Report::SetCachedSize(int size) const { + GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); + _cached_size_ = size; + GOOGLE_SAFE_CONCURRENT_WRITES_END(); +} +const ::google::protobuf::Descriptor* Report::descriptor() { + protobuf_AssignDescriptorsOnce(); + return Report_descriptor_; +} + +const Report& Report::default_instance() { + if (default_instance_ == NULL) protobuf_AddDesc_report_5ftypes_2eproto(); + return *default_instance_; +} + +Report* Report::default_instance_ = NULL; + +Report* Report::New() const { + return new Report; +} + +void Report::Swap(Report* other) { + if (other != this) { + GetReflection()->Swap(this, other);} +} + +::google::protobuf::Metadata Report::GetMetadata() const { + protobuf_AssignDescriptorsOnce(); + ::google::protobuf::Metadata metadata; + metadata.descriptor = Report_descriptor_; + metadata.reflection = Report_reflection_; + return metadata; +} + +// @@protoc_insertion_point(namespace_scope) + +} // namespace v1 +} // namespace report +} // namespace protocol +} // namespace bgs + +// @@protoc_insertion_point(global_scope) diff --git a/src/server/proto/Client/report_types.pb.h b/src/server/proto/Client/report_types.pb.h new file mode 100644 index 00000000000..374cf7545a7 --- /dev/null +++ b/src/server/proto/Client/report_types.pb.h @@ -0,0 +1,2324 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: report_types.proto + +#ifndef PROTOBUF_report_5ftypes_2eproto__INCLUDED +#define PROTOBUF_report_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 "attribute_types.pb.h" +#include "entity_types.pb.h" +#include "rpc_types.pb.h" +#include "Define.h" // for TC_PROTO_API +// @@protoc_insertion_point(includes) + +namespace bgs { +namespace protocol { +namespace report { +namespace v1 { + +// Internal implementation detail -- do not call these. +void TC_PROTO_API protobuf_AddDesc_report_5ftypes_2eproto(); +void protobuf_AssignDesc_report_5ftypes_2eproto(); +void protobuf_ShutdownFile_report_5ftypes_2eproto(); + +class ReportType; +class CustomReport; +class SpamReport; +class HarassmentReport; +class RealLifeThreatReport; +class InappropriateBattleTagReport; +class HackingReport; +class BottingReport; +class Report; + +enum SpamReport_SpamSource { + SpamReport_SpamSource_OTHER = 1, + SpamReport_SpamSource_FRIEND_INVITATION = 2, + SpamReport_SpamSource_WHISPER = 3, + SpamReport_SpamSource_CHAT = 4 +}; +TC_PROTO_API bool SpamReport_SpamSource_IsValid(int value); +const SpamReport_SpamSource SpamReport_SpamSource_SpamSource_MIN = SpamReport_SpamSource_OTHER; +const SpamReport_SpamSource SpamReport_SpamSource_SpamSource_MAX = SpamReport_SpamSource_CHAT; +const int SpamReport_SpamSource_SpamSource_ARRAYSIZE = SpamReport_SpamSource_SpamSource_MAX + 1; + +TC_PROTO_API const ::google::protobuf::EnumDescriptor* SpamReport_SpamSource_descriptor(); +inline const ::std::string& SpamReport_SpamSource_Name(SpamReport_SpamSource value) { + return ::google::protobuf::internal::NameOfEnum( + SpamReport_SpamSource_descriptor(), value); +} +inline bool SpamReport_SpamSource_Parse( + const ::std::string& name, SpamReport_SpamSource* value) { + return ::google::protobuf::internal::ParseNamedEnum<SpamReport_SpamSource>( + SpamReport_SpamSource_descriptor(), name, value); +} +// =================================================================== + +class TC_PROTO_API ReportType : public ::google::protobuf::Message { + public: + ReportType(); + virtual ~ReportType(); + + ReportType(const ReportType& from); + + inline ReportType& operator=(const ReportType& 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 ReportType& default_instance(); + + enum TypeCase { + kCustomReport = 10, + kSpamReport = 11, + kHarassmentReport = 12, + kRealLifeThreatReport = 13, + kInappropriateBattleTagReport = 14, + kHackingReport = 15, + kBottingReport = 16, + TYPE_NOT_SET = 0, + }; + + void Swap(ReportType* other); + + // implements Message ---------------------------------------------- + + ReportType* New() 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 user_description = 1; + inline bool has_user_description() const; + inline void clear_user_description(); + static const int kUserDescriptionFieldNumber = 1; + 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 .bgs.protocol.report.v1.CustomReport custom_report = 10; + inline bool has_custom_report() const; + inline void clear_custom_report(); + static const int kCustomReportFieldNumber = 10; + inline const ::bgs::protocol::report::v1::CustomReport& custom_report() const; + inline ::bgs::protocol::report::v1::CustomReport* mutable_custom_report(); + inline ::bgs::protocol::report::v1::CustomReport* release_custom_report(); + inline void set_allocated_custom_report(::bgs::protocol::report::v1::CustomReport* custom_report); + + // optional .bgs.protocol.report.v1.SpamReport spam_report = 11; + inline bool has_spam_report() const; + inline void clear_spam_report(); + static const int kSpamReportFieldNumber = 11; + inline const ::bgs::protocol::report::v1::SpamReport& spam_report() const; + inline ::bgs::protocol::report::v1::SpamReport* mutable_spam_report(); + inline ::bgs::protocol::report::v1::SpamReport* release_spam_report(); + inline void set_allocated_spam_report(::bgs::protocol::report::v1::SpamReport* spam_report); + + // optional .bgs.protocol.report.v1.HarassmentReport harassment_report = 12; + inline bool has_harassment_report() const; + inline void clear_harassment_report(); + static const int kHarassmentReportFieldNumber = 12; + inline const ::bgs::protocol::report::v1::HarassmentReport& harassment_report() const; + inline ::bgs::protocol::report::v1::HarassmentReport* mutable_harassment_report(); + inline ::bgs::protocol::report::v1::HarassmentReport* release_harassment_report(); + inline void set_allocated_harassment_report(::bgs::protocol::report::v1::HarassmentReport* harassment_report); + + // optional .bgs.protocol.report.v1.RealLifeThreatReport real_life_threat_report = 13; + inline bool has_real_life_threat_report() const; + inline void clear_real_life_threat_report(); + static const int kRealLifeThreatReportFieldNumber = 13; + inline const ::bgs::protocol::report::v1::RealLifeThreatReport& real_life_threat_report() const; + inline ::bgs::protocol::report::v1::RealLifeThreatReport* mutable_real_life_threat_report(); + inline ::bgs::protocol::report::v1::RealLifeThreatReport* release_real_life_threat_report(); + inline void set_allocated_real_life_threat_report(::bgs::protocol::report::v1::RealLifeThreatReport* real_life_threat_report); + + // optional .bgs.protocol.report.v1.InappropriateBattleTagReport inappropriate_battle_tag_report = 14; + inline bool has_inappropriate_battle_tag_report() const; + inline void clear_inappropriate_battle_tag_report(); + static const int kInappropriateBattleTagReportFieldNumber = 14; + inline const ::bgs::protocol::report::v1::InappropriateBattleTagReport& inappropriate_battle_tag_report() const; + inline ::bgs::protocol::report::v1::InappropriateBattleTagReport* mutable_inappropriate_battle_tag_report(); + inline ::bgs::protocol::report::v1::InappropriateBattleTagReport* release_inappropriate_battle_tag_report(); + inline void set_allocated_inappropriate_battle_tag_report(::bgs::protocol::report::v1::InappropriateBattleTagReport* inappropriate_battle_tag_report); + + // optional .bgs.protocol.report.v1.HackingReport hacking_report = 15; + inline bool has_hacking_report() const; + inline void clear_hacking_report(); + static const int kHackingReportFieldNumber = 15; + inline const ::bgs::protocol::report::v1::HackingReport& hacking_report() const; + inline ::bgs::protocol::report::v1::HackingReport* mutable_hacking_report(); + inline ::bgs::protocol::report::v1::HackingReport* release_hacking_report(); + inline void set_allocated_hacking_report(::bgs::protocol::report::v1::HackingReport* hacking_report); + + // optional .bgs.protocol.report.v1.BottingReport botting_report = 16; + inline bool has_botting_report() const; + inline void clear_botting_report(); + static const int kBottingReportFieldNumber = 16; + inline const ::bgs::protocol::report::v1::BottingReport& botting_report() const; + inline ::bgs::protocol::report::v1::BottingReport* mutable_botting_report(); + inline ::bgs::protocol::report::v1::BottingReport* release_botting_report(); + inline void set_allocated_botting_report(::bgs::protocol::report::v1::BottingReport* botting_report); + + inline TypeCase type_case() const; + // @@protoc_insertion_point(class_scope:bgs.protocol.report.v1.ReportType) + private: + inline void set_has_user_description(); + inline void clear_has_user_description(); + inline void set_has_custom_report(); + inline void set_has_spam_report(); + inline void set_has_harassment_report(); + inline void set_has_real_life_threat_report(); + inline void set_has_inappropriate_battle_tag_report(); + inline void set_has_hacking_report(); + inline void set_has_botting_report(); + + 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_; + ::std::string* user_description_; + union TypeUnion { + ::bgs::protocol::report::v1::CustomReport* custom_report_; + ::bgs::protocol::report::v1::SpamReport* spam_report_; + ::bgs::protocol::report::v1::HarassmentReport* harassment_report_; + ::bgs::protocol::report::v1::RealLifeThreatReport* real_life_threat_report_; + ::bgs::protocol::report::v1::InappropriateBattleTagReport* inappropriate_battle_tag_report_; + ::bgs::protocol::report::v1::HackingReport* hacking_report_; + ::bgs::protocol::report::v1::BottingReport* botting_report_; + } type_; + ::google::protobuf::uint32 _oneof_case_[1]; + + friend void TC_PROTO_API protobuf_AddDesc_report_5ftypes_2eproto(); + friend void protobuf_AssignDesc_report_5ftypes_2eproto(); + friend void protobuf_ShutdownFile_report_5ftypes_2eproto(); + + void InitAsDefaultInstance(); + static ReportType* default_instance_; +}; +// ------------------------------------------------------------------- + +class TC_PROTO_API CustomReport : public ::google::protobuf::Message { + public: + CustomReport(); + virtual ~CustomReport(); + + CustomReport(const CustomReport& from); + + inline CustomReport& operator=(const CustomReport& 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 CustomReport& default_instance(); + + void Swap(CustomReport* other); + + // implements Message ---------------------------------------------- + + CustomReport* New() 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 type = 1; + inline bool has_type() const; + inline void clear_type(); + static const int kTypeFieldNumber = 1; + inline const ::std::string& type() const; + inline void set_type(const ::std::string& value); + inline void set_type(const char* value); + inline void set_type(const char* value, size_t size); + inline ::std::string* mutable_type(); + inline ::std::string* release_type(); + inline void set_allocated_type(::std::string* type); + + // optional string program_id = 2 [deprecated = true]; + inline bool has_program_id() const PROTOBUF_DEPRECATED; + inline void clear_program_id() PROTOBUF_DEPRECATED; + static const int kProgramIdFieldNumber = 2; + inline const ::std::string& program_id() const PROTOBUF_DEPRECATED; + inline void set_program_id(const ::std::string& value) PROTOBUF_DEPRECATED; + inline void set_program_id(const char* value) PROTOBUF_DEPRECATED; + inline void set_program_id(const char* value, size_t size) PROTOBUF_DEPRECATED; + inline ::std::string* mutable_program_id() PROTOBUF_DEPRECATED; + inline ::std::string* release_program_id() PROTOBUF_DEPRECATED; + inline void set_allocated_program_id(::std::string* program_id) PROTOBUF_DEPRECATED; + + // repeated .bgs.protocol.Attribute attribute = 3; + inline int attribute_size() const; + inline void clear_attribute(); + static const int kAttributeFieldNumber = 3; + inline const ::bgs::protocol::Attribute& attribute(int index) const; + inline ::bgs::protocol::Attribute* mutable_attribute(int index); + inline ::bgs::protocol::Attribute* add_attribute(); + inline const ::google::protobuf::RepeatedPtrField< ::bgs::protocol::Attribute >& + attribute() const; + inline ::google::protobuf::RepeatedPtrField< ::bgs::protocol::Attribute >* + mutable_attribute(); + + // @@protoc_insertion_point(class_scope:bgs.protocol.report.v1.CustomReport) + private: + inline void set_has_type(); + inline void clear_has_type(); + inline void set_has_program_id(); + inline void clear_has_program_id(); + + ::google::protobuf::UnknownFieldSet _unknown_fields_; + + ::google::protobuf::uint32 _has_bits_[1]; + mutable int _cached_size_; + ::std::string* type_; + ::std::string* program_id_; + ::google::protobuf::RepeatedPtrField< ::bgs::protocol::Attribute > attribute_; + friend void TC_PROTO_API protobuf_AddDesc_report_5ftypes_2eproto(); + friend void protobuf_AssignDesc_report_5ftypes_2eproto(); + friend void protobuf_ShutdownFile_report_5ftypes_2eproto(); + + void InitAsDefaultInstance(); + static CustomReport* default_instance_; +}; +// ------------------------------------------------------------------- + +class TC_PROTO_API SpamReport : public ::google::protobuf::Message { + public: + SpamReport(); + virtual ~SpamReport(); + + SpamReport(const SpamReport& from); + + inline SpamReport& operator=(const SpamReport& 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 SpamReport& default_instance(); + + void Swap(SpamReport* other); + + // implements Message ---------------------------------------------- + + SpamReport* New() 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 SpamReport_SpamSource SpamSource; + static const SpamSource OTHER = SpamReport_SpamSource_OTHER; + static const SpamSource FRIEND_INVITATION = SpamReport_SpamSource_FRIEND_INVITATION; + static const SpamSource WHISPER = SpamReport_SpamSource_WHISPER; + static const SpamSource CHAT = SpamReport_SpamSource_CHAT; + static inline bool SpamSource_IsValid(int value) { + return SpamReport_SpamSource_IsValid(value); + } + static const SpamSource SpamSource_MIN = + SpamReport_SpamSource_SpamSource_MIN; + static const SpamSource SpamSource_MAX = + SpamReport_SpamSource_SpamSource_MAX; + static const int SpamSource_ARRAYSIZE = + SpamReport_SpamSource_SpamSource_ARRAYSIZE; + static inline const ::google::protobuf::EnumDescriptor* + SpamSource_descriptor() { + return SpamReport_SpamSource_descriptor(); + } + static inline const ::std::string& SpamSource_Name(SpamSource value) { + return SpamReport_SpamSource_Name(value); + } + static inline bool SpamSource_Parse(const ::std::string& name, + SpamSource* value) { + return SpamReport_SpamSource_Parse(name, value); + } + + // accessors ------------------------------------------------------- + + // optional .bgs.protocol.account.v1.GameAccountHandle target = 1; + inline bool has_target() const; + inline void clear_target(); + static const int kTargetFieldNumber = 1; + inline const ::bgs::protocol::account::v1::GameAccountHandle& target() const; + inline ::bgs::protocol::account::v1::GameAccountHandle* mutable_target(); + inline ::bgs::protocol::account::v1::GameAccountHandle* release_target(); + inline void set_allocated_target(::bgs::protocol::account::v1::GameAccountHandle* target); + + // optional .bgs.protocol.report.v1.SpamReport.SpamSource source = 2 [default = OTHER]; + inline bool has_source() const; + inline void clear_source(); + static const int kSourceFieldNumber = 2; + inline ::bgs::protocol::report::v1::SpamReport_SpamSource source() const; + inline void set_source(::bgs::protocol::report::v1::SpamReport_SpamSource value); + + // @@protoc_insertion_point(class_scope:bgs.protocol.report.v1.SpamReport) + private: + inline void set_has_target(); + inline void clear_has_target(); + inline void set_has_source(); + inline void clear_has_source(); + + ::google::protobuf::UnknownFieldSet _unknown_fields_; + + ::google::protobuf::uint32 _has_bits_[1]; + mutable int _cached_size_; + ::bgs::protocol::account::v1::GameAccountHandle* target_; + int source_; + friend void TC_PROTO_API protobuf_AddDesc_report_5ftypes_2eproto(); + friend void protobuf_AssignDesc_report_5ftypes_2eproto(); + friend void protobuf_ShutdownFile_report_5ftypes_2eproto(); + + void InitAsDefaultInstance(); + static SpamReport* default_instance_; +}; +// ------------------------------------------------------------------- + +class TC_PROTO_API HarassmentReport : public ::google::protobuf::Message { + public: + HarassmentReport(); + virtual ~HarassmentReport(); + + HarassmentReport(const HarassmentReport& from); + + inline HarassmentReport& operator=(const HarassmentReport& 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 HarassmentReport& default_instance(); + + void Swap(HarassmentReport* other); + + // implements Message ---------------------------------------------- + + HarassmentReport* New() 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.GameAccountHandle target = 1; + inline bool has_target() const; + inline void clear_target(); + static const int kTargetFieldNumber = 1; + inline const ::bgs::protocol::account::v1::GameAccountHandle& target() const; + inline ::bgs::protocol::account::v1::GameAccountHandle* mutable_target(); + inline ::bgs::protocol::account::v1::GameAccountHandle* release_target(); + inline void set_allocated_target(::bgs::protocol::account::v1::GameAccountHandle* target); + + // optional string text = 2; + inline bool has_text() const; + inline void clear_text(); + static const int kTextFieldNumber = 2; + inline const ::std::string& text() const; + inline void set_text(const ::std::string& value); + inline void set_text(const char* value); + inline void set_text(const char* value, size_t size); + inline ::std::string* mutable_text(); + inline ::std::string* release_text(); + inline void set_allocated_text(::std::string* text); + + // @@protoc_insertion_point(class_scope:bgs.protocol.report.v1.HarassmentReport) + private: + inline void set_has_target(); + inline void clear_has_target(); + inline void set_has_text(); + inline void clear_has_text(); + + ::google::protobuf::UnknownFieldSet _unknown_fields_; + + ::google::protobuf::uint32 _has_bits_[1]; + mutable int _cached_size_; + ::bgs::protocol::account::v1::GameAccountHandle* target_; + ::std::string* text_; + friend void TC_PROTO_API protobuf_AddDesc_report_5ftypes_2eproto(); + friend void protobuf_AssignDesc_report_5ftypes_2eproto(); + friend void protobuf_ShutdownFile_report_5ftypes_2eproto(); + + void InitAsDefaultInstance(); + static HarassmentReport* default_instance_; +}; +// ------------------------------------------------------------------- + +class TC_PROTO_API RealLifeThreatReport : public ::google::protobuf::Message { + public: + RealLifeThreatReport(); + virtual ~RealLifeThreatReport(); + + RealLifeThreatReport(const RealLifeThreatReport& from); + + inline RealLifeThreatReport& operator=(const RealLifeThreatReport& 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 RealLifeThreatReport& default_instance(); + + void Swap(RealLifeThreatReport* other); + + // implements Message ---------------------------------------------- + + RealLifeThreatReport* New() 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.GameAccountHandle target = 1; + inline bool has_target() const; + inline void clear_target(); + static const int kTargetFieldNumber = 1; + inline const ::bgs::protocol::account::v1::GameAccountHandle& target() const; + inline ::bgs::protocol::account::v1::GameAccountHandle* mutable_target(); + inline ::bgs::protocol::account::v1::GameAccountHandle* release_target(); + inline void set_allocated_target(::bgs::protocol::account::v1::GameAccountHandle* target); + + // optional string text = 2; + inline bool has_text() const; + inline void clear_text(); + static const int kTextFieldNumber = 2; + inline const ::std::string& text() const; + inline void set_text(const ::std::string& value); + inline void set_text(const char* value); + inline void set_text(const char* value, size_t size); + inline ::std::string* mutable_text(); + inline ::std::string* release_text(); + inline void set_allocated_text(::std::string* text); + + // @@protoc_insertion_point(class_scope:bgs.protocol.report.v1.RealLifeThreatReport) + private: + inline void set_has_target(); + inline void clear_has_target(); + inline void set_has_text(); + inline void clear_has_text(); + + ::google::protobuf::UnknownFieldSet _unknown_fields_; + + ::google::protobuf::uint32 _has_bits_[1]; + mutable int _cached_size_; + ::bgs::protocol::account::v1::GameAccountHandle* target_; + ::std::string* text_; + friend void TC_PROTO_API protobuf_AddDesc_report_5ftypes_2eproto(); + friend void protobuf_AssignDesc_report_5ftypes_2eproto(); + friend void protobuf_ShutdownFile_report_5ftypes_2eproto(); + + void InitAsDefaultInstance(); + static RealLifeThreatReport* default_instance_; +}; +// ------------------------------------------------------------------- + +class TC_PROTO_API InappropriateBattleTagReport : public ::google::protobuf::Message { + public: + InappropriateBattleTagReport(); + virtual ~InappropriateBattleTagReport(); + + InappropriateBattleTagReport(const InappropriateBattleTagReport& from); + + inline InappropriateBattleTagReport& operator=(const InappropriateBattleTagReport& 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 InappropriateBattleTagReport& default_instance(); + + void Swap(InappropriateBattleTagReport* other); + + // implements Message ---------------------------------------------- + + InappropriateBattleTagReport* New() 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.GameAccountHandle target = 1; + inline bool has_target() const; + inline void clear_target(); + static const int kTargetFieldNumber = 1; + inline const ::bgs::protocol::account::v1::GameAccountHandle& target() const; + inline ::bgs::protocol::account::v1::GameAccountHandle* mutable_target(); + inline ::bgs::protocol::account::v1::GameAccountHandle* release_target(); + inline void set_allocated_target(::bgs::protocol::account::v1::GameAccountHandle* target); + + // optional string battle_tag = 2; + inline bool has_battle_tag() const; + inline void clear_battle_tag(); + static const int kBattleTagFieldNumber = 2; + inline const ::std::string& battle_tag() const; + inline void set_battle_tag(const ::std::string& value); + inline void set_battle_tag(const char* value); + inline void set_battle_tag(const char* value, size_t size); + inline ::std::string* mutable_battle_tag(); + inline ::std::string* release_battle_tag(); + inline void set_allocated_battle_tag(::std::string* battle_tag); + + // @@protoc_insertion_point(class_scope:bgs.protocol.report.v1.InappropriateBattleTagReport) + private: + inline void set_has_target(); + inline void clear_has_target(); + inline void set_has_battle_tag(); + inline void clear_has_battle_tag(); + + ::google::protobuf::UnknownFieldSet _unknown_fields_; + + ::google::protobuf::uint32 _has_bits_[1]; + mutable int _cached_size_; + ::bgs::protocol::account::v1::GameAccountHandle* target_; + ::std::string* battle_tag_; + friend void TC_PROTO_API protobuf_AddDesc_report_5ftypes_2eproto(); + friend void protobuf_AssignDesc_report_5ftypes_2eproto(); + friend void protobuf_ShutdownFile_report_5ftypes_2eproto(); + + void InitAsDefaultInstance(); + static InappropriateBattleTagReport* default_instance_; +}; +// ------------------------------------------------------------------- + +class TC_PROTO_API HackingReport : public ::google::protobuf::Message { + public: + HackingReport(); + virtual ~HackingReport(); + + HackingReport(const HackingReport& from); + + inline HackingReport& operator=(const HackingReport& 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 HackingReport& default_instance(); + + void Swap(HackingReport* other); + + // implements Message ---------------------------------------------- + + HackingReport* New() 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.GameAccountHandle target = 1; + inline bool has_target() const; + inline void clear_target(); + static const int kTargetFieldNumber = 1; + inline const ::bgs::protocol::account::v1::GameAccountHandle& target() const; + inline ::bgs::protocol::account::v1::GameAccountHandle* mutable_target(); + inline ::bgs::protocol::account::v1::GameAccountHandle* release_target(); + inline void set_allocated_target(::bgs::protocol::account::v1::GameAccountHandle* target); + + // @@protoc_insertion_point(class_scope:bgs.protocol.report.v1.HackingReport) + private: + inline void set_has_target(); + inline void clear_has_target(); + + ::google::protobuf::UnknownFieldSet _unknown_fields_; + + ::google::protobuf::uint32 _has_bits_[1]; + mutable int _cached_size_; + ::bgs::protocol::account::v1::GameAccountHandle* target_; + friend void TC_PROTO_API protobuf_AddDesc_report_5ftypes_2eproto(); + friend void protobuf_AssignDesc_report_5ftypes_2eproto(); + friend void protobuf_ShutdownFile_report_5ftypes_2eproto(); + + void InitAsDefaultInstance(); + static HackingReport* default_instance_; +}; +// ------------------------------------------------------------------- + +class TC_PROTO_API BottingReport : public ::google::protobuf::Message { + public: + BottingReport(); + virtual ~BottingReport(); + + BottingReport(const BottingReport& from); + + inline BottingReport& operator=(const BottingReport& 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 BottingReport& default_instance(); + + void Swap(BottingReport* other); + + // implements Message ---------------------------------------------- + + BottingReport* New() 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.GameAccountHandle target = 1; + inline bool has_target() const; + inline void clear_target(); + static const int kTargetFieldNumber = 1; + inline const ::bgs::protocol::account::v1::GameAccountHandle& target() const; + inline ::bgs::protocol::account::v1::GameAccountHandle* mutable_target(); + inline ::bgs::protocol::account::v1::GameAccountHandle* release_target(); + inline void set_allocated_target(::bgs::protocol::account::v1::GameAccountHandle* target); + + // @@protoc_insertion_point(class_scope:bgs.protocol.report.v1.BottingReport) + private: + inline void set_has_target(); + inline void clear_has_target(); + + ::google::protobuf::UnknownFieldSet _unknown_fields_; + + ::google::protobuf::uint32 _has_bits_[1]; + mutable int _cached_size_; + ::bgs::protocol::account::v1::GameAccountHandle* target_; + friend void TC_PROTO_API protobuf_AddDesc_report_5ftypes_2eproto(); + friend void protobuf_AssignDesc_report_5ftypes_2eproto(); + friend void protobuf_ShutdownFile_report_5ftypes_2eproto(); + + void InitAsDefaultInstance(); + static BottingReport* default_instance_; +}; +// ------------------------------------------------------------------- + +class TC_PROTO_API Report : public ::google::protobuf::Message { + public: + Report(); + virtual ~Report(); + + Report(const Report& from); + + inline Report& operator=(const Report& 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 Report& default_instance(); + + void Swap(Report* other); + + // implements Message ---------------------------------------------- + + Report* New() const; + int GetCachedSize() const { return _cached_size_; } + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const; + public: + ::google::protobuf::Metadata GetMetadata() const; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + // required string report_type = 1; + inline bool has_report_type() const; + inline void clear_report_type(); + static const int kReportTypeFieldNumber = 1; + inline const ::std::string& report_type() const; + inline void set_report_type(const ::std::string& value); + inline void set_report_type(const char* value); + inline void set_report_type(const char* value, size_t size); + inline ::std::string* mutable_report_type(); + inline ::std::string* release_report_type(); + inline void set_allocated_report_type(::std::string* report_type); + + // repeated .bgs.protocol.Attribute attribute = 2; + inline int attribute_size() const; + inline void clear_attribute(); + static const int kAttributeFieldNumber = 2; + inline const ::bgs::protocol::Attribute& attribute(int index) const; + inline ::bgs::protocol::Attribute* mutable_attribute(int index); + inline ::bgs::protocol::Attribute* add_attribute(); + inline const ::google::protobuf::RepeatedPtrField< ::bgs::protocol::Attribute >& + attribute() const; + inline ::google::protobuf::RepeatedPtrField< ::bgs::protocol::Attribute >* + mutable_attribute(); + + // optional int32 report_qos = 3 [default = 0]; + inline bool has_report_qos() const; + inline void clear_report_qos(); + static const int kReportQosFieldNumber = 3; + inline ::google::protobuf::int32 report_qos() const; + inline void set_report_qos(::google::protobuf::int32 value); + + // optional .bgs.protocol.EntityId reporting_account = 4; + inline bool has_reporting_account() const; + inline void clear_reporting_account(); + static const int kReportingAccountFieldNumber = 4; + inline const ::bgs::protocol::EntityId& reporting_account() const; + inline ::bgs::protocol::EntityId* mutable_reporting_account(); + inline ::bgs::protocol::EntityId* release_reporting_account(); + inline void set_allocated_reporting_account(::bgs::protocol::EntityId* reporting_account); + + // optional .bgs.protocol.EntityId reporting_game_account = 5; + inline bool has_reporting_game_account() const; + inline void clear_reporting_game_account(); + static const int kReportingGameAccountFieldNumber = 5; + inline const ::bgs::protocol::EntityId& reporting_game_account() const; + inline ::bgs::protocol::EntityId* mutable_reporting_game_account(); + inline ::bgs::protocol::EntityId* release_reporting_game_account(); + inline void set_allocated_reporting_game_account(::bgs::protocol::EntityId* reporting_game_account); + + // optional fixed64 report_timestamp = 6; + inline bool has_report_timestamp() const; + inline void clear_report_timestamp(); + static const int kReportTimestampFieldNumber = 6; + inline ::google::protobuf::uint64 report_timestamp() const; + inline void set_report_timestamp(::google::protobuf::uint64 value); + + // @@protoc_insertion_point(class_scope:bgs.protocol.report.v1.Report) + private: + inline void set_has_report_type(); + inline void clear_has_report_type(); + inline void set_has_report_qos(); + inline void clear_has_report_qos(); + inline void set_has_reporting_account(); + inline void clear_has_reporting_account(); + inline void set_has_reporting_game_account(); + inline void clear_has_reporting_game_account(); + inline void set_has_report_timestamp(); + inline void clear_has_report_timestamp(); + + ::google::protobuf::UnknownFieldSet _unknown_fields_; + + ::google::protobuf::uint32 _has_bits_[1]; + mutable int _cached_size_; + ::std::string* report_type_; + ::google::protobuf::RepeatedPtrField< ::bgs::protocol::Attribute > attribute_; + ::bgs::protocol::EntityId* reporting_account_; + ::bgs::protocol::EntityId* reporting_game_account_; + ::google::protobuf::uint64 report_timestamp_; + ::google::protobuf::int32 report_qos_; + friend void TC_PROTO_API protobuf_AddDesc_report_5ftypes_2eproto(); + friend void protobuf_AssignDesc_report_5ftypes_2eproto(); + friend void protobuf_ShutdownFile_report_5ftypes_2eproto(); + + void InitAsDefaultInstance(); + static Report* default_instance_; +}; +// =================================================================== + +// =================================================================== + +// =================================================================== + +// ReportType + +// optional string user_description = 1; +inline bool ReportType::has_user_description() const { + return (_has_bits_[0] & 0x00000001u) != 0; +} +inline void ReportType::set_has_user_description() { + _has_bits_[0] |= 0x00000001u; +} +inline void ReportType::clear_has_user_description() { + _has_bits_[0] &= ~0x00000001u; +} +inline void ReportType::clear_user_description() { + if (user_description_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) { + user_description_->clear(); + } + clear_has_user_description(); +} +inline const ::std::string& ReportType::user_description() const { + // @@protoc_insertion_point(field_get:bgs.protocol.report.v1.ReportType.user_description) + return *user_description_; +} +inline void ReportType::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.v1.ReportType.user_description) +} +inline void ReportType::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.v1.ReportType.user_description) +} +inline void ReportType::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.v1.ReportType.user_description) +} +inline ::std::string* ReportType::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.v1.ReportType.user_description) + return user_description_; +} +inline ::std::string* ReportType::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 ReportType::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.v1.ReportType.user_description) +} + +// optional .bgs.protocol.report.v1.CustomReport custom_report = 10; +inline bool ReportType::has_custom_report() const { + return type_case() == kCustomReport; +} +inline void ReportType::set_has_custom_report() { + _oneof_case_[0] = kCustomReport; +} +inline void ReportType::clear_custom_report() { + if (has_custom_report()) { + delete type_.custom_report_; + clear_has_type(); + } +} +inline const ::bgs::protocol::report::v1::CustomReport& ReportType::custom_report() const { + return has_custom_report() ? *type_.custom_report_ + : ::bgs::protocol::report::v1::CustomReport::default_instance(); +} +inline ::bgs::protocol::report::v1::CustomReport* ReportType::mutable_custom_report() { + if (!has_custom_report()) { + clear_type(); + set_has_custom_report(); + type_.custom_report_ = new ::bgs::protocol::report::v1::CustomReport; + } + return type_.custom_report_; +} +inline ::bgs::protocol::report::v1::CustomReport* ReportType::release_custom_report() { + if (has_custom_report()) { + clear_has_type(); + ::bgs::protocol::report::v1::CustomReport* temp = type_.custom_report_; + type_.custom_report_ = NULL; + return temp; + } else { + return NULL; + } +} +inline void ReportType::set_allocated_custom_report(::bgs::protocol::report::v1::CustomReport* custom_report) { + clear_type(); + if (custom_report) { + set_has_custom_report(); + type_.custom_report_ = custom_report; + } +} + +// optional .bgs.protocol.report.v1.SpamReport spam_report = 11; +inline bool ReportType::has_spam_report() const { + return type_case() == kSpamReport; +} +inline void ReportType::set_has_spam_report() { + _oneof_case_[0] = kSpamReport; +} +inline void ReportType::clear_spam_report() { + if (has_spam_report()) { + delete type_.spam_report_; + clear_has_type(); + } +} +inline const ::bgs::protocol::report::v1::SpamReport& ReportType::spam_report() const { + return has_spam_report() ? *type_.spam_report_ + : ::bgs::protocol::report::v1::SpamReport::default_instance(); +} +inline ::bgs::protocol::report::v1::SpamReport* ReportType::mutable_spam_report() { + if (!has_spam_report()) { + clear_type(); + set_has_spam_report(); + type_.spam_report_ = new ::bgs::protocol::report::v1::SpamReport; + } + return type_.spam_report_; +} +inline ::bgs::protocol::report::v1::SpamReport* ReportType::release_spam_report() { + if (has_spam_report()) { + clear_has_type(); + ::bgs::protocol::report::v1::SpamReport* temp = type_.spam_report_; + type_.spam_report_ = NULL; + return temp; + } else { + return NULL; + } +} +inline void ReportType::set_allocated_spam_report(::bgs::protocol::report::v1::SpamReport* spam_report) { + clear_type(); + if (spam_report) { + set_has_spam_report(); + type_.spam_report_ = spam_report; + } +} + +// optional .bgs.protocol.report.v1.HarassmentReport harassment_report = 12; +inline bool ReportType::has_harassment_report() const { + return type_case() == kHarassmentReport; +} +inline void ReportType::set_has_harassment_report() { + _oneof_case_[0] = kHarassmentReport; +} +inline void ReportType::clear_harassment_report() { + if (has_harassment_report()) { + delete type_.harassment_report_; + clear_has_type(); + } +} +inline const ::bgs::protocol::report::v1::HarassmentReport& ReportType::harassment_report() const { + return has_harassment_report() ? *type_.harassment_report_ + : ::bgs::protocol::report::v1::HarassmentReport::default_instance(); +} +inline ::bgs::protocol::report::v1::HarassmentReport* ReportType::mutable_harassment_report() { + if (!has_harassment_report()) { + clear_type(); + set_has_harassment_report(); + type_.harassment_report_ = new ::bgs::protocol::report::v1::HarassmentReport; + } + return type_.harassment_report_; +} +inline ::bgs::protocol::report::v1::HarassmentReport* ReportType::release_harassment_report() { + if (has_harassment_report()) { + clear_has_type(); + ::bgs::protocol::report::v1::HarassmentReport* temp = type_.harassment_report_; + type_.harassment_report_ = NULL; + return temp; + } else { + return NULL; + } +} +inline void ReportType::set_allocated_harassment_report(::bgs::protocol::report::v1::HarassmentReport* harassment_report) { + clear_type(); + if (harassment_report) { + set_has_harassment_report(); + type_.harassment_report_ = harassment_report; + } +} + +// optional .bgs.protocol.report.v1.RealLifeThreatReport real_life_threat_report = 13; +inline bool ReportType::has_real_life_threat_report() const { + return type_case() == kRealLifeThreatReport; +} +inline void ReportType::set_has_real_life_threat_report() { + _oneof_case_[0] = kRealLifeThreatReport; +} +inline void ReportType::clear_real_life_threat_report() { + if (has_real_life_threat_report()) { + delete type_.real_life_threat_report_; + clear_has_type(); + } +} +inline const ::bgs::protocol::report::v1::RealLifeThreatReport& ReportType::real_life_threat_report() const { + return has_real_life_threat_report() ? *type_.real_life_threat_report_ + : ::bgs::protocol::report::v1::RealLifeThreatReport::default_instance(); +} +inline ::bgs::protocol::report::v1::RealLifeThreatReport* ReportType::mutable_real_life_threat_report() { + if (!has_real_life_threat_report()) { + clear_type(); + set_has_real_life_threat_report(); + type_.real_life_threat_report_ = new ::bgs::protocol::report::v1::RealLifeThreatReport; + } + return type_.real_life_threat_report_; +} +inline ::bgs::protocol::report::v1::RealLifeThreatReport* ReportType::release_real_life_threat_report() { + if (has_real_life_threat_report()) { + clear_has_type(); + ::bgs::protocol::report::v1::RealLifeThreatReport* temp = type_.real_life_threat_report_; + type_.real_life_threat_report_ = NULL; + return temp; + } else { + return NULL; + } +} +inline void ReportType::set_allocated_real_life_threat_report(::bgs::protocol::report::v1::RealLifeThreatReport* real_life_threat_report) { + clear_type(); + if (real_life_threat_report) { + set_has_real_life_threat_report(); + type_.real_life_threat_report_ = real_life_threat_report; + } +} + +// optional .bgs.protocol.report.v1.InappropriateBattleTagReport inappropriate_battle_tag_report = 14; +inline bool ReportType::has_inappropriate_battle_tag_report() const { + return type_case() == kInappropriateBattleTagReport; +} +inline void ReportType::set_has_inappropriate_battle_tag_report() { + _oneof_case_[0] = kInappropriateBattleTagReport; +} +inline void ReportType::clear_inappropriate_battle_tag_report() { + if (has_inappropriate_battle_tag_report()) { + delete type_.inappropriate_battle_tag_report_; + clear_has_type(); + } +} +inline const ::bgs::protocol::report::v1::InappropriateBattleTagReport& ReportType::inappropriate_battle_tag_report() const { + return has_inappropriate_battle_tag_report() ? *type_.inappropriate_battle_tag_report_ + : ::bgs::protocol::report::v1::InappropriateBattleTagReport::default_instance(); +} +inline ::bgs::protocol::report::v1::InappropriateBattleTagReport* ReportType::mutable_inappropriate_battle_tag_report() { + if (!has_inappropriate_battle_tag_report()) { + clear_type(); + set_has_inappropriate_battle_tag_report(); + type_.inappropriate_battle_tag_report_ = new ::bgs::protocol::report::v1::InappropriateBattleTagReport; + } + return type_.inappropriate_battle_tag_report_; +} +inline ::bgs::protocol::report::v1::InappropriateBattleTagReport* ReportType::release_inappropriate_battle_tag_report() { + if (has_inappropriate_battle_tag_report()) { + clear_has_type(); + ::bgs::protocol::report::v1::InappropriateBattleTagReport* temp = type_.inappropriate_battle_tag_report_; + type_.inappropriate_battle_tag_report_ = NULL; + return temp; + } else { + return NULL; + } +} +inline void ReportType::set_allocated_inappropriate_battle_tag_report(::bgs::protocol::report::v1::InappropriateBattleTagReport* inappropriate_battle_tag_report) { + clear_type(); + if (inappropriate_battle_tag_report) { + set_has_inappropriate_battle_tag_report(); + type_.inappropriate_battle_tag_report_ = inappropriate_battle_tag_report; + } +} + +// optional .bgs.protocol.report.v1.HackingReport hacking_report = 15; +inline bool ReportType::has_hacking_report() const { + return type_case() == kHackingReport; +} +inline void ReportType::set_has_hacking_report() { + _oneof_case_[0] = kHackingReport; +} +inline void ReportType::clear_hacking_report() { + if (has_hacking_report()) { + delete type_.hacking_report_; + clear_has_type(); + } +} +inline const ::bgs::protocol::report::v1::HackingReport& ReportType::hacking_report() const { + return has_hacking_report() ? *type_.hacking_report_ + : ::bgs::protocol::report::v1::HackingReport::default_instance(); +} +inline ::bgs::protocol::report::v1::HackingReport* ReportType::mutable_hacking_report() { + if (!has_hacking_report()) { + clear_type(); + set_has_hacking_report(); + type_.hacking_report_ = new ::bgs::protocol::report::v1::HackingReport; + } + return type_.hacking_report_; +} +inline ::bgs::protocol::report::v1::HackingReport* ReportType::release_hacking_report() { + if (has_hacking_report()) { + clear_has_type(); + ::bgs::protocol::report::v1::HackingReport* temp = type_.hacking_report_; + type_.hacking_report_ = NULL; + return temp; + } else { + return NULL; + } +} +inline void ReportType::set_allocated_hacking_report(::bgs::protocol::report::v1::HackingReport* hacking_report) { + clear_type(); + if (hacking_report) { + set_has_hacking_report(); + type_.hacking_report_ = hacking_report; + } +} + +// optional .bgs.protocol.report.v1.BottingReport botting_report = 16; +inline bool ReportType::has_botting_report() const { + return type_case() == kBottingReport; +} +inline void ReportType::set_has_botting_report() { + _oneof_case_[0] = kBottingReport; +} +inline void ReportType::clear_botting_report() { + if (has_botting_report()) { + delete type_.botting_report_; + clear_has_type(); + } +} +inline const ::bgs::protocol::report::v1::BottingReport& ReportType::botting_report() const { + return has_botting_report() ? *type_.botting_report_ + : ::bgs::protocol::report::v1::BottingReport::default_instance(); +} +inline ::bgs::protocol::report::v1::BottingReport* ReportType::mutable_botting_report() { + if (!has_botting_report()) { + clear_type(); + set_has_botting_report(); + type_.botting_report_ = new ::bgs::protocol::report::v1::BottingReport; + } + return type_.botting_report_; +} +inline ::bgs::protocol::report::v1::BottingReport* ReportType::release_botting_report() { + if (has_botting_report()) { + clear_has_type(); + ::bgs::protocol::report::v1::BottingReport* temp = type_.botting_report_; + type_.botting_report_ = NULL; + return temp; + } else { + return NULL; + } +} +inline void ReportType::set_allocated_botting_report(::bgs::protocol::report::v1::BottingReport* botting_report) { + clear_type(); + if (botting_report) { + set_has_botting_report(); + type_.botting_report_ = botting_report; + } +} + +inline bool ReportType::has_type() { + return type_case() != TYPE_NOT_SET; +} +inline void ReportType::clear_has_type() { + _oneof_case_[0] = TYPE_NOT_SET; +} +inline ReportType::TypeCase ReportType::type_case() const { + return ReportType::TypeCase(_oneof_case_[0]); +} +// ------------------------------------------------------------------- + +// CustomReport + +// optional string type = 1; +inline bool CustomReport::has_type() const { + return (_has_bits_[0] & 0x00000001u) != 0; +} +inline void CustomReport::set_has_type() { + _has_bits_[0] |= 0x00000001u; +} +inline void CustomReport::clear_has_type() { + _has_bits_[0] &= ~0x00000001u; +} +inline void CustomReport::clear_type() { + if (type_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) { + type_->clear(); + } + clear_has_type(); +} +inline const ::std::string& CustomReport::type() const { + // @@protoc_insertion_point(field_get:bgs.protocol.report.v1.CustomReport.type) + return *type_; +} +inline void CustomReport::set_type(const ::std::string& value) { + set_has_type(); + if (type_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) { + type_ = new ::std::string; + } + type_->assign(value); + // @@protoc_insertion_point(field_set:bgs.protocol.report.v1.CustomReport.type) +} +inline void CustomReport::set_type(const char* value) { + set_has_type(); + if (type_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) { + type_ = new ::std::string; + } + type_->assign(value); + // @@protoc_insertion_point(field_set_char:bgs.protocol.report.v1.CustomReport.type) +} +inline void CustomReport::set_type(const char* value, size_t size) { + set_has_type(); + if (type_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) { + type_ = new ::std::string; + } + type_->assign(reinterpret_cast<const char*>(value), size); + // @@protoc_insertion_point(field_set_pointer:bgs.protocol.report.v1.CustomReport.type) +} +inline ::std::string* CustomReport::mutable_type() { + set_has_type(); + if (type_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) { + type_ = new ::std::string; + } + // @@protoc_insertion_point(field_mutable:bgs.protocol.report.v1.CustomReport.type) + return type_; +} +inline ::std::string* CustomReport::release_type() { + clear_has_type(); + if (type_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) { + return NULL; + } else { + ::std::string* temp = type_; + type_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + return temp; + } +} +inline void CustomReport::set_allocated_type(::std::string* type) { + if (type_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) { + delete type_; + } + if (type) { + set_has_type(); + type_ = type; + } else { + clear_has_type(); + type_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + } + // @@protoc_insertion_point(field_set_allocated:bgs.protocol.report.v1.CustomReport.type) +} + +// optional string program_id = 2 [deprecated = true]; +inline bool CustomReport::has_program_id() const { + return (_has_bits_[0] & 0x00000002u) != 0; +} +inline void CustomReport::set_has_program_id() { + _has_bits_[0] |= 0x00000002u; +} +inline void CustomReport::clear_has_program_id() { + _has_bits_[0] &= ~0x00000002u; +} +inline void CustomReport::clear_program_id() { + if (program_id_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) { + program_id_->clear(); + } + clear_has_program_id(); +} +inline const ::std::string& CustomReport::program_id() const { + // @@protoc_insertion_point(field_get:bgs.protocol.report.v1.CustomReport.program_id) + return *program_id_; +} +inline void CustomReport::set_program_id(const ::std::string& value) { + set_has_program_id(); + if (program_id_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) { + program_id_ = new ::std::string; + } + program_id_->assign(value); + // @@protoc_insertion_point(field_set:bgs.protocol.report.v1.CustomReport.program_id) +} +inline void CustomReport::set_program_id(const char* value) { + set_has_program_id(); + if (program_id_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) { + program_id_ = new ::std::string; + } + program_id_->assign(value); + // @@protoc_insertion_point(field_set_char:bgs.protocol.report.v1.CustomReport.program_id) +} +inline void CustomReport::set_program_id(const char* value, size_t size) { + set_has_program_id(); + if (program_id_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) { + program_id_ = new ::std::string; + } + program_id_->assign(reinterpret_cast<const char*>(value), size); + // @@protoc_insertion_point(field_set_pointer:bgs.protocol.report.v1.CustomReport.program_id) +} +inline ::std::string* CustomReport::mutable_program_id() { + set_has_program_id(); + if (program_id_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) { + program_id_ = new ::std::string; + } + // @@protoc_insertion_point(field_mutable:bgs.protocol.report.v1.CustomReport.program_id) + return program_id_; +} +inline ::std::string* CustomReport::release_program_id() { + clear_has_program_id(); + if (program_id_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) { + return NULL; + } else { + ::std::string* temp = program_id_; + program_id_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + return temp; + } +} +inline void CustomReport::set_allocated_program_id(::std::string* program_id) { + if (program_id_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) { + delete program_id_; + } + if (program_id) { + set_has_program_id(); + program_id_ = program_id; + } else { + clear_has_program_id(); + program_id_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + } + // @@protoc_insertion_point(field_set_allocated:bgs.protocol.report.v1.CustomReport.program_id) +} + +// repeated .bgs.protocol.Attribute attribute = 3; +inline int CustomReport::attribute_size() const { + return attribute_.size(); +} +inline void CustomReport::clear_attribute() { + attribute_.Clear(); +} +inline const ::bgs::protocol::Attribute& CustomReport::attribute(int index) const { + // @@protoc_insertion_point(field_get:bgs.protocol.report.v1.CustomReport.attribute) + return attribute_.Get(index); +} +inline ::bgs::protocol::Attribute* CustomReport::mutable_attribute(int index) { + // @@protoc_insertion_point(field_mutable:bgs.protocol.report.v1.CustomReport.attribute) + return attribute_.Mutable(index); +} +inline ::bgs::protocol::Attribute* CustomReport::add_attribute() { + // @@protoc_insertion_point(field_add:bgs.protocol.report.v1.CustomReport.attribute) + return attribute_.Add(); +} +inline const ::google::protobuf::RepeatedPtrField< ::bgs::protocol::Attribute >& +CustomReport::attribute() const { + // @@protoc_insertion_point(field_list:bgs.protocol.report.v1.CustomReport.attribute) + return attribute_; +} +inline ::google::protobuf::RepeatedPtrField< ::bgs::protocol::Attribute >* +CustomReport::mutable_attribute() { + // @@protoc_insertion_point(field_mutable_list:bgs.protocol.report.v1.CustomReport.attribute) + return &attribute_; +} + +// ------------------------------------------------------------------- + +// SpamReport + +// optional .bgs.protocol.account.v1.GameAccountHandle target = 1; +inline bool SpamReport::has_target() const { + return (_has_bits_[0] & 0x00000001u) != 0; +} +inline void SpamReport::set_has_target() { + _has_bits_[0] |= 0x00000001u; +} +inline void SpamReport::clear_has_target() { + _has_bits_[0] &= ~0x00000001u; +} +inline void SpamReport::clear_target() { + if (target_ != NULL) target_->::bgs::protocol::account::v1::GameAccountHandle::Clear(); + clear_has_target(); +} +inline const ::bgs::protocol::account::v1::GameAccountHandle& SpamReport::target() const { + // @@protoc_insertion_point(field_get:bgs.protocol.report.v1.SpamReport.target) + return target_ != NULL ? *target_ : *default_instance_->target_; +} +inline ::bgs::protocol::account::v1::GameAccountHandle* SpamReport::mutable_target() { + set_has_target(); + if (target_ == NULL) target_ = new ::bgs::protocol::account::v1::GameAccountHandle; + // @@protoc_insertion_point(field_mutable:bgs.protocol.report.v1.SpamReport.target) + return target_; +} +inline ::bgs::protocol::account::v1::GameAccountHandle* SpamReport::release_target() { + clear_has_target(); + ::bgs::protocol::account::v1::GameAccountHandle* temp = target_; + target_ = NULL; + return temp; +} +inline void SpamReport::set_allocated_target(::bgs::protocol::account::v1::GameAccountHandle* target) { + delete target_; + target_ = target; + if (target) { + set_has_target(); + } else { + clear_has_target(); + } + // @@protoc_insertion_point(field_set_allocated:bgs.protocol.report.v1.SpamReport.target) +} + +// optional .bgs.protocol.report.v1.SpamReport.SpamSource source = 2 [default = OTHER]; +inline bool SpamReport::has_source() const { + return (_has_bits_[0] & 0x00000002u) != 0; +} +inline void SpamReport::set_has_source() { + _has_bits_[0] |= 0x00000002u; +} +inline void SpamReport::clear_has_source() { + _has_bits_[0] &= ~0x00000002u; +} +inline void SpamReport::clear_source() { + source_ = 1; + clear_has_source(); +} +inline ::bgs::protocol::report::v1::SpamReport_SpamSource SpamReport::source() const { + // @@protoc_insertion_point(field_get:bgs.protocol.report.v1.SpamReport.source) + return static_cast< ::bgs::protocol::report::v1::SpamReport_SpamSource >(source_); +} +inline void SpamReport::set_source(::bgs::protocol::report::v1::SpamReport_SpamSource value) { + assert(::bgs::protocol::report::v1::SpamReport_SpamSource_IsValid(value)); + set_has_source(); + source_ = value; + // @@protoc_insertion_point(field_set:bgs.protocol.report.v1.SpamReport.source) +} + +// ------------------------------------------------------------------- + +// HarassmentReport + +// optional .bgs.protocol.account.v1.GameAccountHandle target = 1; +inline bool HarassmentReport::has_target() const { + return (_has_bits_[0] & 0x00000001u) != 0; +} +inline void HarassmentReport::set_has_target() { + _has_bits_[0] |= 0x00000001u; +} +inline void HarassmentReport::clear_has_target() { + _has_bits_[0] &= ~0x00000001u; +} +inline void HarassmentReport::clear_target() { + if (target_ != NULL) target_->::bgs::protocol::account::v1::GameAccountHandle::Clear(); + clear_has_target(); +} +inline const ::bgs::protocol::account::v1::GameAccountHandle& HarassmentReport::target() const { + // @@protoc_insertion_point(field_get:bgs.protocol.report.v1.HarassmentReport.target) + return target_ != NULL ? *target_ : *default_instance_->target_; +} +inline ::bgs::protocol::account::v1::GameAccountHandle* HarassmentReport::mutable_target() { + set_has_target(); + if (target_ == NULL) target_ = new ::bgs::protocol::account::v1::GameAccountHandle; + // @@protoc_insertion_point(field_mutable:bgs.protocol.report.v1.HarassmentReport.target) + return target_; +} +inline ::bgs::protocol::account::v1::GameAccountHandle* HarassmentReport::release_target() { + clear_has_target(); + ::bgs::protocol::account::v1::GameAccountHandle* temp = target_; + target_ = NULL; + return temp; +} +inline void HarassmentReport::set_allocated_target(::bgs::protocol::account::v1::GameAccountHandle* target) { + delete target_; + target_ = target; + if (target) { + set_has_target(); + } else { + clear_has_target(); + } + // @@protoc_insertion_point(field_set_allocated:bgs.protocol.report.v1.HarassmentReport.target) +} + +// optional string text = 2; +inline bool HarassmentReport::has_text() const { + return (_has_bits_[0] & 0x00000002u) != 0; +} +inline void HarassmentReport::set_has_text() { + _has_bits_[0] |= 0x00000002u; +} +inline void HarassmentReport::clear_has_text() { + _has_bits_[0] &= ~0x00000002u; +} +inline void HarassmentReport::clear_text() { + if (text_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) { + text_->clear(); + } + clear_has_text(); +} +inline const ::std::string& HarassmentReport::text() const { + // @@protoc_insertion_point(field_get:bgs.protocol.report.v1.HarassmentReport.text) + return *text_; +} +inline void HarassmentReport::set_text(const ::std::string& value) { + set_has_text(); + if (text_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) { + text_ = new ::std::string; + } + text_->assign(value); + // @@protoc_insertion_point(field_set:bgs.protocol.report.v1.HarassmentReport.text) +} +inline void HarassmentReport::set_text(const char* value) { + set_has_text(); + if (text_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) { + text_ = new ::std::string; + } + text_->assign(value); + // @@protoc_insertion_point(field_set_char:bgs.protocol.report.v1.HarassmentReport.text) +} +inline void HarassmentReport::set_text(const char* value, size_t size) { + set_has_text(); + if (text_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) { + text_ = new ::std::string; + } + text_->assign(reinterpret_cast<const char*>(value), size); + // @@protoc_insertion_point(field_set_pointer:bgs.protocol.report.v1.HarassmentReport.text) +} +inline ::std::string* HarassmentReport::mutable_text() { + set_has_text(); + if (text_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) { + text_ = new ::std::string; + } + // @@protoc_insertion_point(field_mutable:bgs.protocol.report.v1.HarassmentReport.text) + return text_; +} +inline ::std::string* HarassmentReport::release_text() { + clear_has_text(); + if (text_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) { + return NULL; + } else { + ::std::string* temp = text_; + text_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + return temp; + } +} +inline void HarassmentReport::set_allocated_text(::std::string* text) { + if (text_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) { + delete text_; + } + if (text) { + set_has_text(); + text_ = text; + } else { + clear_has_text(); + text_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + } + // @@protoc_insertion_point(field_set_allocated:bgs.protocol.report.v1.HarassmentReport.text) +} + +// ------------------------------------------------------------------- + +// RealLifeThreatReport + +// optional .bgs.protocol.account.v1.GameAccountHandle target = 1; +inline bool RealLifeThreatReport::has_target() const { + return (_has_bits_[0] & 0x00000001u) != 0; +} +inline void RealLifeThreatReport::set_has_target() { + _has_bits_[0] |= 0x00000001u; +} +inline void RealLifeThreatReport::clear_has_target() { + _has_bits_[0] &= ~0x00000001u; +} +inline void RealLifeThreatReport::clear_target() { + if (target_ != NULL) target_->::bgs::protocol::account::v1::GameAccountHandle::Clear(); + clear_has_target(); +} +inline const ::bgs::protocol::account::v1::GameAccountHandle& RealLifeThreatReport::target() const { + // @@protoc_insertion_point(field_get:bgs.protocol.report.v1.RealLifeThreatReport.target) + return target_ != NULL ? *target_ : *default_instance_->target_; +} +inline ::bgs::protocol::account::v1::GameAccountHandle* RealLifeThreatReport::mutable_target() { + set_has_target(); + if (target_ == NULL) target_ = new ::bgs::protocol::account::v1::GameAccountHandle; + // @@protoc_insertion_point(field_mutable:bgs.protocol.report.v1.RealLifeThreatReport.target) + return target_; +} +inline ::bgs::protocol::account::v1::GameAccountHandle* RealLifeThreatReport::release_target() { + clear_has_target(); + ::bgs::protocol::account::v1::GameAccountHandle* temp = target_; + target_ = NULL; + return temp; +} +inline void RealLifeThreatReport::set_allocated_target(::bgs::protocol::account::v1::GameAccountHandle* target) { + delete target_; + target_ = target; + if (target) { + set_has_target(); + } else { + clear_has_target(); + } + // @@protoc_insertion_point(field_set_allocated:bgs.protocol.report.v1.RealLifeThreatReport.target) +} + +// optional string text = 2; +inline bool RealLifeThreatReport::has_text() const { + return (_has_bits_[0] & 0x00000002u) != 0; +} +inline void RealLifeThreatReport::set_has_text() { + _has_bits_[0] |= 0x00000002u; +} +inline void RealLifeThreatReport::clear_has_text() { + _has_bits_[0] &= ~0x00000002u; +} +inline void RealLifeThreatReport::clear_text() { + if (text_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) { + text_->clear(); + } + clear_has_text(); +} +inline const ::std::string& RealLifeThreatReport::text() const { + // @@protoc_insertion_point(field_get:bgs.protocol.report.v1.RealLifeThreatReport.text) + return *text_; +} +inline void RealLifeThreatReport::set_text(const ::std::string& value) { + set_has_text(); + if (text_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) { + text_ = new ::std::string; + } + text_->assign(value); + // @@protoc_insertion_point(field_set:bgs.protocol.report.v1.RealLifeThreatReport.text) +} +inline void RealLifeThreatReport::set_text(const char* value) { + set_has_text(); + if (text_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) { + text_ = new ::std::string; + } + text_->assign(value); + // @@protoc_insertion_point(field_set_char:bgs.protocol.report.v1.RealLifeThreatReport.text) +} +inline void RealLifeThreatReport::set_text(const char* value, size_t size) { + set_has_text(); + if (text_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) { + text_ = new ::std::string; + } + text_->assign(reinterpret_cast<const char*>(value), size); + // @@protoc_insertion_point(field_set_pointer:bgs.protocol.report.v1.RealLifeThreatReport.text) +} +inline ::std::string* RealLifeThreatReport::mutable_text() { + set_has_text(); + if (text_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) { + text_ = new ::std::string; + } + // @@protoc_insertion_point(field_mutable:bgs.protocol.report.v1.RealLifeThreatReport.text) + return text_; +} +inline ::std::string* RealLifeThreatReport::release_text() { + clear_has_text(); + if (text_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) { + return NULL; + } else { + ::std::string* temp = text_; + text_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + return temp; + } +} +inline void RealLifeThreatReport::set_allocated_text(::std::string* text) { + if (text_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) { + delete text_; + } + if (text) { + set_has_text(); + text_ = text; + } else { + clear_has_text(); + text_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + } + // @@protoc_insertion_point(field_set_allocated:bgs.protocol.report.v1.RealLifeThreatReport.text) +} + +// ------------------------------------------------------------------- + +// InappropriateBattleTagReport + +// optional .bgs.protocol.account.v1.GameAccountHandle target = 1; +inline bool InappropriateBattleTagReport::has_target() const { + return (_has_bits_[0] & 0x00000001u) != 0; +} +inline void InappropriateBattleTagReport::set_has_target() { + _has_bits_[0] |= 0x00000001u; +} +inline void InappropriateBattleTagReport::clear_has_target() { + _has_bits_[0] &= ~0x00000001u; +} +inline void InappropriateBattleTagReport::clear_target() { + if (target_ != NULL) target_->::bgs::protocol::account::v1::GameAccountHandle::Clear(); + clear_has_target(); +} +inline const ::bgs::protocol::account::v1::GameAccountHandle& InappropriateBattleTagReport::target() const { + // @@protoc_insertion_point(field_get:bgs.protocol.report.v1.InappropriateBattleTagReport.target) + return target_ != NULL ? *target_ : *default_instance_->target_; +} +inline ::bgs::protocol::account::v1::GameAccountHandle* InappropriateBattleTagReport::mutable_target() { + set_has_target(); + if (target_ == NULL) target_ = new ::bgs::protocol::account::v1::GameAccountHandle; + // @@protoc_insertion_point(field_mutable:bgs.protocol.report.v1.InappropriateBattleTagReport.target) + return target_; +} +inline ::bgs::protocol::account::v1::GameAccountHandle* InappropriateBattleTagReport::release_target() { + clear_has_target(); + ::bgs::protocol::account::v1::GameAccountHandle* temp = target_; + target_ = NULL; + return temp; +} +inline void InappropriateBattleTagReport::set_allocated_target(::bgs::protocol::account::v1::GameAccountHandle* target) { + delete target_; + target_ = target; + if (target) { + set_has_target(); + } else { + clear_has_target(); + } + // @@protoc_insertion_point(field_set_allocated:bgs.protocol.report.v1.InappropriateBattleTagReport.target) +} + +// optional string battle_tag = 2; +inline bool InappropriateBattleTagReport::has_battle_tag() const { + return (_has_bits_[0] & 0x00000002u) != 0; +} +inline void InappropriateBattleTagReport::set_has_battle_tag() { + _has_bits_[0] |= 0x00000002u; +} +inline void InappropriateBattleTagReport::clear_has_battle_tag() { + _has_bits_[0] &= ~0x00000002u; +} +inline void InappropriateBattleTagReport::clear_battle_tag() { + if (battle_tag_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) { + battle_tag_->clear(); + } + clear_has_battle_tag(); +} +inline const ::std::string& InappropriateBattleTagReport::battle_tag() const { + // @@protoc_insertion_point(field_get:bgs.protocol.report.v1.InappropriateBattleTagReport.battle_tag) + return *battle_tag_; +} +inline void InappropriateBattleTagReport::set_battle_tag(const ::std::string& value) { + set_has_battle_tag(); + if (battle_tag_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) { + battle_tag_ = new ::std::string; + } + battle_tag_->assign(value); + // @@protoc_insertion_point(field_set:bgs.protocol.report.v1.InappropriateBattleTagReport.battle_tag) +} +inline void InappropriateBattleTagReport::set_battle_tag(const char* value) { + set_has_battle_tag(); + if (battle_tag_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) { + battle_tag_ = new ::std::string; + } + battle_tag_->assign(value); + // @@protoc_insertion_point(field_set_char:bgs.protocol.report.v1.InappropriateBattleTagReport.battle_tag) +} +inline void InappropriateBattleTagReport::set_battle_tag(const char* value, size_t size) { + set_has_battle_tag(); + if (battle_tag_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) { + battle_tag_ = new ::std::string; + } + battle_tag_->assign(reinterpret_cast<const char*>(value), size); + // @@protoc_insertion_point(field_set_pointer:bgs.protocol.report.v1.InappropriateBattleTagReport.battle_tag) +} +inline ::std::string* InappropriateBattleTagReport::mutable_battle_tag() { + set_has_battle_tag(); + if (battle_tag_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) { + battle_tag_ = new ::std::string; + } + // @@protoc_insertion_point(field_mutable:bgs.protocol.report.v1.InappropriateBattleTagReport.battle_tag) + return battle_tag_; +} +inline ::std::string* InappropriateBattleTagReport::release_battle_tag() { + clear_has_battle_tag(); + if (battle_tag_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) { + return NULL; + } else { + ::std::string* temp = battle_tag_; + battle_tag_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + return temp; + } +} +inline void InappropriateBattleTagReport::set_allocated_battle_tag(::std::string* battle_tag) { + if (battle_tag_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) { + delete battle_tag_; + } + if (battle_tag) { + set_has_battle_tag(); + battle_tag_ = battle_tag; + } else { + clear_has_battle_tag(); + battle_tag_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + } + // @@protoc_insertion_point(field_set_allocated:bgs.protocol.report.v1.InappropriateBattleTagReport.battle_tag) +} + +// ------------------------------------------------------------------- + +// HackingReport + +// optional .bgs.protocol.account.v1.GameAccountHandle target = 1; +inline bool HackingReport::has_target() const { + return (_has_bits_[0] & 0x00000001u) != 0; +} +inline void HackingReport::set_has_target() { + _has_bits_[0] |= 0x00000001u; +} +inline void HackingReport::clear_has_target() { + _has_bits_[0] &= ~0x00000001u; +} +inline void HackingReport::clear_target() { + if (target_ != NULL) target_->::bgs::protocol::account::v1::GameAccountHandle::Clear(); + clear_has_target(); +} +inline const ::bgs::protocol::account::v1::GameAccountHandle& HackingReport::target() const { + // @@protoc_insertion_point(field_get:bgs.protocol.report.v1.HackingReport.target) + return target_ != NULL ? *target_ : *default_instance_->target_; +} +inline ::bgs::protocol::account::v1::GameAccountHandle* HackingReport::mutable_target() { + set_has_target(); + if (target_ == NULL) target_ = new ::bgs::protocol::account::v1::GameAccountHandle; + // @@protoc_insertion_point(field_mutable:bgs.protocol.report.v1.HackingReport.target) + return target_; +} +inline ::bgs::protocol::account::v1::GameAccountHandle* HackingReport::release_target() { + clear_has_target(); + ::bgs::protocol::account::v1::GameAccountHandle* temp = target_; + target_ = NULL; + return temp; +} +inline void HackingReport::set_allocated_target(::bgs::protocol::account::v1::GameAccountHandle* target) { + delete target_; + target_ = target; + if (target) { + set_has_target(); + } else { + clear_has_target(); + } + // @@protoc_insertion_point(field_set_allocated:bgs.protocol.report.v1.HackingReport.target) +} + +// ------------------------------------------------------------------- + +// BottingReport + +// optional .bgs.protocol.account.v1.GameAccountHandle target = 1; +inline bool BottingReport::has_target() const { + return (_has_bits_[0] & 0x00000001u) != 0; +} +inline void BottingReport::set_has_target() { + _has_bits_[0] |= 0x00000001u; +} +inline void BottingReport::clear_has_target() { + _has_bits_[0] &= ~0x00000001u; +} +inline void BottingReport::clear_target() { + if (target_ != NULL) target_->::bgs::protocol::account::v1::GameAccountHandle::Clear(); + clear_has_target(); +} +inline const ::bgs::protocol::account::v1::GameAccountHandle& BottingReport::target() const { + // @@protoc_insertion_point(field_get:bgs.protocol.report.v1.BottingReport.target) + return target_ != NULL ? *target_ : *default_instance_->target_; +} +inline ::bgs::protocol::account::v1::GameAccountHandle* BottingReport::mutable_target() { + set_has_target(); + if (target_ == NULL) target_ = new ::bgs::protocol::account::v1::GameAccountHandle; + // @@protoc_insertion_point(field_mutable:bgs.protocol.report.v1.BottingReport.target) + return target_; +} +inline ::bgs::protocol::account::v1::GameAccountHandle* BottingReport::release_target() { + clear_has_target(); + ::bgs::protocol::account::v1::GameAccountHandle* temp = target_; + target_ = NULL; + return temp; +} +inline void BottingReport::set_allocated_target(::bgs::protocol::account::v1::GameAccountHandle* target) { + delete target_; + target_ = target; + if (target) { + set_has_target(); + } else { + clear_has_target(); + } + // @@protoc_insertion_point(field_set_allocated:bgs.protocol.report.v1.BottingReport.target) +} + +// ------------------------------------------------------------------- + +// Report + +// required string report_type = 1; +inline bool Report::has_report_type() const { + return (_has_bits_[0] & 0x00000001u) != 0; +} +inline void Report::set_has_report_type() { + _has_bits_[0] |= 0x00000001u; +} +inline void Report::clear_has_report_type() { + _has_bits_[0] &= ~0x00000001u; +} +inline void Report::clear_report_type() { + if (report_type_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) { + report_type_->clear(); + } + clear_has_report_type(); +} +inline const ::std::string& Report::report_type() const { + // @@protoc_insertion_point(field_get:bgs.protocol.report.v1.Report.report_type) + return *report_type_; +} +inline void Report::set_report_type(const ::std::string& value) { + set_has_report_type(); + if (report_type_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) { + report_type_ = new ::std::string; + } + report_type_->assign(value); + // @@protoc_insertion_point(field_set:bgs.protocol.report.v1.Report.report_type) +} +inline void Report::set_report_type(const char* value) { + set_has_report_type(); + if (report_type_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) { + report_type_ = new ::std::string; + } + report_type_->assign(value); + // @@protoc_insertion_point(field_set_char:bgs.protocol.report.v1.Report.report_type) +} +inline void Report::set_report_type(const char* value, size_t size) { + set_has_report_type(); + if (report_type_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) { + report_type_ = new ::std::string; + } + report_type_->assign(reinterpret_cast<const char*>(value), size); + // @@protoc_insertion_point(field_set_pointer:bgs.protocol.report.v1.Report.report_type) +} +inline ::std::string* Report::mutable_report_type() { + set_has_report_type(); + if (report_type_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) { + report_type_ = new ::std::string; + } + // @@protoc_insertion_point(field_mutable:bgs.protocol.report.v1.Report.report_type) + return report_type_; +} +inline ::std::string* Report::release_report_type() { + clear_has_report_type(); + if (report_type_ == &::google::protobuf::internal::GetEmptyStringAlreadyInited()) { + return NULL; + } else { + ::std::string* temp = report_type_; + report_type_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + return temp; + } +} +inline void Report::set_allocated_report_type(::std::string* report_type) { + if (report_type_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) { + delete report_type_; + } + if (report_type) { + set_has_report_type(); + report_type_ = report_type; + } else { + clear_has_report_type(); + report_type_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + } + // @@protoc_insertion_point(field_set_allocated:bgs.protocol.report.v1.Report.report_type) +} + +// repeated .bgs.protocol.Attribute attribute = 2; +inline int Report::attribute_size() const { + return attribute_.size(); +} +inline void Report::clear_attribute() { + attribute_.Clear(); +} +inline const ::bgs::protocol::Attribute& Report::attribute(int index) const { + // @@protoc_insertion_point(field_get:bgs.protocol.report.v1.Report.attribute) + return attribute_.Get(index); +} +inline ::bgs::protocol::Attribute* Report::mutable_attribute(int index) { + // @@protoc_insertion_point(field_mutable:bgs.protocol.report.v1.Report.attribute) + return attribute_.Mutable(index); +} +inline ::bgs::protocol::Attribute* Report::add_attribute() { + // @@protoc_insertion_point(field_add:bgs.protocol.report.v1.Report.attribute) + return attribute_.Add(); +} +inline const ::google::protobuf::RepeatedPtrField< ::bgs::protocol::Attribute >& +Report::attribute() const { + // @@protoc_insertion_point(field_list:bgs.protocol.report.v1.Report.attribute) + return attribute_; +} +inline ::google::protobuf::RepeatedPtrField< ::bgs::protocol::Attribute >* +Report::mutable_attribute() { + // @@protoc_insertion_point(field_mutable_list:bgs.protocol.report.v1.Report.attribute) + return &attribute_; +} + +// optional int32 report_qos = 3 [default = 0]; +inline bool Report::has_report_qos() const { + return (_has_bits_[0] & 0x00000004u) != 0; +} +inline void Report::set_has_report_qos() { + _has_bits_[0] |= 0x00000004u; +} +inline void Report::clear_has_report_qos() { + _has_bits_[0] &= ~0x00000004u; +} +inline void Report::clear_report_qos() { + report_qos_ = 0; + clear_has_report_qos(); +} +inline ::google::protobuf::int32 Report::report_qos() const { + // @@protoc_insertion_point(field_get:bgs.protocol.report.v1.Report.report_qos) + return report_qos_; +} +inline void Report::set_report_qos(::google::protobuf::int32 value) { + set_has_report_qos(); + report_qos_ = value; + // @@protoc_insertion_point(field_set:bgs.protocol.report.v1.Report.report_qos) +} + +// optional .bgs.protocol.EntityId reporting_account = 4; +inline bool Report::has_reporting_account() const { + return (_has_bits_[0] & 0x00000008u) != 0; +} +inline void Report::set_has_reporting_account() { + _has_bits_[0] |= 0x00000008u; +} +inline void Report::clear_has_reporting_account() { + _has_bits_[0] &= ~0x00000008u; +} +inline void Report::clear_reporting_account() { + if (reporting_account_ != NULL) reporting_account_->::bgs::protocol::EntityId::Clear(); + clear_has_reporting_account(); +} +inline const ::bgs::protocol::EntityId& Report::reporting_account() const { + // @@protoc_insertion_point(field_get:bgs.protocol.report.v1.Report.reporting_account) + return reporting_account_ != NULL ? *reporting_account_ : *default_instance_->reporting_account_; +} +inline ::bgs::protocol::EntityId* Report::mutable_reporting_account() { + set_has_reporting_account(); + if (reporting_account_ == NULL) reporting_account_ = new ::bgs::protocol::EntityId; + // @@protoc_insertion_point(field_mutable:bgs.protocol.report.v1.Report.reporting_account) + return reporting_account_; +} +inline ::bgs::protocol::EntityId* Report::release_reporting_account() { + clear_has_reporting_account(); + ::bgs::protocol::EntityId* temp = reporting_account_; + reporting_account_ = NULL; + return temp; +} +inline void Report::set_allocated_reporting_account(::bgs::protocol::EntityId* reporting_account) { + delete reporting_account_; + reporting_account_ = reporting_account; + if (reporting_account) { + set_has_reporting_account(); + } else { + clear_has_reporting_account(); + } + // @@protoc_insertion_point(field_set_allocated:bgs.protocol.report.v1.Report.reporting_account) +} + +// optional .bgs.protocol.EntityId reporting_game_account = 5; +inline bool Report::has_reporting_game_account() const { + return (_has_bits_[0] & 0x00000010u) != 0; +} +inline void Report::set_has_reporting_game_account() { + _has_bits_[0] |= 0x00000010u; +} +inline void Report::clear_has_reporting_game_account() { + _has_bits_[0] &= ~0x00000010u; +} +inline void Report::clear_reporting_game_account() { + if (reporting_game_account_ != NULL) reporting_game_account_->::bgs::protocol::EntityId::Clear(); + clear_has_reporting_game_account(); +} +inline const ::bgs::protocol::EntityId& Report::reporting_game_account() const { + // @@protoc_insertion_point(field_get:bgs.protocol.report.v1.Report.reporting_game_account) + return reporting_game_account_ != NULL ? *reporting_game_account_ : *default_instance_->reporting_game_account_; +} +inline ::bgs::protocol::EntityId* Report::mutable_reporting_game_account() { + set_has_reporting_game_account(); + if (reporting_game_account_ == NULL) reporting_game_account_ = new ::bgs::protocol::EntityId; + // @@protoc_insertion_point(field_mutable:bgs.protocol.report.v1.Report.reporting_game_account) + return reporting_game_account_; +} +inline ::bgs::protocol::EntityId* Report::release_reporting_game_account() { + clear_has_reporting_game_account(); + ::bgs::protocol::EntityId* temp = reporting_game_account_; + reporting_game_account_ = NULL; + return temp; +} +inline void Report::set_allocated_reporting_game_account(::bgs::protocol::EntityId* reporting_game_account) { + delete reporting_game_account_; + reporting_game_account_ = reporting_game_account; + if (reporting_game_account) { + set_has_reporting_game_account(); + } else { + clear_has_reporting_game_account(); + } + // @@protoc_insertion_point(field_set_allocated:bgs.protocol.report.v1.Report.reporting_game_account) +} + +// optional fixed64 report_timestamp = 6; +inline bool Report::has_report_timestamp() const { + return (_has_bits_[0] & 0x00000020u) != 0; +} +inline void Report::set_has_report_timestamp() { + _has_bits_[0] |= 0x00000020u; +} +inline void Report::clear_has_report_timestamp() { + _has_bits_[0] &= ~0x00000020u; +} +inline void Report::clear_report_timestamp() { + report_timestamp_ = GOOGLE_ULONGLONG(0); + clear_has_report_timestamp(); +} +inline ::google::protobuf::uint64 Report::report_timestamp() const { + // @@protoc_insertion_point(field_get:bgs.protocol.report.v1.Report.report_timestamp) + return report_timestamp_; +} +inline void Report::set_report_timestamp(::google::protobuf::uint64 value) { + set_has_report_timestamp(); + report_timestamp_ = value; + // @@protoc_insertion_point(field_set:bgs.protocol.report.v1.Report.report_timestamp) +} + +// @@protoc_insertion_point(namespace_scope) + +} // namespace v1 +} // namespace report +} // namespace protocol +} // namespace bgs + +#ifndef SWIG +namespace google { +namespace protobuf { +template <> struct is_proto_enum< ::bgs::protocol::report::v1::SpamReport_SpamSource> : ::google::protobuf::internal::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor< ::bgs::protocol::report::v1::SpamReport_SpamSource>() { + return ::bgs::protocol::report::v1::SpamReport_SpamSource_descriptor(); +} +} // namespace google +} // namespace protobuf +#endif // SWIG + +// @@protoc_insertion_point(global_scope) + +#endif // PROTOBUF_report_5ftypes_2eproto__INCLUDED diff --git a/src/server/proto/Client/report_types.proto b/src/server/proto/Client/report_types.proto new file mode 100644 index 00000000000..fcd619f6ca7 --- /dev/null +++ b/src/server/proto/Client/report_types.proto @@ -0,0 +1,74 @@ +syntax = "proto2"; + +import "account_types.proto"; +import "attribute_types.proto"; +import "entity_types.proto"; +import "rpc_types.proto"; +package bgs.protocol.report.v1; + +option optimize_for = CODE_SIZE; +option cc_generic_services = false; + +message ReportType { + optional string user_description = 1; + oneof type { + .bgs.protocol.report.v1.CustomReport custom_report = 10; + .bgs.protocol.report.v1.SpamReport spam_report = 11; + .bgs.protocol.report.v1.HarassmentReport harassment_report = 12; + .bgs.protocol.report.v1.RealLifeThreatReport real_life_threat_report = 13; + .bgs.protocol.report.v1.InappropriateBattleTagReport inappropriate_battle_tag_report = 14; + .bgs.protocol.report.v1.HackingReport hacking_report = 15; + .bgs.protocol.report.v1.BottingReport botting_report = 16; + } +} + +message CustomReport { + optional string type = 1; + optional string program_id = 2 [deprecated = true]; + repeated .bgs.protocol.Attribute attribute = 3; +} + +message SpamReport { + enum SpamSource { + OTHER = 1; + FRIEND_INVITATION = 2; + WHISPER = 3; + CHAT = 4; + } + optional .bgs.protocol.account.v1.GameAccountHandle target = 1; + optional .bgs.protocol.report.v1.SpamReport.SpamSource source = 2 [default = OTHER]; +} + +message HarassmentReport { + optional .bgs.protocol.account.v1.GameAccountHandle target = 1; + optional string text = 2; +} + +message RealLifeThreatReport { + optional .bgs.protocol.account.v1.GameAccountHandle target = 1; + optional string text = 2; +} + +message InappropriateBattleTagReport { + optional .bgs.protocol.account.v1.GameAccountHandle target = 1; + optional string battle_tag = 2; +} + +message HackingReport { + optional .bgs.protocol.account.v1.GameAccountHandle target = 1; +} + +message BottingReport { + optional .bgs.protocol.account.v1.GameAccountHandle target = 1; +} + +message Report { + required string report_type = 1; + repeated .bgs.protocol.Attribute attribute = 2; + optional int32 report_qos = 3 [default = 0]; + optional .bgs.protocol.EntityId reporting_account = 4; + optional .bgs.protocol.EntityId reporting_game_account = 5; + optional fixed64 report_timestamp = 6; +} + + |