// 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 #include #include #include #include #include #include #include #include #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& /*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& /*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& /*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& /*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 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 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 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 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)