From 07ae41d943c9f3f8cabc0278e22c419159fbff2c Mon Sep 17 00:00:00 2001 From: Alexander Wenzel Date: Sat, 14 Mar 2020 22:42:28 +0100 Subject: [PATCH 01/15] add proto files and re-compile them using latest protoc --- README.md | 26 + src/bnet/account_service.proto | 200 ++++++ src/bnet/account_service_pb2.py | 694 +++++++++--------- src/bnet/account_types.proto | 276 +++++++ src/bnet/account_types_pb2.py | 790 +++++++++++---------- src/bnet/attribute.proto | 32 + src/bnet/attribute_pb2.py | 97 +-- src/bnet/authentication_service.proto | 113 +++ src/bnet/authentication_service_pb2.py | 378 +++++----- src/bnet/challenge_service.proto | 78 ++ src/bnet/challenge_service_pb2.py | 256 +++---- src/bnet/channel_invitation_service.proto | 112 +++ src/bnet/channel_invitation_service_pb2.py | 387 +++++----- src/bnet/channel_invitation_types.proto | 32 + src/bnet/channel_invitation_types_pb2.py | 109 +-- src/bnet/channel_owner.proto | 71 ++ src/bnet/channel_owner_pb2.py | 252 +++---- src/bnet/channel_service.proto | 90 +++ src/bnet/channel_service_pb2.py | 332 ++++----- src/bnet/channel_types.proto | 69 ++ src/bnet/channel_types_pb2.py | 257 ++++--- src/bnet/chat_types.proto | 14 + src/bnet/chat_types_pb2.py | 50 +- src/bnet/connection_service.proto | 59 ++ src/bnet/connection_service_pb2.py | 198 +++--- src/bnet/content_handle.proto | 12 + src/bnet/content_handle_pb2.py | 49 +- src/bnet/entity.proto | 18 + src/bnet/entity_pb2.py | 61 +- src/bnet/friends_service.proto | 75 ++ src/bnet/friends_service_pb2.py | 315 ++++---- src/bnet/friends_types.proto | 35 + src/bnet/friends_types_pb2.py | 231 +++--- src/bnet/game_factory.proto | 11 + src/bnet/game_factory_pb2.py | 39 +- src/bnet/game_master_service.proto | 130 ++++ src/bnet/game_master_service_pb2.py | 420 +++++------ src/bnet/game_master_types.proto | 52 ++ src/bnet/game_master_types_pb2.py | 178 ++--- src/bnet/game_utilities_service.proto | 53 ++ src/bnet/game_utilities_service_pb2.py | 197 ++--- src/bnet/game_utilities_types.proto | 10 + src/bnet/game_utilities_types_pb2.py | 39 +- src/bnet/invitation_types.proto | 65 ++ src/bnet/invitation_types_pb2.py | 283 ++++---- src/bnet/notification_service.proto | 32 + src/bnet/notification_service_pb2.py | 135 ++-- src/bnet/presence_service.proto | 39 + src/bnet/presence_service_pb2.py | 143 ++-- src/bnet/presence_types.proto | 42 ++ src/bnet/presence_types_pb2.py | 145 ++-- src/bnet/profanity.proto | 10 + src/bnet/profanity_pb2.py | 42 +- src/bnet/resource_service.proto | 7 + src/bnet/resource_service_pb2.py | 27 +- src/bnet/role.proto | 34 + src/bnet/role_pb2.py | 116 +-- src/bnet/rpc.proto | 40 ++ src/bnet/rpc_config.proto | 23 + src/bnet/rpc_config_pb2.py | 76 +- src/bnet/rpc_pb2.py | 125 ++-- src/bnet/server_pool_types.proto | 28 + src/bnet/server_pool_types_pb2.py | 95 +-- 63 files changed, 5245 insertions(+), 3159 deletions(-) create mode 100644 src/bnet/account_service.proto create mode 100644 src/bnet/account_types.proto create mode 100644 src/bnet/attribute.proto create mode 100644 src/bnet/authentication_service.proto create mode 100644 src/bnet/challenge_service.proto create mode 100644 src/bnet/channel_invitation_service.proto create mode 100644 src/bnet/channel_invitation_types.proto create mode 100644 src/bnet/channel_owner.proto create mode 100644 src/bnet/channel_service.proto create mode 100644 src/bnet/channel_types.proto create mode 100644 src/bnet/chat_types.proto create mode 100644 src/bnet/connection_service.proto create mode 100644 src/bnet/content_handle.proto create mode 100644 src/bnet/entity.proto create mode 100644 src/bnet/friends_service.proto create mode 100644 src/bnet/friends_types.proto create mode 100644 src/bnet/game_factory.proto create mode 100644 src/bnet/game_master_service.proto create mode 100644 src/bnet/game_master_types.proto create mode 100644 src/bnet/game_utilities_service.proto create mode 100644 src/bnet/game_utilities_types.proto create mode 100644 src/bnet/invitation_types.proto create mode 100644 src/bnet/notification_service.proto create mode 100644 src/bnet/presence_service.proto create mode 100644 src/bnet/presence_types.proto create mode 100644 src/bnet/profanity.proto create mode 100644 src/bnet/resource_service.proto create mode 100644 src/bnet/role.proto create mode 100644 src/bnet/rpc.proto create mode 100644 src/bnet/rpc_config.proto create mode 100644 src/bnet/server_pool_types.proto diff --git a/README.md b/README.md index 4486b37..efc75a9 100644 --- a/README.md +++ b/README.md @@ -88,3 +88,29 @@ Build zip package with name indicating current version: ```bash inv pack ``` + +### Compile new/changed .proto files +1. Download the [latest protoc binary](https://github.com/protocolbuffers/protobuf/releases/latest) (protoc-*.zip) +2. Run compiler + - Windows: +```bash +cd src && dir bnet\protocol\*.proto /s/b > protoc.txt && protoc -I=%CD% --python_out=%CD% @protoc.txt && del protos.txt +``` + +Proto source: https://github.com/HearthSim/hsproto/tree/proto2/proto/bnet + +### Log files location +- Windows: `%programdata%\GOG.com\Galaxy\logs\plugin-battlenet-*.log` +- MacOS: `/Users/Shared/GOG.com/Galaxy/Logs/plugin-battlenet-*.log` + +## +If you have classic blizzard games which are not properly detected as installed or don't launch when clicking 'play' +please provide the name and values of the games key under + +```Computer\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\``` + +registry path. + +If on MAC please provide the games bundle_id which can be found by calling + +```/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -dump | grep {game_name}``` diff --git a/src/bnet/account_service.proto b/src/bnet/account_service.proto new file mode 100644 index 0000000..c3ba04e --- /dev/null +++ b/src/bnet/account_service.proto @@ -0,0 +1,200 @@ +package bnet.protocol.account; +import "bnet/account_types.proto"; +import "bnet/entity.proto"; + + +message GetAccountRequest { + optional AccountReference ref = 1; + optional bool fetch_all = 10 [default = false]; + optional bool fetch_blob = 11 [default = false]; + optional bool fetch_id = 12 [default = false]; + optional bool fetch_email = 13 [default = false]; + optional bool fetch_battle_tag = 14 [default = false]; + optional bool fetch_full_name = 15 [default = false]; + optional bool fetch_links = 16 [default = false]; + optional bool fetch_parental_controls = 17 [default = false]; +} + +message GetAccountResponse { + optional AccountBlob blob = 11; + optional AccountId id = 12; + repeated string email = 13; + optional string battle_tag = 14; + optional string full_name = 15; + repeated GameAccountLink links = 16; + optional ParentalControlInfo parental_control_info = 17; +} + +message CreateGameAccountRequest { + optional AccountId account = 1; + optional uint32 region = 2; + optional fixed32 program = 3; + optional uint32 realm_permissions = 4 [default = 1]; +} + +message CacheExpireRequest { + repeated AccountId account = 1; + repeated GameAccountHandle game_account = 2; + repeated string email = 3; +} + +message CredentialUpdateRequest { + required AccountId account = 1; + repeated AccountCredential old_credentials = 2; + repeated AccountCredential new_credentials = 3; + optional uint32 region = 4; +} + +message CredentialUpdateResponse { +} + +message FlagUpdateRequest { + required AccountId account = 1; + optional uint32 region = 2; + required uint64 flag = 3; + required bool active = 4; +} + +message FlagUpdateResponse { +} + +message GetWalletListRequest { + required AccountId account_id = 1; + optional bool refresh = 2 [default = false]; +} + +message GetWalletListResponse { + repeated Wallet wallets = 1; +} + +message GetEBalanceRequest { + required AccountId account_id = 1; + required string currency = 2; + optional uint32 currency_home_region = 3; +} + +message GetEBalanceResponse { + optional string balance = 1; +} + +message GetEBalanceRestrictionsRequest { + optional uint32 currency_home_region = 1; +} + +message GetEBalanceRestrictionsResponse { + repeated CurrencyRestriction currency_restrictions = 1; +} + +message SubscriptionUpdateRequest { + repeated SubscriberReference ref = 2; +} + +message SubscriptionUpdateResponse { + repeated SubscriberReference ref = 1; +} + +message IsIgrAddressRequest { + optional string client_address = 1; + optional uint32 region = 2; +} + +message AccountServiceRegion { + required uint32 id = 1; + required string shard = 2; +} + +message AccountServiceConfig { + repeated AccountServiceRegion region = 1; +} + +message GetAccountStateRequest { + optional EntityId entity_id = 1; + optional uint32 program = 2; + optional uint32 region = 3; + optional AccountFieldOptions options = 10; + optional AccountFieldTags tags = 11; +} + +message GetAccountStateResponse { + optional AccountState state = 1; + optional AccountFieldTags tags = 2; +} + +message GetGameAccountStateRequest { + optional EntityId account_id = 1; + optional EntityId game_account_id = 2; + optional GameAccountFieldOptions options = 10; + optional GameAccountFieldTags tags = 11; +} + +message GetGameAccountStateResponse { + optional GameAccountState state = 1; + optional GameAccountFieldTags tags = 2; +} + +message GetLicensesRequest { + optional EntityId target_id = 1; + optional bool get_account_licenses = 2; + optional bool get_game_account_licenses = 3; + optional bool get_dynamic_account_licenses = 4; + optional fixed32 program_id = 5; + optional bool exclude_unknown_program = 6 [default = false]; +} + +message GetLicensesResponse { + repeated AccountLicense licenses = 1; +} + +message GetGameSessionInfoRequest { + optional EntityId entity_id = 1; +} + +message GetGameSessionInfoResponse { + optional GameSessionInfo session_info = 2; +} + +message GetGameTimeRemainingInfoRequest { + optional EntityId game_account_id = 1; + optional EntityId account_id = 2; +} + +message GetGameTimeRemainingInfoResponse { + optional GameTimeRemainingInfo game_time_remaining_info = 1; +} + +message GetCAISInfoRequest { + optional EntityId entity_id = 1; +} + +message GetCAISInfoResponse { + optional CAIS cais_info = 1; +} + +message ForwardCacheExpireRequest { + optional EntityId entity_id = 1; +} + +message AccountStateNotification { + optional AccountState state = 1; + optional uint64 subscriber_id = 2; + optional AccountFieldTags account_tags = 3; + optional bool subscription_completed = 4; +} + +message GameAccountStateNotification { + optional GameAccountState state = 1; + optional uint64 subscriber_id = 2; + optional GameAccountFieldTags game_account_tags = 3; + optional bool subscription_completed = 4; +} + +message GameAccountNotification { + repeated GameAccountList region_delta = 1; + optional uint64 subscriber_id = 2; + optional AccountFieldTags account_tags = 3; +} + +message GameAccountSessionNotification { + optional GameAccountHandle game_account = 1; + optional GameSessionUpdateInfo session_info = 2; +} diff --git a/src/bnet/account_service_pb2.py b/src/bnet/account_service_pb2.py index 92242fa..f0e0482 100644 --- a/src/bnet/account_service_pb2.py +++ b/src/bnet/account_service_pb2.py @@ -1,29 +1,28 @@ +# -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: bnet/account_service.proto -import sys -_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message from google.protobuf import reflection as _reflection from google.protobuf import symbol_database as _symbol_database -from google.protobuf import descriptor_pb2 # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() -import bnet.account_types_pb2 -import bnet.entity_pb2 +from bnet import account_types_pb2 as bnet_dot_account__types__pb2 +from bnet import entity_pb2 as bnet_dot_entity__pb2 DESCRIPTOR = _descriptor.FileDescriptor( name='bnet/account_service.proto', package='bnet.protocol.account', - serialized_pb=_b('\n\x1a\x62net/account_service.proto\x12\x15\x62net.protocol.account\x1a\x18\x62net/account_types.proto\x1a\x11\x62net/entity.proto\"\xb8\x02\n\x11GetAccountRequest\x12\x34\n\x03ref\x18\x01 \x01(\x0b\x32\'.bnet.protocol.account.AccountReference\x12\x18\n\tfetch_all\x18\n \x01(\x08:\x05\x66\x61lse\x12\x19\n\nfetch_blob\x18\x0b \x01(\x08:\x05\x66\x61lse\x12\x17\n\x08\x66\x65tch_id\x18\x0c \x01(\x08:\x05\x66\x61lse\x12\x1a\n\x0b\x66\x65tch_email\x18\r \x01(\x08:\x05\x66\x61lse\x12\x1f\n\x10\x66\x65tch_battle_tag\x18\x0e \x01(\x08:\x05\x66\x61lse\x12\x1e\n\x0f\x66\x65tch_full_name\x18\x0f \x01(\x08:\x05\x66\x61lse\x12\x1a\n\x0b\x66\x65tch_links\x18\x10 \x01(\x08:\x05\x66\x61lse\x12&\n\x17\x66\x65tch_parental_controls\x18\x11 \x01(\x08:\x05\x66\x61lse\"\xac\x02\n\x12GetAccountResponse\x12\x30\n\x04\x62lob\x18\x0b \x01(\x0b\x32\".bnet.protocol.account.AccountBlob\x12,\n\x02id\x18\x0c \x01(\x0b\x32 .bnet.protocol.account.AccountId\x12\r\n\x05\x65mail\x18\r \x03(\t\x12\x12\n\nbattle_tag\x18\x0e \x01(\t\x12\x11\n\tfull_name\x18\x0f \x01(\t\x12\x35\n\x05links\x18\x10 \x03(\x0b\x32&.bnet.protocol.account.GameAccountLink\x12I\n\x15parental_control_info\x18\x11 \x01(\x0b\x32*.bnet.protocol.account.ParentalControlInfo\"\x8c\x01\n\x18\x43reateGameAccountRequest\x12\x31\n\x07\x61\x63\x63ount\x18\x01 \x01(\x0b\x32 .bnet.protocol.account.AccountId\x12\x0e\n\x06region\x18\x02 \x01(\r\x12\x0f\n\x07program\x18\x03 \x01(\x07\x12\x1c\n\x11realm_permissions\x18\x04 \x01(\r:\x01\x31\"\x96\x01\n\x12\x43\x61\x63heExpireRequest\x12\x31\n\x07\x61\x63\x63ount\x18\x01 \x03(\x0b\x32 .bnet.protocol.account.AccountId\x12>\n\x0cgame_account\x18\x02 \x03(\x0b\x32(.bnet.protocol.account.GameAccountHandle\x12\r\n\x05\x65mail\x18\x03 \x03(\t\"\xe2\x01\n\x17\x43redentialUpdateRequest\x12\x31\n\x07\x61\x63\x63ount\x18\x01 \x02(\x0b\x32 .bnet.protocol.account.AccountId\x12\x41\n\x0fold_credentials\x18\x02 \x03(\x0b\x32(.bnet.protocol.account.AccountCredential\x12\x41\n\x0fnew_credentials\x18\x03 \x03(\x0b\x32(.bnet.protocol.account.AccountCredential\x12\x0e\n\x06region\x18\x04 \x01(\r\"\x1a\n\x18\x43redentialUpdateResponse\"t\n\x11\x46lagUpdateRequest\x12\x31\n\x07\x61\x63\x63ount\x18\x01 \x02(\x0b\x32 .bnet.protocol.account.AccountId\x12\x0e\n\x06region\x18\x02 \x01(\r\x12\x0c\n\x04\x66lag\x18\x03 \x02(\x04\x12\x0e\n\x06\x61\x63tive\x18\x04 \x02(\x08\"\x14\n\x12\x46lagUpdateResponse\"d\n\x14GetWalletListRequest\x12\x34\n\naccount_id\x18\x01 \x02(\x0b\x32 .bnet.protocol.account.AccountId\x12\x16\n\x07refresh\x18\x02 \x01(\x08:\x05\x66\x61lse\"G\n\x15GetWalletListResponse\x12.\n\x07wallets\x18\x01 \x03(\x0b\x32\x1d.bnet.protocol.account.Wallet\"z\n\x12GetEBalanceRequest\x12\x34\n\naccount_id\x18\x01 \x02(\x0b\x32 .bnet.protocol.account.AccountId\x12\x10\n\x08\x63urrency\x18\x02 \x02(\t\x12\x1c\n\x14\x63urrency_home_region\x18\x03 \x01(\r\"&\n\x13GetEBalanceResponse\x12\x0f\n\x07\x62\x61lance\x18\x01 \x01(\t\">\n\x1eGetEBalanceRestrictionsRequest\x12\x1c\n\x14\x63urrency_home_region\x18\x01 \x01(\r\"l\n\x1fGetEBalanceRestrictionsResponse\x12I\n\x15\x63urrency_restrictions\x18\x01 \x03(\x0b\x32*.bnet.protocol.account.CurrencyRestriction\"T\n\x19SubscriptionUpdateRequest\x12\x37\n\x03ref\x18\x02 \x03(\x0b\x32*.bnet.protocol.account.SubscriberReference\"U\n\x1aSubscriptionUpdateResponse\x12\x37\n\x03ref\x18\x01 \x03(\x0b\x32*.bnet.protocol.account.SubscriberReference\"=\n\x13IsIgrAddressRequest\x12\x16\n\x0e\x63lient_address\x18\x01 \x01(\t\x12\x0e\n\x06region\x18\x02 \x01(\r\"1\n\x14\x41\x63\x63ountServiceRegion\x12\n\n\x02id\x18\x01 \x02(\r\x12\r\n\x05shard\x18\x02 \x02(\t\"S\n\x14\x41\x63\x63ountServiceConfig\x12;\n\x06region\x18\x01 \x03(\x0b\x32+.bnet.protocol.account.AccountServiceRegion\"\xd9\x01\n\x16GetAccountStateRequest\x12*\n\tentity_id\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12\x0f\n\x07program\x18\x02 \x01(\r\x12\x0e\n\x06region\x18\x03 \x01(\r\x12;\n\x07options\x18\n \x01(\x0b\x32*.bnet.protocol.account.AccountFieldOptions\x12\x35\n\x04tags\x18\x0b \x01(\x0b\x32\'.bnet.protocol.account.AccountFieldTags\"\x84\x01\n\x17GetAccountStateResponse\x12\x32\n\x05state\x18\x01 \x01(\x0b\x32#.bnet.protocol.account.AccountState\x12\x35\n\x04tags\x18\x02 \x01(\x0b\x32\'.bnet.protocol.account.AccountFieldTags\"\xf7\x01\n\x1aGetGameAccountStateRequest\x12+\n\naccount_id\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12\x30\n\x0fgame_account_id\x18\x02 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12?\n\x07options\x18\n \x01(\x0b\x32..bnet.protocol.account.GameAccountFieldOptions\x12\x39\n\x04tags\x18\x0b \x01(\x0b\x32+.bnet.protocol.account.GameAccountFieldTags\"\x90\x01\n\x1bGetGameAccountStateResponse\x12\x36\n\x05state\x18\x01 \x01(\x0b\x32\'.bnet.protocol.account.GameAccountState\x12\x39\n\x04tags\x18\x02 \x01(\x0b\x32+.bnet.protocol.account.GameAccountFieldTags\"\xe3\x01\n\x12GetLicensesRequest\x12*\n\ttarget_id\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12\x1c\n\x14get_account_licenses\x18\x02 \x01(\x08\x12!\n\x19get_game_account_licenses\x18\x03 \x01(\x08\x12$\n\x1cget_dynamic_account_licenses\x18\x04 \x01(\x08\x12\x12\n\nprogram_id\x18\x05 \x01(\x07\x12&\n\x17\x65xclude_unknown_program\x18\x06 \x01(\x08:\x05\x66\x61lse\"N\n\x13GetLicensesResponse\x12\x37\n\x08licenses\x18\x01 \x03(\x0b\x32%.bnet.protocol.account.AccountLicense\"G\n\x19GetGameSessionInfoRequest\x12*\n\tentity_id\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.EntityId\"Z\n\x1aGetGameSessionInfoResponse\x12<\n\x0csession_info\x18\x02 \x01(\x0b\x32&.bnet.protocol.account.GameSessionInfo\"\x80\x01\n\x1fGetGameTimeRemainingInfoRequest\x12\x30\n\x0fgame_account_id\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12+\n\naccount_id\x18\x02 \x01(\x0b\x32\x17.bnet.protocol.EntityId\"r\n GetGameTimeRemainingInfoResponse\x12N\n\x18game_time_remaining_info\x18\x01 \x01(\x0b\x32,.bnet.protocol.account.GameTimeRemainingInfo\"@\n\x12GetCAISInfoRequest\x12*\n\tentity_id\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.EntityId\"E\n\x13GetCAISInfoResponse\x12.\n\tcais_info\x18\x01 \x01(\x0b\x32\x1b.bnet.protocol.account.CAIS\"G\n\x19\x46orwardCacheExpireRequest\x12*\n\tentity_id\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.EntityId\"\xc4\x01\n\x18\x41\x63\x63ountStateNotification\x12\x32\n\x05state\x18\x01 \x01(\x0b\x32#.bnet.protocol.account.AccountState\x12\x15\n\rsubscriber_id\x18\x02 \x01(\x04\x12=\n\x0c\x61\x63\x63ount_tags\x18\x03 \x01(\x0b\x32\'.bnet.protocol.account.AccountFieldTags\x12\x1e\n\x16subscription_completed\x18\x04 \x01(\x08\"\xd5\x01\n\x1cGameAccountStateNotification\x12\x36\n\x05state\x18\x01 \x01(\x0b\x32\'.bnet.protocol.account.GameAccountState\x12\x15\n\rsubscriber_id\x18\x02 \x01(\x04\x12\x46\n\x11game_account_tags\x18\x03 \x01(\x0b\x32+.bnet.protocol.account.GameAccountFieldTags\x12\x1e\n\x16subscription_completed\x18\x04 \x01(\x08\"\xad\x01\n\x17GameAccountNotification\x12<\n\x0cregion_delta\x18\x01 \x03(\x0b\x32&.bnet.protocol.account.GameAccountList\x12\x15\n\rsubscriber_id\x18\x02 \x01(\x04\x12=\n\x0c\x61\x63\x63ount_tags\x18\x03 \x01(\x0b\x32\'.bnet.protocol.account.AccountFieldTags\"\xa4\x01\n\x1eGameAccountSessionNotification\x12>\n\x0cgame_account\x18\x01 \x01(\x0b\x32(.bnet.protocol.account.GameAccountHandle\x12\x42\n\x0csession_info\x18\x02 \x01(\x0b\x32,.bnet.protocol.account.GameSessionUpdateInfo') + syntax='proto2', + serialized_options=None, + serialized_pb=b'\n\x1a\x62net/account_service.proto\x12\x15\x62net.protocol.account\x1a\x18\x62net/account_types.proto\x1a\x11\x62net/entity.proto\"\xb8\x02\n\x11GetAccountRequest\x12\x34\n\x03ref\x18\x01 \x01(\x0b\x32\'.bnet.protocol.account.AccountReference\x12\x18\n\tfetch_all\x18\n \x01(\x08:\x05\x66\x61lse\x12\x19\n\nfetch_blob\x18\x0b \x01(\x08:\x05\x66\x61lse\x12\x17\n\x08\x66\x65tch_id\x18\x0c \x01(\x08:\x05\x66\x61lse\x12\x1a\n\x0b\x66\x65tch_email\x18\r \x01(\x08:\x05\x66\x61lse\x12\x1f\n\x10\x66\x65tch_battle_tag\x18\x0e \x01(\x08:\x05\x66\x61lse\x12\x1e\n\x0f\x66\x65tch_full_name\x18\x0f \x01(\x08:\x05\x66\x61lse\x12\x1a\n\x0b\x66\x65tch_links\x18\x10 \x01(\x08:\x05\x66\x61lse\x12&\n\x17\x66\x65tch_parental_controls\x18\x11 \x01(\x08:\x05\x66\x61lse\"\xac\x02\n\x12GetAccountResponse\x12\x30\n\x04\x62lob\x18\x0b \x01(\x0b\x32\".bnet.protocol.account.AccountBlob\x12,\n\x02id\x18\x0c \x01(\x0b\x32 .bnet.protocol.account.AccountId\x12\r\n\x05\x65mail\x18\r \x03(\t\x12\x12\n\nbattle_tag\x18\x0e \x01(\t\x12\x11\n\tfull_name\x18\x0f \x01(\t\x12\x35\n\x05links\x18\x10 \x03(\x0b\x32&.bnet.protocol.account.GameAccountLink\x12I\n\x15parental_control_info\x18\x11 \x01(\x0b\x32*.bnet.protocol.account.ParentalControlInfo\"\x8c\x01\n\x18\x43reateGameAccountRequest\x12\x31\n\x07\x61\x63\x63ount\x18\x01 \x01(\x0b\x32 .bnet.protocol.account.AccountId\x12\x0e\n\x06region\x18\x02 \x01(\r\x12\x0f\n\x07program\x18\x03 \x01(\x07\x12\x1c\n\x11realm_permissions\x18\x04 \x01(\r:\x01\x31\"\x96\x01\n\x12\x43\x61\x63heExpireRequest\x12\x31\n\x07\x61\x63\x63ount\x18\x01 \x03(\x0b\x32 .bnet.protocol.account.AccountId\x12>\n\x0cgame_account\x18\x02 \x03(\x0b\x32(.bnet.protocol.account.GameAccountHandle\x12\r\n\x05\x65mail\x18\x03 \x03(\t\"\xe2\x01\n\x17\x43redentialUpdateRequest\x12\x31\n\x07\x61\x63\x63ount\x18\x01 \x02(\x0b\x32 .bnet.protocol.account.AccountId\x12\x41\n\x0fold_credentials\x18\x02 \x03(\x0b\x32(.bnet.protocol.account.AccountCredential\x12\x41\n\x0fnew_credentials\x18\x03 \x03(\x0b\x32(.bnet.protocol.account.AccountCredential\x12\x0e\n\x06region\x18\x04 \x01(\r\"\x1a\n\x18\x43redentialUpdateResponse\"t\n\x11\x46lagUpdateRequest\x12\x31\n\x07\x61\x63\x63ount\x18\x01 \x02(\x0b\x32 .bnet.protocol.account.AccountId\x12\x0e\n\x06region\x18\x02 \x01(\r\x12\x0c\n\x04\x66lag\x18\x03 \x02(\x04\x12\x0e\n\x06\x61\x63tive\x18\x04 \x02(\x08\"\x14\n\x12\x46lagUpdateResponse\"d\n\x14GetWalletListRequest\x12\x34\n\naccount_id\x18\x01 \x02(\x0b\x32 .bnet.protocol.account.AccountId\x12\x16\n\x07refresh\x18\x02 \x01(\x08:\x05\x66\x61lse\"G\n\x15GetWalletListResponse\x12.\n\x07wallets\x18\x01 \x03(\x0b\x32\x1d.bnet.protocol.account.Wallet\"z\n\x12GetEBalanceRequest\x12\x34\n\naccount_id\x18\x01 \x02(\x0b\x32 .bnet.protocol.account.AccountId\x12\x10\n\x08\x63urrency\x18\x02 \x02(\t\x12\x1c\n\x14\x63urrency_home_region\x18\x03 \x01(\r\"&\n\x13GetEBalanceResponse\x12\x0f\n\x07\x62\x61lance\x18\x01 \x01(\t\">\n\x1eGetEBalanceRestrictionsRequest\x12\x1c\n\x14\x63urrency_home_region\x18\x01 \x01(\r\"l\n\x1fGetEBalanceRestrictionsResponse\x12I\n\x15\x63urrency_restrictions\x18\x01 \x03(\x0b\x32*.bnet.protocol.account.CurrencyRestriction\"T\n\x19SubscriptionUpdateRequest\x12\x37\n\x03ref\x18\x02 \x03(\x0b\x32*.bnet.protocol.account.SubscriberReference\"U\n\x1aSubscriptionUpdateResponse\x12\x37\n\x03ref\x18\x01 \x03(\x0b\x32*.bnet.protocol.account.SubscriberReference\"=\n\x13IsIgrAddressRequest\x12\x16\n\x0e\x63lient_address\x18\x01 \x01(\t\x12\x0e\n\x06region\x18\x02 \x01(\r\"1\n\x14\x41\x63\x63ountServiceRegion\x12\n\n\x02id\x18\x01 \x02(\r\x12\r\n\x05shard\x18\x02 \x02(\t\"S\n\x14\x41\x63\x63ountServiceConfig\x12;\n\x06region\x18\x01 \x03(\x0b\x32+.bnet.protocol.account.AccountServiceRegion\"\xd9\x01\n\x16GetAccountStateRequest\x12*\n\tentity_id\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12\x0f\n\x07program\x18\x02 \x01(\r\x12\x0e\n\x06region\x18\x03 \x01(\r\x12;\n\x07options\x18\n \x01(\x0b\x32*.bnet.protocol.account.AccountFieldOptions\x12\x35\n\x04tags\x18\x0b \x01(\x0b\x32\'.bnet.protocol.account.AccountFieldTags\"\x84\x01\n\x17GetAccountStateResponse\x12\x32\n\x05state\x18\x01 \x01(\x0b\x32#.bnet.protocol.account.AccountState\x12\x35\n\x04tags\x18\x02 \x01(\x0b\x32\'.bnet.protocol.account.AccountFieldTags\"\xf7\x01\n\x1aGetGameAccountStateRequest\x12+\n\naccount_id\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12\x30\n\x0fgame_account_id\x18\x02 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12?\n\x07options\x18\n \x01(\x0b\x32..bnet.protocol.account.GameAccountFieldOptions\x12\x39\n\x04tags\x18\x0b \x01(\x0b\x32+.bnet.protocol.account.GameAccountFieldTags\"\x90\x01\n\x1bGetGameAccountStateResponse\x12\x36\n\x05state\x18\x01 \x01(\x0b\x32\'.bnet.protocol.account.GameAccountState\x12\x39\n\x04tags\x18\x02 \x01(\x0b\x32+.bnet.protocol.account.GameAccountFieldTags\"\xe3\x01\n\x12GetLicensesRequest\x12*\n\ttarget_id\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12\x1c\n\x14get_account_licenses\x18\x02 \x01(\x08\x12!\n\x19get_game_account_licenses\x18\x03 \x01(\x08\x12$\n\x1cget_dynamic_account_licenses\x18\x04 \x01(\x08\x12\x12\n\nprogram_id\x18\x05 \x01(\x07\x12&\n\x17\x65xclude_unknown_program\x18\x06 \x01(\x08:\x05\x66\x61lse\"N\n\x13GetLicensesResponse\x12\x37\n\x08licenses\x18\x01 \x03(\x0b\x32%.bnet.protocol.account.AccountLicense\"G\n\x19GetGameSessionInfoRequest\x12*\n\tentity_id\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.EntityId\"Z\n\x1aGetGameSessionInfoResponse\x12<\n\x0csession_info\x18\x02 \x01(\x0b\x32&.bnet.protocol.account.GameSessionInfo\"\x80\x01\n\x1fGetGameTimeRemainingInfoRequest\x12\x30\n\x0fgame_account_id\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12+\n\naccount_id\x18\x02 \x01(\x0b\x32\x17.bnet.protocol.EntityId\"r\n GetGameTimeRemainingInfoResponse\x12N\n\x18game_time_remaining_info\x18\x01 \x01(\x0b\x32,.bnet.protocol.account.GameTimeRemainingInfo\"@\n\x12GetCAISInfoRequest\x12*\n\tentity_id\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.EntityId\"E\n\x13GetCAISInfoResponse\x12.\n\tcais_info\x18\x01 \x01(\x0b\x32\x1b.bnet.protocol.account.CAIS\"G\n\x19\x46orwardCacheExpireRequest\x12*\n\tentity_id\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.EntityId\"\xc4\x01\n\x18\x41\x63\x63ountStateNotification\x12\x32\n\x05state\x18\x01 \x01(\x0b\x32#.bnet.protocol.account.AccountState\x12\x15\n\rsubscriber_id\x18\x02 \x01(\x04\x12=\n\x0c\x61\x63\x63ount_tags\x18\x03 \x01(\x0b\x32\'.bnet.protocol.account.AccountFieldTags\x12\x1e\n\x16subscription_completed\x18\x04 \x01(\x08\"\xd5\x01\n\x1cGameAccountStateNotification\x12\x36\n\x05state\x18\x01 \x01(\x0b\x32\'.bnet.protocol.account.GameAccountState\x12\x15\n\rsubscriber_id\x18\x02 \x01(\x04\x12\x46\n\x11game_account_tags\x18\x03 \x01(\x0b\x32+.bnet.protocol.account.GameAccountFieldTags\x12\x1e\n\x16subscription_completed\x18\x04 \x01(\x08\"\xad\x01\n\x17GameAccountNotification\x12<\n\x0cregion_delta\x18\x01 \x03(\x0b\x32&.bnet.protocol.account.GameAccountList\x12\x15\n\rsubscriber_id\x18\x02 \x01(\x04\x12=\n\x0c\x61\x63\x63ount_tags\x18\x03 \x01(\x0b\x32\'.bnet.protocol.account.AccountFieldTags\"\xa4\x01\n\x1eGameAccountSessionNotification\x12>\n\x0cgame_account\x18\x01 \x01(\x0b\x32(.bnet.protocol.account.GameAccountHandle\x12\x42\n\x0csession_info\x18\x02 \x01(\x0b\x32,.bnet.protocol.account.GameSessionUpdateInfo' , - dependencies=[bnet.account_types_pb2.DESCRIPTOR,bnet.entity_pb2.DESCRIPTOR,]) -_sym_db.RegisterFileDescriptor(DESCRIPTOR) + dependencies=[bnet_dot_account__types__pb2.DESCRIPTOR,bnet_dot_entity__pb2.DESCRIPTOR,]) @@ -41,71 +40,72 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='fetch_all', full_name='bnet.protocol.account.GetAccountRequest.fetch_all', index=1, number=10, type=8, cpp_type=7, label=1, has_default_value=True, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='fetch_blob', full_name='bnet.protocol.account.GetAccountRequest.fetch_blob', index=2, number=11, type=8, cpp_type=7, label=1, has_default_value=True, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='fetch_id', full_name='bnet.protocol.account.GetAccountRequest.fetch_id', index=3, number=12, type=8, cpp_type=7, label=1, has_default_value=True, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='fetch_email', full_name='bnet.protocol.account.GetAccountRequest.fetch_email', index=4, number=13, type=8, cpp_type=7, label=1, has_default_value=True, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='fetch_battle_tag', full_name='bnet.protocol.account.GetAccountRequest.fetch_battle_tag', index=5, number=14, type=8, cpp_type=7, label=1, has_default_value=True, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='fetch_full_name', full_name='bnet.protocol.account.GetAccountRequest.fetch_full_name', index=6, number=15, type=8, cpp_type=7, label=1, has_default_value=True, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='fetch_links', full_name='bnet.protocol.account.GetAccountRequest.fetch_links', index=7, number=16, type=8, cpp_type=7, label=1, has_default_value=True, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='fetch_parental_controls', full_name='bnet.protocol.account.GetAccountRequest.fetch_parental_controls', index=8, number=17, type=8, cpp_type=7, label=1, has_default_value=True, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -127,57 +127,58 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='id', full_name='bnet.protocol.account.GetAccountResponse.id', index=1, number=12, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='email', full_name='bnet.protocol.account.GetAccountResponse.email', index=2, number=13, type=9, cpp_type=9, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='battle_tag', full_name='bnet.protocol.account.GetAccountResponse.battle_tag', index=3, number=14, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='full_name', full_name='bnet.protocol.account.GetAccountResponse.full_name', index=4, number=15, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='links', full_name='bnet.protocol.account.GetAccountResponse.links', index=5, number=16, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='parental_control_info', full_name='bnet.protocol.account.GetAccountResponse.parental_control_info', index=6, number=17, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -199,36 +200,37 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='region', full_name='bnet.protocol.account.CreateGameAccountRequest.region', index=1, number=2, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='program', full_name='bnet.protocol.account.CreateGameAccountRequest.program', index=2, number=3, type=7, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='realm_permissions', full_name='bnet.protocol.account.CreateGameAccountRequest.realm_permissions', index=3, number=4, type=13, cpp_type=3, label=1, has_default_value=True, default_value=1, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -250,29 +252,30 @@ has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='game_account', full_name='bnet.protocol.account.CacheExpireRequest.game_account', index=1, number=2, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='email', full_name='bnet.protocol.account.CacheExpireRequest.email', index=2, number=3, type=9, cpp_type=9, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -294,36 +297,37 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='old_credentials', full_name='bnet.protocol.account.CredentialUpdateRequest.old_credentials', index=1, number=2, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='new_credentials', full_name='bnet.protocol.account.CredentialUpdateRequest.new_credentials', index=2, number=3, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='region', full_name='bnet.protocol.account.CredentialUpdateRequest.region', index=3, number=4, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -345,8 +349,9 @@ nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -368,36 +373,37 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='region', full_name='bnet.protocol.account.FlagUpdateRequest.region', index=1, number=2, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='flag', full_name='bnet.protocol.account.FlagUpdateRequest.flag', index=2, number=3, type=4, cpp_type=4, label=2, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='active', full_name='bnet.protocol.account.FlagUpdateRequest.active', index=3, number=4, type=8, cpp_type=7, label=2, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -419,8 +425,9 @@ nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -442,22 +449,23 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='refresh', full_name='bnet.protocol.account.GetWalletListRequest.refresh', index=1, number=2, type=8, cpp_type=7, label=1, has_default_value=True, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -479,15 +487,16 @@ has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -509,29 +518,30 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='currency', full_name='bnet.protocol.account.GetEBalanceRequest.currency', index=1, number=2, type=9, cpp_type=9, label=2, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='currency_home_region', full_name='bnet.protocol.account.GetEBalanceRequest.currency_home_region', index=2, number=3, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -550,18 +560,19 @@ _descriptor.FieldDescriptor( name='balance', full_name='bnet.protocol.account.GetEBalanceResponse.balance', index=0, number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -583,15 +594,16 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -613,15 +625,16 @@ has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -643,15 +656,16 @@ has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -673,15 +687,16 @@ has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -700,25 +715,26 @@ _descriptor.FieldDescriptor( name='client_address', full_name='bnet.protocol.account.IsIgrAddressRequest.client_address', index=0, number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='region', full_name='bnet.protocol.account.IsIgrAddressRequest.region', index=1, number=2, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -740,22 +756,23 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='shard', full_name='bnet.protocol.account.AccountServiceRegion.shard', index=1, number=2, type=9, cpp_type=9, label=2, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -777,15 +794,16 @@ has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -807,43 +825,44 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='program', full_name='bnet.protocol.account.GetAccountStateRequest.program', index=1, number=2, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='region', full_name='bnet.protocol.account.GetAccountStateRequest.region', index=2, number=3, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='options', full_name='bnet.protocol.account.GetAccountStateRequest.options', index=3, number=10, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='tags', full_name='bnet.protocol.account.GetAccountStateRequest.tags', index=4, number=11, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -865,22 +884,23 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='tags', full_name='bnet.protocol.account.GetAccountStateResponse.tags', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -902,36 +922,37 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='game_account_id', full_name='bnet.protocol.account.GetGameAccountStateRequest.game_account_id', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='options', full_name='bnet.protocol.account.GetGameAccountStateRequest.options', index=2, number=10, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='tags', full_name='bnet.protocol.account.GetGameAccountStateRequest.tags', index=3, number=11, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -953,22 +974,23 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='tags', full_name='bnet.protocol.account.GetGameAccountStateResponse.tags', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -990,50 +1012,51 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='get_account_licenses', full_name='bnet.protocol.account.GetLicensesRequest.get_account_licenses', index=1, number=2, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='get_game_account_licenses', full_name='bnet.protocol.account.GetLicensesRequest.get_game_account_licenses', index=2, number=3, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='get_dynamic_account_licenses', full_name='bnet.protocol.account.GetLicensesRequest.get_dynamic_account_licenses', index=3, number=4, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='program_id', full_name='bnet.protocol.account.GetLicensesRequest.program_id', index=4, number=5, type=7, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='exclude_unknown_program', full_name='bnet.protocol.account.GetLicensesRequest.exclude_unknown_program', index=5, number=6, type=8, cpp_type=7, label=1, has_default_value=True, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -1055,15 +1078,16 @@ has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -1085,15 +1109,16 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -1115,15 +1140,16 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -1145,22 +1171,23 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='account_id', full_name='bnet.protocol.account.GetGameTimeRemainingInfoRequest.account_id', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -1182,15 +1209,16 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -1212,15 +1240,16 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -1242,15 +1271,16 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -1272,15 +1302,16 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -1302,36 +1333,37 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='subscriber_id', full_name='bnet.protocol.account.AccountStateNotification.subscriber_id', index=1, number=2, type=4, cpp_type=4, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='account_tags', full_name='bnet.protocol.account.AccountStateNotification.account_tags', index=2, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='subscription_completed', full_name='bnet.protocol.account.AccountStateNotification.subscription_completed', index=3, number=4, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -1353,36 +1385,37 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='subscriber_id', full_name='bnet.protocol.account.GameAccountStateNotification.subscriber_id', index=1, number=2, type=4, cpp_type=4, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='game_account_tags', full_name='bnet.protocol.account.GameAccountStateNotification.game_account_tags', index=2, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='subscription_completed', full_name='bnet.protocol.account.GameAccountStateNotification.subscription_completed', index=3, number=4, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -1404,29 +1437,30 @@ has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='subscriber_id', full_name='bnet.protocol.account.GameAccountNotification.subscriber_id', index=1, number=2, type=4, cpp_type=4, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='account_tags', full_name='bnet.protocol.account.GameAccountNotification.account_tags', index=2, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -1448,22 +1482,23 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='session_info', full_name='bnet.protocol.account.GameAccountSessionNotification.session_info', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -1471,54 +1506,54 @@ serialized_end=4734, ) -_GETACCOUNTREQUEST.fields_by_name['ref'].message_type = bnet.account_types_pb2._ACCOUNTREFERENCE -_GETACCOUNTRESPONSE.fields_by_name['blob'].message_type = bnet.account_types_pb2._ACCOUNTBLOB -_GETACCOUNTRESPONSE.fields_by_name['id'].message_type = bnet.account_types_pb2._ACCOUNTID -_GETACCOUNTRESPONSE.fields_by_name['links'].message_type = bnet.account_types_pb2._GAMEACCOUNTLINK -_GETACCOUNTRESPONSE.fields_by_name['parental_control_info'].message_type = bnet.account_types_pb2._PARENTALCONTROLINFO -_CREATEGAMEACCOUNTREQUEST.fields_by_name['account'].message_type = bnet.account_types_pb2._ACCOUNTID -_CACHEEXPIREREQUEST.fields_by_name['account'].message_type = bnet.account_types_pb2._ACCOUNTID -_CACHEEXPIREREQUEST.fields_by_name['game_account'].message_type = bnet.account_types_pb2._GAMEACCOUNTHANDLE -_CREDENTIALUPDATEREQUEST.fields_by_name['account'].message_type = bnet.account_types_pb2._ACCOUNTID -_CREDENTIALUPDATEREQUEST.fields_by_name['old_credentials'].message_type = bnet.account_types_pb2._ACCOUNTCREDENTIAL -_CREDENTIALUPDATEREQUEST.fields_by_name['new_credentials'].message_type = bnet.account_types_pb2._ACCOUNTCREDENTIAL -_FLAGUPDATEREQUEST.fields_by_name['account'].message_type = bnet.account_types_pb2._ACCOUNTID -_GETWALLETLISTREQUEST.fields_by_name['account_id'].message_type = bnet.account_types_pb2._ACCOUNTID -_GETWALLETLISTRESPONSE.fields_by_name['wallets'].message_type = bnet.account_types_pb2._WALLET -_GETEBALANCEREQUEST.fields_by_name['account_id'].message_type = bnet.account_types_pb2._ACCOUNTID -_GETEBALANCERESTRICTIONSRESPONSE.fields_by_name['currency_restrictions'].message_type = bnet.account_types_pb2._CURRENCYRESTRICTION -_SUBSCRIPTIONUPDATEREQUEST.fields_by_name['ref'].message_type = bnet.account_types_pb2._SUBSCRIBERREFERENCE -_SUBSCRIPTIONUPDATERESPONSE.fields_by_name['ref'].message_type = bnet.account_types_pb2._SUBSCRIBERREFERENCE +_GETACCOUNTREQUEST.fields_by_name['ref'].message_type = bnet_dot_account__types__pb2._ACCOUNTREFERENCE +_GETACCOUNTRESPONSE.fields_by_name['blob'].message_type = bnet_dot_account__types__pb2._ACCOUNTBLOB +_GETACCOUNTRESPONSE.fields_by_name['id'].message_type = bnet_dot_account__types__pb2._ACCOUNTID +_GETACCOUNTRESPONSE.fields_by_name['links'].message_type = bnet_dot_account__types__pb2._GAMEACCOUNTLINK +_GETACCOUNTRESPONSE.fields_by_name['parental_control_info'].message_type = bnet_dot_account__types__pb2._PARENTALCONTROLINFO +_CREATEGAMEACCOUNTREQUEST.fields_by_name['account'].message_type = bnet_dot_account__types__pb2._ACCOUNTID +_CACHEEXPIREREQUEST.fields_by_name['account'].message_type = bnet_dot_account__types__pb2._ACCOUNTID +_CACHEEXPIREREQUEST.fields_by_name['game_account'].message_type = bnet_dot_account__types__pb2._GAMEACCOUNTHANDLE +_CREDENTIALUPDATEREQUEST.fields_by_name['account'].message_type = bnet_dot_account__types__pb2._ACCOUNTID +_CREDENTIALUPDATEREQUEST.fields_by_name['old_credentials'].message_type = bnet_dot_account__types__pb2._ACCOUNTCREDENTIAL +_CREDENTIALUPDATEREQUEST.fields_by_name['new_credentials'].message_type = bnet_dot_account__types__pb2._ACCOUNTCREDENTIAL +_FLAGUPDATEREQUEST.fields_by_name['account'].message_type = bnet_dot_account__types__pb2._ACCOUNTID +_GETWALLETLISTREQUEST.fields_by_name['account_id'].message_type = bnet_dot_account__types__pb2._ACCOUNTID +_GETWALLETLISTRESPONSE.fields_by_name['wallets'].message_type = bnet_dot_account__types__pb2._WALLET +_GETEBALANCEREQUEST.fields_by_name['account_id'].message_type = bnet_dot_account__types__pb2._ACCOUNTID +_GETEBALANCERESTRICTIONSRESPONSE.fields_by_name['currency_restrictions'].message_type = bnet_dot_account__types__pb2._CURRENCYRESTRICTION +_SUBSCRIPTIONUPDATEREQUEST.fields_by_name['ref'].message_type = bnet_dot_account__types__pb2._SUBSCRIBERREFERENCE +_SUBSCRIPTIONUPDATERESPONSE.fields_by_name['ref'].message_type = bnet_dot_account__types__pb2._SUBSCRIBERREFERENCE _ACCOUNTSERVICECONFIG.fields_by_name['region'].message_type = _ACCOUNTSERVICEREGION -_GETACCOUNTSTATEREQUEST.fields_by_name['entity_id'].message_type = bnet.entity_pb2._ENTITYID -_GETACCOUNTSTATEREQUEST.fields_by_name['options'].message_type = bnet.account_types_pb2._ACCOUNTFIELDOPTIONS -_GETACCOUNTSTATEREQUEST.fields_by_name['tags'].message_type = bnet.account_types_pb2._ACCOUNTFIELDTAGS -_GETACCOUNTSTATERESPONSE.fields_by_name['state'].message_type = bnet.account_types_pb2._ACCOUNTSTATE -_GETACCOUNTSTATERESPONSE.fields_by_name['tags'].message_type = bnet.account_types_pb2._ACCOUNTFIELDTAGS -_GETGAMEACCOUNTSTATEREQUEST.fields_by_name['account_id'].message_type = bnet.entity_pb2._ENTITYID -_GETGAMEACCOUNTSTATEREQUEST.fields_by_name['game_account_id'].message_type = bnet.entity_pb2._ENTITYID -_GETGAMEACCOUNTSTATEREQUEST.fields_by_name['options'].message_type = bnet.account_types_pb2._GAMEACCOUNTFIELDOPTIONS -_GETGAMEACCOUNTSTATEREQUEST.fields_by_name['tags'].message_type = bnet.account_types_pb2._GAMEACCOUNTFIELDTAGS -_GETGAMEACCOUNTSTATERESPONSE.fields_by_name['state'].message_type = bnet.account_types_pb2._GAMEACCOUNTSTATE -_GETGAMEACCOUNTSTATERESPONSE.fields_by_name['tags'].message_type = bnet.account_types_pb2._GAMEACCOUNTFIELDTAGS -_GETLICENSESREQUEST.fields_by_name['target_id'].message_type = bnet.entity_pb2._ENTITYID -_GETLICENSESRESPONSE.fields_by_name['licenses'].message_type = bnet.account_types_pb2._ACCOUNTLICENSE -_GETGAMESESSIONINFOREQUEST.fields_by_name['entity_id'].message_type = bnet.entity_pb2._ENTITYID -_GETGAMESESSIONINFORESPONSE.fields_by_name['session_info'].message_type = bnet.account_types_pb2._GAMESESSIONINFO -_GETGAMETIMEREMAININGINFOREQUEST.fields_by_name['game_account_id'].message_type = bnet.entity_pb2._ENTITYID -_GETGAMETIMEREMAININGINFOREQUEST.fields_by_name['account_id'].message_type = bnet.entity_pb2._ENTITYID -_GETGAMETIMEREMAININGINFORESPONSE.fields_by_name['game_time_remaining_info'].message_type = bnet.account_types_pb2._GAMETIMEREMAININGINFO -_GETCAISINFOREQUEST.fields_by_name['entity_id'].message_type = bnet.entity_pb2._ENTITYID -_GETCAISINFORESPONSE.fields_by_name['cais_info'].message_type = bnet.account_types_pb2._CAIS -_FORWARDCACHEEXPIREREQUEST.fields_by_name['entity_id'].message_type = bnet.entity_pb2._ENTITYID -_ACCOUNTSTATENOTIFICATION.fields_by_name['state'].message_type = bnet.account_types_pb2._ACCOUNTSTATE -_ACCOUNTSTATENOTIFICATION.fields_by_name['account_tags'].message_type = bnet.account_types_pb2._ACCOUNTFIELDTAGS -_GAMEACCOUNTSTATENOTIFICATION.fields_by_name['state'].message_type = bnet.account_types_pb2._GAMEACCOUNTSTATE -_GAMEACCOUNTSTATENOTIFICATION.fields_by_name['game_account_tags'].message_type = bnet.account_types_pb2._GAMEACCOUNTFIELDTAGS -_GAMEACCOUNTNOTIFICATION.fields_by_name['region_delta'].message_type = bnet.account_types_pb2._GAMEACCOUNTLIST -_GAMEACCOUNTNOTIFICATION.fields_by_name['account_tags'].message_type = bnet.account_types_pb2._ACCOUNTFIELDTAGS -_GAMEACCOUNTSESSIONNOTIFICATION.fields_by_name['game_account'].message_type = bnet.account_types_pb2._GAMEACCOUNTHANDLE -_GAMEACCOUNTSESSIONNOTIFICATION.fields_by_name['session_info'].message_type = bnet.account_types_pb2._GAMESESSIONUPDATEINFO +_GETACCOUNTSTATEREQUEST.fields_by_name['entity_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_GETACCOUNTSTATEREQUEST.fields_by_name['options'].message_type = bnet_dot_account__types__pb2._ACCOUNTFIELDOPTIONS +_GETACCOUNTSTATEREQUEST.fields_by_name['tags'].message_type = bnet_dot_account__types__pb2._ACCOUNTFIELDTAGS +_GETACCOUNTSTATERESPONSE.fields_by_name['state'].message_type = bnet_dot_account__types__pb2._ACCOUNTSTATE +_GETACCOUNTSTATERESPONSE.fields_by_name['tags'].message_type = bnet_dot_account__types__pb2._ACCOUNTFIELDTAGS +_GETGAMEACCOUNTSTATEREQUEST.fields_by_name['account_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_GETGAMEACCOUNTSTATEREQUEST.fields_by_name['game_account_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_GETGAMEACCOUNTSTATEREQUEST.fields_by_name['options'].message_type = bnet_dot_account__types__pb2._GAMEACCOUNTFIELDOPTIONS +_GETGAMEACCOUNTSTATEREQUEST.fields_by_name['tags'].message_type = bnet_dot_account__types__pb2._GAMEACCOUNTFIELDTAGS +_GETGAMEACCOUNTSTATERESPONSE.fields_by_name['state'].message_type = bnet_dot_account__types__pb2._GAMEACCOUNTSTATE +_GETGAMEACCOUNTSTATERESPONSE.fields_by_name['tags'].message_type = bnet_dot_account__types__pb2._GAMEACCOUNTFIELDTAGS +_GETLICENSESREQUEST.fields_by_name['target_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_GETLICENSESRESPONSE.fields_by_name['licenses'].message_type = bnet_dot_account__types__pb2._ACCOUNTLICENSE +_GETGAMESESSIONINFOREQUEST.fields_by_name['entity_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_GETGAMESESSIONINFORESPONSE.fields_by_name['session_info'].message_type = bnet_dot_account__types__pb2._GAMESESSIONINFO +_GETGAMETIMEREMAININGINFOREQUEST.fields_by_name['game_account_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_GETGAMETIMEREMAININGINFOREQUEST.fields_by_name['account_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_GETGAMETIMEREMAININGINFORESPONSE.fields_by_name['game_time_remaining_info'].message_type = bnet_dot_account__types__pb2._GAMETIMEREMAININGINFO +_GETCAISINFOREQUEST.fields_by_name['entity_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_GETCAISINFORESPONSE.fields_by_name['cais_info'].message_type = bnet_dot_account__types__pb2._CAIS +_FORWARDCACHEEXPIREREQUEST.fields_by_name['entity_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_ACCOUNTSTATENOTIFICATION.fields_by_name['state'].message_type = bnet_dot_account__types__pb2._ACCOUNTSTATE +_ACCOUNTSTATENOTIFICATION.fields_by_name['account_tags'].message_type = bnet_dot_account__types__pb2._ACCOUNTFIELDTAGS +_GAMEACCOUNTSTATENOTIFICATION.fields_by_name['state'].message_type = bnet_dot_account__types__pb2._GAMEACCOUNTSTATE +_GAMEACCOUNTSTATENOTIFICATION.fields_by_name['game_account_tags'].message_type = bnet_dot_account__types__pb2._GAMEACCOUNTFIELDTAGS +_GAMEACCOUNTNOTIFICATION.fields_by_name['region_delta'].message_type = bnet_dot_account__types__pb2._GAMEACCOUNTLIST +_GAMEACCOUNTNOTIFICATION.fields_by_name['account_tags'].message_type = bnet_dot_account__types__pb2._ACCOUNTFIELDTAGS +_GAMEACCOUNTSESSIONNOTIFICATION.fields_by_name['game_account'].message_type = bnet_dot_account__types__pb2._GAMEACCOUNTHANDLE +_GAMEACCOUNTSESSIONNOTIFICATION.fields_by_name['session_info'].message_type = bnet_dot_account__types__pb2._GAMESESSIONUPDATEINFO DESCRIPTOR.message_types_by_name['GetAccountRequest'] = _GETACCOUNTREQUEST DESCRIPTOR.message_types_by_name['GetAccountResponse'] = _GETACCOUNTRESPONSE DESCRIPTOR.message_types_by_name['CreateGameAccountRequest'] = _CREATEGAMEACCOUNTREQUEST @@ -1555,257 +1590,258 @@ DESCRIPTOR.message_types_by_name['GameAccountStateNotification'] = _GAMEACCOUNTSTATENOTIFICATION DESCRIPTOR.message_types_by_name['GameAccountNotification'] = _GAMEACCOUNTNOTIFICATION DESCRIPTOR.message_types_by_name['GameAccountSessionNotification'] = _GAMEACCOUNTSESSIONNOTIFICATION +_sym_db.RegisterFileDescriptor(DESCRIPTOR) -GetAccountRequest = _reflection.GeneratedProtocolMessageType('GetAccountRequest', (_message.Message,), dict( - DESCRIPTOR = _GETACCOUNTREQUEST, - __module__ = 'bnet.account_service_pb2' +GetAccountRequest = _reflection.GeneratedProtocolMessageType('GetAccountRequest', (_message.Message,), { + 'DESCRIPTOR' : _GETACCOUNTREQUEST, + '__module__' : 'bnet.account_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.account.GetAccountRequest) - )) + }) _sym_db.RegisterMessage(GetAccountRequest) -GetAccountResponse = _reflection.GeneratedProtocolMessageType('GetAccountResponse', (_message.Message,), dict( - DESCRIPTOR = _GETACCOUNTRESPONSE, - __module__ = 'bnet.account_service_pb2' +GetAccountResponse = _reflection.GeneratedProtocolMessageType('GetAccountResponse', (_message.Message,), { + 'DESCRIPTOR' : _GETACCOUNTRESPONSE, + '__module__' : 'bnet.account_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.account.GetAccountResponse) - )) + }) _sym_db.RegisterMessage(GetAccountResponse) -CreateGameAccountRequest = _reflection.GeneratedProtocolMessageType('CreateGameAccountRequest', (_message.Message,), dict( - DESCRIPTOR = _CREATEGAMEACCOUNTREQUEST, - __module__ = 'bnet.account_service_pb2' +CreateGameAccountRequest = _reflection.GeneratedProtocolMessageType('CreateGameAccountRequest', (_message.Message,), { + 'DESCRIPTOR' : _CREATEGAMEACCOUNTREQUEST, + '__module__' : 'bnet.account_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.account.CreateGameAccountRequest) - )) + }) _sym_db.RegisterMessage(CreateGameAccountRequest) -CacheExpireRequest = _reflection.GeneratedProtocolMessageType('CacheExpireRequest', (_message.Message,), dict( - DESCRIPTOR = _CACHEEXPIREREQUEST, - __module__ = 'bnet.account_service_pb2' +CacheExpireRequest = _reflection.GeneratedProtocolMessageType('CacheExpireRequest', (_message.Message,), { + 'DESCRIPTOR' : _CACHEEXPIREREQUEST, + '__module__' : 'bnet.account_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.account.CacheExpireRequest) - )) + }) _sym_db.RegisterMessage(CacheExpireRequest) -CredentialUpdateRequest = _reflection.GeneratedProtocolMessageType('CredentialUpdateRequest', (_message.Message,), dict( - DESCRIPTOR = _CREDENTIALUPDATEREQUEST, - __module__ = 'bnet.account_service_pb2' +CredentialUpdateRequest = _reflection.GeneratedProtocolMessageType('CredentialUpdateRequest', (_message.Message,), { + 'DESCRIPTOR' : _CREDENTIALUPDATEREQUEST, + '__module__' : 'bnet.account_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.account.CredentialUpdateRequest) - )) + }) _sym_db.RegisterMessage(CredentialUpdateRequest) -CredentialUpdateResponse = _reflection.GeneratedProtocolMessageType('CredentialUpdateResponse', (_message.Message,), dict( - DESCRIPTOR = _CREDENTIALUPDATERESPONSE, - __module__ = 'bnet.account_service_pb2' +CredentialUpdateResponse = _reflection.GeneratedProtocolMessageType('CredentialUpdateResponse', (_message.Message,), { + 'DESCRIPTOR' : _CREDENTIALUPDATERESPONSE, + '__module__' : 'bnet.account_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.account.CredentialUpdateResponse) - )) + }) _sym_db.RegisterMessage(CredentialUpdateResponse) -FlagUpdateRequest = _reflection.GeneratedProtocolMessageType('FlagUpdateRequest', (_message.Message,), dict( - DESCRIPTOR = _FLAGUPDATEREQUEST, - __module__ = 'bnet.account_service_pb2' +FlagUpdateRequest = _reflection.GeneratedProtocolMessageType('FlagUpdateRequest', (_message.Message,), { + 'DESCRIPTOR' : _FLAGUPDATEREQUEST, + '__module__' : 'bnet.account_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.account.FlagUpdateRequest) - )) + }) _sym_db.RegisterMessage(FlagUpdateRequest) -FlagUpdateResponse = _reflection.GeneratedProtocolMessageType('FlagUpdateResponse', (_message.Message,), dict( - DESCRIPTOR = _FLAGUPDATERESPONSE, - __module__ = 'bnet.account_service_pb2' +FlagUpdateResponse = _reflection.GeneratedProtocolMessageType('FlagUpdateResponse', (_message.Message,), { + 'DESCRIPTOR' : _FLAGUPDATERESPONSE, + '__module__' : 'bnet.account_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.account.FlagUpdateResponse) - )) + }) _sym_db.RegisterMessage(FlagUpdateResponse) -GetWalletListRequest = _reflection.GeneratedProtocolMessageType('GetWalletListRequest', (_message.Message,), dict( - DESCRIPTOR = _GETWALLETLISTREQUEST, - __module__ = 'bnet.account_service_pb2' +GetWalletListRequest = _reflection.GeneratedProtocolMessageType('GetWalletListRequest', (_message.Message,), { + 'DESCRIPTOR' : _GETWALLETLISTREQUEST, + '__module__' : 'bnet.account_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.account.GetWalletListRequest) - )) + }) _sym_db.RegisterMessage(GetWalletListRequest) -GetWalletListResponse = _reflection.GeneratedProtocolMessageType('GetWalletListResponse', (_message.Message,), dict( - DESCRIPTOR = _GETWALLETLISTRESPONSE, - __module__ = 'bnet.account_service_pb2' +GetWalletListResponse = _reflection.GeneratedProtocolMessageType('GetWalletListResponse', (_message.Message,), { + 'DESCRIPTOR' : _GETWALLETLISTRESPONSE, + '__module__' : 'bnet.account_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.account.GetWalletListResponse) - )) + }) _sym_db.RegisterMessage(GetWalletListResponse) -GetEBalanceRequest = _reflection.GeneratedProtocolMessageType('GetEBalanceRequest', (_message.Message,), dict( - DESCRIPTOR = _GETEBALANCEREQUEST, - __module__ = 'bnet.account_service_pb2' +GetEBalanceRequest = _reflection.GeneratedProtocolMessageType('GetEBalanceRequest', (_message.Message,), { + 'DESCRIPTOR' : _GETEBALANCEREQUEST, + '__module__' : 'bnet.account_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.account.GetEBalanceRequest) - )) + }) _sym_db.RegisterMessage(GetEBalanceRequest) -GetEBalanceResponse = _reflection.GeneratedProtocolMessageType('GetEBalanceResponse', (_message.Message,), dict( - DESCRIPTOR = _GETEBALANCERESPONSE, - __module__ = 'bnet.account_service_pb2' +GetEBalanceResponse = _reflection.GeneratedProtocolMessageType('GetEBalanceResponse', (_message.Message,), { + 'DESCRIPTOR' : _GETEBALANCERESPONSE, + '__module__' : 'bnet.account_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.account.GetEBalanceResponse) - )) + }) _sym_db.RegisterMessage(GetEBalanceResponse) -GetEBalanceRestrictionsRequest = _reflection.GeneratedProtocolMessageType('GetEBalanceRestrictionsRequest', (_message.Message,), dict( - DESCRIPTOR = _GETEBALANCERESTRICTIONSREQUEST, - __module__ = 'bnet.account_service_pb2' +GetEBalanceRestrictionsRequest = _reflection.GeneratedProtocolMessageType('GetEBalanceRestrictionsRequest', (_message.Message,), { + 'DESCRIPTOR' : _GETEBALANCERESTRICTIONSREQUEST, + '__module__' : 'bnet.account_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.account.GetEBalanceRestrictionsRequest) - )) + }) _sym_db.RegisterMessage(GetEBalanceRestrictionsRequest) -GetEBalanceRestrictionsResponse = _reflection.GeneratedProtocolMessageType('GetEBalanceRestrictionsResponse', (_message.Message,), dict( - DESCRIPTOR = _GETEBALANCERESTRICTIONSRESPONSE, - __module__ = 'bnet.account_service_pb2' +GetEBalanceRestrictionsResponse = _reflection.GeneratedProtocolMessageType('GetEBalanceRestrictionsResponse', (_message.Message,), { + 'DESCRIPTOR' : _GETEBALANCERESTRICTIONSRESPONSE, + '__module__' : 'bnet.account_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.account.GetEBalanceRestrictionsResponse) - )) + }) _sym_db.RegisterMessage(GetEBalanceRestrictionsResponse) -SubscriptionUpdateRequest = _reflection.GeneratedProtocolMessageType('SubscriptionUpdateRequest', (_message.Message,), dict( - DESCRIPTOR = _SUBSCRIPTIONUPDATEREQUEST, - __module__ = 'bnet.account_service_pb2' +SubscriptionUpdateRequest = _reflection.GeneratedProtocolMessageType('SubscriptionUpdateRequest', (_message.Message,), { + 'DESCRIPTOR' : _SUBSCRIPTIONUPDATEREQUEST, + '__module__' : 'bnet.account_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.account.SubscriptionUpdateRequest) - )) + }) _sym_db.RegisterMessage(SubscriptionUpdateRequest) -SubscriptionUpdateResponse = _reflection.GeneratedProtocolMessageType('SubscriptionUpdateResponse', (_message.Message,), dict( - DESCRIPTOR = _SUBSCRIPTIONUPDATERESPONSE, - __module__ = 'bnet.account_service_pb2' +SubscriptionUpdateResponse = _reflection.GeneratedProtocolMessageType('SubscriptionUpdateResponse', (_message.Message,), { + 'DESCRIPTOR' : _SUBSCRIPTIONUPDATERESPONSE, + '__module__' : 'bnet.account_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.account.SubscriptionUpdateResponse) - )) + }) _sym_db.RegisterMessage(SubscriptionUpdateResponse) -IsIgrAddressRequest = _reflection.GeneratedProtocolMessageType('IsIgrAddressRequest', (_message.Message,), dict( - DESCRIPTOR = _ISIGRADDRESSREQUEST, - __module__ = 'bnet.account_service_pb2' +IsIgrAddressRequest = _reflection.GeneratedProtocolMessageType('IsIgrAddressRequest', (_message.Message,), { + 'DESCRIPTOR' : _ISIGRADDRESSREQUEST, + '__module__' : 'bnet.account_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.account.IsIgrAddressRequest) - )) + }) _sym_db.RegisterMessage(IsIgrAddressRequest) -AccountServiceRegion = _reflection.GeneratedProtocolMessageType('AccountServiceRegion', (_message.Message,), dict( - DESCRIPTOR = _ACCOUNTSERVICEREGION, - __module__ = 'bnet.account_service_pb2' +AccountServiceRegion = _reflection.GeneratedProtocolMessageType('AccountServiceRegion', (_message.Message,), { + 'DESCRIPTOR' : _ACCOUNTSERVICEREGION, + '__module__' : 'bnet.account_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.account.AccountServiceRegion) - )) + }) _sym_db.RegisterMessage(AccountServiceRegion) -AccountServiceConfig = _reflection.GeneratedProtocolMessageType('AccountServiceConfig', (_message.Message,), dict( - DESCRIPTOR = _ACCOUNTSERVICECONFIG, - __module__ = 'bnet.account_service_pb2' +AccountServiceConfig = _reflection.GeneratedProtocolMessageType('AccountServiceConfig', (_message.Message,), { + 'DESCRIPTOR' : _ACCOUNTSERVICECONFIG, + '__module__' : 'bnet.account_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.account.AccountServiceConfig) - )) + }) _sym_db.RegisterMessage(AccountServiceConfig) -GetAccountStateRequest = _reflection.GeneratedProtocolMessageType('GetAccountStateRequest', (_message.Message,), dict( - DESCRIPTOR = _GETACCOUNTSTATEREQUEST, - __module__ = 'bnet.account_service_pb2' +GetAccountStateRequest = _reflection.GeneratedProtocolMessageType('GetAccountStateRequest', (_message.Message,), { + 'DESCRIPTOR' : _GETACCOUNTSTATEREQUEST, + '__module__' : 'bnet.account_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.account.GetAccountStateRequest) - )) + }) _sym_db.RegisterMessage(GetAccountStateRequest) -GetAccountStateResponse = _reflection.GeneratedProtocolMessageType('GetAccountStateResponse', (_message.Message,), dict( - DESCRIPTOR = _GETACCOUNTSTATERESPONSE, - __module__ = 'bnet.account_service_pb2' +GetAccountStateResponse = _reflection.GeneratedProtocolMessageType('GetAccountStateResponse', (_message.Message,), { + 'DESCRIPTOR' : _GETACCOUNTSTATERESPONSE, + '__module__' : 'bnet.account_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.account.GetAccountStateResponse) - )) + }) _sym_db.RegisterMessage(GetAccountStateResponse) -GetGameAccountStateRequest = _reflection.GeneratedProtocolMessageType('GetGameAccountStateRequest', (_message.Message,), dict( - DESCRIPTOR = _GETGAMEACCOUNTSTATEREQUEST, - __module__ = 'bnet.account_service_pb2' +GetGameAccountStateRequest = _reflection.GeneratedProtocolMessageType('GetGameAccountStateRequest', (_message.Message,), { + 'DESCRIPTOR' : _GETGAMEACCOUNTSTATEREQUEST, + '__module__' : 'bnet.account_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.account.GetGameAccountStateRequest) - )) + }) _sym_db.RegisterMessage(GetGameAccountStateRequest) -GetGameAccountStateResponse = _reflection.GeneratedProtocolMessageType('GetGameAccountStateResponse', (_message.Message,), dict( - DESCRIPTOR = _GETGAMEACCOUNTSTATERESPONSE, - __module__ = 'bnet.account_service_pb2' +GetGameAccountStateResponse = _reflection.GeneratedProtocolMessageType('GetGameAccountStateResponse', (_message.Message,), { + 'DESCRIPTOR' : _GETGAMEACCOUNTSTATERESPONSE, + '__module__' : 'bnet.account_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.account.GetGameAccountStateResponse) - )) + }) _sym_db.RegisterMessage(GetGameAccountStateResponse) -GetLicensesRequest = _reflection.GeneratedProtocolMessageType('GetLicensesRequest', (_message.Message,), dict( - DESCRIPTOR = _GETLICENSESREQUEST, - __module__ = 'bnet.account_service_pb2' +GetLicensesRequest = _reflection.GeneratedProtocolMessageType('GetLicensesRequest', (_message.Message,), { + 'DESCRIPTOR' : _GETLICENSESREQUEST, + '__module__' : 'bnet.account_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.account.GetLicensesRequest) - )) + }) _sym_db.RegisterMessage(GetLicensesRequest) -GetLicensesResponse = _reflection.GeneratedProtocolMessageType('GetLicensesResponse', (_message.Message,), dict( - DESCRIPTOR = _GETLICENSESRESPONSE, - __module__ = 'bnet.account_service_pb2' +GetLicensesResponse = _reflection.GeneratedProtocolMessageType('GetLicensesResponse', (_message.Message,), { + 'DESCRIPTOR' : _GETLICENSESRESPONSE, + '__module__' : 'bnet.account_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.account.GetLicensesResponse) - )) + }) _sym_db.RegisterMessage(GetLicensesResponse) -GetGameSessionInfoRequest = _reflection.GeneratedProtocolMessageType('GetGameSessionInfoRequest', (_message.Message,), dict( - DESCRIPTOR = _GETGAMESESSIONINFOREQUEST, - __module__ = 'bnet.account_service_pb2' +GetGameSessionInfoRequest = _reflection.GeneratedProtocolMessageType('GetGameSessionInfoRequest', (_message.Message,), { + 'DESCRIPTOR' : _GETGAMESESSIONINFOREQUEST, + '__module__' : 'bnet.account_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.account.GetGameSessionInfoRequest) - )) + }) _sym_db.RegisterMessage(GetGameSessionInfoRequest) -GetGameSessionInfoResponse = _reflection.GeneratedProtocolMessageType('GetGameSessionInfoResponse', (_message.Message,), dict( - DESCRIPTOR = _GETGAMESESSIONINFORESPONSE, - __module__ = 'bnet.account_service_pb2' +GetGameSessionInfoResponse = _reflection.GeneratedProtocolMessageType('GetGameSessionInfoResponse', (_message.Message,), { + 'DESCRIPTOR' : _GETGAMESESSIONINFORESPONSE, + '__module__' : 'bnet.account_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.account.GetGameSessionInfoResponse) - )) + }) _sym_db.RegisterMessage(GetGameSessionInfoResponse) -GetGameTimeRemainingInfoRequest = _reflection.GeneratedProtocolMessageType('GetGameTimeRemainingInfoRequest', (_message.Message,), dict( - DESCRIPTOR = _GETGAMETIMEREMAININGINFOREQUEST, - __module__ = 'bnet.account_service_pb2' +GetGameTimeRemainingInfoRequest = _reflection.GeneratedProtocolMessageType('GetGameTimeRemainingInfoRequest', (_message.Message,), { + 'DESCRIPTOR' : _GETGAMETIMEREMAININGINFOREQUEST, + '__module__' : 'bnet.account_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.account.GetGameTimeRemainingInfoRequest) - )) + }) _sym_db.RegisterMessage(GetGameTimeRemainingInfoRequest) -GetGameTimeRemainingInfoResponse = _reflection.GeneratedProtocolMessageType('GetGameTimeRemainingInfoResponse', (_message.Message,), dict( - DESCRIPTOR = _GETGAMETIMEREMAININGINFORESPONSE, - __module__ = 'bnet.account_service_pb2' +GetGameTimeRemainingInfoResponse = _reflection.GeneratedProtocolMessageType('GetGameTimeRemainingInfoResponse', (_message.Message,), { + 'DESCRIPTOR' : _GETGAMETIMEREMAININGINFORESPONSE, + '__module__' : 'bnet.account_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.account.GetGameTimeRemainingInfoResponse) - )) + }) _sym_db.RegisterMessage(GetGameTimeRemainingInfoResponse) -GetCAISInfoRequest = _reflection.GeneratedProtocolMessageType('GetCAISInfoRequest', (_message.Message,), dict( - DESCRIPTOR = _GETCAISINFOREQUEST, - __module__ = 'bnet.account_service_pb2' +GetCAISInfoRequest = _reflection.GeneratedProtocolMessageType('GetCAISInfoRequest', (_message.Message,), { + 'DESCRIPTOR' : _GETCAISINFOREQUEST, + '__module__' : 'bnet.account_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.account.GetCAISInfoRequest) - )) + }) _sym_db.RegisterMessage(GetCAISInfoRequest) -GetCAISInfoResponse = _reflection.GeneratedProtocolMessageType('GetCAISInfoResponse', (_message.Message,), dict( - DESCRIPTOR = _GETCAISINFORESPONSE, - __module__ = 'bnet.account_service_pb2' +GetCAISInfoResponse = _reflection.GeneratedProtocolMessageType('GetCAISInfoResponse', (_message.Message,), { + 'DESCRIPTOR' : _GETCAISINFORESPONSE, + '__module__' : 'bnet.account_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.account.GetCAISInfoResponse) - )) + }) _sym_db.RegisterMessage(GetCAISInfoResponse) -ForwardCacheExpireRequest = _reflection.GeneratedProtocolMessageType('ForwardCacheExpireRequest', (_message.Message,), dict( - DESCRIPTOR = _FORWARDCACHEEXPIREREQUEST, - __module__ = 'bnet.account_service_pb2' +ForwardCacheExpireRequest = _reflection.GeneratedProtocolMessageType('ForwardCacheExpireRequest', (_message.Message,), { + 'DESCRIPTOR' : _FORWARDCACHEEXPIREREQUEST, + '__module__' : 'bnet.account_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.account.ForwardCacheExpireRequest) - )) + }) _sym_db.RegisterMessage(ForwardCacheExpireRequest) -AccountStateNotification = _reflection.GeneratedProtocolMessageType('AccountStateNotification', (_message.Message,), dict( - DESCRIPTOR = _ACCOUNTSTATENOTIFICATION, - __module__ = 'bnet.account_service_pb2' +AccountStateNotification = _reflection.GeneratedProtocolMessageType('AccountStateNotification', (_message.Message,), { + 'DESCRIPTOR' : _ACCOUNTSTATENOTIFICATION, + '__module__' : 'bnet.account_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.account.AccountStateNotification) - )) + }) _sym_db.RegisterMessage(AccountStateNotification) -GameAccountStateNotification = _reflection.GeneratedProtocolMessageType('GameAccountStateNotification', (_message.Message,), dict( - DESCRIPTOR = _GAMEACCOUNTSTATENOTIFICATION, - __module__ = 'bnet.account_service_pb2' +GameAccountStateNotification = _reflection.GeneratedProtocolMessageType('GameAccountStateNotification', (_message.Message,), { + 'DESCRIPTOR' : _GAMEACCOUNTSTATENOTIFICATION, + '__module__' : 'bnet.account_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.account.GameAccountStateNotification) - )) + }) _sym_db.RegisterMessage(GameAccountStateNotification) -GameAccountNotification = _reflection.GeneratedProtocolMessageType('GameAccountNotification', (_message.Message,), dict( - DESCRIPTOR = _GAMEACCOUNTNOTIFICATION, - __module__ = 'bnet.account_service_pb2' +GameAccountNotification = _reflection.GeneratedProtocolMessageType('GameAccountNotification', (_message.Message,), { + 'DESCRIPTOR' : _GAMEACCOUNTNOTIFICATION, + '__module__' : 'bnet.account_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.account.GameAccountNotification) - )) + }) _sym_db.RegisterMessage(GameAccountNotification) -GameAccountSessionNotification = _reflection.GeneratedProtocolMessageType('GameAccountSessionNotification', (_message.Message,), dict( - DESCRIPTOR = _GAMEACCOUNTSESSIONNOTIFICATION, - __module__ = 'bnet.account_service_pb2' +GameAccountSessionNotification = _reflection.GeneratedProtocolMessageType('GameAccountSessionNotification', (_message.Message,), { + 'DESCRIPTOR' : _GAMEACCOUNTSESSIONNOTIFICATION, + '__module__' : 'bnet.account_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.account.GameAccountSessionNotification) - )) + }) _sym_db.RegisterMessage(GameAccountSessionNotification) diff --git a/src/bnet/account_types.proto b/src/bnet/account_types.proto new file mode 100644 index 0000000..c9f9b34 --- /dev/null +++ b/src/bnet/account_types.proto @@ -0,0 +1,276 @@ +package bnet.protocol.account; +import "bnet/entity.proto"; + + +message AccountId { + required fixed32 id = 1; +} + +message AccountLicense { + required uint32 id = 1; + optional uint64 expires = 2; +} + +message AccountCredential { + required uint32 id = 1; + optional bytes data = 2; +} + +message AccountBlob { + required fixed32 id = 2; + required uint32 region = 3; + repeated string email = 4; + required uint64 flags = 5; + optional uint64 secure_release = 6; + optional uint64 whitelist_start = 7; + optional uint64 whitelist_end = 8; + required string full_name = 10; + repeated AccountLicense licenses = 20; + repeated AccountCredential credentials = 21; + repeated GameAccountLink account_links = 22; + optional string battle_tag = 23; + optional fixed32 default_currency = 25; + optional uint32 legal_region = 26; + optional fixed32 legal_locale = 27; + required uint64 cache_expiration = 30; + optional ParentalControlInfo parental_control_info = 31; + optional string country = 32; + optional uint32 preferred_region = 33; +} + +message AccountBlobList { + repeated AccountBlob blob = 1; +} + +message GameAccountHandle { + required fixed32 id = 1; + required fixed32 program = 2; + required uint32 region = 3; +} + +message GameAccountLink { + required GameAccountHandle game_account = 1; + required string name = 2; +} + +message GameAccountBlob { + required GameAccountHandle game_account = 1; + optional string name = 2 [default = ""]; + optional uint32 realm_permissions = 3 [default = 0]; + required uint32 status = 4; + optional uint64 flags = 5 [default = 0]; + optional uint32 billing_flags = 6 [default = 0]; + required uint64 cache_expiration = 7; + optional uint64 subscription_expiration = 10; + optional uint32 units_remaining = 11; + optional uint64 status_expiration = 12; + optional uint32 box_level = 13; + optional uint64 box_level_expiration = 14; + repeated AccountLicense licenses = 20; +} + +message GameAccountBlobList { + repeated GameAccountBlob blob = 1; +} + +message AccountReference { + optional fixed32 id = 1; + optional string email = 2; + optional GameAccountHandle handle = 3; + optional string battle_tag = 4; + optional uint32 region = 10 [default = 0]; +} + +message Wallet { + required uint32 region = 1; + required uint64 wallet_id = 2; + required uint32 wallet_type = 3; + optional string description = 4; + required uint32 country_id = 5; + optional string state = 6; + optional string city = 7; + optional string postal_code = 8; + optional bytes payment_info = 9; + optional string bin = 10; + optional string locale_id = 11; + optional string street = 12; + optional string first_name = 13; + optional string last_name = 14; + optional uint64 birth_date = 15; +} + +message Wallets { + repeated Wallet wallets = 1; +} + +message CurrencyRestriction { + required string currency = 1; + required string authenticator_cap = 2; + required string soft_cap = 3; +} + +message ProgramTag { + optional fixed32 program = 1; + optional fixed32 tag = 2; +} + +message RegionTag { + optional fixed32 region = 1; + optional fixed32 tag = 2; +} + +message AccountFieldTags { + optional fixed32 account_level_info_tag = 2; + optional fixed32 privacy_info_tag = 3; + optional fixed32 parental_control_info_tag = 4; + repeated ProgramTag game_level_info_tags = 7; + repeated ProgramTag game_status_tags = 9; + repeated RegionTag game_account_tags = 11; +} + +message GameAccountFieldTags { + optional fixed32 game_level_info_tag = 2; + optional fixed32 game_time_info_tag = 3; + optional fixed32 game_status_tag = 4; +} + +message AccountFieldOptions { + optional bool all_fields = 1; + optional bool field_account_level_info = 2; + optional bool field_privacy_info = 3; + optional bool field_parental_control_info = 4; + optional bool field_game_level_info = 6; + optional bool field_game_status = 7; + optional bool field_game_accounts = 8; +} + +message GameAccountFieldOptions { + optional bool all_fields = 1; + optional bool field_game_level_info = 2; + optional bool field_game_time_info = 3; + optional bool field_game_status = 4; +} + +message SubscriberReference { + optional uint64 object_id = 1 [default = 0]; + optional EntityId entity_id = 2; + optional AccountFieldOptions account_options = 3; + optional AccountFieldTags account_tags = 4; + optional GameAccountFieldOptions game_account_options = 5; + optional GameAccountFieldTags game_account_tags = 6; +} + +message AccountLevelInfo { + repeated AccountLicense licenses = 3; + optional fixed32 default_currency = 4; + optional string country = 5; + optional uint32 preferred_region = 6; +} + +message PrivacyInfo { + enum GameInfoPrivacy { + PRIVACY_ME = 0; + PRIVACY_FRIENDS = 1; + PRIVACY_EVERYONE = 2; + } + + optional bool is_using_rid = 3; + optional bool is_real_id_visible_for_view_friends = 4; + optional bool is_hidden_from_friend_finder = 5; + optional GameInfoPrivacy game_info_privacy = 6 [default = PRIVACY_FRIENDS]; +} + +message ParentalControlInfo { + optional string timezone = 3; + optional uint32 minutes_per_day = 4; + optional uint32 minutes_per_week = 5; + optional bool can_receive_voice = 6; + optional bool can_send_voice = 7; + repeated bool play_schedule = 8; +} + +message GameLevelInfo { + optional bool is_starter_edition = 3; + optional bool is_trial = 4; + optional bool is_lifetime = 5; + optional bool is_restricted = 6; + optional bool is_beta = 7; + optional string name = 8; + optional fixed32 program = 9; + repeated AccountLicense licenses = 10; + optional uint32 realm_permissions = 11; +} + +message GameTimeInfo { + optional bool is_unlimited_play_time = 3; + optional uint64 play_time_expires = 5; + optional bool is_subscription = 6; + optional bool is_recurring_subscription = 7; +} + +message GameTimeRemainingInfo { + optional uint32 minutes_remaining = 1; + optional uint32 parental_daily_minutes_remaining = 2; + optional uint32 parental_weekly_minutes_remaining = 3; +} + +message GameStatus { + optional bool is_suspended = 4; + optional bool is_banned = 5; + optional uint64 suspension_expires = 6; + optional fixed32 program = 7; +} + +message GameSessionInfo { + optional uint32 start_time = 3; + optional GameSessionLocation location = 4; + optional bool has_benefactor = 5; + optional bool is_using_igr = 6; + optional bool parental_controls_active = 7; +} + +message GameSessionUpdateInfo { + optional CAIS cais = 8; +} + +message GameSessionLocation { + optional string ip_address = 1; + optional uint32 country = 2; + optional string city = 3; +} + +message CAIS { + optional uint32 played_minutes = 1; + optional uint32 rested_minutes = 2; + optional uint64 last_heard_time = 3; +} + +message GameAccountList { + optional uint32 region = 3; + repeated GameAccountHandle handle = 4; +} + +message AccountState { + optional AccountLevelInfo account_level_info = 1; + optional PrivacyInfo privacy_info = 2; + optional ParentalControlInfo parental_control_info = 3; + repeated GameLevelInfo game_level_info = 5; + repeated GameStatus game_status = 6; + repeated GameAccountList game_accounts = 7; +} + +message AccountStateTagged { + optional AccountState account_state = 1; + optional AccountFieldTags tags = 2; +} + +message GameAccountState { + optional GameLevelInfo game_level_info = 1; + optional GameTimeInfo game_time_info = 2; + optional GameStatus game_status = 3; +} + +message GameAccountStateTagged { + optional GameAccountState game_account_state = 1; + optional GameAccountFieldTags game_account_tags = 2; +} diff --git a/src/bnet/account_types_pb2.py b/src/bnet/account_types_pb2.py index f87d3cf..ce486f8 100644 --- a/src/bnet/account_types_pb2.py +++ b/src/bnet/account_types_pb2.py @@ -1,28 +1,27 @@ +# -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: bnet/account_types.proto -import sys -_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message from google.protobuf import reflection as _reflection from google.protobuf import symbol_database as _symbol_database -from google.protobuf import descriptor_pb2 # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() -import bnet.entity_pb2 +from bnet import entity_pb2 as bnet_dot_entity__pb2 DESCRIPTOR = _descriptor.FileDescriptor( name='bnet/account_types.proto', package='bnet.protocol.account', - serialized_pb=_b('\n\x18\x62net/account_types.proto\x12\x15\x62net.protocol.account\x1a\x11\x62net/entity.proto\"\x17\n\tAccountId\x12\n\n\x02id\x18\x01 \x02(\x07\"-\n\x0e\x41\x63\x63ountLicense\x12\n\n\x02id\x18\x01 \x02(\r\x12\x0f\n\x07\x65xpires\x18\x02 \x01(\x04\"-\n\x11\x41\x63\x63ountCredential\x12\n\n\x02id\x18\x01 \x02(\r\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\"\xc3\x04\n\x0b\x41\x63\x63ountBlob\x12\n\n\x02id\x18\x02 \x02(\x07\x12\x0e\n\x06region\x18\x03 \x02(\r\x12\r\n\x05\x65mail\x18\x04 \x03(\t\x12\r\n\x05\x66lags\x18\x05 \x02(\x04\x12\x16\n\x0esecure_release\x18\x06 \x01(\x04\x12\x17\n\x0fwhitelist_start\x18\x07 \x01(\x04\x12\x15\n\rwhitelist_end\x18\x08 \x01(\x04\x12\x11\n\tfull_name\x18\n \x02(\t\x12\x37\n\x08licenses\x18\x14 \x03(\x0b\x32%.bnet.protocol.account.AccountLicense\x12=\n\x0b\x63redentials\x18\x15 \x03(\x0b\x32(.bnet.protocol.account.AccountCredential\x12=\n\raccount_links\x18\x16 \x03(\x0b\x32&.bnet.protocol.account.GameAccountLink\x12\x12\n\nbattle_tag\x18\x17 \x01(\t\x12\x18\n\x10\x64\x65\x66\x61ult_currency\x18\x19 \x01(\x07\x12\x14\n\x0clegal_region\x18\x1a \x01(\r\x12\x14\n\x0clegal_locale\x18\x1b \x01(\x07\x12\x18\n\x10\x63\x61\x63he_expiration\x18\x1e \x02(\x04\x12I\n\x15parental_control_info\x18\x1f \x01(\x0b\x32*.bnet.protocol.account.ParentalControlInfo\x12\x0f\n\x07\x63ountry\x18 \x01(\t\x12\x18\n\x10preferred_region\x18! \x01(\r\"C\n\x0f\x41\x63\x63ountBlobList\x12\x30\n\x04\x62lob\x18\x01 \x03(\x0b\x32\".bnet.protocol.account.AccountBlob\"@\n\x11GameAccountHandle\x12\n\n\x02id\x18\x01 \x02(\x07\x12\x0f\n\x07program\x18\x02 \x02(\x07\x12\x0e\n\x06region\x18\x03 \x02(\r\"_\n\x0fGameAccountLink\x12>\n\x0cgame_account\x18\x01 \x02(\x0b\x32(.bnet.protocol.account.GameAccountHandle\x12\x0c\n\x04name\x18\x02 \x02(\t\"\x94\x03\n\x0fGameAccountBlob\x12>\n\x0cgame_account\x18\x01 \x02(\x0b\x32(.bnet.protocol.account.GameAccountHandle\x12\x0e\n\x04name\x18\x02 \x01(\t:\x00\x12\x1c\n\x11realm_permissions\x18\x03 \x01(\r:\x01\x30\x12\x0e\n\x06status\x18\x04 \x02(\r\x12\x10\n\x05\x66lags\x18\x05 \x01(\x04:\x01\x30\x12\x18\n\rbilling_flags\x18\x06 \x01(\r:\x01\x30\x12\x18\n\x10\x63\x61\x63he_expiration\x18\x07 \x02(\x04\x12\x1f\n\x17subscription_expiration\x18\n \x01(\x04\x12\x17\n\x0funits_remaining\x18\x0b \x01(\r\x12\x19\n\x11status_expiration\x18\x0c \x01(\x04\x12\x11\n\tbox_level\x18\r \x01(\r\x12\x1c\n\x14\x62ox_level_expiration\x18\x0e \x01(\x04\x12\x37\n\x08licenses\x18\x14 \x03(\x0b\x32%.bnet.protocol.account.AccountLicense\"K\n\x13GameAccountBlobList\x12\x34\n\x04\x62lob\x18\x01 \x03(\x0b\x32&.bnet.protocol.account.GameAccountBlob\"\x8e\x01\n\x10\x41\x63\x63ountReference\x12\n\n\x02id\x18\x01 \x01(\x07\x12\r\n\x05\x65mail\x18\x02 \x01(\t\x12\x38\n\x06handle\x18\x03 \x01(\x0b\x32(.bnet.protocol.account.GameAccountHandle\x12\x12\n\nbattle_tag\x18\x04 \x01(\t\x12\x11\n\x06region\x18\n \x01(\r:\x01\x30\"\x9c\x02\n\x06Wallet\x12\x0e\n\x06region\x18\x01 \x02(\r\x12\x11\n\twallet_id\x18\x02 \x02(\x04\x12\x13\n\x0bwallet_type\x18\x03 \x02(\r\x12\x13\n\x0b\x64\x65scription\x18\x04 \x01(\t\x12\x12\n\ncountry_id\x18\x05 \x02(\r\x12\r\n\x05state\x18\x06 \x01(\t\x12\x0c\n\x04\x63ity\x18\x07 \x01(\t\x12\x13\n\x0bpostal_code\x18\x08 \x01(\t\x12\x14\n\x0cpayment_info\x18\t \x01(\x0c\x12\x0b\n\x03\x62in\x18\n \x01(\t\x12\x11\n\tlocale_id\x18\x0b \x01(\t\x12\x0e\n\x06street\x18\x0c \x01(\t\x12\x12\n\nfirst_name\x18\r \x01(\t\x12\x11\n\tlast_name\x18\x0e \x01(\t\x12\x12\n\nbirth_date\x18\x0f \x01(\x04\"9\n\x07Wallets\x12.\n\x07wallets\x18\x01 \x03(\x0b\x32\x1d.bnet.protocol.account.Wallet\"T\n\x13\x43urrencyRestriction\x12\x10\n\x08\x63urrency\x18\x01 \x02(\t\x12\x19\n\x11\x61uthenticator_cap\x18\x02 \x02(\t\x12\x10\n\x08soft_cap\x18\x03 \x02(\t\"*\n\nProgramTag\x12\x0f\n\x07program\x18\x01 \x01(\x07\x12\x0b\n\x03tag\x18\x02 \x01(\x07\"(\n\tRegionTag\x12\x0e\n\x06region\x18\x01 \x01(\x07\x12\x0b\n\x03tag\x18\x02 \x01(\x07\"\xaa\x02\n\x10\x41\x63\x63ountFieldTags\x12\x1e\n\x16\x61\x63\x63ount_level_info_tag\x18\x02 \x01(\x07\x12\x18\n\x10privacy_info_tag\x18\x03 \x01(\x07\x12!\n\x19parental_control_info_tag\x18\x04 \x01(\x07\x12?\n\x14game_level_info_tags\x18\x07 \x03(\x0b\x32!.bnet.protocol.account.ProgramTag\x12;\n\x10game_status_tags\x18\t \x03(\x0b\x32!.bnet.protocol.account.ProgramTag\x12;\n\x11game_account_tags\x18\x0b \x03(\x0b\x32 .bnet.protocol.account.RegionTag\"h\n\x14GameAccountFieldTags\x12\x1b\n\x13game_level_info_tag\x18\x02 \x01(\x07\x12\x1a\n\x12game_time_info_tag\x18\x03 \x01(\x07\x12\x17\n\x0fgame_status_tag\x18\x04 \x01(\x07\"\xe3\x01\n\x13\x41\x63\x63ountFieldOptions\x12\x12\n\nall_fields\x18\x01 \x01(\x08\x12 \n\x18\x66ield_account_level_info\x18\x02 \x01(\x08\x12\x1a\n\x12\x66ield_privacy_info\x18\x03 \x01(\x08\x12#\n\x1b\x66ield_parental_control_info\x18\x04 \x01(\x08\x12\x1d\n\x15\x66ield_game_level_info\x18\x06 \x01(\x08\x12\x19\n\x11\x66ield_game_status\x18\x07 \x01(\x08\x12\x1b\n\x13\x66ield_game_accounts\x18\x08 \x01(\x08\"\x85\x01\n\x17GameAccountFieldOptions\x12\x12\n\nall_fields\x18\x01 \x01(\x08\x12\x1d\n\x15\x66ield_game_level_info\x18\x02 \x01(\x08\x12\x1c\n\x14\x66ield_game_time_info\x18\x03 \x01(\x08\x12\x19\n\x11\x66ield_game_status\x18\x04 \x01(\x08\"\xf1\x02\n\x13SubscriberReference\x12\x14\n\tobject_id\x18\x01 \x01(\x04:\x01\x30\x12*\n\tentity_id\x18\x02 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12\x43\n\x0f\x61\x63\x63ount_options\x18\x03 \x01(\x0b\x32*.bnet.protocol.account.AccountFieldOptions\x12=\n\x0c\x61\x63\x63ount_tags\x18\x04 \x01(\x0b\x32\'.bnet.protocol.account.AccountFieldTags\x12L\n\x14game_account_options\x18\x05 \x01(\x0b\x32..bnet.protocol.account.GameAccountFieldOptions\x12\x46\n\x11game_account_tags\x18\x06 \x01(\x0b\x32+.bnet.protocol.account.GameAccountFieldTags\"\x90\x01\n\x10\x41\x63\x63ountLevelInfo\x12\x37\n\x08licenses\x18\x03 \x03(\x0b\x32%.bnet.protocol.account.AccountLicense\x12\x18\n\x10\x64\x65\x66\x61ult_currency\x18\x04 \x01(\x07\x12\x0f\n\x07\x63ountry\x18\x05 \x01(\t\x12\x18\n\x10preferred_region\x18\x06 \x01(\r\"\xa4\x02\n\x0bPrivacyInfo\x12\x14\n\x0cis_using_rid\x18\x03 \x01(\x08\x12+\n#is_real_id_visible_for_view_friends\x18\x04 \x01(\x08\x12$\n\x1cis_hidden_from_friend_finder\x18\x05 \x01(\x08\x12^\n\x11game_info_privacy\x18\x06 \x01(\x0e\x32\x32.bnet.protocol.account.PrivacyInfo.GameInfoPrivacy:\x0fPRIVACY_FRIENDS\"L\n\x0fGameInfoPrivacy\x12\x0e\n\nPRIVACY_ME\x10\x00\x12\x13\n\x0fPRIVACY_FRIENDS\x10\x01\x12\x14\n\x10PRIVACY_EVERYONE\x10\x02\"\xa4\x01\n\x13ParentalControlInfo\x12\x10\n\x08timezone\x18\x03 \x01(\t\x12\x17\n\x0fminutes_per_day\x18\x04 \x01(\r\x12\x18\n\x10minutes_per_week\x18\x05 \x01(\r\x12\x19\n\x11\x63\x61n_receive_voice\x18\x06 \x01(\x08\x12\x16\n\x0e\x63\x61n_send_voice\x18\x07 \x01(\x08\x12\x15\n\rplay_schedule\x18\x08 \x03(\x08\"\xed\x01\n\rGameLevelInfo\x12\x1a\n\x12is_starter_edition\x18\x03 \x01(\x08\x12\x10\n\x08is_trial\x18\x04 \x01(\x08\x12\x13\n\x0bis_lifetime\x18\x05 \x01(\x08\x12\x15\n\ris_restricted\x18\x06 \x01(\x08\x12\x0f\n\x07is_beta\x18\x07 \x01(\x08\x12\x0c\n\x04name\x18\x08 \x01(\t\x12\x0f\n\x07program\x18\t \x01(\x07\x12\x37\n\x08licenses\x18\n \x03(\x0b\x32%.bnet.protocol.account.AccountLicense\x12\x19\n\x11realm_permissions\x18\x0b \x01(\r\"\x85\x01\n\x0cGameTimeInfo\x12\x1e\n\x16is_unlimited_play_time\x18\x03 \x01(\x08\x12\x19\n\x11play_time_expires\x18\x05 \x01(\x04\x12\x17\n\x0fis_subscription\x18\x06 \x01(\x08\x12!\n\x19is_recurring_subscription\x18\x07 \x01(\x08\"\x87\x01\n\x15GameTimeRemainingInfo\x12\x19\n\x11minutes_remaining\x18\x01 \x01(\r\x12(\n parental_daily_minutes_remaining\x18\x02 \x01(\r\x12)\n!parental_weekly_minutes_remaining\x18\x03 \x01(\r\"b\n\nGameStatus\x12\x14\n\x0cis_suspended\x18\x04 \x01(\x08\x12\x11\n\tis_banned\x18\x05 \x01(\x08\x12\x1a\n\x12suspension_expires\x18\x06 \x01(\x04\x12\x0f\n\x07program\x18\x07 \x01(\x07\"\xb3\x01\n\x0fGameSessionInfo\x12\x12\n\nstart_time\x18\x03 \x01(\r\x12<\n\x08location\x18\x04 \x01(\x0b\x32*.bnet.protocol.account.GameSessionLocation\x12\x16\n\x0ehas_benefactor\x18\x05 \x01(\x08\x12\x14\n\x0cis_using_igr\x18\x06 \x01(\x08\x12 \n\x18parental_controls_active\x18\x07 \x01(\x08\"B\n\x15GameSessionUpdateInfo\x12)\n\x04\x63\x61is\x18\x08 \x01(\x0b\x32\x1b.bnet.protocol.account.CAIS\"H\n\x13GameSessionLocation\x12\x12\n\nip_address\x18\x01 \x01(\t\x12\x0f\n\x07\x63ountry\x18\x02 \x01(\r\x12\x0c\n\x04\x63ity\x18\x03 \x01(\t\"O\n\x04\x43\x41IS\x12\x16\n\x0eplayed_minutes\x18\x01 \x01(\r\x12\x16\n\x0erested_minutes\x18\x02 \x01(\r\x12\x17\n\x0flast_heard_time\x18\x03 \x01(\x04\"[\n\x0fGameAccountList\x12\x0e\n\x06region\x18\x03 \x01(\r\x12\x38\n\x06handle\x18\x04 \x03(\x0b\x32(.bnet.protocol.account.GameAccountHandle\"\x8e\x03\n\x0c\x41\x63\x63ountState\x12\x43\n\x12\x61\x63\x63ount_level_info\x18\x01 \x01(\x0b\x32\'.bnet.protocol.account.AccountLevelInfo\x12\x38\n\x0cprivacy_info\x18\x02 \x01(\x0b\x32\".bnet.protocol.account.PrivacyInfo\x12I\n\x15parental_control_info\x18\x03 \x01(\x0b\x32*.bnet.protocol.account.ParentalControlInfo\x12=\n\x0fgame_level_info\x18\x05 \x03(\x0b\x32$.bnet.protocol.account.GameLevelInfo\x12\x36\n\x0bgame_status\x18\x06 \x03(\x0b\x32!.bnet.protocol.account.GameStatus\x12=\n\rgame_accounts\x18\x07 \x03(\x0b\x32&.bnet.protocol.account.GameAccountList\"\x87\x01\n\x12\x41\x63\x63ountStateTagged\x12:\n\raccount_state\x18\x01 \x01(\x0b\x32#.bnet.protocol.account.AccountState\x12\x35\n\x04tags\x18\x02 \x01(\x0b\x32\'.bnet.protocol.account.AccountFieldTags\"\xc6\x01\n\x10GameAccountState\x12=\n\x0fgame_level_info\x18\x01 \x01(\x0b\x32$.bnet.protocol.account.GameLevelInfo\x12;\n\x0egame_time_info\x18\x02 \x01(\x0b\x32#.bnet.protocol.account.GameTimeInfo\x12\x36\n\x0bgame_status\x18\x03 \x01(\x0b\x32!.bnet.protocol.account.GameStatus\"\xa5\x01\n\x16GameAccountStateTagged\x12\x43\n\x12game_account_state\x18\x01 \x01(\x0b\x32\'.bnet.protocol.account.GameAccountState\x12\x46\n\x11game_account_tags\x18\x02 \x01(\x0b\x32+.bnet.protocol.account.GameAccountFieldTags') + syntax='proto2', + serialized_options=None, + serialized_pb=b'\n\x18\x62net/account_types.proto\x12\x15\x62net.protocol.account\x1a\x11\x62net/entity.proto\"\x17\n\tAccountId\x12\n\n\x02id\x18\x01 \x02(\x07\"-\n\x0e\x41\x63\x63ountLicense\x12\n\n\x02id\x18\x01 \x02(\r\x12\x0f\n\x07\x65xpires\x18\x02 \x01(\x04\"-\n\x11\x41\x63\x63ountCredential\x12\n\n\x02id\x18\x01 \x02(\r\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\"\xc3\x04\n\x0b\x41\x63\x63ountBlob\x12\n\n\x02id\x18\x02 \x02(\x07\x12\x0e\n\x06region\x18\x03 \x02(\r\x12\r\n\x05\x65mail\x18\x04 \x03(\t\x12\r\n\x05\x66lags\x18\x05 \x02(\x04\x12\x16\n\x0esecure_release\x18\x06 \x01(\x04\x12\x17\n\x0fwhitelist_start\x18\x07 \x01(\x04\x12\x15\n\rwhitelist_end\x18\x08 \x01(\x04\x12\x11\n\tfull_name\x18\n \x02(\t\x12\x37\n\x08licenses\x18\x14 \x03(\x0b\x32%.bnet.protocol.account.AccountLicense\x12=\n\x0b\x63redentials\x18\x15 \x03(\x0b\x32(.bnet.protocol.account.AccountCredential\x12=\n\raccount_links\x18\x16 \x03(\x0b\x32&.bnet.protocol.account.GameAccountLink\x12\x12\n\nbattle_tag\x18\x17 \x01(\t\x12\x18\n\x10\x64\x65\x66\x61ult_currency\x18\x19 \x01(\x07\x12\x14\n\x0clegal_region\x18\x1a \x01(\r\x12\x14\n\x0clegal_locale\x18\x1b \x01(\x07\x12\x18\n\x10\x63\x61\x63he_expiration\x18\x1e \x02(\x04\x12I\n\x15parental_control_info\x18\x1f \x01(\x0b\x32*.bnet.protocol.account.ParentalControlInfo\x12\x0f\n\x07\x63ountry\x18 \x01(\t\x12\x18\n\x10preferred_region\x18! \x01(\r\"C\n\x0f\x41\x63\x63ountBlobList\x12\x30\n\x04\x62lob\x18\x01 \x03(\x0b\x32\".bnet.protocol.account.AccountBlob\"@\n\x11GameAccountHandle\x12\n\n\x02id\x18\x01 \x02(\x07\x12\x0f\n\x07program\x18\x02 \x02(\x07\x12\x0e\n\x06region\x18\x03 \x02(\r\"_\n\x0fGameAccountLink\x12>\n\x0cgame_account\x18\x01 \x02(\x0b\x32(.bnet.protocol.account.GameAccountHandle\x12\x0c\n\x04name\x18\x02 \x02(\t\"\x94\x03\n\x0fGameAccountBlob\x12>\n\x0cgame_account\x18\x01 \x02(\x0b\x32(.bnet.protocol.account.GameAccountHandle\x12\x0e\n\x04name\x18\x02 \x01(\t:\x00\x12\x1c\n\x11realm_permissions\x18\x03 \x01(\r:\x01\x30\x12\x0e\n\x06status\x18\x04 \x02(\r\x12\x10\n\x05\x66lags\x18\x05 \x01(\x04:\x01\x30\x12\x18\n\rbilling_flags\x18\x06 \x01(\r:\x01\x30\x12\x18\n\x10\x63\x61\x63he_expiration\x18\x07 \x02(\x04\x12\x1f\n\x17subscription_expiration\x18\n \x01(\x04\x12\x17\n\x0funits_remaining\x18\x0b \x01(\r\x12\x19\n\x11status_expiration\x18\x0c \x01(\x04\x12\x11\n\tbox_level\x18\r \x01(\r\x12\x1c\n\x14\x62ox_level_expiration\x18\x0e \x01(\x04\x12\x37\n\x08licenses\x18\x14 \x03(\x0b\x32%.bnet.protocol.account.AccountLicense\"K\n\x13GameAccountBlobList\x12\x34\n\x04\x62lob\x18\x01 \x03(\x0b\x32&.bnet.protocol.account.GameAccountBlob\"\x8e\x01\n\x10\x41\x63\x63ountReference\x12\n\n\x02id\x18\x01 \x01(\x07\x12\r\n\x05\x65mail\x18\x02 \x01(\t\x12\x38\n\x06handle\x18\x03 \x01(\x0b\x32(.bnet.protocol.account.GameAccountHandle\x12\x12\n\nbattle_tag\x18\x04 \x01(\t\x12\x11\n\x06region\x18\n \x01(\r:\x01\x30\"\x9c\x02\n\x06Wallet\x12\x0e\n\x06region\x18\x01 \x02(\r\x12\x11\n\twallet_id\x18\x02 \x02(\x04\x12\x13\n\x0bwallet_type\x18\x03 \x02(\r\x12\x13\n\x0b\x64\x65scription\x18\x04 \x01(\t\x12\x12\n\ncountry_id\x18\x05 \x02(\r\x12\r\n\x05state\x18\x06 \x01(\t\x12\x0c\n\x04\x63ity\x18\x07 \x01(\t\x12\x13\n\x0bpostal_code\x18\x08 \x01(\t\x12\x14\n\x0cpayment_info\x18\t \x01(\x0c\x12\x0b\n\x03\x62in\x18\n \x01(\t\x12\x11\n\tlocale_id\x18\x0b \x01(\t\x12\x0e\n\x06street\x18\x0c \x01(\t\x12\x12\n\nfirst_name\x18\r \x01(\t\x12\x11\n\tlast_name\x18\x0e \x01(\t\x12\x12\n\nbirth_date\x18\x0f \x01(\x04\"9\n\x07Wallets\x12.\n\x07wallets\x18\x01 \x03(\x0b\x32\x1d.bnet.protocol.account.Wallet\"T\n\x13\x43urrencyRestriction\x12\x10\n\x08\x63urrency\x18\x01 \x02(\t\x12\x19\n\x11\x61uthenticator_cap\x18\x02 \x02(\t\x12\x10\n\x08soft_cap\x18\x03 \x02(\t\"*\n\nProgramTag\x12\x0f\n\x07program\x18\x01 \x01(\x07\x12\x0b\n\x03tag\x18\x02 \x01(\x07\"(\n\tRegionTag\x12\x0e\n\x06region\x18\x01 \x01(\x07\x12\x0b\n\x03tag\x18\x02 \x01(\x07\"\xaa\x02\n\x10\x41\x63\x63ountFieldTags\x12\x1e\n\x16\x61\x63\x63ount_level_info_tag\x18\x02 \x01(\x07\x12\x18\n\x10privacy_info_tag\x18\x03 \x01(\x07\x12!\n\x19parental_control_info_tag\x18\x04 \x01(\x07\x12?\n\x14game_level_info_tags\x18\x07 \x03(\x0b\x32!.bnet.protocol.account.ProgramTag\x12;\n\x10game_status_tags\x18\t \x03(\x0b\x32!.bnet.protocol.account.ProgramTag\x12;\n\x11game_account_tags\x18\x0b \x03(\x0b\x32 .bnet.protocol.account.RegionTag\"h\n\x14GameAccountFieldTags\x12\x1b\n\x13game_level_info_tag\x18\x02 \x01(\x07\x12\x1a\n\x12game_time_info_tag\x18\x03 \x01(\x07\x12\x17\n\x0fgame_status_tag\x18\x04 \x01(\x07\"\xe3\x01\n\x13\x41\x63\x63ountFieldOptions\x12\x12\n\nall_fields\x18\x01 \x01(\x08\x12 \n\x18\x66ield_account_level_info\x18\x02 \x01(\x08\x12\x1a\n\x12\x66ield_privacy_info\x18\x03 \x01(\x08\x12#\n\x1b\x66ield_parental_control_info\x18\x04 \x01(\x08\x12\x1d\n\x15\x66ield_game_level_info\x18\x06 \x01(\x08\x12\x19\n\x11\x66ield_game_status\x18\x07 \x01(\x08\x12\x1b\n\x13\x66ield_game_accounts\x18\x08 \x01(\x08\"\x85\x01\n\x17GameAccountFieldOptions\x12\x12\n\nall_fields\x18\x01 \x01(\x08\x12\x1d\n\x15\x66ield_game_level_info\x18\x02 \x01(\x08\x12\x1c\n\x14\x66ield_game_time_info\x18\x03 \x01(\x08\x12\x19\n\x11\x66ield_game_status\x18\x04 \x01(\x08\"\xf1\x02\n\x13SubscriberReference\x12\x14\n\tobject_id\x18\x01 \x01(\x04:\x01\x30\x12*\n\tentity_id\x18\x02 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12\x43\n\x0f\x61\x63\x63ount_options\x18\x03 \x01(\x0b\x32*.bnet.protocol.account.AccountFieldOptions\x12=\n\x0c\x61\x63\x63ount_tags\x18\x04 \x01(\x0b\x32\'.bnet.protocol.account.AccountFieldTags\x12L\n\x14game_account_options\x18\x05 \x01(\x0b\x32..bnet.protocol.account.GameAccountFieldOptions\x12\x46\n\x11game_account_tags\x18\x06 \x01(\x0b\x32+.bnet.protocol.account.GameAccountFieldTags\"\x90\x01\n\x10\x41\x63\x63ountLevelInfo\x12\x37\n\x08licenses\x18\x03 \x03(\x0b\x32%.bnet.protocol.account.AccountLicense\x12\x18\n\x10\x64\x65\x66\x61ult_currency\x18\x04 \x01(\x07\x12\x0f\n\x07\x63ountry\x18\x05 \x01(\t\x12\x18\n\x10preferred_region\x18\x06 \x01(\r\"\xa4\x02\n\x0bPrivacyInfo\x12\x14\n\x0cis_using_rid\x18\x03 \x01(\x08\x12+\n#is_real_id_visible_for_view_friends\x18\x04 \x01(\x08\x12$\n\x1cis_hidden_from_friend_finder\x18\x05 \x01(\x08\x12^\n\x11game_info_privacy\x18\x06 \x01(\x0e\x32\x32.bnet.protocol.account.PrivacyInfo.GameInfoPrivacy:\x0fPRIVACY_FRIENDS\"L\n\x0fGameInfoPrivacy\x12\x0e\n\nPRIVACY_ME\x10\x00\x12\x13\n\x0fPRIVACY_FRIENDS\x10\x01\x12\x14\n\x10PRIVACY_EVERYONE\x10\x02\"\xa4\x01\n\x13ParentalControlInfo\x12\x10\n\x08timezone\x18\x03 \x01(\t\x12\x17\n\x0fminutes_per_day\x18\x04 \x01(\r\x12\x18\n\x10minutes_per_week\x18\x05 \x01(\r\x12\x19\n\x11\x63\x61n_receive_voice\x18\x06 \x01(\x08\x12\x16\n\x0e\x63\x61n_send_voice\x18\x07 \x01(\x08\x12\x15\n\rplay_schedule\x18\x08 \x03(\x08\"\xed\x01\n\rGameLevelInfo\x12\x1a\n\x12is_starter_edition\x18\x03 \x01(\x08\x12\x10\n\x08is_trial\x18\x04 \x01(\x08\x12\x13\n\x0bis_lifetime\x18\x05 \x01(\x08\x12\x15\n\ris_restricted\x18\x06 \x01(\x08\x12\x0f\n\x07is_beta\x18\x07 \x01(\x08\x12\x0c\n\x04name\x18\x08 \x01(\t\x12\x0f\n\x07program\x18\t \x01(\x07\x12\x37\n\x08licenses\x18\n \x03(\x0b\x32%.bnet.protocol.account.AccountLicense\x12\x19\n\x11realm_permissions\x18\x0b \x01(\r\"\x85\x01\n\x0cGameTimeInfo\x12\x1e\n\x16is_unlimited_play_time\x18\x03 \x01(\x08\x12\x19\n\x11play_time_expires\x18\x05 \x01(\x04\x12\x17\n\x0fis_subscription\x18\x06 \x01(\x08\x12!\n\x19is_recurring_subscription\x18\x07 \x01(\x08\"\x87\x01\n\x15GameTimeRemainingInfo\x12\x19\n\x11minutes_remaining\x18\x01 \x01(\r\x12(\n parental_daily_minutes_remaining\x18\x02 \x01(\r\x12)\n!parental_weekly_minutes_remaining\x18\x03 \x01(\r\"b\n\nGameStatus\x12\x14\n\x0cis_suspended\x18\x04 \x01(\x08\x12\x11\n\tis_banned\x18\x05 \x01(\x08\x12\x1a\n\x12suspension_expires\x18\x06 \x01(\x04\x12\x0f\n\x07program\x18\x07 \x01(\x07\"\xb3\x01\n\x0fGameSessionInfo\x12\x12\n\nstart_time\x18\x03 \x01(\r\x12<\n\x08location\x18\x04 \x01(\x0b\x32*.bnet.protocol.account.GameSessionLocation\x12\x16\n\x0ehas_benefactor\x18\x05 \x01(\x08\x12\x14\n\x0cis_using_igr\x18\x06 \x01(\x08\x12 \n\x18parental_controls_active\x18\x07 \x01(\x08\"B\n\x15GameSessionUpdateInfo\x12)\n\x04\x63\x61is\x18\x08 \x01(\x0b\x32\x1b.bnet.protocol.account.CAIS\"H\n\x13GameSessionLocation\x12\x12\n\nip_address\x18\x01 \x01(\t\x12\x0f\n\x07\x63ountry\x18\x02 \x01(\r\x12\x0c\n\x04\x63ity\x18\x03 \x01(\t\"O\n\x04\x43\x41IS\x12\x16\n\x0eplayed_minutes\x18\x01 \x01(\r\x12\x16\n\x0erested_minutes\x18\x02 \x01(\r\x12\x17\n\x0flast_heard_time\x18\x03 \x01(\x04\"[\n\x0fGameAccountList\x12\x0e\n\x06region\x18\x03 \x01(\r\x12\x38\n\x06handle\x18\x04 \x03(\x0b\x32(.bnet.protocol.account.GameAccountHandle\"\x8e\x03\n\x0c\x41\x63\x63ountState\x12\x43\n\x12\x61\x63\x63ount_level_info\x18\x01 \x01(\x0b\x32\'.bnet.protocol.account.AccountLevelInfo\x12\x38\n\x0cprivacy_info\x18\x02 \x01(\x0b\x32\".bnet.protocol.account.PrivacyInfo\x12I\n\x15parental_control_info\x18\x03 \x01(\x0b\x32*.bnet.protocol.account.ParentalControlInfo\x12=\n\x0fgame_level_info\x18\x05 \x03(\x0b\x32$.bnet.protocol.account.GameLevelInfo\x12\x36\n\x0bgame_status\x18\x06 \x03(\x0b\x32!.bnet.protocol.account.GameStatus\x12=\n\rgame_accounts\x18\x07 \x03(\x0b\x32&.bnet.protocol.account.GameAccountList\"\x87\x01\n\x12\x41\x63\x63ountStateTagged\x12:\n\raccount_state\x18\x01 \x01(\x0b\x32#.bnet.protocol.account.AccountState\x12\x35\n\x04tags\x18\x02 \x01(\x0b\x32\'.bnet.protocol.account.AccountFieldTags\"\xc6\x01\n\x10GameAccountState\x12=\n\x0fgame_level_info\x18\x01 \x01(\x0b\x32$.bnet.protocol.account.GameLevelInfo\x12;\n\x0egame_time_info\x18\x02 \x01(\x0b\x32#.bnet.protocol.account.GameTimeInfo\x12\x36\n\x0bgame_status\x18\x03 \x01(\x0b\x32!.bnet.protocol.account.GameStatus\"\xa5\x01\n\x16GameAccountStateTagged\x12\x43\n\x12game_account_state\x18\x01 \x01(\x0b\x32\'.bnet.protocol.account.GameAccountState\x12\x46\n\x11game_account_tags\x18\x02 \x01(\x0b\x32+.bnet.protocol.account.GameAccountFieldTags' , - dependencies=[bnet.entity_pb2.DESCRIPTOR,]) -_sym_db.RegisterFileDescriptor(DESCRIPTOR) + dependencies=[bnet_dot_entity__pb2.DESCRIPTOR,]) @@ -34,19 +33,19 @@ values=[ _descriptor.EnumValueDescriptor( name='PRIVACY_ME', index=0, number=0, - options=None, + serialized_options=None, type=None), _descriptor.EnumValueDescriptor( name='PRIVACY_FRIENDS', index=1, number=1, - options=None, + serialized_options=None, type=None), _descriptor.EnumValueDescriptor( name='PRIVACY_EVERYONE', index=2, number=2, - options=None, + serialized_options=None, type=None), ], containing_type=None, - options=None, + serialized_options=None, serialized_start=3659, serialized_end=3735, ) @@ -66,15 +65,16 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -96,22 +96,23 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='expires', full_name='bnet.protocol.account.AccountLicense.expires', index=1, number=2, type=4, cpp_type=4, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -133,22 +134,23 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='data', full_name='bnet.protocol.account.AccountCredential.data', index=1, number=2, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=_b(""), + has_default_value=False, default_value=b"", message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -170,141 +172,142 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='region', full_name='bnet.protocol.account.AccountBlob.region', index=1, number=3, type=13, cpp_type=3, label=2, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='email', full_name='bnet.protocol.account.AccountBlob.email', index=2, number=4, type=9, cpp_type=9, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='flags', full_name='bnet.protocol.account.AccountBlob.flags', index=3, number=5, type=4, cpp_type=4, label=2, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='secure_release', full_name='bnet.protocol.account.AccountBlob.secure_release', index=4, number=6, type=4, cpp_type=4, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='whitelist_start', full_name='bnet.protocol.account.AccountBlob.whitelist_start', index=5, number=7, type=4, cpp_type=4, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='whitelist_end', full_name='bnet.protocol.account.AccountBlob.whitelist_end', index=6, number=8, type=4, cpp_type=4, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='full_name', full_name='bnet.protocol.account.AccountBlob.full_name', index=7, number=10, type=9, cpp_type=9, label=2, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='licenses', full_name='bnet.protocol.account.AccountBlob.licenses', index=8, number=20, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='credentials', full_name='bnet.protocol.account.AccountBlob.credentials', index=9, number=21, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='account_links', full_name='bnet.protocol.account.AccountBlob.account_links', index=10, number=22, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='battle_tag', full_name='bnet.protocol.account.AccountBlob.battle_tag', index=11, number=23, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='default_currency', full_name='bnet.protocol.account.AccountBlob.default_currency', index=12, number=25, type=7, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='legal_region', full_name='bnet.protocol.account.AccountBlob.legal_region', index=13, number=26, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='legal_locale', full_name='bnet.protocol.account.AccountBlob.legal_locale', index=14, number=27, type=7, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='cache_expiration', full_name='bnet.protocol.account.AccountBlob.cache_expiration', index=15, number=30, type=4, cpp_type=4, label=2, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='parental_control_info', full_name='bnet.protocol.account.AccountBlob.parental_control_info', index=16, number=31, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='country', full_name='bnet.protocol.account.AccountBlob.country', index=17, number=32, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='preferred_region', full_name='bnet.protocol.account.AccountBlob.preferred_region', index=18, number=33, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -326,15 +329,16 @@ has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -356,29 +360,30 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='program', full_name='bnet.protocol.account.GameAccountHandle.program', index=1, number=2, type=7, cpp_type=3, label=2, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='region', full_name='bnet.protocol.account.GameAccountHandle.region', index=2, number=3, type=13, cpp_type=3, label=2, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -400,22 +405,23 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='name', full_name='bnet.protocol.account.GameAccountLink.name', index=1, number=2, type=9, cpp_type=9, label=2, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -437,99 +443,100 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='name', full_name='bnet.protocol.account.GameAccountBlob.name', index=1, number=2, type=9, cpp_type=9, label=1, - has_default_value=True, default_value=_b("").decode('utf-8'), + has_default_value=True, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='realm_permissions', full_name='bnet.protocol.account.GameAccountBlob.realm_permissions', index=2, number=3, type=13, cpp_type=3, label=1, has_default_value=True, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='status', full_name='bnet.protocol.account.GameAccountBlob.status', index=3, number=4, type=13, cpp_type=3, label=2, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='flags', full_name='bnet.protocol.account.GameAccountBlob.flags', index=4, number=5, type=4, cpp_type=4, label=1, has_default_value=True, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='billing_flags', full_name='bnet.protocol.account.GameAccountBlob.billing_flags', index=5, number=6, type=13, cpp_type=3, label=1, has_default_value=True, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='cache_expiration', full_name='bnet.protocol.account.GameAccountBlob.cache_expiration', index=6, number=7, type=4, cpp_type=4, label=2, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='subscription_expiration', full_name='bnet.protocol.account.GameAccountBlob.subscription_expiration', index=7, number=10, type=4, cpp_type=4, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='units_remaining', full_name='bnet.protocol.account.GameAccountBlob.units_remaining', index=8, number=11, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='status_expiration', full_name='bnet.protocol.account.GameAccountBlob.status_expiration', index=9, number=12, type=4, cpp_type=4, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='box_level', full_name='bnet.protocol.account.GameAccountBlob.box_level', index=10, number=13, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='box_level_expiration', full_name='bnet.protocol.account.GameAccountBlob.box_level_expiration', index=11, number=14, type=4, cpp_type=4, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='licenses', full_name='bnet.protocol.account.GameAccountBlob.licenses', index=12, number=20, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -551,15 +558,16 @@ has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -581,43 +589,44 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='email', full_name='bnet.protocol.account.AccountReference.email', index=1, number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='handle', full_name='bnet.protocol.account.AccountReference.handle', index=2, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='battle_tag', full_name='bnet.protocol.account.AccountReference.battle_tag', index=3, number=4, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='region', full_name='bnet.protocol.account.AccountReference.region', index=4, number=10, type=13, cpp_type=3, label=1, has_default_value=True, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -639,113 +648,114 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='wallet_id', full_name='bnet.protocol.account.Wallet.wallet_id', index=1, number=2, type=4, cpp_type=4, label=2, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='wallet_type', full_name='bnet.protocol.account.Wallet.wallet_type', index=2, number=3, type=13, cpp_type=3, label=2, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='description', full_name='bnet.protocol.account.Wallet.description', index=3, number=4, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='country_id', full_name='bnet.protocol.account.Wallet.country_id', index=4, number=5, type=13, cpp_type=3, label=2, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='state', full_name='bnet.protocol.account.Wallet.state', index=5, number=6, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='city', full_name='bnet.protocol.account.Wallet.city', index=6, number=7, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='postal_code', full_name='bnet.protocol.account.Wallet.postal_code', index=7, number=8, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='payment_info', full_name='bnet.protocol.account.Wallet.payment_info', index=8, number=9, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=_b(""), + has_default_value=False, default_value=b"", message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='bin', full_name='bnet.protocol.account.Wallet.bin', index=9, number=10, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='locale_id', full_name='bnet.protocol.account.Wallet.locale_id', index=10, number=11, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='street', full_name='bnet.protocol.account.Wallet.street', index=11, number=12, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='first_name', full_name='bnet.protocol.account.Wallet.first_name', index=12, number=13, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='last_name', full_name='bnet.protocol.account.Wallet.last_name', index=13, number=14, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='birth_date', full_name='bnet.protocol.account.Wallet.birth_date', index=14, number=15, type=4, cpp_type=4, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -767,15 +777,16 @@ has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -794,32 +805,33 @@ _descriptor.FieldDescriptor( name='currency', full_name='bnet.protocol.account.CurrencyRestriction.currency', index=0, number=1, type=9, cpp_type=9, label=2, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='authenticator_cap', full_name='bnet.protocol.account.CurrencyRestriction.authenticator_cap', index=1, number=2, type=9, cpp_type=9, label=2, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='soft_cap', full_name='bnet.protocol.account.CurrencyRestriction.soft_cap', index=2, number=3, type=9, cpp_type=9, label=2, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -841,22 +853,23 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='tag', full_name='bnet.protocol.account.ProgramTag.tag', index=1, number=2, type=7, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -878,22 +891,23 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='tag', full_name='bnet.protocol.account.RegionTag.tag', index=1, number=2, type=7, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -915,50 +929,51 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='privacy_info_tag', full_name='bnet.protocol.account.AccountFieldTags.privacy_info_tag', index=1, number=3, type=7, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='parental_control_info_tag', full_name='bnet.protocol.account.AccountFieldTags.parental_control_info_tag', index=2, number=4, type=7, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='game_level_info_tags', full_name='bnet.protocol.account.AccountFieldTags.game_level_info_tags', index=3, number=7, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='game_status_tags', full_name='bnet.protocol.account.AccountFieldTags.game_status_tags', index=4, number=9, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='game_account_tags', full_name='bnet.protocol.account.AccountFieldTags.game_account_tags', index=5, number=11, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -980,29 +995,30 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='game_time_info_tag', full_name='bnet.protocol.account.GameAccountFieldTags.game_time_info_tag', index=1, number=3, type=7, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='game_status_tag', full_name='bnet.protocol.account.GameAccountFieldTags.game_status_tag', index=2, number=4, type=7, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -1024,57 +1040,58 @@ has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='field_account_level_info', full_name='bnet.protocol.account.AccountFieldOptions.field_account_level_info', index=1, number=2, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='field_privacy_info', full_name='bnet.protocol.account.AccountFieldOptions.field_privacy_info', index=2, number=3, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='field_parental_control_info', full_name='bnet.protocol.account.AccountFieldOptions.field_parental_control_info', index=3, number=4, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='field_game_level_info', full_name='bnet.protocol.account.AccountFieldOptions.field_game_level_info', index=4, number=6, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='field_game_status', full_name='bnet.protocol.account.AccountFieldOptions.field_game_status', index=5, number=7, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='field_game_accounts', full_name='bnet.protocol.account.AccountFieldOptions.field_game_accounts', index=6, number=8, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -1096,36 +1113,37 @@ has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='field_game_level_info', full_name='bnet.protocol.account.GameAccountFieldOptions.field_game_level_info', index=1, number=2, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='field_game_time_info', full_name='bnet.protocol.account.GameAccountFieldOptions.field_game_time_info', index=2, number=3, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='field_game_status', full_name='bnet.protocol.account.GameAccountFieldOptions.field_game_status', index=3, number=4, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -1147,50 +1165,51 @@ has_default_value=True, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='entity_id', full_name='bnet.protocol.account.SubscriberReference.entity_id', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='account_options', full_name='bnet.protocol.account.SubscriberReference.account_options', index=2, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='account_tags', full_name='bnet.protocol.account.SubscriberReference.account_tags', index=3, number=4, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='game_account_options', full_name='bnet.protocol.account.SubscriberReference.game_account_options', index=4, number=5, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='game_account_tags', full_name='bnet.protocol.account.SubscriberReference.game_account_tags', index=5, number=6, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -1212,36 +1231,37 @@ has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='default_currency', full_name='bnet.protocol.account.AccountLevelInfo.default_currency', index=1, number=4, type=7, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='country', full_name='bnet.protocol.account.AccountLevelInfo.country', index=2, number=5, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='preferred_region', full_name='bnet.protocol.account.AccountLevelInfo.preferred_region', index=3, number=6, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -1263,28 +1283,28 @@ has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='is_real_id_visible_for_view_friends', full_name='bnet.protocol.account.PrivacyInfo.is_real_id_visible_for_view_friends', index=1, number=4, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='is_hidden_from_friend_finder', full_name='bnet.protocol.account.PrivacyInfo.is_hidden_from_friend_finder', index=2, number=5, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='game_info_privacy', full_name='bnet.protocol.account.PrivacyInfo.game_info_privacy', index=3, number=6, type=14, cpp_type=8, label=1, has_default_value=True, default_value=1, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], @@ -1292,8 +1312,9 @@ enum_types=[ _PRIVACYINFO_GAMEINFOPRIVACY, ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -1312,53 +1333,54 @@ _descriptor.FieldDescriptor( name='timezone', full_name='bnet.protocol.account.ParentalControlInfo.timezone', index=0, number=3, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='minutes_per_day', full_name='bnet.protocol.account.ParentalControlInfo.minutes_per_day', index=1, number=4, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='minutes_per_week', full_name='bnet.protocol.account.ParentalControlInfo.minutes_per_week', index=2, number=5, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='can_receive_voice', full_name='bnet.protocol.account.ParentalControlInfo.can_receive_voice', index=3, number=6, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='can_send_voice', full_name='bnet.protocol.account.ParentalControlInfo.can_send_voice', index=4, number=7, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='play_schedule', full_name='bnet.protocol.account.ParentalControlInfo.play_schedule', index=5, number=8, type=8, cpp_type=7, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -1380,71 +1402,72 @@ has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='is_trial', full_name='bnet.protocol.account.GameLevelInfo.is_trial', index=1, number=4, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='is_lifetime', full_name='bnet.protocol.account.GameLevelInfo.is_lifetime', index=2, number=5, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='is_restricted', full_name='bnet.protocol.account.GameLevelInfo.is_restricted', index=3, number=6, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='is_beta', full_name='bnet.protocol.account.GameLevelInfo.is_beta', index=4, number=7, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='name', full_name='bnet.protocol.account.GameLevelInfo.name', index=5, number=8, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='program', full_name='bnet.protocol.account.GameLevelInfo.program', index=6, number=9, type=7, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='licenses', full_name='bnet.protocol.account.GameLevelInfo.licenses', index=7, number=10, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='realm_permissions', full_name='bnet.protocol.account.GameLevelInfo.realm_permissions', index=8, number=11, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -1466,36 +1489,37 @@ has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='play_time_expires', full_name='bnet.protocol.account.GameTimeInfo.play_time_expires', index=1, number=5, type=4, cpp_type=4, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='is_subscription', full_name='bnet.protocol.account.GameTimeInfo.is_subscription', index=2, number=6, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='is_recurring_subscription', full_name='bnet.protocol.account.GameTimeInfo.is_recurring_subscription', index=3, number=7, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -1517,29 +1541,30 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='parental_daily_minutes_remaining', full_name='bnet.protocol.account.GameTimeRemainingInfo.parental_daily_minutes_remaining', index=1, number=2, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='parental_weekly_minutes_remaining', full_name='bnet.protocol.account.GameTimeRemainingInfo.parental_weekly_minutes_remaining', index=2, number=3, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -1561,36 +1586,37 @@ has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='is_banned', full_name='bnet.protocol.account.GameStatus.is_banned', index=1, number=5, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='suspension_expires', full_name='bnet.protocol.account.GameStatus.suspension_expires', index=2, number=6, type=4, cpp_type=4, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='program', full_name='bnet.protocol.account.GameStatus.program', index=3, number=7, type=7, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -1612,43 +1638,44 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='location', full_name='bnet.protocol.account.GameSessionInfo.location', index=1, number=4, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='has_benefactor', full_name='bnet.protocol.account.GameSessionInfo.has_benefactor', index=2, number=5, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='is_using_igr', full_name='bnet.protocol.account.GameSessionInfo.is_using_igr', index=3, number=6, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='parental_controls_active', full_name='bnet.protocol.account.GameSessionInfo.parental_controls_active', index=4, number=7, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -1670,15 +1697,16 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -1697,32 +1725,33 @@ _descriptor.FieldDescriptor( name='ip_address', full_name='bnet.protocol.account.GameSessionLocation.ip_address', index=0, number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='country', full_name='bnet.protocol.account.GameSessionLocation.country', index=1, number=2, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='city', full_name='bnet.protocol.account.GameSessionLocation.city', index=2, number=3, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -1744,29 +1773,30 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='rested_minutes', full_name='bnet.protocol.account.CAIS.rested_minutes', index=1, number=2, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='last_heard_time', full_name='bnet.protocol.account.CAIS.last_heard_time', index=2, number=3, type=4, cpp_type=4, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -1788,22 +1818,23 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='handle', full_name='bnet.protocol.account.GameAccountList.handle', index=1, number=4, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -1825,50 +1856,51 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='privacy_info', full_name='bnet.protocol.account.AccountState.privacy_info', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='parental_control_info', full_name='bnet.protocol.account.AccountState.parental_control_info', index=2, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='game_level_info', full_name='bnet.protocol.account.AccountState.game_level_info', index=3, number=5, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='game_status', full_name='bnet.protocol.account.AccountState.game_status', index=4, number=6, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='game_accounts', full_name='bnet.protocol.account.AccountState.game_accounts', index=5, number=7, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -1890,22 +1922,23 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='tags', full_name='bnet.protocol.account.AccountStateTagged.tags', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -1927,29 +1960,30 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='game_time_info', full_name='bnet.protocol.account.GameAccountState.game_time_info', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='game_status', full_name='bnet.protocol.account.GameAccountState.game_status', index=2, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -1971,22 +2005,23 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='game_account_tags', full_name='bnet.protocol.account.GameAccountStateTagged.game_account_tags', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -2008,7 +2043,7 @@ _ACCOUNTFIELDTAGS.fields_by_name['game_level_info_tags'].message_type = _PROGRAMTAG _ACCOUNTFIELDTAGS.fields_by_name['game_status_tags'].message_type = _PROGRAMTAG _ACCOUNTFIELDTAGS.fields_by_name['game_account_tags'].message_type = _REGIONTAG -_SUBSCRIBERREFERENCE.fields_by_name['entity_id'].message_type = bnet.entity_pb2._ENTITYID +_SUBSCRIBERREFERENCE.fields_by_name['entity_id'].message_type = bnet_dot_entity__pb2._ENTITYID _SUBSCRIBERREFERENCE.fields_by_name['account_options'].message_type = _ACCOUNTFIELDOPTIONS _SUBSCRIBERREFERENCE.fields_by_name['account_tags'].message_type = _ACCOUNTFIELDTAGS _SUBSCRIBERREFERENCE.fields_by_name['game_account_options'].message_type = _GAMEACCOUNTFIELDOPTIONS @@ -2069,257 +2104,258 @@ DESCRIPTOR.message_types_by_name['AccountStateTagged'] = _ACCOUNTSTATETAGGED DESCRIPTOR.message_types_by_name['GameAccountState'] = _GAMEACCOUNTSTATE DESCRIPTOR.message_types_by_name['GameAccountStateTagged'] = _GAMEACCOUNTSTATETAGGED +_sym_db.RegisterFileDescriptor(DESCRIPTOR) -AccountId = _reflection.GeneratedProtocolMessageType('AccountId', (_message.Message,), dict( - DESCRIPTOR = _ACCOUNTID, - __module__ = 'bnet.account_types_pb2' +AccountId = _reflection.GeneratedProtocolMessageType('AccountId', (_message.Message,), { + 'DESCRIPTOR' : _ACCOUNTID, + '__module__' : 'bnet.account_types_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.account.AccountId) - )) + }) _sym_db.RegisterMessage(AccountId) -AccountLicense = _reflection.GeneratedProtocolMessageType('AccountLicense', (_message.Message,), dict( - DESCRIPTOR = _ACCOUNTLICENSE, - __module__ = 'bnet.account_types_pb2' +AccountLicense = _reflection.GeneratedProtocolMessageType('AccountLicense', (_message.Message,), { + 'DESCRIPTOR' : _ACCOUNTLICENSE, + '__module__' : 'bnet.account_types_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.account.AccountLicense) - )) + }) _sym_db.RegisterMessage(AccountLicense) -AccountCredential = _reflection.GeneratedProtocolMessageType('AccountCredential', (_message.Message,), dict( - DESCRIPTOR = _ACCOUNTCREDENTIAL, - __module__ = 'bnet.account_types_pb2' +AccountCredential = _reflection.GeneratedProtocolMessageType('AccountCredential', (_message.Message,), { + 'DESCRIPTOR' : _ACCOUNTCREDENTIAL, + '__module__' : 'bnet.account_types_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.account.AccountCredential) - )) + }) _sym_db.RegisterMessage(AccountCredential) -AccountBlob = _reflection.GeneratedProtocolMessageType('AccountBlob', (_message.Message,), dict( - DESCRIPTOR = _ACCOUNTBLOB, - __module__ = 'bnet.account_types_pb2' +AccountBlob = _reflection.GeneratedProtocolMessageType('AccountBlob', (_message.Message,), { + 'DESCRIPTOR' : _ACCOUNTBLOB, + '__module__' : 'bnet.account_types_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.account.AccountBlob) - )) + }) _sym_db.RegisterMessage(AccountBlob) -AccountBlobList = _reflection.GeneratedProtocolMessageType('AccountBlobList', (_message.Message,), dict( - DESCRIPTOR = _ACCOUNTBLOBLIST, - __module__ = 'bnet.account_types_pb2' +AccountBlobList = _reflection.GeneratedProtocolMessageType('AccountBlobList', (_message.Message,), { + 'DESCRIPTOR' : _ACCOUNTBLOBLIST, + '__module__' : 'bnet.account_types_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.account.AccountBlobList) - )) + }) _sym_db.RegisterMessage(AccountBlobList) -GameAccountHandle = _reflection.GeneratedProtocolMessageType('GameAccountHandle', (_message.Message,), dict( - DESCRIPTOR = _GAMEACCOUNTHANDLE, - __module__ = 'bnet.account_types_pb2' +GameAccountHandle = _reflection.GeneratedProtocolMessageType('GameAccountHandle', (_message.Message,), { + 'DESCRIPTOR' : _GAMEACCOUNTHANDLE, + '__module__' : 'bnet.account_types_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.account.GameAccountHandle) - )) + }) _sym_db.RegisterMessage(GameAccountHandle) -GameAccountLink = _reflection.GeneratedProtocolMessageType('GameAccountLink', (_message.Message,), dict( - DESCRIPTOR = _GAMEACCOUNTLINK, - __module__ = 'bnet.account_types_pb2' +GameAccountLink = _reflection.GeneratedProtocolMessageType('GameAccountLink', (_message.Message,), { + 'DESCRIPTOR' : _GAMEACCOUNTLINK, + '__module__' : 'bnet.account_types_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.account.GameAccountLink) - )) + }) _sym_db.RegisterMessage(GameAccountLink) -GameAccountBlob = _reflection.GeneratedProtocolMessageType('GameAccountBlob', (_message.Message,), dict( - DESCRIPTOR = _GAMEACCOUNTBLOB, - __module__ = 'bnet.account_types_pb2' +GameAccountBlob = _reflection.GeneratedProtocolMessageType('GameAccountBlob', (_message.Message,), { + 'DESCRIPTOR' : _GAMEACCOUNTBLOB, + '__module__' : 'bnet.account_types_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.account.GameAccountBlob) - )) + }) _sym_db.RegisterMessage(GameAccountBlob) -GameAccountBlobList = _reflection.GeneratedProtocolMessageType('GameAccountBlobList', (_message.Message,), dict( - DESCRIPTOR = _GAMEACCOUNTBLOBLIST, - __module__ = 'bnet.account_types_pb2' +GameAccountBlobList = _reflection.GeneratedProtocolMessageType('GameAccountBlobList', (_message.Message,), { + 'DESCRIPTOR' : _GAMEACCOUNTBLOBLIST, + '__module__' : 'bnet.account_types_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.account.GameAccountBlobList) - )) + }) _sym_db.RegisterMessage(GameAccountBlobList) -AccountReference = _reflection.GeneratedProtocolMessageType('AccountReference', (_message.Message,), dict( - DESCRIPTOR = _ACCOUNTREFERENCE, - __module__ = 'bnet.account_types_pb2' +AccountReference = _reflection.GeneratedProtocolMessageType('AccountReference', (_message.Message,), { + 'DESCRIPTOR' : _ACCOUNTREFERENCE, + '__module__' : 'bnet.account_types_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.account.AccountReference) - )) + }) _sym_db.RegisterMessage(AccountReference) -Wallet = _reflection.GeneratedProtocolMessageType('Wallet', (_message.Message,), dict( - DESCRIPTOR = _WALLET, - __module__ = 'bnet.account_types_pb2' +Wallet = _reflection.GeneratedProtocolMessageType('Wallet', (_message.Message,), { + 'DESCRIPTOR' : _WALLET, + '__module__' : 'bnet.account_types_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.account.Wallet) - )) + }) _sym_db.RegisterMessage(Wallet) -Wallets = _reflection.GeneratedProtocolMessageType('Wallets', (_message.Message,), dict( - DESCRIPTOR = _WALLETS, - __module__ = 'bnet.account_types_pb2' +Wallets = _reflection.GeneratedProtocolMessageType('Wallets', (_message.Message,), { + 'DESCRIPTOR' : _WALLETS, + '__module__' : 'bnet.account_types_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.account.Wallets) - )) + }) _sym_db.RegisterMessage(Wallets) -CurrencyRestriction = _reflection.GeneratedProtocolMessageType('CurrencyRestriction', (_message.Message,), dict( - DESCRIPTOR = _CURRENCYRESTRICTION, - __module__ = 'bnet.account_types_pb2' +CurrencyRestriction = _reflection.GeneratedProtocolMessageType('CurrencyRestriction', (_message.Message,), { + 'DESCRIPTOR' : _CURRENCYRESTRICTION, + '__module__' : 'bnet.account_types_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.account.CurrencyRestriction) - )) + }) _sym_db.RegisterMessage(CurrencyRestriction) -ProgramTag = _reflection.GeneratedProtocolMessageType('ProgramTag', (_message.Message,), dict( - DESCRIPTOR = _PROGRAMTAG, - __module__ = 'bnet.account_types_pb2' +ProgramTag = _reflection.GeneratedProtocolMessageType('ProgramTag', (_message.Message,), { + 'DESCRIPTOR' : _PROGRAMTAG, + '__module__' : 'bnet.account_types_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.account.ProgramTag) - )) + }) _sym_db.RegisterMessage(ProgramTag) -RegionTag = _reflection.GeneratedProtocolMessageType('RegionTag', (_message.Message,), dict( - DESCRIPTOR = _REGIONTAG, - __module__ = 'bnet.account_types_pb2' +RegionTag = _reflection.GeneratedProtocolMessageType('RegionTag', (_message.Message,), { + 'DESCRIPTOR' : _REGIONTAG, + '__module__' : 'bnet.account_types_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.account.RegionTag) - )) + }) _sym_db.RegisterMessage(RegionTag) -AccountFieldTags = _reflection.GeneratedProtocolMessageType('AccountFieldTags', (_message.Message,), dict( - DESCRIPTOR = _ACCOUNTFIELDTAGS, - __module__ = 'bnet.account_types_pb2' +AccountFieldTags = _reflection.GeneratedProtocolMessageType('AccountFieldTags', (_message.Message,), { + 'DESCRIPTOR' : _ACCOUNTFIELDTAGS, + '__module__' : 'bnet.account_types_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.account.AccountFieldTags) - )) + }) _sym_db.RegisterMessage(AccountFieldTags) -GameAccountFieldTags = _reflection.GeneratedProtocolMessageType('GameAccountFieldTags', (_message.Message,), dict( - DESCRIPTOR = _GAMEACCOUNTFIELDTAGS, - __module__ = 'bnet.account_types_pb2' +GameAccountFieldTags = _reflection.GeneratedProtocolMessageType('GameAccountFieldTags', (_message.Message,), { + 'DESCRIPTOR' : _GAMEACCOUNTFIELDTAGS, + '__module__' : 'bnet.account_types_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.account.GameAccountFieldTags) - )) + }) _sym_db.RegisterMessage(GameAccountFieldTags) -AccountFieldOptions = _reflection.GeneratedProtocolMessageType('AccountFieldOptions', (_message.Message,), dict( - DESCRIPTOR = _ACCOUNTFIELDOPTIONS, - __module__ = 'bnet.account_types_pb2' +AccountFieldOptions = _reflection.GeneratedProtocolMessageType('AccountFieldOptions', (_message.Message,), { + 'DESCRIPTOR' : _ACCOUNTFIELDOPTIONS, + '__module__' : 'bnet.account_types_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.account.AccountFieldOptions) - )) + }) _sym_db.RegisterMessage(AccountFieldOptions) -GameAccountFieldOptions = _reflection.GeneratedProtocolMessageType('GameAccountFieldOptions', (_message.Message,), dict( - DESCRIPTOR = _GAMEACCOUNTFIELDOPTIONS, - __module__ = 'bnet.account_types_pb2' +GameAccountFieldOptions = _reflection.GeneratedProtocolMessageType('GameAccountFieldOptions', (_message.Message,), { + 'DESCRIPTOR' : _GAMEACCOUNTFIELDOPTIONS, + '__module__' : 'bnet.account_types_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.account.GameAccountFieldOptions) - )) + }) _sym_db.RegisterMessage(GameAccountFieldOptions) -SubscriberReference = _reflection.GeneratedProtocolMessageType('SubscriberReference', (_message.Message,), dict( - DESCRIPTOR = _SUBSCRIBERREFERENCE, - __module__ = 'bnet.account_types_pb2' +SubscriberReference = _reflection.GeneratedProtocolMessageType('SubscriberReference', (_message.Message,), { + 'DESCRIPTOR' : _SUBSCRIBERREFERENCE, + '__module__' : 'bnet.account_types_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.account.SubscriberReference) - )) + }) _sym_db.RegisterMessage(SubscriberReference) -AccountLevelInfo = _reflection.GeneratedProtocolMessageType('AccountLevelInfo', (_message.Message,), dict( - DESCRIPTOR = _ACCOUNTLEVELINFO, - __module__ = 'bnet.account_types_pb2' +AccountLevelInfo = _reflection.GeneratedProtocolMessageType('AccountLevelInfo', (_message.Message,), { + 'DESCRIPTOR' : _ACCOUNTLEVELINFO, + '__module__' : 'bnet.account_types_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.account.AccountLevelInfo) - )) + }) _sym_db.RegisterMessage(AccountLevelInfo) -PrivacyInfo = _reflection.GeneratedProtocolMessageType('PrivacyInfo', (_message.Message,), dict( - DESCRIPTOR = _PRIVACYINFO, - __module__ = 'bnet.account_types_pb2' +PrivacyInfo = _reflection.GeneratedProtocolMessageType('PrivacyInfo', (_message.Message,), { + 'DESCRIPTOR' : _PRIVACYINFO, + '__module__' : 'bnet.account_types_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.account.PrivacyInfo) - )) + }) _sym_db.RegisterMessage(PrivacyInfo) -ParentalControlInfo = _reflection.GeneratedProtocolMessageType('ParentalControlInfo', (_message.Message,), dict( - DESCRIPTOR = _PARENTALCONTROLINFO, - __module__ = 'bnet.account_types_pb2' +ParentalControlInfo = _reflection.GeneratedProtocolMessageType('ParentalControlInfo', (_message.Message,), { + 'DESCRIPTOR' : _PARENTALCONTROLINFO, + '__module__' : 'bnet.account_types_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.account.ParentalControlInfo) - )) + }) _sym_db.RegisterMessage(ParentalControlInfo) -GameLevelInfo = _reflection.GeneratedProtocolMessageType('GameLevelInfo', (_message.Message,), dict( - DESCRIPTOR = _GAMELEVELINFO, - __module__ = 'bnet.account_types_pb2' +GameLevelInfo = _reflection.GeneratedProtocolMessageType('GameLevelInfo', (_message.Message,), { + 'DESCRIPTOR' : _GAMELEVELINFO, + '__module__' : 'bnet.account_types_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.account.GameLevelInfo) - )) + }) _sym_db.RegisterMessage(GameLevelInfo) -GameTimeInfo = _reflection.GeneratedProtocolMessageType('GameTimeInfo', (_message.Message,), dict( - DESCRIPTOR = _GAMETIMEINFO, - __module__ = 'bnet.account_types_pb2' +GameTimeInfo = _reflection.GeneratedProtocolMessageType('GameTimeInfo', (_message.Message,), { + 'DESCRIPTOR' : _GAMETIMEINFO, + '__module__' : 'bnet.account_types_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.account.GameTimeInfo) - )) + }) _sym_db.RegisterMessage(GameTimeInfo) -GameTimeRemainingInfo = _reflection.GeneratedProtocolMessageType('GameTimeRemainingInfo', (_message.Message,), dict( - DESCRIPTOR = _GAMETIMEREMAININGINFO, - __module__ = 'bnet.account_types_pb2' +GameTimeRemainingInfo = _reflection.GeneratedProtocolMessageType('GameTimeRemainingInfo', (_message.Message,), { + 'DESCRIPTOR' : _GAMETIMEREMAININGINFO, + '__module__' : 'bnet.account_types_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.account.GameTimeRemainingInfo) - )) + }) _sym_db.RegisterMessage(GameTimeRemainingInfo) -GameStatus = _reflection.GeneratedProtocolMessageType('GameStatus', (_message.Message,), dict( - DESCRIPTOR = _GAMESTATUS, - __module__ = 'bnet.account_types_pb2' +GameStatus = _reflection.GeneratedProtocolMessageType('GameStatus', (_message.Message,), { + 'DESCRIPTOR' : _GAMESTATUS, + '__module__' : 'bnet.account_types_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.account.GameStatus) - )) + }) _sym_db.RegisterMessage(GameStatus) -GameSessionInfo = _reflection.GeneratedProtocolMessageType('GameSessionInfo', (_message.Message,), dict( - DESCRIPTOR = _GAMESESSIONINFO, - __module__ = 'bnet.account_types_pb2' +GameSessionInfo = _reflection.GeneratedProtocolMessageType('GameSessionInfo', (_message.Message,), { + 'DESCRIPTOR' : _GAMESESSIONINFO, + '__module__' : 'bnet.account_types_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.account.GameSessionInfo) - )) + }) _sym_db.RegisterMessage(GameSessionInfo) -GameSessionUpdateInfo = _reflection.GeneratedProtocolMessageType('GameSessionUpdateInfo', (_message.Message,), dict( - DESCRIPTOR = _GAMESESSIONUPDATEINFO, - __module__ = 'bnet.account_types_pb2' +GameSessionUpdateInfo = _reflection.GeneratedProtocolMessageType('GameSessionUpdateInfo', (_message.Message,), { + 'DESCRIPTOR' : _GAMESESSIONUPDATEINFO, + '__module__' : 'bnet.account_types_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.account.GameSessionUpdateInfo) - )) + }) _sym_db.RegisterMessage(GameSessionUpdateInfo) -GameSessionLocation = _reflection.GeneratedProtocolMessageType('GameSessionLocation', (_message.Message,), dict( - DESCRIPTOR = _GAMESESSIONLOCATION, - __module__ = 'bnet.account_types_pb2' +GameSessionLocation = _reflection.GeneratedProtocolMessageType('GameSessionLocation', (_message.Message,), { + 'DESCRIPTOR' : _GAMESESSIONLOCATION, + '__module__' : 'bnet.account_types_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.account.GameSessionLocation) - )) + }) _sym_db.RegisterMessage(GameSessionLocation) -CAIS = _reflection.GeneratedProtocolMessageType('CAIS', (_message.Message,), dict( - DESCRIPTOR = _CAIS, - __module__ = 'bnet.account_types_pb2' +CAIS = _reflection.GeneratedProtocolMessageType('CAIS', (_message.Message,), { + 'DESCRIPTOR' : _CAIS, + '__module__' : 'bnet.account_types_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.account.CAIS) - )) + }) _sym_db.RegisterMessage(CAIS) -GameAccountList = _reflection.GeneratedProtocolMessageType('GameAccountList', (_message.Message,), dict( - DESCRIPTOR = _GAMEACCOUNTLIST, - __module__ = 'bnet.account_types_pb2' +GameAccountList = _reflection.GeneratedProtocolMessageType('GameAccountList', (_message.Message,), { + 'DESCRIPTOR' : _GAMEACCOUNTLIST, + '__module__' : 'bnet.account_types_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.account.GameAccountList) - )) + }) _sym_db.RegisterMessage(GameAccountList) -AccountState = _reflection.GeneratedProtocolMessageType('AccountState', (_message.Message,), dict( - DESCRIPTOR = _ACCOUNTSTATE, - __module__ = 'bnet.account_types_pb2' +AccountState = _reflection.GeneratedProtocolMessageType('AccountState', (_message.Message,), { + 'DESCRIPTOR' : _ACCOUNTSTATE, + '__module__' : 'bnet.account_types_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.account.AccountState) - )) + }) _sym_db.RegisterMessage(AccountState) -AccountStateTagged = _reflection.GeneratedProtocolMessageType('AccountStateTagged', (_message.Message,), dict( - DESCRIPTOR = _ACCOUNTSTATETAGGED, - __module__ = 'bnet.account_types_pb2' +AccountStateTagged = _reflection.GeneratedProtocolMessageType('AccountStateTagged', (_message.Message,), { + 'DESCRIPTOR' : _ACCOUNTSTATETAGGED, + '__module__' : 'bnet.account_types_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.account.AccountStateTagged) - )) + }) _sym_db.RegisterMessage(AccountStateTagged) -GameAccountState = _reflection.GeneratedProtocolMessageType('GameAccountState', (_message.Message,), dict( - DESCRIPTOR = _GAMEACCOUNTSTATE, - __module__ = 'bnet.account_types_pb2' +GameAccountState = _reflection.GeneratedProtocolMessageType('GameAccountState', (_message.Message,), { + 'DESCRIPTOR' : _GAMEACCOUNTSTATE, + '__module__' : 'bnet.account_types_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.account.GameAccountState) - )) + }) _sym_db.RegisterMessage(GameAccountState) -GameAccountStateTagged = _reflection.GeneratedProtocolMessageType('GameAccountStateTagged', (_message.Message,), dict( - DESCRIPTOR = _GAMEACCOUNTSTATETAGGED, - __module__ = 'bnet.account_types_pb2' +GameAccountStateTagged = _reflection.GeneratedProtocolMessageType('GameAccountStateTagged', (_message.Message,), { + 'DESCRIPTOR' : _GAMEACCOUNTSTATETAGGED, + '__module__' : 'bnet.account_types_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.account.GameAccountStateTagged) - )) + }) _sym_db.RegisterMessage(GameAccountStateTagged) diff --git a/src/bnet/attribute.proto b/src/bnet/attribute.proto new file mode 100644 index 0000000..889513b --- /dev/null +++ b/src/bnet/attribute.proto @@ -0,0 +1,32 @@ +package bnet.protocol.attribute; +import "bnet/entity.proto"; + + +message Variant { + optional bool bool_value = 2; + optional int64 int_value = 3; + optional double float_value = 4; + optional string string_value = 5; + optional bytes blob_value = 6; + optional bytes message_value = 7; + optional string fourcc_value = 8; + optional uint64 uint_value = 9; + optional EntityId entityid_value = 10; +} + +message Attribute { + required string name = 1; + required Variant value = 2; +} + +message AttributeFilter { + enum Operation { + MATCH_NONE = 0; + MATCH_ANY = 1; + MATCH_ALL = 2; + MATCH_ALL_MOST_SPECIFIC = 3; + } + + required Operation op = 1; + repeated Attribute attribute = 2; +} diff --git a/src/bnet/attribute_pb2.py b/src/bnet/attribute_pb2.py index 5f2e1ca..7252fc1 100644 --- a/src/bnet/attribute_pb2.py +++ b/src/bnet/attribute_pb2.py @@ -1,28 +1,27 @@ +# -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: bnet/attribute.proto -import sys -_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message from google.protobuf import reflection as _reflection from google.protobuf import symbol_database as _symbol_database -from google.protobuf import descriptor_pb2 # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() -import bnet.entity_pb2 +from bnet import entity_pb2 as bnet_dot_entity__pb2 DESCRIPTOR = _descriptor.FileDescriptor( name='bnet/attribute.proto', package='bnet.protocol.attribute', - serialized_pb=_b('\n\x14\x62net/attribute.proto\x12\x17\x62net.protocol.attribute\x1a\x11\x62net/entity.proto\"\xe1\x01\n\x07Variant\x12\x12\n\nbool_value\x18\x02 \x01(\x08\x12\x11\n\tint_value\x18\x03 \x01(\x03\x12\x13\n\x0b\x66loat_value\x18\x04 \x01(\x01\x12\x14\n\x0cstring_value\x18\x05 \x01(\t\x12\x12\n\nblob_value\x18\x06 \x01(\x0c\x12\x15\n\rmessage_value\x18\x07 \x01(\x0c\x12\x14\n\x0c\x66ourcc_value\x18\x08 \x01(\t\x12\x12\n\nuint_value\x18\t \x01(\x04\x12/\n\x0e\x65ntityid_value\x18\n \x01(\x0b\x32\x17.bnet.protocol.EntityId\"J\n\tAttribute\x12\x0c\n\x04name\x18\x01 \x02(\t\x12/\n\x05value\x18\x02 \x02(\x0b\x32 .bnet.protocol.attribute.Variant\"\xe0\x01\n\x0f\x41ttributeFilter\x12>\n\x02op\x18\x01 \x02(\x0e\x32\x32.bnet.protocol.attribute.AttributeFilter.Operation\x12\x35\n\tattribute\x18\x02 \x03(\x0b\x32\".bnet.protocol.attribute.Attribute\"V\n\tOperation\x12\x0e\n\nMATCH_NONE\x10\x00\x12\r\n\tMATCH_ANY\x10\x01\x12\r\n\tMATCH_ALL\x10\x02\x12\x1b\n\x17MATCH_ALL_MOST_SPECIFIC\x10\x03') + syntax='proto2', + serialized_options=None, + serialized_pb=b'\n\x14\x62net/attribute.proto\x12\x17\x62net.protocol.attribute\x1a\x11\x62net/entity.proto\"\xe1\x01\n\x07Variant\x12\x12\n\nbool_value\x18\x02 \x01(\x08\x12\x11\n\tint_value\x18\x03 \x01(\x03\x12\x13\n\x0b\x66loat_value\x18\x04 \x01(\x01\x12\x14\n\x0cstring_value\x18\x05 \x01(\t\x12\x12\n\nblob_value\x18\x06 \x01(\x0c\x12\x15\n\rmessage_value\x18\x07 \x01(\x0c\x12\x14\n\x0c\x66ourcc_value\x18\x08 \x01(\t\x12\x12\n\nuint_value\x18\t \x01(\x04\x12/\n\x0e\x65ntityid_value\x18\n \x01(\x0b\x32\x17.bnet.protocol.EntityId\"J\n\tAttribute\x12\x0c\n\x04name\x18\x01 \x02(\t\x12/\n\x05value\x18\x02 \x02(\x0b\x32 .bnet.protocol.attribute.Variant\"\xe0\x01\n\x0f\x41ttributeFilter\x12>\n\x02op\x18\x01 \x02(\x0e\x32\x32.bnet.protocol.attribute.AttributeFilter.Operation\x12\x35\n\tattribute\x18\x02 \x03(\x0b\x32\".bnet.protocol.attribute.Attribute\"V\n\tOperation\x12\x0e\n\nMATCH_NONE\x10\x00\x12\r\n\tMATCH_ANY\x10\x01\x12\r\n\tMATCH_ALL\x10\x02\x12\x1b\n\x17MATCH_ALL_MOST_SPECIFIC\x10\x03' , - dependencies=[bnet.entity_pb2.DESCRIPTOR,]) -_sym_db.RegisterFileDescriptor(DESCRIPTOR) + dependencies=[bnet_dot_entity__pb2.DESCRIPTOR,]) @@ -34,23 +33,23 @@ values=[ _descriptor.EnumValueDescriptor( name='MATCH_NONE', index=0, number=0, - options=None, + serialized_options=None, type=None), _descriptor.EnumValueDescriptor( name='MATCH_ANY', index=1, number=1, - options=None, + serialized_options=None, type=None), _descriptor.EnumValueDescriptor( name='MATCH_ALL', index=2, number=2, - options=None, + serialized_options=None, type=None), _descriptor.EnumValueDescriptor( name='MATCH_ALL_MOST_SPECIFIC', index=3, number=3, - options=None, + serialized_options=None, type=None), ], containing_type=None, - options=None, + serialized_options=None, serialized_start=511, serialized_end=597, ) @@ -70,71 +69,72 @@ has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='int_value', full_name='bnet.protocol.attribute.Variant.int_value', index=1, number=3, type=3, cpp_type=2, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='float_value', full_name='bnet.protocol.attribute.Variant.float_value', index=2, number=4, type=1, cpp_type=5, label=1, - has_default_value=False, default_value=0, + has_default_value=False, default_value=float(0), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='string_value', full_name='bnet.protocol.attribute.Variant.string_value', index=3, number=5, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='blob_value', full_name='bnet.protocol.attribute.Variant.blob_value', index=4, number=6, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=_b(""), + has_default_value=False, default_value=b"", message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='message_value', full_name='bnet.protocol.attribute.Variant.message_value', index=5, number=7, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=_b(""), + has_default_value=False, default_value=b"", message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='fourcc_value', full_name='bnet.protocol.attribute.Variant.fourcc_value', index=6, number=8, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='uint_value', full_name='bnet.protocol.attribute.Variant.uint_value', index=7, number=9, type=4, cpp_type=4, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='entityid_value', full_name='bnet.protocol.attribute.Variant.entityid_value', index=8, number=10, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -153,25 +153,26 @@ _descriptor.FieldDescriptor( name='name', full_name='bnet.protocol.attribute.Attribute.name', index=0, number=1, type=9, cpp_type=9, label=2, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='bnet.protocol.attribute.Attribute.value', index=1, number=2, type=11, cpp_type=10, label=2, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -193,14 +194,14 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='attribute', full_name='bnet.protocol.attribute.AttributeFilter.attribute', index=1, number=2, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], @@ -208,8 +209,9 @@ enum_types=[ _ATTRIBUTEFILTER_OPERATION, ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -217,7 +219,7 @@ serialized_end=597, ) -_VARIANT.fields_by_name['entityid_value'].message_type = bnet.entity_pb2._ENTITYID +_VARIANT.fields_by_name['entityid_value'].message_type = bnet_dot_entity__pb2._ENTITYID _ATTRIBUTE.fields_by_name['value'].message_type = _VARIANT _ATTRIBUTEFILTER.fields_by_name['op'].enum_type = _ATTRIBUTEFILTER_OPERATION _ATTRIBUTEFILTER.fields_by_name['attribute'].message_type = _ATTRIBUTE @@ -225,26 +227,27 @@ DESCRIPTOR.message_types_by_name['Variant'] = _VARIANT DESCRIPTOR.message_types_by_name['Attribute'] = _ATTRIBUTE DESCRIPTOR.message_types_by_name['AttributeFilter'] = _ATTRIBUTEFILTER +_sym_db.RegisterFileDescriptor(DESCRIPTOR) -Variant = _reflection.GeneratedProtocolMessageType('Variant', (_message.Message,), dict( - DESCRIPTOR = _VARIANT, - __module__ = 'bnet.attribute_pb2' +Variant = _reflection.GeneratedProtocolMessageType('Variant', (_message.Message,), { + 'DESCRIPTOR' : _VARIANT, + '__module__' : 'bnet.attribute_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.attribute.Variant) - )) + }) _sym_db.RegisterMessage(Variant) -Attribute = _reflection.GeneratedProtocolMessageType('Attribute', (_message.Message,), dict( - DESCRIPTOR = _ATTRIBUTE, - __module__ = 'bnet.attribute_pb2' +Attribute = _reflection.GeneratedProtocolMessageType('Attribute', (_message.Message,), { + 'DESCRIPTOR' : _ATTRIBUTE, + '__module__' : 'bnet.attribute_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.attribute.Attribute) - )) + }) _sym_db.RegisterMessage(Attribute) -AttributeFilter = _reflection.GeneratedProtocolMessageType('AttributeFilter', (_message.Message,), dict( - DESCRIPTOR = _ATTRIBUTEFILTER, - __module__ = 'bnet.attribute_pb2' +AttributeFilter = _reflection.GeneratedProtocolMessageType('AttributeFilter', (_message.Message,), { + 'DESCRIPTOR' : _ATTRIBUTEFILTER, + '__module__' : 'bnet.attribute_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.attribute.AttributeFilter) - )) + }) _sym_db.RegisterMessage(AttributeFilter) diff --git a/src/bnet/authentication_service.proto b/src/bnet/authentication_service.proto new file mode 100644 index 0000000..ad4f36d --- /dev/null +++ b/src/bnet/authentication_service.proto @@ -0,0 +1,113 @@ +package bnet.protocol.authentication; +import "bnet/account_types.proto"; +import "bnet/content_handle.proto"; +import "bnet/entity.proto"; + + +message ModuleLoadRequest { + required ContentHandle module_handle = 1; + optional bytes message = 2; +} + +message ModuleNotification { + optional int32 module_id = 2; + optional uint32 result = 3; +} + +message ModuleMessageRequest { + required int32 module_id = 1; + optional bytes message = 2; +} + +message LogonRequest { + optional string program = 1; + optional string platform = 2; + optional string locale = 3; + optional string email = 4; + optional string version = 5; + optional int32 application_version = 6; + optional bool public_computer = 7; + optional bytes sso_id = 8; + optional bool disconnect_on_cookie_fail = 9 [default = false]; + optional bool allow_logon_queue_notifications = 10 [default = false]; + optional bool web_client_verification = 11 [default = false]; + optional bytes cached_web_credentials = 12; + optional string user_agent = 14; +} + +message LogonResult { + required uint32 error_code = 1; + optional EntityId account = 2; + repeated EntityId game_account = 3; + optional string email = 4; + repeated uint32 available_region = 5; + optional uint32 connected_region = 6; + optional string battle_tag = 7; + optional string geoip_country = 8; +} + +message GenerateSSOTokenRequest { + optional fixed32 program = 1; +} + +message GenerateSSOTokenResponse { + optional bytes sso_id = 1; + optional bytes sso_secret = 2; +} + +message LogonUpdateRequest { + required uint32 error_code = 1; +} + +message LogonQueueUpdateRequest { + required uint32 position = 1; + required uint64 estimated_time = 2; + required uint64 eta_deviation_in_sec = 3; +} + +message AccountSettingsNotification { + repeated account.AccountLicense licenses = 1; + optional bool is_using_rid = 2; + optional bool is_playing_from_igr = 3; + optional bool can_receive_voice = 4; + optional bool can_send_voice = 5; +} + +message ServerStateChangeRequest { + required uint32 state = 1; + required uint64 event_time = 2; +} + +message VersionInfo { + optional uint32 number = 1; + optional string patch = 2; + optional bool is_optional = 3; + optional uint64 kick_time = 4; +} + +message VersionInfoNotification { + optional VersionInfo version_info = 1; +} + +message MemModuleLoadRequest { + required ContentHandle handle = 1; + required bytes key = 2; + required bytes input = 3; +} + +message MemModuleLoadResponse { + required bytes data = 1; +} + +message SelectGameAccountRequest { + required EntityId game_account = 1; +} + +message GameAccountSelectedRequest { + required uint32 result = 1; + optional EntityId game_account = 2; +} + +message VerifyWebCredentialsRequest { + optional bytes web_credentials = 1; +} diff --git a/src/bnet/authentication_service_pb2.py b/src/bnet/authentication_service_pb2.py index 0a36858..2eb9725 100644 --- a/src/bnet/authentication_service_pb2.py +++ b/src/bnet/authentication_service_pb2.py @@ -1,30 +1,29 @@ +# -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: bnet/authentication_service.proto -import sys -_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message from google.protobuf import reflection as _reflection from google.protobuf import symbol_database as _symbol_database -from google.protobuf import descriptor_pb2 # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() -import bnet.account_types_pb2 -import bnet.content_handle_pb2 -import bnet.entity_pb2 +from bnet import account_types_pb2 as bnet_dot_account__types__pb2 +from bnet import content_handle_pb2 as bnet_dot_content__handle__pb2 +from bnet import entity_pb2 as bnet_dot_entity__pb2 DESCRIPTOR = _descriptor.FileDescriptor( name='bnet/authentication_service.proto', package='bnet.protocol.authentication', - serialized_pb=_b('\n!bnet/authentication_service.proto\x12\x1c\x62net.protocol.authentication\x1a\x18\x62net/account_types.proto\x1a\x19\x62net/content_handle.proto\x1a\x11\x62net/entity.proto\"Y\n\x11ModuleLoadRequest\x12\x33\n\rmodule_handle\x18\x01 \x02(\x0b\x32\x1c.bnet.protocol.ContentHandle\x12\x0f\n\x07message\x18\x02 \x01(\x0c\"7\n\x12ModuleNotification\x12\x11\n\tmodule_id\x18\x02 \x01(\x05\x12\x0e\n\x06result\x18\x03 \x01(\r\":\n\x14ModuleMessageRequest\x12\x11\n\tmodule_id\x18\x01 \x02(\x05\x12\x0f\n\x07message\x18\x02 \x01(\x0c\"\xdd\x02\n\x0cLogonRequest\x12\x0f\n\x07program\x18\x01 \x01(\t\x12\x10\n\x08platform\x18\x02 \x01(\t\x12\x0e\n\x06locale\x18\x03 \x01(\t\x12\r\n\x05\x65mail\x18\x04 \x01(\t\x12\x0f\n\x07version\x18\x05 \x01(\t\x12\x1b\n\x13\x61pplication_version\x18\x06 \x01(\x05\x12\x17\n\x0fpublic_computer\x18\x07 \x01(\x08\x12\x0e\n\x06sso_id\x18\x08 \x01(\x0c\x12(\n\x19\x64isconnect_on_cookie_fail\x18\t \x01(\x08:\x05\x66\x61lse\x12.\n\x1f\x61llow_logon_queue_notifications\x18\n \x01(\x08:\x05\x66\x61lse\x12&\n\x17web_client_verification\x18\x0b \x01(\x08:\x05\x66\x61lse\x12\x1e\n\x16\x63\x61\x63hed_web_credentials\x18\x0c \x01(\x0c\x12\x12\n\nuser_agent\x18\x0e \x01(\t\"\xe8\x01\n\x0bLogonResult\x12\x12\n\nerror_code\x18\x01 \x02(\r\x12(\n\x07\x61\x63\x63ount\x18\x02 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12-\n\x0cgame_account\x18\x03 \x03(\x0b\x32\x17.bnet.protocol.EntityId\x12\r\n\x05\x65mail\x18\x04 \x01(\t\x12\x18\n\x10\x61vailable_region\x18\x05 \x03(\r\x12\x18\n\x10\x63onnected_region\x18\x06 \x01(\r\x12\x12\n\nbattle_tag\x18\x07 \x01(\t\x12\x15\n\rgeoip_country\x18\x08 \x01(\t\"*\n\x17GenerateSSOTokenRequest\x12\x0f\n\x07program\x18\x01 \x01(\x07\">\n\x18GenerateSSOTokenResponse\x12\x0e\n\x06sso_id\x18\x01 \x01(\x0c\x12\x12\n\nsso_secret\x18\x02 \x01(\x0c\"(\n\x12LogonUpdateRequest\x12\x12\n\nerror_code\x18\x01 \x02(\r\"a\n\x17LogonQueueUpdateRequest\x12\x10\n\x08position\x18\x01 \x02(\r\x12\x16\n\x0e\x65stimated_time\x18\x02 \x02(\x04\x12\x1c\n\x14\x65ta_deviation_in_sec\x18\x03 \x02(\x04\"\xbc\x01\n\x1b\x41\x63\x63ountSettingsNotification\x12\x37\n\x08licenses\x18\x01 \x03(\x0b\x32%.bnet.protocol.account.AccountLicense\x12\x14\n\x0cis_using_rid\x18\x02 \x01(\x08\x12\x1b\n\x13is_playing_from_igr\x18\x03 \x01(\x08\x12\x19\n\x11\x63\x61n_receive_voice\x18\x04 \x01(\x08\x12\x16\n\x0e\x63\x61n_send_voice\x18\x05 \x01(\x08\"=\n\x18ServerStateChangeRequest\x12\r\n\x05state\x18\x01 \x02(\r\x12\x12\n\nevent_time\x18\x02 \x02(\x04\"T\n\x0bVersionInfo\x12\x0e\n\x06number\x18\x01 \x01(\r\x12\r\n\x05patch\x18\x02 \x01(\t\x12\x13\n\x0bis_optional\x18\x03 \x01(\x08\x12\x11\n\tkick_time\x18\x04 \x01(\x04\"Z\n\x17VersionInfoNotification\x12?\n\x0cversion_info\x18\x01 \x01(\x0b\x32).bnet.protocol.authentication.VersionInfo\"`\n\x14MemModuleLoadRequest\x12,\n\x06handle\x18\x01 \x02(\x0b\x32\x1c.bnet.protocol.ContentHandle\x12\x0b\n\x03key\x18\x02 \x02(\x0c\x12\r\n\x05input\x18\x03 \x02(\x0c\"%\n\x15MemModuleLoadResponse\x12\x0c\n\x04\x64\x61ta\x18\x01 \x02(\x0c\"I\n\x18SelectGameAccountRequest\x12-\n\x0cgame_account\x18\x01 \x02(\x0b\x32\x17.bnet.protocol.EntityId\"[\n\x1aGameAccountSelectedRequest\x12\x0e\n\x06result\x18\x01 \x02(\r\x12-\n\x0cgame_account\x18\x02 \x01(\x0b\x32\x17.bnet.protocol.EntityId\"6\n\x1bVerifyWebCredentialsRequest\x12\x17\n\x0fweb_credentials\x18\x01 \x01(\x0c') + syntax='proto2', + serialized_options=None, + serialized_pb=b'\n!bnet/authentication_service.proto\x12\x1c\x62net.protocol.authentication\x1a\x18\x62net/account_types.proto\x1a\x19\x62net/content_handle.proto\x1a\x11\x62net/entity.proto\"Y\n\x11ModuleLoadRequest\x12\x33\n\rmodule_handle\x18\x01 \x02(\x0b\x32\x1c.bnet.protocol.ContentHandle\x12\x0f\n\x07message\x18\x02 \x01(\x0c\"7\n\x12ModuleNotification\x12\x11\n\tmodule_id\x18\x02 \x01(\x05\x12\x0e\n\x06result\x18\x03 \x01(\r\":\n\x14ModuleMessageRequest\x12\x11\n\tmodule_id\x18\x01 \x02(\x05\x12\x0f\n\x07message\x18\x02 \x01(\x0c\"\xdd\x02\n\x0cLogonRequest\x12\x0f\n\x07program\x18\x01 \x01(\t\x12\x10\n\x08platform\x18\x02 \x01(\t\x12\x0e\n\x06locale\x18\x03 \x01(\t\x12\r\n\x05\x65mail\x18\x04 \x01(\t\x12\x0f\n\x07version\x18\x05 \x01(\t\x12\x1b\n\x13\x61pplication_version\x18\x06 \x01(\x05\x12\x17\n\x0fpublic_computer\x18\x07 \x01(\x08\x12\x0e\n\x06sso_id\x18\x08 \x01(\x0c\x12(\n\x19\x64isconnect_on_cookie_fail\x18\t \x01(\x08:\x05\x66\x61lse\x12.\n\x1f\x61llow_logon_queue_notifications\x18\n \x01(\x08:\x05\x66\x61lse\x12&\n\x17web_client_verification\x18\x0b \x01(\x08:\x05\x66\x61lse\x12\x1e\n\x16\x63\x61\x63hed_web_credentials\x18\x0c \x01(\x0c\x12\x12\n\nuser_agent\x18\x0e \x01(\t\"\xe8\x01\n\x0bLogonResult\x12\x12\n\nerror_code\x18\x01 \x02(\r\x12(\n\x07\x61\x63\x63ount\x18\x02 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12-\n\x0cgame_account\x18\x03 \x03(\x0b\x32\x17.bnet.protocol.EntityId\x12\r\n\x05\x65mail\x18\x04 \x01(\t\x12\x18\n\x10\x61vailable_region\x18\x05 \x03(\r\x12\x18\n\x10\x63onnected_region\x18\x06 \x01(\r\x12\x12\n\nbattle_tag\x18\x07 \x01(\t\x12\x15\n\rgeoip_country\x18\x08 \x01(\t\"*\n\x17GenerateSSOTokenRequest\x12\x0f\n\x07program\x18\x01 \x01(\x07\">\n\x18GenerateSSOTokenResponse\x12\x0e\n\x06sso_id\x18\x01 \x01(\x0c\x12\x12\n\nsso_secret\x18\x02 \x01(\x0c\"(\n\x12LogonUpdateRequest\x12\x12\n\nerror_code\x18\x01 \x02(\r\"a\n\x17LogonQueueUpdateRequest\x12\x10\n\x08position\x18\x01 \x02(\r\x12\x16\n\x0e\x65stimated_time\x18\x02 \x02(\x04\x12\x1c\n\x14\x65ta_deviation_in_sec\x18\x03 \x02(\x04\"\xbc\x01\n\x1b\x41\x63\x63ountSettingsNotification\x12\x37\n\x08licenses\x18\x01 \x03(\x0b\x32%.bnet.protocol.account.AccountLicense\x12\x14\n\x0cis_using_rid\x18\x02 \x01(\x08\x12\x1b\n\x13is_playing_from_igr\x18\x03 \x01(\x08\x12\x19\n\x11\x63\x61n_receive_voice\x18\x04 \x01(\x08\x12\x16\n\x0e\x63\x61n_send_voice\x18\x05 \x01(\x08\"=\n\x18ServerStateChangeRequest\x12\r\n\x05state\x18\x01 \x02(\r\x12\x12\n\nevent_time\x18\x02 \x02(\x04\"T\n\x0bVersionInfo\x12\x0e\n\x06number\x18\x01 \x01(\r\x12\r\n\x05patch\x18\x02 \x01(\t\x12\x13\n\x0bis_optional\x18\x03 \x01(\x08\x12\x11\n\tkick_time\x18\x04 \x01(\x04\"Z\n\x17VersionInfoNotification\x12?\n\x0cversion_info\x18\x01 \x01(\x0b\x32).bnet.protocol.authentication.VersionInfo\"`\n\x14MemModuleLoadRequest\x12,\n\x06handle\x18\x01 \x02(\x0b\x32\x1c.bnet.protocol.ContentHandle\x12\x0b\n\x03key\x18\x02 \x02(\x0c\x12\r\n\x05input\x18\x03 \x02(\x0c\"%\n\x15MemModuleLoadResponse\x12\x0c\n\x04\x64\x61ta\x18\x01 \x02(\x0c\"I\n\x18SelectGameAccountRequest\x12-\n\x0cgame_account\x18\x01 \x02(\x0b\x32\x17.bnet.protocol.EntityId\"[\n\x1aGameAccountSelectedRequest\x12\x0e\n\x06result\x18\x01 \x02(\r\x12-\n\x0cgame_account\x18\x02 \x01(\x0b\x32\x17.bnet.protocol.EntityId\"6\n\x1bVerifyWebCredentialsRequest\x12\x17\n\x0fweb_credentials\x18\x01 \x01(\x0c' , - dependencies=[bnet.account_types_pb2.DESCRIPTOR,bnet.content_handle_pb2.DESCRIPTOR,bnet.entity_pb2.DESCRIPTOR,]) -_sym_db.RegisterFileDescriptor(DESCRIPTOR) + dependencies=[bnet_dot_account__types__pb2.DESCRIPTOR,bnet_dot_content__handle__pb2.DESCRIPTOR,bnet_dot_entity__pb2.DESCRIPTOR,]) @@ -42,22 +41,23 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='message', full_name='bnet.protocol.authentication.ModuleLoadRequest.message', index=1, number=2, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=_b(""), + has_default_value=False, default_value=b"", message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -79,22 +79,23 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='result', full_name='bnet.protocol.authentication.ModuleNotification.result', index=1, number=3, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -116,22 +117,23 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='message', full_name='bnet.protocol.authentication.ModuleMessageRequest.message', index=1, number=2, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=_b(""), + has_default_value=False, default_value=b"", message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -150,102 +152,103 @@ _descriptor.FieldDescriptor( name='program', full_name='bnet.protocol.authentication.LogonRequest.program', index=0, number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='platform', full_name='bnet.protocol.authentication.LogonRequest.platform', index=1, number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='locale', full_name='bnet.protocol.authentication.LogonRequest.locale', index=2, number=3, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='email', full_name='bnet.protocol.authentication.LogonRequest.email', index=3, number=4, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='version', full_name='bnet.protocol.authentication.LogonRequest.version', index=4, number=5, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='application_version', full_name='bnet.protocol.authentication.LogonRequest.application_version', index=5, number=6, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='public_computer', full_name='bnet.protocol.authentication.LogonRequest.public_computer', index=6, number=7, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='sso_id', full_name='bnet.protocol.authentication.LogonRequest.sso_id', index=7, number=8, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=_b(""), + has_default_value=False, default_value=b"", message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='disconnect_on_cookie_fail', full_name='bnet.protocol.authentication.LogonRequest.disconnect_on_cookie_fail', index=8, number=9, type=8, cpp_type=7, label=1, has_default_value=True, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='allow_logon_queue_notifications', full_name='bnet.protocol.authentication.LogonRequest.allow_logon_queue_notifications', index=9, number=10, type=8, cpp_type=7, label=1, has_default_value=True, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='web_client_verification', full_name='bnet.protocol.authentication.LogonRequest.web_client_verification', index=10, number=11, type=8, cpp_type=7, label=1, has_default_value=True, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='cached_web_credentials', full_name='bnet.protocol.authentication.LogonRequest.cached_web_credentials', index=11, number=12, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=_b(""), + has_default_value=False, default_value=b"", message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='user_agent', full_name='bnet.protocol.authentication.LogonRequest.user_agent', index=12, number=14, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -267,64 +270,65 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='account', full_name='bnet.protocol.authentication.LogonResult.account', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='game_account', full_name='bnet.protocol.authentication.LogonResult.game_account', index=2, number=3, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='email', full_name='bnet.protocol.authentication.LogonResult.email', index=3, number=4, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='available_region', full_name='bnet.protocol.authentication.LogonResult.available_region', index=4, number=5, type=13, cpp_type=3, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='connected_region', full_name='bnet.protocol.authentication.LogonResult.connected_region', index=5, number=6, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='battle_tag', full_name='bnet.protocol.authentication.LogonResult.battle_tag', index=6, number=7, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='geoip_country', full_name='bnet.protocol.authentication.LogonResult.geoip_country', index=7, number=8, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -346,15 +350,16 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -373,25 +378,26 @@ _descriptor.FieldDescriptor( name='sso_id', full_name='bnet.protocol.authentication.GenerateSSOTokenResponse.sso_id', index=0, number=1, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=_b(""), + has_default_value=False, default_value=b"", message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='sso_secret', full_name='bnet.protocol.authentication.GenerateSSOTokenResponse.sso_secret', index=1, number=2, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=_b(""), + has_default_value=False, default_value=b"", message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -413,15 +419,16 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -443,29 +450,30 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='estimated_time', full_name='bnet.protocol.authentication.LogonQueueUpdateRequest.estimated_time', index=1, number=2, type=4, cpp_type=4, label=2, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='eta_deviation_in_sec', full_name='bnet.protocol.authentication.LogonQueueUpdateRequest.eta_deviation_in_sec', index=2, number=3, type=4, cpp_type=4, label=2, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -487,43 +495,44 @@ has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='is_using_rid', full_name='bnet.protocol.authentication.AccountSettingsNotification.is_using_rid', index=1, number=2, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='is_playing_from_igr', full_name='bnet.protocol.authentication.AccountSettingsNotification.is_playing_from_igr', index=2, number=3, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='can_receive_voice', full_name='bnet.protocol.authentication.AccountSettingsNotification.can_receive_voice', index=3, number=4, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='can_send_voice', full_name='bnet.protocol.authentication.AccountSettingsNotification.can_send_voice', index=4, number=5, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -545,22 +554,23 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='event_time', full_name='bnet.protocol.authentication.ServerStateChangeRequest.event_time', index=1, number=2, type=4, cpp_type=4, label=2, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -582,36 +592,37 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='patch', full_name='bnet.protocol.authentication.VersionInfo.patch', index=1, number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='is_optional', full_name='bnet.protocol.authentication.VersionInfo.is_optional', index=2, number=3, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='kick_time', full_name='bnet.protocol.authentication.VersionInfo.kick_time', index=3, number=4, type=4, cpp_type=4, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -633,15 +644,16 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -663,29 +675,30 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='key', full_name='bnet.protocol.authentication.MemModuleLoadRequest.key', index=1, number=2, type=12, cpp_type=9, label=2, - has_default_value=False, default_value=_b(""), + has_default_value=False, default_value=b"", message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='input', full_name='bnet.protocol.authentication.MemModuleLoadRequest.input', index=2, number=3, type=12, cpp_type=9, label=2, - has_default_value=False, default_value=_b(""), + has_default_value=False, default_value=b"", message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -704,18 +717,19 @@ _descriptor.FieldDescriptor( name='data', full_name='bnet.protocol.authentication.MemModuleLoadResponse.data', index=0, number=1, type=12, cpp_type=9, label=2, - has_default_value=False, default_value=_b(""), + has_default_value=False, default_value=b"", message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -737,15 +751,16 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -767,22 +782,23 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='game_account', full_name='bnet.protocol.authentication.GameAccountSelectedRequest.game_account', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -801,18 +817,19 @@ _descriptor.FieldDescriptor( name='web_credentials', full_name='bnet.protocol.authentication.VerifyWebCredentialsRequest.web_credentials', index=0, number=1, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=_b(""), + has_default_value=False, default_value=b"", message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -820,14 +837,14 @@ serialized_end=1974, ) -_MODULELOADREQUEST.fields_by_name['module_handle'].message_type = bnet.content_handle_pb2._CONTENTHANDLE -_LOGONRESULT.fields_by_name['account'].message_type = bnet.entity_pb2._ENTITYID -_LOGONRESULT.fields_by_name['game_account'].message_type = bnet.entity_pb2._ENTITYID -_ACCOUNTSETTINGSNOTIFICATION.fields_by_name['licenses'].message_type = bnet.account_types_pb2._ACCOUNTLICENSE +_MODULELOADREQUEST.fields_by_name['module_handle'].message_type = bnet_dot_content__handle__pb2._CONTENTHANDLE +_LOGONRESULT.fields_by_name['account'].message_type = bnet_dot_entity__pb2._ENTITYID +_LOGONRESULT.fields_by_name['game_account'].message_type = bnet_dot_entity__pb2._ENTITYID +_ACCOUNTSETTINGSNOTIFICATION.fields_by_name['licenses'].message_type = bnet_dot_account__types__pb2._ACCOUNTLICENSE _VERSIONINFONOTIFICATION.fields_by_name['version_info'].message_type = _VERSIONINFO -_MEMMODULELOADREQUEST.fields_by_name['handle'].message_type = bnet.content_handle_pb2._CONTENTHANDLE -_SELECTGAMEACCOUNTREQUEST.fields_by_name['game_account'].message_type = bnet.entity_pb2._ENTITYID -_GAMEACCOUNTSELECTEDREQUEST.fields_by_name['game_account'].message_type = bnet.entity_pb2._ENTITYID +_MEMMODULELOADREQUEST.fields_by_name['handle'].message_type = bnet_dot_content__handle__pb2._CONTENTHANDLE +_SELECTGAMEACCOUNTREQUEST.fields_by_name['game_account'].message_type = bnet_dot_entity__pb2._ENTITYID +_GAMEACCOUNTSELECTEDREQUEST.fields_by_name['game_account'].message_type = bnet_dot_entity__pb2._ENTITYID DESCRIPTOR.message_types_by_name['ModuleLoadRequest'] = _MODULELOADREQUEST DESCRIPTOR.message_types_by_name['ModuleNotification'] = _MODULENOTIFICATION DESCRIPTOR.message_types_by_name['ModuleMessageRequest'] = _MODULEMESSAGEREQUEST @@ -846,131 +863,132 @@ DESCRIPTOR.message_types_by_name['SelectGameAccountRequest'] = _SELECTGAMEACCOUNTREQUEST DESCRIPTOR.message_types_by_name['GameAccountSelectedRequest'] = _GAMEACCOUNTSELECTEDREQUEST DESCRIPTOR.message_types_by_name['VerifyWebCredentialsRequest'] = _VERIFYWEBCREDENTIALSREQUEST +_sym_db.RegisterFileDescriptor(DESCRIPTOR) -ModuleLoadRequest = _reflection.GeneratedProtocolMessageType('ModuleLoadRequest', (_message.Message,), dict( - DESCRIPTOR = _MODULELOADREQUEST, - __module__ = 'bnet.authentication_service_pb2' +ModuleLoadRequest = _reflection.GeneratedProtocolMessageType('ModuleLoadRequest', (_message.Message,), { + 'DESCRIPTOR' : _MODULELOADREQUEST, + '__module__' : 'bnet.authentication_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.authentication.ModuleLoadRequest) - )) + }) _sym_db.RegisterMessage(ModuleLoadRequest) -ModuleNotification = _reflection.GeneratedProtocolMessageType('ModuleNotification', (_message.Message,), dict( - DESCRIPTOR = _MODULENOTIFICATION, - __module__ = 'bnet.authentication_service_pb2' +ModuleNotification = _reflection.GeneratedProtocolMessageType('ModuleNotification', (_message.Message,), { + 'DESCRIPTOR' : _MODULENOTIFICATION, + '__module__' : 'bnet.authentication_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.authentication.ModuleNotification) - )) + }) _sym_db.RegisterMessage(ModuleNotification) -ModuleMessageRequest = _reflection.GeneratedProtocolMessageType('ModuleMessageRequest', (_message.Message,), dict( - DESCRIPTOR = _MODULEMESSAGEREQUEST, - __module__ = 'bnet.authentication_service_pb2' +ModuleMessageRequest = _reflection.GeneratedProtocolMessageType('ModuleMessageRequest', (_message.Message,), { + 'DESCRIPTOR' : _MODULEMESSAGEREQUEST, + '__module__' : 'bnet.authentication_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.authentication.ModuleMessageRequest) - )) + }) _sym_db.RegisterMessage(ModuleMessageRequest) -LogonRequest = _reflection.GeneratedProtocolMessageType('LogonRequest', (_message.Message,), dict( - DESCRIPTOR = _LOGONREQUEST, - __module__ = 'bnet.authentication_service_pb2' +LogonRequest = _reflection.GeneratedProtocolMessageType('LogonRequest', (_message.Message,), { + 'DESCRIPTOR' : _LOGONREQUEST, + '__module__' : 'bnet.authentication_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.authentication.LogonRequest) - )) + }) _sym_db.RegisterMessage(LogonRequest) -LogonResult = _reflection.GeneratedProtocolMessageType('LogonResult', (_message.Message,), dict( - DESCRIPTOR = _LOGONRESULT, - __module__ = 'bnet.authentication_service_pb2' +LogonResult = _reflection.GeneratedProtocolMessageType('LogonResult', (_message.Message,), { + 'DESCRIPTOR' : _LOGONRESULT, + '__module__' : 'bnet.authentication_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.authentication.LogonResult) - )) + }) _sym_db.RegisterMessage(LogonResult) -GenerateSSOTokenRequest = _reflection.GeneratedProtocolMessageType('GenerateSSOTokenRequest', (_message.Message,), dict( - DESCRIPTOR = _GENERATESSOTOKENREQUEST, - __module__ = 'bnet.authentication_service_pb2' +GenerateSSOTokenRequest = _reflection.GeneratedProtocolMessageType('GenerateSSOTokenRequest', (_message.Message,), { + 'DESCRIPTOR' : _GENERATESSOTOKENREQUEST, + '__module__' : 'bnet.authentication_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.authentication.GenerateSSOTokenRequest) - )) + }) _sym_db.RegisterMessage(GenerateSSOTokenRequest) -GenerateSSOTokenResponse = _reflection.GeneratedProtocolMessageType('GenerateSSOTokenResponse', (_message.Message,), dict( - DESCRIPTOR = _GENERATESSOTOKENRESPONSE, - __module__ = 'bnet.authentication_service_pb2' +GenerateSSOTokenResponse = _reflection.GeneratedProtocolMessageType('GenerateSSOTokenResponse', (_message.Message,), { + 'DESCRIPTOR' : _GENERATESSOTOKENRESPONSE, + '__module__' : 'bnet.authentication_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.authentication.GenerateSSOTokenResponse) - )) + }) _sym_db.RegisterMessage(GenerateSSOTokenResponse) -LogonUpdateRequest = _reflection.GeneratedProtocolMessageType('LogonUpdateRequest', (_message.Message,), dict( - DESCRIPTOR = _LOGONUPDATEREQUEST, - __module__ = 'bnet.authentication_service_pb2' +LogonUpdateRequest = _reflection.GeneratedProtocolMessageType('LogonUpdateRequest', (_message.Message,), { + 'DESCRIPTOR' : _LOGONUPDATEREQUEST, + '__module__' : 'bnet.authentication_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.authentication.LogonUpdateRequest) - )) + }) _sym_db.RegisterMessage(LogonUpdateRequest) -LogonQueueUpdateRequest = _reflection.GeneratedProtocolMessageType('LogonQueueUpdateRequest', (_message.Message,), dict( - DESCRIPTOR = _LOGONQUEUEUPDATEREQUEST, - __module__ = 'bnet.authentication_service_pb2' +LogonQueueUpdateRequest = _reflection.GeneratedProtocolMessageType('LogonQueueUpdateRequest', (_message.Message,), { + 'DESCRIPTOR' : _LOGONQUEUEUPDATEREQUEST, + '__module__' : 'bnet.authentication_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.authentication.LogonQueueUpdateRequest) - )) + }) _sym_db.RegisterMessage(LogonQueueUpdateRequest) -AccountSettingsNotification = _reflection.GeneratedProtocolMessageType('AccountSettingsNotification', (_message.Message,), dict( - DESCRIPTOR = _ACCOUNTSETTINGSNOTIFICATION, - __module__ = 'bnet.authentication_service_pb2' +AccountSettingsNotification = _reflection.GeneratedProtocolMessageType('AccountSettingsNotification', (_message.Message,), { + 'DESCRIPTOR' : _ACCOUNTSETTINGSNOTIFICATION, + '__module__' : 'bnet.authentication_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.authentication.AccountSettingsNotification) - )) + }) _sym_db.RegisterMessage(AccountSettingsNotification) -ServerStateChangeRequest = _reflection.GeneratedProtocolMessageType('ServerStateChangeRequest', (_message.Message,), dict( - DESCRIPTOR = _SERVERSTATECHANGEREQUEST, - __module__ = 'bnet.authentication_service_pb2' +ServerStateChangeRequest = _reflection.GeneratedProtocolMessageType('ServerStateChangeRequest', (_message.Message,), { + 'DESCRIPTOR' : _SERVERSTATECHANGEREQUEST, + '__module__' : 'bnet.authentication_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.authentication.ServerStateChangeRequest) - )) + }) _sym_db.RegisterMessage(ServerStateChangeRequest) -VersionInfo = _reflection.GeneratedProtocolMessageType('VersionInfo', (_message.Message,), dict( - DESCRIPTOR = _VERSIONINFO, - __module__ = 'bnet.authentication_service_pb2' +VersionInfo = _reflection.GeneratedProtocolMessageType('VersionInfo', (_message.Message,), { + 'DESCRIPTOR' : _VERSIONINFO, + '__module__' : 'bnet.authentication_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.authentication.VersionInfo) - )) + }) _sym_db.RegisterMessage(VersionInfo) -VersionInfoNotification = _reflection.GeneratedProtocolMessageType('VersionInfoNotification', (_message.Message,), dict( - DESCRIPTOR = _VERSIONINFONOTIFICATION, - __module__ = 'bnet.authentication_service_pb2' +VersionInfoNotification = _reflection.GeneratedProtocolMessageType('VersionInfoNotification', (_message.Message,), { + 'DESCRIPTOR' : _VERSIONINFONOTIFICATION, + '__module__' : 'bnet.authentication_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.authentication.VersionInfoNotification) - )) + }) _sym_db.RegisterMessage(VersionInfoNotification) -MemModuleLoadRequest = _reflection.GeneratedProtocolMessageType('MemModuleLoadRequest', (_message.Message,), dict( - DESCRIPTOR = _MEMMODULELOADREQUEST, - __module__ = 'bnet.authentication_service_pb2' +MemModuleLoadRequest = _reflection.GeneratedProtocolMessageType('MemModuleLoadRequest', (_message.Message,), { + 'DESCRIPTOR' : _MEMMODULELOADREQUEST, + '__module__' : 'bnet.authentication_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.authentication.MemModuleLoadRequest) - )) + }) _sym_db.RegisterMessage(MemModuleLoadRequest) -MemModuleLoadResponse = _reflection.GeneratedProtocolMessageType('MemModuleLoadResponse', (_message.Message,), dict( - DESCRIPTOR = _MEMMODULELOADRESPONSE, - __module__ = 'bnet.authentication_service_pb2' +MemModuleLoadResponse = _reflection.GeneratedProtocolMessageType('MemModuleLoadResponse', (_message.Message,), { + 'DESCRIPTOR' : _MEMMODULELOADRESPONSE, + '__module__' : 'bnet.authentication_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.authentication.MemModuleLoadResponse) - )) + }) _sym_db.RegisterMessage(MemModuleLoadResponse) -SelectGameAccountRequest = _reflection.GeneratedProtocolMessageType('SelectGameAccountRequest', (_message.Message,), dict( - DESCRIPTOR = _SELECTGAMEACCOUNTREQUEST, - __module__ = 'bnet.authentication_service_pb2' +SelectGameAccountRequest = _reflection.GeneratedProtocolMessageType('SelectGameAccountRequest', (_message.Message,), { + 'DESCRIPTOR' : _SELECTGAMEACCOUNTREQUEST, + '__module__' : 'bnet.authentication_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.authentication.SelectGameAccountRequest) - )) + }) _sym_db.RegisterMessage(SelectGameAccountRequest) -GameAccountSelectedRequest = _reflection.GeneratedProtocolMessageType('GameAccountSelectedRequest', (_message.Message,), dict( - DESCRIPTOR = _GAMEACCOUNTSELECTEDREQUEST, - __module__ = 'bnet.authentication_service_pb2' +GameAccountSelectedRequest = _reflection.GeneratedProtocolMessageType('GameAccountSelectedRequest', (_message.Message,), { + 'DESCRIPTOR' : _GAMEACCOUNTSELECTEDREQUEST, + '__module__' : 'bnet.authentication_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.authentication.GameAccountSelectedRequest) - )) + }) _sym_db.RegisterMessage(GameAccountSelectedRequest) -VerifyWebCredentialsRequest = _reflection.GeneratedProtocolMessageType('VerifyWebCredentialsRequest', (_message.Message,), dict( - DESCRIPTOR = _VERIFYWEBCREDENTIALSREQUEST, - __module__ = 'bnet.authentication_service_pb2' +VerifyWebCredentialsRequest = _reflection.GeneratedProtocolMessageType('VerifyWebCredentialsRequest', (_message.Message,), { + 'DESCRIPTOR' : _VERIFYWEBCREDENTIALSREQUEST, + '__module__' : 'bnet.authentication_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.authentication.VerifyWebCredentialsRequest) - )) + }) _sym_db.RegisterMessage(VerifyWebCredentialsRequest) diff --git a/src/bnet/challenge_service.proto b/src/bnet/challenge_service.proto new file mode 100644 index 0000000..f2a87de --- /dev/null +++ b/src/bnet/challenge_service.proto @@ -0,0 +1,78 @@ +package bnet.protocol.challenge; +import "bnet/attribute.proto"; +import "bnet/entity.proto"; +import "bnet/rpc.proto"; + + +message Challenge { + required fixed32 type = 1; + optional string info = 2; + optional string answer = 3; + optional uint32 retries = 4; +} + +message ChallengePickedRequest { + required fixed32 challenge = 1; + optional uint32 id = 2; + optional bool new_challenge_protocol = 3 [default = false]; +} + +message ChallengePickedResponse { + optional bytes data = 1; +} + +message ChallengeAnsweredRequest { + required string answer = 1; + optional bytes data = 2; + optional uint32 id = 3; +} + +message ChallengeAnsweredResponse { + optional bytes data = 1; + optional bool do_retry = 2; + optional bool record_not_found = 3; +} + +message ChallengeCancelledRequest { + optional uint32 id = 1; +} + +message SendChallengeToUserRequest { + optional ProcessId peer_id = 1; + optional EntityId game_account_id = 2; + repeated Challenge challenges = 3; + required fixed32 context = 4; + optional uint64 timeout = 5; + repeated attribute.Attribute attributes = 6; +} + +message SendChallengeToUserResponse { + optional uint32 id = 1; +} + +message ChallengeUserRequest { + repeated Challenge challenges = 1; + required fixed32 context = 2; + optional uint32 id = 3; + optional uint64 deadline = 4; + repeated attribute.Attribute attributes = 5; + optional EntityId game_account_id = 6; +} + +message ChallengeResultRequest { + optional uint32 id = 1; + optional fixed32 type = 2; + optional uint32 error_id = 3; + optional bytes answer = 4; +} + +message ChallengeExternalRequest { + optional string request_token = 1; + optional string payload_type = 2; + optional bytes payload = 3; +} + +message ChallengeExternalResult { + optional string request_token = 1; + optional bool passed = 2 [default = true]; +} diff --git a/src/bnet/challenge_service_pb2.py b/src/bnet/challenge_service_pb2.py index ec9ed81..b46f2c5 100644 --- a/src/bnet/challenge_service_pb2.py +++ b/src/bnet/challenge_service_pb2.py @@ -1,30 +1,29 @@ +# -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: bnet/challenge_service.proto -import sys -_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message from google.protobuf import reflection as _reflection from google.protobuf import symbol_database as _symbol_database -from google.protobuf import descriptor_pb2 # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() -import bnet.attribute_pb2 -import bnet.entity_pb2 -import bnet.rpc_pb2 +from bnet import attribute_pb2 as bnet_dot_attribute__pb2 +from bnet import entity_pb2 as bnet_dot_entity__pb2 +from bnet import rpc_pb2 as bnet_dot_rpc__pb2 DESCRIPTOR = _descriptor.FileDescriptor( name='bnet/challenge_service.proto', package='bnet.protocol.challenge', - serialized_pb=_b('\n\x1c\x62net/challenge_service.proto\x12\x17\x62net.protocol.challenge\x1a\x14\x62net/attribute.proto\x1a\x11\x62net/entity.proto\x1a\x0e\x62net/rpc.proto\"H\n\tChallenge\x12\x0c\n\x04type\x18\x01 \x02(\x07\x12\x0c\n\x04info\x18\x02 \x01(\t\x12\x0e\n\x06\x61nswer\x18\x03 \x01(\t\x12\x0f\n\x07retries\x18\x04 \x01(\r\"^\n\x16\x43hallengePickedRequest\x12\x11\n\tchallenge\x18\x01 \x02(\x07\x12\n\n\x02id\x18\x02 \x01(\r\x12%\n\x16new_challenge_protocol\x18\x03 \x01(\x08:\x05\x66\x61lse\"\'\n\x17\x43hallengePickedResponse\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\"D\n\x18\x43hallengeAnsweredRequest\x12\x0e\n\x06\x61nswer\x18\x01 \x02(\t\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\x12\n\n\x02id\x18\x03 \x01(\r\"U\n\x19\x43hallengeAnsweredResponse\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\x12\x10\n\x08\x64o_retry\x18\x02 \x01(\x08\x12\x18\n\x10record_not_found\x18\x03 \x01(\x08\"\'\n\x19\x43hallengeCancelledRequest\x12\n\n\x02id\x18\x01 \x01(\r\"\x8b\x02\n\x1aSendChallengeToUserRequest\x12)\n\x07peer_id\x18\x01 \x01(\x0b\x32\x18.bnet.protocol.ProcessId\x12\x30\n\x0fgame_account_id\x18\x02 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12\x36\n\nchallenges\x18\x03 \x03(\x0b\x32\".bnet.protocol.challenge.Challenge\x12\x0f\n\x07\x63ontext\x18\x04 \x02(\x07\x12\x0f\n\x07timeout\x18\x05 \x01(\x04\x12\x36\n\nattributes\x18\x06 \x03(\x0b\x32\".bnet.protocol.attribute.Attribute\")\n\x1bSendChallengeToUserResponse\x12\n\n\x02id\x18\x01 \x01(\r\"\xe7\x01\n\x14\x43hallengeUserRequest\x12\x36\n\nchallenges\x18\x01 \x03(\x0b\x32\".bnet.protocol.challenge.Challenge\x12\x0f\n\x07\x63ontext\x18\x02 \x02(\x07\x12\n\n\x02id\x18\x03 \x01(\r\x12\x10\n\x08\x64\x65\x61\x64line\x18\x04 \x01(\x04\x12\x36\n\nattributes\x18\x05 \x03(\x0b\x32\".bnet.protocol.attribute.Attribute\x12\x30\n\x0fgame_account_id\x18\x06 \x01(\x0b\x32\x17.bnet.protocol.EntityId\"T\n\x16\x43hallengeResultRequest\x12\n\n\x02id\x18\x01 \x01(\r\x12\x0c\n\x04type\x18\x02 \x01(\x07\x12\x10\n\x08\x65rror_id\x18\x03 \x01(\r\x12\x0e\n\x06\x61nswer\x18\x04 \x01(\x0c\"X\n\x18\x43hallengeExternalRequest\x12\x15\n\rrequest_token\x18\x01 \x01(\t\x12\x14\n\x0cpayload_type\x18\x02 \x01(\t\x12\x0f\n\x07payload\x18\x03 \x01(\x0c\"F\n\x17\x43hallengeExternalResult\x12\x15\n\rrequest_token\x18\x01 \x01(\t\x12\x14\n\x06passed\x18\x02 \x01(\x08:\x04true') + syntax='proto2', + serialized_options=None, + serialized_pb=b'\n\x1c\x62net/challenge_service.proto\x12\x17\x62net.protocol.challenge\x1a\x14\x62net/attribute.proto\x1a\x11\x62net/entity.proto\x1a\x0e\x62net/rpc.proto\"H\n\tChallenge\x12\x0c\n\x04type\x18\x01 \x02(\x07\x12\x0c\n\x04info\x18\x02 \x01(\t\x12\x0e\n\x06\x61nswer\x18\x03 \x01(\t\x12\x0f\n\x07retries\x18\x04 \x01(\r\"^\n\x16\x43hallengePickedRequest\x12\x11\n\tchallenge\x18\x01 \x02(\x07\x12\n\n\x02id\x18\x02 \x01(\r\x12%\n\x16new_challenge_protocol\x18\x03 \x01(\x08:\x05\x66\x61lse\"\'\n\x17\x43hallengePickedResponse\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\"D\n\x18\x43hallengeAnsweredRequest\x12\x0e\n\x06\x61nswer\x18\x01 \x02(\t\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\x12\n\n\x02id\x18\x03 \x01(\r\"U\n\x19\x43hallengeAnsweredResponse\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\x12\x10\n\x08\x64o_retry\x18\x02 \x01(\x08\x12\x18\n\x10record_not_found\x18\x03 \x01(\x08\"\'\n\x19\x43hallengeCancelledRequest\x12\n\n\x02id\x18\x01 \x01(\r\"\x8b\x02\n\x1aSendChallengeToUserRequest\x12)\n\x07peer_id\x18\x01 \x01(\x0b\x32\x18.bnet.protocol.ProcessId\x12\x30\n\x0fgame_account_id\x18\x02 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12\x36\n\nchallenges\x18\x03 \x03(\x0b\x32\".bnet.protocol.challenge.Challenge\x12\x0f\n\x07\x63ontext\x18\x04 \x02(\x07\x12\x0f\n\x07timeout\x18\x05 \x01(\x04\x12\x36\n\nattributes\x18\x06 \x03(\x0b\x32\".bnet.protocol.attribute.Attribute\")\n\x1bSendChallengeToUserResponse\x12\n\n\x02id\x18\x01 \x01(\r\"\xe7\x01\n\x14\x43hallengeUserRequest\x12\x36\n\nchallenges\x18\x01 \x03(\x0b\x32\".bnet.protocol.challenge.Challenge\x12\x0f\n\x07\x63ontext\x18\x02 \x02(\x07\x12\n\n\x02id\x18\x03 \x01(\r\x12\x10\n\x08\x64\x65\x61\x64line\x18\x04 \x01(\x04\x12\x36\n\nattributes\x18\x05 \x03(\x0b\x32\".bnet.protocol.attribute.Attribute\x12\x30\n\x0fgame_account_id\x18\x06 \x01(\x0b\x32\x17.bnet.protocol.EntityId\"T\n\x16\x43hallengeResultRequest\x12\n\n\x02id\x18\x01 \x01(\r\x12\x0c\n\x04type\x18\x02 \x01(\x07\x12\x10\n\x08\x65rror_id\x18\x03 \x01(\r\x12\x0e\n\x06\x61nswer\x18\x04 \x01(\x0c\"X\n\x18\x43hallengeExternalRequest\x12\x15\n\rrequest_token\x18\x01 \x01(\t\x12\x14\n\x0cpayload_type\x18\x02 \x01(\t\x12\x0f\n\x07payload\x18\x03 \x01(\x0c\"F\n\x17\x43hallengeExternalResult\x12\x15\n\rrequest_token\x18\x01 \x01(\t\x12\x14\n\x06passed\x18\x02 \x01(\x08:\x04true' , - dependencies=[bnet.attribute_pb2.DESCRIPTOR,bnet.entity_pb2.DESCRIPTOR,bnet.rpc_pb2.DESCRIPTOR,]) -_sym_db.RegisterFileDescriptor(DESCRIPTOR) + dependencies=[bnet_dot_attribute__pb2.DESCRIPTOR,bnet_dot_entity__pb2.DESCRIPTOR,bnet_dot_rpc__pb2.DESCRIPTOR,]) @@ -42,36 +41,37 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='info', full_name='bnet.protocol.challenge.Challenge.info', index=1, number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='answer', full_name='bnet.protocol.challenge.Challenge.answer', index=2, number=3, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='retries', full_name='bnet.protocol.challenge.Challenge.retries', index=3, number=4, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -93,29 +93,30 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='id', full_name='bnet.protocol.challenge.ChallengePickedRequest.id', index=1, number=2, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='new_challenge_protocol', full_name='bnet.protocol.challenge.ChallengePickedRequest.new_challenge_protocol', index=2, number=3, type=8, cpp_type=7, label=1, has_default_value=True, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -134,18 +135,19 @@ _descriptor.FieldDescriptor( name='data', full_name='bnet.protocol.challenge.ChallengePickedResponse.data', index=0, number=1, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=_b(""), + has_default_value=False, default_value=b"", message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -164,32 +166,33 @@ _descriptor.FieldDescriptor( name='answer', full_name='bnet.protocol.challenge.ChallengeAnsweredRequest.answer', index=0, number=1, type=9, cpp_type=9, label=2, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='data', full_name='bnet.protocol.challenge.ChallengeAnsweredRequest.data', index=1, number=2, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=_b(""), + has_default_value=False, default_value=b"", message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='id', full_name='bnet.protocol.challenge.ChallengeAnsweredRequest.id', index=2, number=3, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -208,32 +211,33 @@ _descriptor.FieldDescriptor( name='data', full_name='bnet.protocol.challenge.ChallengeAnsweredResponse.data', index=0, number=1, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=_b(""), + has_default_value=False, default_value=b"", message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='do_retry', full_name='bnet.protocol.challenge.ChallengeAnsweredResponse.do_retry', index=1, number=2, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='record_not_found', full_name='bnet.protocol.challenge.ChallengeAnsweredResponse.record_not_found', index=2, number=3, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -255,15 +259,16 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -285,50 +290,51 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='game_account_id', full_name='bnet.protocol.challenge.SendChallengeToUserRequest.game_account_id', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='challenges', full_name='bnet.protocol.challenge.SendChallengeToUserRequest.challenges', index=2, number=3, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='context', full_name='bnet.protocol.challenge.SendChallengeToUserRequest.context', index=3, number=4, type=7, cpp_type=3, label=2, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='timeout', full_name='bnet.protocol.challenge.SendChallengeToUserRequest.timeout', index=4, number=5, type=4, cpp_type=4, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='attributes', full_name='bnet.protocol.challenge.SendChallengeToUserRequest.attributes', index=5, number=6, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -350,15 +356,16 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -380,50 +387,51 @@ has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='context', full_name='bnet.protocol.challenge.ChallengeUserRequest.context', index=1, number=2, type=7, cpp_type=3, label=2, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='id', full_name='bnet.protocol.challenge.ChallengeUserRequest.id', index=2, number=3, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='deadline', full_name='bnet.protocol.challenge.ChallengeUserRequest.deadline', index=3, number=4, type=4, cpp_type=4, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='attributes', full_name='bnet.protocol.challenge.ChallengeUserRequest.attributes', index=4, number=5, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='game_account_id', full_name='bnet.protocol.challenge.ChallengeUserRequest.game_account_id', index=5, number=6, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -445,36 +453,37 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='type', full_name='bnet.protocol.challenge.ChallengeResultRequest.type', index=1, number=2, type=7, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='error_id', full_name='bnet.protocol.challenge.ChallengeResultRequest.error_id', index=2, number=3, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='answer', full_name='bnet.protocol.challenge.ChallengeResultRequest.answer', index=3, number=4, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=_b(""), + has_default_value=False, default_value=b"", message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -493,32 +502,33 @@ _descriptor.FieldDescriptor( name='request_token', full_name='bnet.protocol.challenge.ChallengeExternalRequest.request_token', index=0, number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='payload_type', full_name='bnet.protocol.challenge.ChallengeExternalRequest.payload_type', index=1, number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='payload', full_name='bnet.protocol.challenge.ChallengeExternalRequest.payload', index=2, number=3, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=_b(""), + has_default_value=False, default_value=b"", message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -537,25 +547,26 @@ _descriptor.FieldDescriptor( name='request_token', full_name='bnet.protocol.challenge.ChallengeExternalResult.request_token', index=0, number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='passed', full_name='bnet.protocol.challenge.ChallengeExternalResult.passed', index=1, number=2, type=8, cpp_type=7, label=1, has_default_value=True, default_value=True, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -563,13 +574,13 @@ serialized_end=1316, ) -_SENDCHALLENGETOUSERREQUEST.fields_by_name['peer_id'].message_type = bnet.rpc_pb2._PROCESSID -_SENDCHALLENGETOUSERREQUEST.fields_by_name['game_account_id'].message_type = bnet.entity_pb2._ENTITYID +_SENDCHALLENGETOUSERREQUEST.fields_by_name['peer_id'].message_type = bnet_dot_rpc__pb2._PROCESSID +_SENDCHALLENGETOUSERREQUEST.fields_by_name['game_account_id'].message_type = bnet_dot_entity__pb2._ENTITYID _SENDCHALLENGETOUSERREQUEST.fields_by_name['challenges'].message_type = _CHALLENGE -_SENDCHALLENGETOUSERREQUEST.fields_by_name['attributes'].message_type = bnet.attribute_pb2._ATTRIBUTE +_SENDCHALLENGETOUSERREQUEST.fields_by_name['attributes'].message_type = bnet_dot_attribute__pb2._ATTRIBUTE _CHALLENGEUSERREQUEST.fields_by_name['challenges'].message_type = _CHALLENGE -_CHALLENGEUSERREQUEST.fields_by_name['attributes'].message_type = bnet.attribute_pb2._ATTRIBUTE -_CHALLENGEUSERREQUEST.fields_by_name['game_account_id'].message_type = bnet.entity_pb2._ENTITYID +_CHALLENGEUSERREQUEST.fields_by_name['attributes'].message_type = bnet_dot_attribute__pb2._ATTRIBUTE +_CHALLENGEUSERREQUEST.fields_by_name['game_account_id'].message_type = bnet_dot_entity__pb2._ENTITYID DESCRIPTOR.message_types_by_name['Challenge'] = _CHALLENGE DESCRIPTOR.message_types_by_name['ChallengePickedRequest'] = _CHALLENGEPICKEDREQUEST DESCRIPTOR.message_types_by_name['ChallengePickedResponse'] = _CHALLENGEPICKEDRESPONSE @@ -582,89 +593,90 @@ DESCRIPTOR.message_types_by_name['ChallengeResultRequest'] = _CHALLENGERESULTREQUEST DESCRIPTOR.message_types_by_name['ChallengeExternalRequest'] = _CHALLENGEEXTERNALREQUEST DESCRIPTOR.message_types_by_name['ChallengeExternalResult'] = _CHALLENGEEXTERNALRESULT +_sym_db.RegisterFileDescriptor(DESCRIPTOR) -Challenge = _reflection.GeneratedProtocolMessageType('Challenge', (_message.Message,), dict( - DESCRIPTOR = _CHALLENGE, - __module__ = 'bnet.challenge_service_pb2' +Challenge = _reflection.GeneratedProtocolMessageType('Challenge', (_message.Message,), { + 'DESCRIPTOR' : _CHALLENGE, + '__module__' : 'bnet.challenge_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.challenge.Challenge) - )) + }) _sym_db.RegisterMessage(Challenge) -ChallengePickedRequest = _reflection.GeneratedProtocolMessageType('ChallengePickedRequest', (_message.Message,), dict( - DESCRIPTOR = _CHALLENGEPICKEDREQUEST, - __module__ = 'bnet.challenge_service_pb2' +ChallengePickedRequest = _reflection.GeneratedProtocolMessageType('ChallengePickedRequest', (_message.Message,), { + 'DESCRIPTOR' : _CHALLENGEPICKEDREQUEST, + '__module__' : 'bnet.challenge_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.challenge.ChallengePickedRequest) - )) + }) _sym_db.RegisterMessage(ChallengePickedRequest) -ChallengePickedResponse = _reflection.GeneratedProtocolMessageType('ChallengePickedResponse', (_message.Message,), dict( - DESCRIPTOR = _CHALLENGEPICKEDRESPONSE, - __module__ = 'bnet.challenge_service_pb2' +ChallengePickedResponse = _reflection.GeneratedProtocolMessageType('ChallengePickedResponse', (_message.Message,), { + 'DESCRIPTOR' : _CHALLENGEPICKEDRESPONSE, + '__module__' : 'bnet.challenge_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.challenge.ChallengePickedResponse) - )) + }) _sym_db.RegisterMessage(ChallengePickedResponse) -ChallengeAnsweredRequest = _reflection.GeneratedProtocolMessageType('ChallengeAnsweredRequest', (_message.Message,), dict( - DESCRIPTOR = _CHALLENGEANSWEREDREQUEST, - __module__ = 'bnet.challenge_service_pb2' +ChallengeAnsweredRequest = _reflection.GeneratedProtocolMessageType('ChallengeAnsweredRequest', (_message.Message,), { + 'DESCRIPTOR' : _CHALLENGEANSWEREDREQUEST, + '__module__' : 'bnet.challenge_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.challenge.ChallengeAnsweredRequest) - )) + }) _sym_db.RegisterMessage(ChallengeAnsweredRequest) -ChallengeAnsweredResponse = _reflection.GeneratedProtocolMessageType('ChallengeAnsweredResponse', (_message.Message,), dict( - DESCRIPTOR = _CHALLENGEANSWEREDRESPONSE, - __module__ = 'bnet.challenge_service_pb2' +ChallengeAnsweredResponse = _reflection.GeneratedProtocolMessageType('ChallengeAnsweredResponse', (_message.Message,), { + 'DESCRIPTOR' : _CHALLENGEANSWEREDRESPONSE, + '__module__' : 'bnet.challenge_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.challenge.ChallengeAnsweredResponse) - )) + }) _sym_db.RegisterMessage(ChallengeAnsweredResponse) -ChallengeCancelledRequest = _reflection.GeneratedProtocolMessageType('ChallengeCancelledRequest', (_message.Message,), dict( - DESCRIPTOR = _CHALLENGECANCELLEDREQUEST, - __module__ = 'bnet.challenge_service_pb2' +ChallengeCancelledRequest = _reflection.GeneratedProtocolMessageType('ChallengeCancelledRequest', (_message.Message,), { + 'DESCRIPTOR' : _CHALLENGECANCELLEDREQUEST, + '__module__' : 'bnet.challenge_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.challenge.ChallengeCancelledRequest) - )) + }) _sym_db.RegisterMessage(ChallengeCancelledRequest) -SendChallengeToUserRequest = _reflection.GeneratedProtocolMessageType('SendChallengeToUserRequest', (_message.Message,), dict( - DESCRIPTOR = _SENDCHALLENGETOUSERREQUEST, - __module__ = 'bnet.challenge_service_pb2' +SendChallengeToUserRequest = _reflection.GeneratedProtocolMessageType('SendChallengeToUserRequest', (_message.Message,), { + 'DESCRIPTOR' : _SENDCHALLENGETOUSERREQUEST, + '__module__' : 'bnet.challenge_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.challenge.SendChallengeToUserRequest) - )) + }) _sym_db.RegisterMessage(SendChallengeToUserRequest) -SendChallengeToUserResponse = _reflection.GeneratedProtocolMessageType('SendChallengeToUserResponse', (_message.Message,), dict( - DESCRIPTOR = _SENDCHALLENGETOUSERRESPONSE, - __module__ = 'bnet.challenge_service_pb2' +SendChallengeToUserResponse = _reflection.GeneratedProtocolMessageType('SendChallengeToUserResponse', (_message.Message,), { + 'DESCRIPTOR' : _SENDCHALLENGETOUSERRESPONSE, + '__module__' : 'bnet.challenge_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.challenge.SendChallengeToUserResponse) - )) + }) _sym_db.RegisterMessage(SendChallengeToUserResponse) -ChallengeUserRequest = _reflection.GeneratedProtocolMessageType('ChallengeUserRequest', (_message.Message,), dict( - DESCRIPTOR = _CHALLENGEUSERREQUEST, - __module__ = 'bnet.challenge_service_pb2' +ChallengeUserRequest = _reflection.GeneratedProtocolMessageType('ChallengeUserRequest', (_message.Message,), { + 'DESCRIPTOR' : _CHALLENGEUSERREQUEST, + '__module__' : 'bnet.challenge_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.challenge.ChallengeUserRequest) - )) + }) _sym_db.RegisterMessage(ChallengeUserRequest) -ChallengeResultRequest = _reflection.GeneratedProtocolMessageType('ChallengeResultRequest', (_message.Message,), dict( - DESCRIPTOR = _CHALLENGERESULTREQUEST, - __module__ = 'bnet.challenge_service_pb2' +ChallengeResultRequest = _reflection.GeneratedProtocolMessageType('ChallengeResultRequest', (_message.Message,), { + 'DESCRIPTOR' : _CHALLENGERESULTREQUEST, + '__module__' : 'bnet.challenge_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.challenge.ChallengeResultRequest) - )) + }) _sym_db.RegisterMessage(ChallengeResultRequest) -ChallengeExternalRequest = _reflection.GeneratedProtocolMessageType('ChallengeExternalRequest', (_message.Message,), dict( - DESCRIPTOR = _CHALLENGEEXTERNALREQUEST, - __module__ = 'bnet.challenge_service_pb2' +ChallengeExternalRequest = _reflection.GeneratedProtocolMessageType('ChallengeExternalRequest', (_message.Message,), { + 'DESCRIPTOR' : _CHALLENGEEXTERNALREQUEST, + '__module__' : 'bnet.challenge_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.challenge.ChallengeExternalRequest) - )) + }) _sym_db.RegisterMessage(ChallengeExternalRequest) -ChallengeExternalResult = _reflection.GeneratedProtocolMessageType('ChallengeExternalResult', (_message.Message,), dict( - DESCRIPTOR = _CHALLENGEEXTERNALRESULT, - __module__ = 'bnet.challenge_service_pb2' +ChallengeExternalResult = _reflection.GeneratedProtocolMessageType('ChallengeExternalResult', (_message.Message,), { + 'DESCRIPTOR' : _CHALLENGEEXTERNALRESULT, + '__module__' : 'bnet.challenge_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.challenge.ChallengeExternalResult) - )) + }) _sym_db.RegisterMessage(ChallengeExternalResult) diff --git a/src/bnet/channel_invitation_service.proto b/src/bnet/channel_invitation_service.proto new file mode 100644 index 0000000..8f26c83 --- /dev/null +++ b/src/bnet/channel_invitation_service.proto @@ -0,0 +1,112 @@ +package bnet.protocol.channel_invitation; +import "bnet/channel_invitation_types.proto"; +import "bnet/channel_types.proto"; +import "bnet/entity.proto"; +import "bnet/invitation_types.proto"; + + +message AcceptInvitationRequest { + optional EntityId agent_id = 1; + optional channel.MemberState member_state = 2; + required fixed64 invitation_id = 3; + required uint64 object_id = 4; + optional EntityId channel_id = 5; + optional uint32 service_type = 6; + optional bool local_subscriber = 7 [default = true]; +} + +message AcceptInvitationResponse { + required uint64 object_id = 1; +} + +message SubscribeRequest { + optional EntityId agent_id = 1; + required uint64 object_id = 2; +} + +message SubscribeResponse { + repeated InvitationCollection collection = 1; + repeated invitation.Invitation received_invitation = 2; +} + +message UnsubscribeRequest { + optional EntityId agent_id = 1; +} + +message SuggestInvitationRequest { + optional EntityId agent_id = 1; + required EntityId channel_id = 2; + required EntityId target_id = 3; + optional EntityId approval_id = 4; + optional Identity agent_identity = 5; + optional AccountInfo agent_info = 6; +} + +message RevokeInvitationRequest { + optional EntityId agent_id = 1; + optional EntityId target_id = 2; + required fixed64 invitation_id = 3; + required EntityId channel_id = 4; +} + +message HasRoomForInvitationRequest { + required uint32 service_type = 1; + optional fixed32 program = 2; + optional string channel_type = 3 [default = "default"]; +} + +message ChannelCountDescription { + required uint32 service_type = 1; + required fixed32 program = 2; + optional string channel_type = 3 [default = "default"]; + optional EntityId channel_id = 4; +} + +message IncrementChannelCountRequest { + required EntityId agent_id = 1; + repeated ChannelCountDescription descriptions = 2; +} + +message IncrementChannelCountResponse { + repeated uint64 reservation_tokens = 1; +} + +message DecrementChannelCountRequest { + required EntityId agent_id = 1; + optional EntityId channel_id = 2; + optional uint64 reservation_token = 3; +} + +message UpdateChannelCountRequest { + required EntityId agent_id = 1; + optional uint64 reservation_token = 2; + required EntityId channel_id = 3; +} + +message ListChannelCountRequest { + required EntityId member_id = 1; + required uint32 service_type = 2; + optional fixed32 program = 3; +} + +message ChannelCount { + optional EntityId channel_id = 1; + optional string channel_type = 2 [default = "default"]; +} + +message ListChannelCountResponse { + repeated ChannelCount channel = 1; +} + +message InvitationAddedNotification { + required invitation.Invitation invitation = 1; +} + +message InvitationRemovedNotification { + required invitation.Invitation invitation = 1; + optional uint32 reason = 2; +} + +message SuggestionAddedNotification { + required invitation.Suggestion suggestion = 1; +} diff --git a/src/bnet/channel_invitation_service_pb2.py b/src/bnet/channel_invitation_service_pb2.py index 5ad7a19..0918752 100644 --- a/src/bnet/channel_invitation_service_pb2.py +++ b/src/bnet/channel_invitation_service_pb2.py @@ -1,31 +1,30 @@ +# -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: bnet/channel_invitation_service.proto -import sys -_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message from google.protobuf import reflection as _reflection from google.protobuf import symbol_database as _symbol_database -from google.protobuf import descriptor_pb2 # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() -import bnet.channel_invitation_types_pb2 -import bnet.channel_types_pb2 -import bnet.entity_pb2 -import bnet.invitation_types_pb2 +from bnet import channel_invitation_types_pb2 as bnet_dot_channel__invitation__types__pb2 +from bnet import channel_types_pb2 as bnet_dot_channel__types__pb2 +from bnet import entity_pb2 as bnet_dot_entity__pb2 +from bnet import invitation_types_pb2 as bnet_dot_invitation__types__pb2 DESCRIPTOR = _descriptor.FileDescriptor( name='bnet/channel_invitation_service.proto', package='bnet.protocol.channel_invitation', - serialized_pb=_b('\n%bnet/channel_invitation_service.proto\x12 bnet.protocol.channel_invitation\x1a#bnet/channel_invitation_types.proto\x1a\x18\x62net/channel_types.proto\x1a\x11\x62net/entity.proto\x1a\x1b\x62net/invitation_types.proto\"\x8b\x02\n\x17\x41\x63\x63\x65ptInvitationRequest\x12)\n\x08\x61gent_id\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12\x38\n\x0cmember_state\x18\x02 \x01(\x0b\x32\".bnet.protocol.channel.MemberState\x12\x15\n\rinvitation_id\x18\x03 \x02(\x06\x12\x11\n\tobject_id\x18\x04 \x02(\x04\x12+\n\nchannel_id\x18\x05 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12\x14\n\x0cservice_type\x18\x06 \x01(\r\x12\x1e\n\x10local_subscriber\x18\x07 \x01(\x08:\x04true\"-\n\x18\x41\x63\x63\x65ptInvitationResponse\x12\x11\n\tobject_id\x18\x01 \x02(\x04\"P\n\x10SubscribeRequest\x12)\n\x08\x61gent_id\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12\x11\n\tobject_id\x18\x02 \x02(\x04\"\xa2\x01\n\x11SubscribeResponse\x12J\n\ncollection\x18\x01 \x03(\x0b\x32\x36.bnet.protocol.channel_invitation.InvitationCollection\x12\x41\n\x13received_invitation\x18\x02 \x03(\x0b\x32$.bnet.protocol.invitation.Invitation\"?\n\x12UnsubscribeRequest\x12)\n\x08\x61gent_id\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.EntityId\"\xad\x02\n\x18SuggestInvitationRequest\x12)\n\x08\x61gent_id\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12+\n\nchannel_id\x18\x02 \x02(\x0b\x32\x17.bnet.protocol.EntityId\x12*\n\ttarget_id\x18\x03 \x02(\x0b\x32\x17.bnet.protocol.EntityId\x12,\n\x0b\x61pproval_id\x18\x04 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12/\n\x0e\x61gent_identity\x18\x05 \x01(\x0b\x32\x17.bnet.protocol.Identity\x12.\n\nagent_info\x18\x06 \x01(\x0b\x32\x1a.bnet.protocol.AccountInfo\"\xb4\x01\n\x17RevokeInvitationRequest\x12)\n\x08\x61gent_id\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12*\n\ttarget_id\x18\x02 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12\x15\n\rinvitation_id\x18\x03 \x02(\x06\x12+\n\nchannel_id\x18\x04 \x02(\x0b\x32\x17.bnet.protocol.EntityId\"c\n\x1bHasRoomForInvitationRequest\x12\x14\n\x0cservice_type\x18\x01 \x02(\r\x12\x0f\n\x07program\x18\x02 \x01(\x07\x12\x1d\n\x0c\x63hannel_type\x18\x03 \x01(\t:\x07\x64\x65\x66\x61ult\"\x8c\x01\n\x17\x43hannelCountDescription\x12\x14\n\x0cservice_type\x18\x01 \x02(\r\x12\x0f\n\x07program\x18\x02 \x02(\x07\x12\x1d\n\x0c\x63hannel_type\x18\x03 \x01(\t:\x07\x64\x65\x66\x61ult\x12+\n\nchannel_id\x18\x04 \x01(\x0b\x32\x17.bnet.protocol.EntityId\"\x9a\x01\n\x1cIncrementChannelCountRequest\x12)\n\x08\x61gent_id\x18\x01 \x02(\x0b\x32\x17.bnet.protocol.EntityId\x12O\n\x0c\x64\x65scriptions\x18\x02 \x03(\x0b\x32\x39.bnet.protocol.channel_invitation.ChannelCountDescription\";\n\x1dIncrementChannelCountResponse\x12\x1a\n\x12reservation_tokens\x18\x01 \x03(\x04\"\x91\x01\n\x1c\x44\x65\x63rementChannelCountRequest\x12)\n\x08\x61gent_id\x18\x01 \x02(\x0b\x32\x17.bnet.protocol.EntityId\x12+\n\nchannel_id\x18\x02 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12\x19\n\x11reservation_token\x18\x03 \x01(\x04\"\x8e\x01\n\x19UpdateChannelCountRequest\x12)\n\x08\x61gent_id\x18\x01 \x02(\x0b\x32\x17.bnet.protocol.EntityId\x12\x19\n\x11reservation_token\x18\x02 \x01(\x04\x12+\n\nchannel_id\x18\x03 \x02(\x0b\x32\x17.bnet.protocol.EntityId\"l\n\x17ListChannelCountRequest\x12*\n\tmember_id\x18\x01 \x02(\x0b\x32\x17.bnet.protocol.EntityId\x12\x14\n\x0cservice_type\x18\x02 \x02(\r\x12\x0f\n\x07program\x18\x03 \x01(\x07\"Z\n\x0c\x43hannelCount\x12+\n\nchannel_id\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12\x1d\n\x0c\x63hannel_type\x18\x02 \x01(\t:\x07\x64\x65\x66\x61ult\"[\n\x18ListChannelCountResponse\x12?\n\x07\x63hannel\x18\x01 \x03(\x0b\x32..bnet.protocol.channel_invitation.ChannelCount\"W\n\x1bInvitationAddedNotification\x12\x38\n\ninvitation\x18\x01 \x02(\x0b\x32$.bnet.protocol.invitation.Invitation\"i\n\x1dInvitationRemovedNotification\x12\x38\n\ninvitation\x18\x01 \x02(\x0b\x32$.bnet.protocol.invitation.Invitation\x12\x0e\n\x06reason\x18\x02 \x01(\r\"W\n\x1bSuggestionAddedNotification\x12\x38\n\nsuggestion\x18\x01 \x02(\x0b\x32$.bnet.protocol.invitation.Suggestion') + syntax='proto2', + serialized_options=None, + serialized_pb=b'\n%bnet/channel_invitation_service.proto\x12 bnet.protocol.channel_invitation\x1a#bnet/channel_invitation_types.proto\x1a\x18\x62net/channel_types.proto\x1a\x11\x62net/entity.proto\x1a\x1b\x62net/invitation_types.proto\"\x8b\x02\n\x17\x41\x63\x63\x65ptInvitationRequest\x12)\n\x08\x61gent_id\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12\x38\n\x0cmember_state\x18\x02 \x01(\x0b\x32\".bnet.protocol.channel.MemberState\x12\x15\n\rinvitation_id\x18\x03 \x02(\x06\x12\x11\n\tobject_id\x18\x04 \x02(\x04\x12+\n\nchannel_id\x18\x05 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12\x14\n\x0cservice_type\x18\x06 \x01(\r\x12\x1e\n\x10local_subscriber\x18\x07 \x01(\x08:\x04true\"-\n\x18\x41\x63\x63\x65ptInvitationResponse\x12\x11\n\tobject_id\x18\x01 \x02(\x04\"P\n\x10SubscribeRequest\x12)\n\x08\x61gent_id\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12\x11\n\tobject_id\x18\x02 \x02(\x04\"\xa2\x01\n\x11SubscribeResponse\x12J\n\ncollection\x18\x01 \x03(\x0b\x32\x36.bnet.protocol.channel_invitation.InvitationCollection\x12\x41\n\x13received_invitation\x18\x02 \x03(\x0b\x32$.bnet.protocol.invitation.Invitation\"?\n\x12UnsubscribeRequest\x12)\n\x08\x61gent_id\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.EntityId\"\xad\x02\n\x18SuggestInvitationRequest\x12)\n\x08\x61gent_id\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12+\n\nchannel_id\x18\x02 \x02(\x0b\x32\x17.bnet.protocol.EntityId\x12*\n\ttarget_id\x18\x03 \x02(\x0b\x32\x17.bnet.protocol.EntityId\x12,\n\x0b\x61pproval_id\x18\x04 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12/\n\x0e\x61gent_identity\x18\x05 \x01(\x0b\x32\x17.bnet.protocol.Identity\x12.\n\nagent_info\x18\x06 \x01(\x0b\x32\x1a.bnet.protocol.AccountInfo\"\xb4\x01\n\x17RevokeInvitationRequest\x12)\n\x08\x61gent_id\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12*\n\ttarget_id\x18\x02 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12\x15\n\rinvitation_id\x18\x03 \x02(\x06\x12+\n\nchannel_id\x18\x04 \x02(\x0b\x32\x17.bnet.protocol.EntityId\"c\n\x1bHasRoomForInvitationRequest\x12\x14\n\x0cservice_type\x18\x01 \x02(\r\x12\x0f\n\x07program\x18\x02 \x01(\x07\x12\x1d\n\x0c\x63hannel_type\x18\x03 \x01(\t:\x07\x64\x65\x66\x61ult\"\x8c\x01\n\x17\x43hannelCountDescription\x12\x14\n\x0cservice_type\x18\x01 \x02(\r\x12\x0f\n\x07program\x18\x02 \x02(\x07\x12\x1d\n\x0c\x63hannel_type\x18\x03 \x01(\t:\x07\x64\x65\x66\x61ult\x12+\n\nchannel_id\x18\x04 \x01(\x0b\x32\x17.bnet.protocol.EntityId\"\x9a\x01\n\x1cIncrementChannelCountRequest\x12)\n\x08\x61gent_id\x18\x01 \x02(\x0b\x32\x17.bnet.protocol.EntityId\x12O\n\x0c\x64\x65scriptions\x18\x02 \x03(\x0b\x32\x39.bnet.protocol.channel_invitation.ChannelCountDescription\";\n\x1dIncrementChannelCountResponse\x12\x1a\n\x12reservation_tokens\x18\x01 \x03(\x04\"\x91\x01\n\x1c\x44\x65\x63rementChannelCountRequest\x12)\n\x08\x61gent_id\x18\x01 \x02(\x0b\x32\x17.bnet.protocol.EntityId\x12+\n\nchannel_id\x18\x02 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12\x19\n\x11reservation_token\x18\x03 \x01(\x04\"\x8e\x01\n\x19UpdateChannelCountRequest\x12)\n\x08\x61gent_id\x18\x01 \x02(\x0b\x32\x17.bnet.protocol.EntityId\x12\x19\n\x11reservation_token\x18\x02 \x01(\x04\x12+\n\nchannel_id\x18\x03 \x02(\x0b\x32\x17.bnet.protocol.EntityId\"l\n\x17ListChannelCountRequest\x12*\n\tmember_id\x18\x01 \x02(\x0b\x32\x17.bnet.protocol.EntityId\x12\x14\n\x0cservice_type\x18\x02 \x02(\r\x12\x0f\n\x07program\x18\x03 \x01(\x07\"Z\n\x0c\x43hannelCount\x12+\n\nchannel_id\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12\x1d\n\x0c\x63hannel_type\x18\x02 \x01(\t:\x07\x64\x65\x66\x61ult\"[\n\x18ListChannelCountResponse\x12?\n\x07\x63hannel\x18\x01 \x03(\x0b\x32..bnet.protocol.channel_invitation.ChannelCount\"W\n\x1bInvitationAddedNotification\x12\x38\n\ninvitation\x18\x01 \x02(\x0b\x32$.bnet.protocol.invitation.Invitation\"i\n\x1dInvitationRemovedNotification\x12\x38\n\ninvitation\x18\x01 \x02(\x0b\x32$.bnet.protocol.invitation.Invitation\x12\x0e\n\x06reason\x18\x02 \x01(\r\"W\n\x1bSuggestionAddedNotification\x12\x38\n\nsuggestion\x18\x01 \x02(\x0b\x32$.bnet.protocol.invitation.Suggestion' , - dependencies=[bnet.channel_invitation_types_pb2.DESCRIPTOR,bnet.channel_types_pb2.DESCRIPTOR,bnet.entity_pb2.DESCRIPTOR,bnet.invitation_types_pb2.DESCRIPTOR,]) -_sym_db.RegisterFileDescriptor(DESCRIPTOR) + dependencies=[bnet_dot_channel__invitation__types__pb2.DESCRIPTOR,bnet_dot_channel__types__pb2.DESCRIPTOR,bnet_dot_entity__pb2.DESCRIPTOR,bnet_dot_invitation__types__pb2.DESCRIPTOR,]) @@ -43,57 +42,58 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='member_state', full_name='bnet.protocol.channel_invitation.AcceptInvitationRequest.member_state', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='invitation_id', full_name='bnet.protocol.channel_invitation.AcceptInvitationRequest.invitation_id', index=2, number=3, type=6, cpp_type=4, label=2, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='object_id', full_name='bnet.protocol.channel_invitation.AcceptInvitationRequest.object_id', index=3, number=4, type=4, cpp_type=4, label=2, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='channel_id', full_name='bnet.protocol.channel_invitation.AcceptInvitationRequest.channel_id', index=4, number=5, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='service_type', full_name='bnet.protocol.channel_invitation.AcceptInvitationRequest.service_type', index=5, number=6, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='local_subscriber', full_name='bnet.protocol.channel_invitation.AcceptInvitationRequest.local_subscriber', index=6, number=7, type=8, cpp_type=7, label=1, has_default_value=True, default_value=True, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -115,15 +115,16 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -145,22 +146,23 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='object_id', full_name='bnet.protocol.channel_invitation.SubscribeRequest.object_id', index=1, number=2, type=4, cpp_type=4, label=2, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -182,22 +184,23 @@ has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='received_invitation', full_name='bnet.protocol.channel_invitation.SubscribeResponse.received_invitation', index=1, number=2, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -219,15 +222,16 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -249,50 +253,51 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='channel_id', full_name='bnet.protocol.channel_invitation.SuggestInvitationRequest.channel_id', index=1, number=2, type=11, cpp_type=10, label=2, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='target_id', full_name='bnet.protocol.channel_invitation.SuggestInvitationRequest.target_id', index=2, number=3, type=11, cpp_type=10, label=2, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='approval_id', full_name='bnet.protocol.channel_invitation.SuggestInvitationRequest.approval_id', index=3, number=4, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='agent_identity', full_name='bnet.protocol.channel_invitation.SuggestInvitationRequest.agent_identity', index=4, number=5, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='agent_info', full_name='bnet.protocol.channel_invitation.SuggestInvitationRequest.agent_info', index=5, number=6, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -314,36 +319,37 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='target_id', full_name='bnet.protocol.channel_invitation.RevokeInvitationRequest.target_id', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='invitation_id', full_name='bnet.protocol.channel_invitation.RevokeInvitationRequest.invitation_id', index=2, number=3, type=6, cpp_type=4, label=2, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='channel_id', full_name='bnet.protocol.channel_invitation.RevokeInvitationRequest.channel_id', index=3, number=4, type=11, cpp_type=10, label=2, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -365,29 +371,30 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='program', full_name='bnet.protocol.channel_invitation.HasRoomForInvitationRequest.program', index=1, number=2, type=7, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='channel_type', full_name='bnet.protocol.channel_invitation.HasRoomForInvitationRequest.channel_type', index=2, number=3, type=9, cpp_type=9, label=1, - has_default_value=True, default_value=_b("default").decode('utf-8'), + has_default_value=True, default_value=b"default".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -409,36 +416,37 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='program', full_name='bnet.protocol.channel_invitation.ChannelCountDescription.program', index=1, number=2, type=7, cpp_type=3, label=2, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='channel_type', full_name='bnet.protocol.channel_invitation.ChannelCountDescription.channel_type', index=2, number=3, type=9, cpp_type=9, label=1, - has_default_value=True, default_value=_b("default").decode('utf-8'), + has_default_value=True, default_value=b"default".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='channel_id', full_name='bnet.protocol.channel_invitation.ChannelCountDescription.channel_id', index=3, number=4, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -460,22 +468,23 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='descriptions', full_name='bnet.protocol.channel_invitation.IncrementChannelCountRequest.descriptions', index=1, number=2, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -497,15 +506,16 @@ has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -527,29 +537,30 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='channel_id', full_name='bnet.protocol.channel_invitation.DecrementChannelCountRequest.channel_id', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='reservation_token', full_name='bnet.protocol.channel_invitation.DecrementChannelCountRequest.reservation_token', index=2, number=3, type=4, cpp_type=4, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -571,29 +582,30 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='reservation_token', full_name='bnet.protocol.channel_invitation.UpdateChannelCountRequest.reservation_token', index=1, number=2, type=4, cpp_type=4, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='channel_id', full_name='bnet.protocol.channel_invitation.UpdateChannelCountRequest.channel_id', index=2, number=3, type=11, cpp_type=10, label=2, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -615,29 +627,30 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='service_type', full_name='bnet.protocol.channel_invitation.ListChannelCountRequest.service_type', index=1, number=2, type=13, cpp_type=3, label=2, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='program', full_name='bnet.protocol.channel_invitation.ListChannelCountRequest.program', index=2, number=3, type=7, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -659,22 +672,23 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='channel_type', full_name='bnet.protocol.channel_invitation.ChannelCount.channel_type', index=1, number=2, type=9, cpp_type=9, label=1, - has_default_value=True, default_value=_b("default").decode('utf-8'), + has_default_value=True, default_value=b"default".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -696,15 +710,16 @@ has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -726,15 +741,16 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -756,22 +772,23 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='reason', full_name='bnet.protocol.channel_invitation.InvitationRemovedNotification.reason', index=1, number=2, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -793,15 +810,16 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -809,35 +827,35 @@ serialized_end=2635, ) -_ACCEPTINVITATIONREQUEST.fields_by_name['agent_id'].message_type = bnet.entity_pb2._ENTITYID -_ACCEPTINVITATIONREQUEST.fields_by_name['member_state'].message_type = bnet.channel_types_pb2._MEMBERSTATE -_ACCEPTINVITATIONREQUEST.fields_by_name['channel_id'].message_type = bnet.entity_pb2._ENTITYID -_SUBSCRIBEREQUEST.fields_by_name['agent_id'].message_type = bnet.entity_pb2._ENTITYID -_SUBSCRIBERESPONSE.fields_by_name['collection'].message_type = bnet.channel_invitation_types_pb2._INVITATIONCOLLECTION -_SUBSCRIBERESPONSE.fields_by_name['received_invitation'].message_type = bnet.invitation_types_pb2._INVITATION -_UNSUBSCRIBEREQUEST.fields_by_name['agent_id'].message_type = bnet.entity_pb2._ENTITYID -_SUGGESTINVITATIONREQUEST.fields_by_name['agent_id'].message_type = bnet.entity_pb2._ENTITYID -_SUGGESTINVITATIONREQUEST.fields_by_name['channel_id'].message_type = bnet.entity_pb2._ENTITYID -_SUGGESTINVITATIONREQUEST.fields_by_name['target_id'].message_type = bnet.entity_pb2._ENTITYID -_SUGGESTINVITATIONREQUEST.fields_by_name['approval_id'].message_type = bnet.entity_pb2._ENTITYID -_SUGGESTINVITATIONREQUEST.fields_by_name['agent_identity'].message_type = bnet.entity_pb2._IDENTITY -_SUGGESTINVITATIONREQUEST.fields_by_name['agent_info'].message_type = bnet.entity_pb2._ACCOUNTINFO -_REVOKEINVITATIONREQUEST.fields_by_name['agent_id'].message_type = bnet.entity_pb2._ENTITYID -_REVOKEINVITATIONREQUEST.fields_by_name['target_id'].message_type = bnet.entity_pb2._ENTITYID -_REVOKEINVITATIONREQUEST.fields_by_name['channel_id'].message_type = bnet.entity_pb2._ENTITYID -_CHANNELCOUNTDESCRIPTION.fields_by_name['channel_id'].message_type = bnet.entity_pb2._ENTITYID -_INCREMENTCHANNELCOUNTREQUEST.fields_by_name['agent_id'].message_type = bnet.entity_pb2._ENTITYID +_ACCEPTINVITATIONREQUEST.fields_by_name['agent_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_ACCEPTINVITATIONREQUEST.fields_by_name['member_state'].message_type = bnet_dot_channel__types__pb2._MEMBERSTATE +_ACCEPTINVITATIONREQUEST.fields_by_name['channel_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_SUBSCRIBEREQUEST.fields_by_name['agent_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_SUBSCRIBERESPONSE.fields_by_name['collection'].message_type = bnet_dot_channel__invitation__types__pb2._INVITATIONCOLLECTION +_SUBSCRIBERESPONSE.fields_by_name['received_invitation'].message_type = bnet_dot_invitation__types__pb2._INVITATION +_UNSUBSCRIBEREQUEST.fields_by_name['agent_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_SUGGESTINVITATIONREQUEST.fields_by_name['agent_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_SUGGESTINVITATIONREQUEST.fields_by_name['channel_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_SUGGESTINVITATIONREQUEST.fields_by_name['target_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_SUGGESTINVITATIONREQUEST.fields_by_name['approval_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_SUGGESTINVITATIONREQUEST.fields_by_name['agent_identity'].message_type = bnet_dot_entity__pb2._IDENTITY +_SUGGESTINVITATIONREQUEST.fields_by_name['agent_info'].message_type = bnet_dot_entity__pb2._ACCOUNTINFO +_REVOKEINVITATIONREQUEST.fields_by_name['agent_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_REVOKEINVITATIONREQUEST.fields_by_name['target_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_REVOKEINVITATIONREQUEST.fields_by_name['channel_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_CHANNELCOUNTDESCRIPTION.fields_by_name['channel_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_INCREMENTCHANNELCOUNTREQUEST.fields_by_name['agent_id'].message_type = bnet_dot_entity__pb2._ENTITYID _INCREMENTCHANNELCOUNTREQUEST.fields_by_name['descriptions'].message_type = _CHANNELCOUNTDESCRIPTION -_DECREMENTCHANNELCOUNTREQUEST.fields_by_name['agent_id'].message_type = bnet.entity_pb2._ENTITYID -_DECREMENTCHANNELCOUNTREQUEST.fields_by_name['channel_id'].message_type = bnet.entity_pb2._ENTITYID -_UPDATECHANNELCOUNTREQUEST.fields_by_name['agent_id'].message_type = bnet.entity_pb2._ENTITYID -_UPDATECHANNELCOUNTREQUEST.fields_by_name['channel_id'].message_type = bnet.entity_pb2._ENTITYID -_LISTCHANNELCOUNTREQUEST.fields_by_name['member_id'].message_type = bnet.entity_pb2._ENTITYID -_CHANNELCOUNT.fields_by_name['channel_id'].message_type = bnet.entity_pb2._ENTITYID +_DECREMENTCHANNELCOUNTREQUEST.fields_by_name['agent_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_DECREMENTCHANNELCOUNTREQUEST.fields_by_name['channel_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_UPDATECHANNELCOUNTREQUEST.fields_by_name['agent_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_UPDATECHANNELCOUNTREQUEST.fields_by_name['channel_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_LISTCHANNELCOUNTREQUEST.fields_by_name['member_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_CHANNELCOUNT.fields_by_name['channel_id'].message_type = bnet_dot_entity__pb2._ENTITYID _LISTCHANNELCOUNTRESPONSE.fields_by_name['channel'].message_type = _CHANNELCOUNT -_INVITATIONADDEDNOTIFICATION.fields_by_name['invitation'].message_type = bnet.invitation_types_pb2._INVITATION -_INVITATIONREMOVEDNOTIFICATION.fields_by_name['invitation'].message_type = bnet.invitation_types_pb2._INVITATION -_SUGGESTIONADDEDNOTIFICATION.fields_by_name['suggestion'].message_type = bnet.invitation_types_pb2._SUGGESTION +_INVITATIONADDEDNOTIFICATION.fields_by_name['invitation'].message_type = bnet_dot_invitation__types__pb2._INVITATION +_INVITATIONREMOVEDNOTIFICATION.fields_by_name['invitation'].message_type = bnet_dot_invitation__types__pb2._INVITATION +_SUGGESTIONADDEDNOTIFICATION.fields_by_name['suggestion'].message_type = bnet_dot_invitation__types__pb2._SUGGESTION DESCRIPTOR.message_types_by_name['AcceptInvitationRequest'] = _ACCEPTINVITATIONREQUEST DESCRIPTOR.message_types_by_name['AcceptInvitationResponse'] = _ACCEPTINVITATIONRESPONSE DESCRIPTOR.message_types_by_name['SubscribeRequest'] = _SUBSCRIBEREQUEST @@ -857,138 +875,139 @@ DESCRIPTOR.message_types_by_name['InvitationAddedNotification'] = _INVITATIONADDEDNOTIFICATION DESCRIPTOR.message_types_by_name['InvitationRemovedNotification'] = _INVITATIONREMOVEDNOTIFICATION DESCRIPTOR.message_types_by_name['SuggestionAddedNotification'] = _SUGGESTIONADDEDNOTIFICATION +_sym_db.RegisterFileDescriptor(DESCRIPTOR) -AcceptInvitationRequest = _reflection.GeneratedProtocolMessageType('AcceptInvitationRequest', (_message.Message,), dict( - DESCRIPTOR = _ACCEPTINVITATIONREQUEST, - __module__ = 'bnet.channel_invitation_service_pb2' +AcceptInvitationRequest = _reflection.GeneratedProtocolMessageType('AcceptInvitationRequest', (_message.Message,), { + 'DESCRIPTOR' : _ACCEPTINVITATIONREQUEST, + '__module__' : 'bnet.channel_invitation_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.channel_invitation.AcceptInvitationRequest) - )) + }) _sym_db.RegisterMessage(AcceptInvitationRequest) -AcceptInvitationResponse = _reflection.GeneratedProtocolMessageType('AcceptInvitationResponse', (_message.Message,), dict( - DESCRIPTOR = _ACCEPTINVITATIONRESPONSE, - __module__ = 'bnet.channel_invitation_service_pb2' +AcceptInvitationResponse = _reflection.GeneratedProtocolMessageType('AcceptInvitationResponse', (_message.Message,), { + 'DESCRIPTOR' : _ACCEPTINVITATIONRESPONSE, + '__module__' : 'bnet.channel_invitation_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.channel_invitation.AcceptInvitationResponse) - )) + }) _sym_db.RegisterMessage(AcceptInvitationResponse) -SubscribeRequest = _reflection.GeneratedProtocolMessageType('SubscribeRequest', (_message.Message,), dict( - DESCRIPTOR = _SUBSCRIBEREQUEST, - __module__ = 'bnet.channel_invitation_service_pb2' +SubscribeRequest = _reflection.GeneratedProtocolMessageType('SubscribeRequest', (_message.Message,), { + 'DESCRIPTOR' : _SUBSCRIBEREQUEST, + '__module__' : 'bnet.channel_invitation_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.channel_invitation.SubscribeRequest) - )) + }) _sym_db.RegisterMessage(SubscribeRequest) -SubscribeResponse = _reflection.GeneratedProtocolMessageType('SubscribeResponse', (_message.Message,), dict( - DESCRIPTOR = _SUBSCRIBERESPONSE, - __module__ = 'bnet.channel_invitation_service_pb2' +SubscribeResponse = _reflection.GeneratedProtocolMessageType('SubscribeResponse', (_message.Message,), { + 'DESCRIPTOR' : _SUBSCRIBERESPONSE, + '__module__' : 'bnet.channel_invitation_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.channel_invitation.SubscribeResponse) - )) + }) _sym_db.RegisterMessage(SubscribeResponse) -UnsubscribeRequest = _reflection.GeneratedProtocolMessageType('UnsubscribeRequest', (_message.Message,), dict( - DESCRIPTOR = _UNSUBSCRIBEREQUEST, - __module__ = 'bnet.channel_invitation_service_pb2' +UnsubscribeRequest = _reflection.GeneratedProtocolMessageType('UnsubscribeRequest', (_message.Message,), { + 'DESCRIPTOR' : _UNSUBSCRIBEREQUEST, + '__module__' : 'bnet.channel_invitation_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.channel_invitation.UnsubscribeRequest) - )) + }) _sym_db.RegisterMessage(UnsubscribeRequest) -SuggestInvitationRequest = _reflection.GeneratedProtocolMessageType('SuggestInvitationRequest', (_message.Message,), dict( - DESCRIPTOR = _SUGGESTINVITATIONREQUEST, - __module__ = 'bnet.channel_invitation_service_pb2' +SuggestInvitationRequest = _reflection.GeneratedProtocolMessageType('SuggestInvitationRequest', (_message.Message,), { + 'DESCRIPTOR' : _SUGGESTINVITATIONREQUEST, + '__module__' : 'bnet.channel_invitation_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.channel_invitation.SuggestInvitationRequest) - )) + }) _sym_db.RegisterMessage(SuggestInvitationRequest) -RevokeInvitationRequest = _reflection.GeneratedProtocolMessageType('RevokeInvitationRequest', (_message.Message,), dict( - DESCRIPTOR = _REVOKEINVITATIONREQUEST, - __module__ = 'bnet.channel_invitation_service_pb2' +RevokeInvitationRequest = _reflection.GeneratedProtocolMessageType('RevokeInvitationRequest', (_message.Message,), { + 'DESCRIPTOR' : _REVOKEINVITATIONREQUEST, + '__module__' : 'bnet.channel_invitation_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.channel_invitation.RevokeInvitationRequest) - )) + }) _sym_db.RegisterMessage(RevokeInvitationRequest) -HasRoomForInvitationRequest = _reflection.GeneratedProtocolMessageType('HasRoomForInvitationRequest', (_message.Message,), dict( - DESCRIPTOR = _HASROOMFORINVITATIONREQUEST, - __module__ = 'bnet.channel_invitation_service_pb2' +HasRoomForInvitationRequest = _reflection.GeneratedProtocolMessageType('HasRoomForInvitationRequest', (_message.Message,), { + 'DESCRIPTOR' : _HASROOMFORINVITATIONREQUEST, + '__module__' : 'bnet.channel_invitation_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.channel_invitation.HasRoomForInvitationRequest) - )) + }) _sym_db.RegisterMessage(HasRoomForInvitationRequest) -ChannelCountDescription = _reflection.GeneratedProtocolMessageType('ChannelCountDescription', (_message.Message,), dict( - DESCRIPTOR = _CHANNELCOUNTDESCRIPTION, - __module__ = 'bnet.channel_invitation_service_pb2' +ChannelCountDescription = _reflection.GeneratedProtocolMessageType('ChannelCountDescription', (_message.Message,), { + 'DESCRIPTOR' : _CHANNELCOUNTDESCRIPTION, + '__module__' : 'bnet.channel_invitation_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.channel_invitation.ChannelCountDescription) - )) + }) _sym_db.RegisterMessage(ChannelCountDescription) -IncrementChannelCountRequest = _reflection.GeneratedProtocolMessageType('IncrementChannelCountRequest', (_message.Message,), dict( - DESCRIPTOR = _INCREMENTCHANNELCOUNTREQUEST, - __module__ = 'bnet.channel_invitation_service_pb2' +IncrementChannelCountRequest = _reflection.GeneratedProtocolMessageType('IncrementChannelCountRequest', (_message.Message,), { + 'DESCRIPTOR' : _INCREMENTCHANNELCOUNTREQUEST, + '__module__' : 'bnet.channel_invitation_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.channel_invitation.IncrementChannelCountRequest) - )) + }) _sym_db.RegisterMessage(IncrementChannelCountRequest) -IncrementChannelCountResponse = _reflection.GeneratedProtocolMessageType('IncrementChannelCountResponse', (_message.Message,), dict( - DESCRIPTOR = _INCREMENTCHANNELCOUNTRESPONSE, - __module__ = 'bnet.channel_invitation_service_pb2' +IncrementChannelCountResponse = _reflection.GeneratedProtocolMessageType('IncrementChannelCountResponse', (_message.Message,), { + 'DESCRIPTOR' : _INCREMENTCHANNELCOUNTRESPONSE, + '__module__' : 'bnet.channel_invitation_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.channel_invitation.IncrementChannelCountResponse) - )) + }) _sym_db.RegisterMessage(IncrementChannelCountResponse) -DecrementChannelCountRequest = _reflection.GeneratedProtocolMessageType('DecrementChannelCountRequest', (_message.Message,), dict( - DESCRIPTOR = _DECREMENTCHANNELCOUNTREQUEST, - __module__ = 'bnet.channel_invitation_service_pb2' +DecrementChannelCountRequest = _reflection.GeneratedProtocolMessageType('DecrementChannelCountRequest', (_message.Message,), { + 'DESCRIPTOR' : _DECREMENTCHANNELCOUNTREQUEST, + '__module__' : 'bnet.channel_invitation_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.channel_invitation.DecrementChannelCountRequest) - )) + }) _sym_db.RegisterMessage(DecrementChannelCountRequest) -UpdateChannelCountRequest = _reflection.GeneratedProtocolMessageType('UpdateChannelCountRequest', (_message.Message,), dict( - DESCRIPTOR = _UPDATECHANNELCOUNTREQUEST, - __module__ = 'bnet.channel_invitation_service_pb2' +UpdateChannelCountRequest = _reflection.GeneratedProtocolMessageType('UpdateChannelCountRequest', (_message.Message,), { + 'DESCRIPTOR' : _UPDATECHANNELCOUNTREQUEST, + '__module__' : 'bnet.channel_invitation_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.channel_invitation.UpdateChannelCountRequest) - )) + }) _sym_db.RegisterMessage(UpdateChannelCountRequest) -ListChannelCountRequest = _reflection.GeneratedProtocolMessageType('ListChannelCountRequest', (_message.Message,), dict( - DESCRIPTOR = _LISTCHANNELCOUNTREQUEST, - __module__ = 'bnet.channel_invitation_service_pb2' +ListChannelCountRequest = _reflection.GeneratedProtocolMessageType('ListChannelCountRequest', (_message.Message,), { + 'DESCRIPTOR' : _LISTCHANNELCOUNTREQUEST, + '__module__' : 'bnet.channel_invitation_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.channel_invitation.ListChannelCountRequest) - )) + }) _sym_db.RegisterMessage(ListChannelCountRequest) -ChannelCount = _reflection.GeneratedProtocolMessageType('ChannelCount', (_message.Message,), dict( - DESCRIPTOR = _CHANNELCOUNT, - __module__ = 'bnet.channel_invitation_service_pb2' +ChannelCount = _reflection.GeneratedProtocolMessageType('ChannelCount', (_message.Message,), { + 'DESCRIPTOR' : _CHANNELCOUNT, + '__module__' : 'bnet.channel_invitation_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.channel_invitation.ChannelCount) - )) + }) _sym_db.RegisterMessage(ChannelCount) -ListChannelCountResponse = _reflection.GeneratedProtocolMessageType('ListChannelCountResponse', (_message.Message,), dict( - DESCRIPTOR = _LISTCHANNELCOUNTRESPONSE, - __module__ = 'bnet.channel_invitation_service_pb2' +ListChannelCountResponse = _reflection.GeneratedProtocolMessageType('ListChannelCountResponse', (_message.Message,), { + 'DESCRIPTOR' : _LISTCHANNELCOUNTRESPONSE, + '__module__' : 'bnet.channel_invitation_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.channel_invitation.ListChannelCountResponse) - )) + }) _sym_db.RegisterMessage(ListChannelCountResponse) -InvitationAddedNotification = _reflection.GeneratedProtocolMessageType('InvitationAddedNotification', (_message.Message,), dict( - DESCRIPTOR = _INVITATIONADDEDNOTIFICATION, - __module__ = 'bnet.channel_invitation_service_pb2' +InvitationAddedNotification = _reflection.GeneratedProtocolMessageType('InvitationAddedNotification', (_message.Message,), { + 'DESCRIPTOR' : _INVITATIONADDEDNOTIFICATION, + '__module__' : 'bnet.channel_invitation_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.channel_invitation.InvitationAddedNotification) - )) + }) _sym_db.RegisterMessage(InvitationAddedNotification) -InvitationRemovedNotification = _reflection.GeneratedProtocolMessageType('InvitationRemovedNotification', (_message.Message,), dict( - DESCRIPTOR = _INVITATIONREMOVEDNOTIFICATION, - __module__ = 'bnet.channel_invitation_service_pb2' +InvitationRemovedNotification = _reflection.GeneratedProtocolMessageType('InvitationRemovedNotification', (_message.Message,), { + 'DESCRIPTOR' : _INVITATIONREMOVEDNOTIFICATION, + '__module__' : 'bnet.channel_invitation_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.channel_invitation.InvitationRemovedNotification) - )) + }) _sym_db.RegisterMessage(InvitationRemovedNotification) -SuggestionAddedNotification = _reflection.GeneratedProtocolMessageType('SuggestionAddedNotification', (_message.Message,), dict( - DESCRIPTOR = _SUGGESTIONADDEDNOTIFICATION, - __module__ = 'bnet.channel_invitation_service_pb2' +SuggestionAddedNotification = _reflection.GeneratedProtocolMessageType('SuggestionAddedNotification', (_message.Message,), { + 'DESCRIPTOR' : _SUGGESTIONADDEDNOTIFICATION, + '__module__' : 'bnet.channel_invitation_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.channel_invitation.SuggestionAddedNotification) - )) + }) _sym_db.RegisterMessage(SuggestionAddedNotification) diff --git a/src/bnet/channel_invitation_types.proto b/src/bnet/channel_invitation_types.proto new file mode 100644 index 0000000..44c70fb --- /dev/null +++ b/src/bnet/channel_invitation_types.proto @@ -0,0 +1,32 @@ +package bnet.protocol.channel_invitation; +import "bnet/channel_types.proto"; +import "bnet/entity.proto"; +import "bnet/invitation_types.proto"; + + +message ChannelInvitation { + required channel.ChannelDescription channel_description = 1; + optional bool reserved = 2 [default = false]; + optional bool rejoin = 3 [default = false]; + required uint32 service_type = 4; + extend .bnet.protocol.invitation.Invitation { + optional ChannelInvitation channel_invitation = 105; + } +} + +message ChannelInvitationParams { + required EntityId channel_id = 1; + optional bool reserved = 2; + optional bool rejoin = 3; + required uint32 service_type = 4; + extend .bnet.protocol.invitation.InvitationParams { + optional ChannelInvitationParams channel_params = 105; + } +} + +message InvitationCollection { + optional uint32 service_type = 1; + optional uint32 max_received_invitations = 2; + optional uint64 object_id = 3; + repeated invitation.Invitation received_invitation = 4; +} diff --git a/src/bnet/channel_invitation_types_pb2.py b/src/bnet/channel_invitation_types_pb2.py index 7d02e38..d318baa 100644 --- a/src/bnet/channel_invitation_types_pb2.py +++ b/src/bnet/channel_invitation_types_pb2.py @@ -1,30 +1,29 @@ +# -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: bnet/channel_invitation_types.proto -import sys -_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message from google.protobuf import reflection as _reflection from google.protobuf import symbol_database as _symbol_database -from google.protobuf import descriptor_pb2 # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() -import bnet.channel_types_pb2 -import bnet.entity_pb2 -import bnet.invitation_types_pb2 +from bnet import channel_types_pb2 as bnet_dot_channel__types__pb2 +from bnet import entity_pb2 as bnet_dot_entity__pb2 +from bnet import invitation_types_pb2 as bnet_dot_invitation__types__pb2 DESCRIPTOR = _descriptor.FileDescriptor( name='bnet/channel_invitation_types.proto', package='bnet.protocol.channel_invitation', - serialized_pb=_b('\n#bnet/channel_invitation_types.proto\x12 bnet.protocol.channel_invitation\x1a\x18\x62net/channel_types.proto\x1a\x11\x62net/entity.proto\x1a\x1b\x62net/invitation_types.proto\"\xa1\x01\n\x11\x43hannelInvitation\x12\x46\n\x13\x63hannel_description\x18\x01 \x02(\x0b\x32).bnet.protocol.channel.ChannelDescription\x12\x17\n\x08reserved\x18\x02 \x01(\x08:\x05\x66\x61lse\x12\x15\n\x06rejoin\x18\x03 \x01(\x08:\x05\x66\x61lse\x12\x14\n\x0cservice_type\x18\x04 \x02(\r\"~\n\x17\x43hannelInvitationParams\x12+\n\nchannel_id\x18\x01 \x02(\x0b\x32\x17.bnet.protocol.EntityId\x12\x10\n\x08reserved\x18\x02 \x01(\x08\x12\x0e\n\x06rejoin\x18\x03 \x01(\x08\x12\x14\n\x0cservice_type\x18\x04 \x02(\r\"\xa4\x01\n\x14InvitationCollection\x12\x14\n\x0cservice_type\x18\x01 \x01(\r\x12 \n\x18max_received_invitations\x18\x02 \x01(\r\x12\x11\n\tobject_id\x18\x03 \x01(\x04\x12\x41\n\x13received_invitation\x18\x04 \x03(\x0b\x32$.bnet.protocol.invitation.Invitation') + syntax='proto2', + serialized_options=None, + serialized_pb=b'\n#bnet/channel_invitation_types.proto\x12 bnet.protocol.channel_invitation\x1a\x18\x62net/channel_types.proto\x1a\x11\x62net/entity.proto\x1a\x1b\x62net/invitation_types.proto\"\x98\x02\n\x11\x43hannelInvitation\x12\x46\n\x13\x63hannel_description\x18\x01 \x02(\x0b\x32).bnet.protocol.channel.ChannelDescription\x12\x17\n\x08reserved\x18\x02 \x01(\x08:\x05\x66\x61lse\x12\x15\n\x06rejoin\x18\x03 \x01(\x08:\x05\x66\x61lse\x12\x14\n\x0cservice_type\x18\x04 \x02(\r2u\n\x12\x63hannel_invitation\x12$.bnet.protocol.invitation.Invitation\x18i \x01(\x0b\x32\x33.bnet.protocol.channel_invitation.ChannelInvitation\"\xfd\x01\n\x17\x43hannelInvitationParams\x12+\n\nchannel_id\x18\x01 \x02(\x0b\x32\x17.bnet.protocol.EntityId\x12\x10\n\x08reserved\x18\x02 \x01(\x08\x12\x0e\n\x06rejoin\x18\x03 \x01(\x08\x12\x14\n\x0cservice_type\x18\x04 \x02(\r2}\n\x0e\x63hannel_params\x12*.bnet.protocol.invitation.InvitationParams\x18i \x01(\x0b\x32\x39.bnet.protocol.channel_invitation.ChannelInvitationParams\"\xa4\x01\n\x14InvitationCollection\x12\x14\n\x0cservice_type\x18\x01 \x01(\r\x12 \n\x18max_received_invitations\x18\x02 \x01(\r\x12\x11\n\tobject_id\x18\x03 \x01(\x04\x12\x41\n\x13received_invitation\x18\x04 \x03(\x0b\x32$.bnet.protocol.invitation.Invitation' , - dependencies=[bnet.channel_types_pb2.DESCRIPTOR,bnet.entity_pb2.DESCRIPTOR,bnet.invitation_types_pb2.DESCRIPTOR,]) -_sym_db.RegisterFileDescriptor(DESCRIPTOR) + dependencies=[bnet_dot_channel__types__pb2.DESCRIPTOR,bnet_dot_entity__pb2.DESCRIPTOR,bnet_dot_invitation__types__pb2.DESCRIPTOR,]) @@ -42,41 +41,49 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='reserved', full_name='bnet.protocol.channel_invitation.ChannelInvitation.reserved', index=1, number=2, type=8, cpp_type=7, label=1, has_default_value=True, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='rejoin', full_name='bnet.protocol.channel_invitation.ChannelInvitation.rejoin', index=2, number=3, type=8, cpp_type=7, label=1, has_default_value=True, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='service_type', full_name='bnet.protocol.channel_invitation.ChannelInvitation.service_type', index=3, number=4, type=13, cpp_type=3, label=2, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ + _descriptor.FieldDescriptor( + name='channel_invitation', full_name='bnet.protocol.channel_invitation.ChannelInvitation.channel_invitation', index=0, + number=105, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=True, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=148, - serialized_end=309, + serialized_end=428, ) @@ -93,41 +100,49 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='reserved', full_name='bnet.protocol.channel_invitation.ChannelInvitationParams.reserved', index=1, number=2, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='rejoin', full_name='bnet.protocol.channel_invitation.ChannelInvitationParams.rejoin', index=2, number=3, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='service_type', full_name='bnet.protocol.channel_invitation.ChannelInvitationParams.service_type', index=3, number=4, type=13, cpp_type=3, label=2, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ + _descriptor.FieldDescriptor( + name='channel_params', full_name='bnet.protocol.channel_invitation.ChannelInvitationParams.channel_params', index=0, + number=105, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=True, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], - serialized_start=311, - serialized_end=437, + serialized_start=431, + serialized_end=684, ) @@ -144,70 +159,76 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='max_received_invitations', full_name='bnet.protocol.channel_invitation.InvitationCollection.max_received_invitations', index=1, number=2, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='object_id', full_name='bnet.protocol.channel_invitation.InvitationCollection.object_id', index=2, number=3, type=4, cpp_type=4, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='received_invitation', full_name='bnet.protocol.channel_invitation.InvitationCollection.received_invitation', index=3, number=4, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], - serialized_start=440, - serialized_end=604, + serialized_start=687, + serialized_end=851, ) -_CHANNELINVITATION.fields_by_name['channel_description'].message_type = bnet.channel_types_pb2._CHANNELDESCRIPTION -_CHANNELINVITATIONPARAMS.fields_by_name['channel_id'].message_type = bnet.entity_pb2._ENTITYID -_INVITATIONCOLLECTION.fields_by_name['received_invitation'].message_type = bnet.invitation_types_pb2._INVITATION +_CHANNELINVITATION.fields_by_name['channel_description'].message_type = bnet_dot_channel__types__pb2._CHANNELDESCRIPTION +_CHANNELINVITATIONPARAMS.fields_by_name['channel_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_INVITATIONCOLLECTION.fields_by_name['received_invitation'].message_type = bnet_dot_invitation__types__pb2._INVITATION DESCRIPTOR.message_types_by_name['ChannelInvitation'] = _CHANNELINVITATION DESCRIPTOR.message_types_by_name['ChannelInvitationParams'] = _CHANNELINVITATIONPARAMS DESCRIPTOR.message_types_by_name['InvitationCollection'] = _INVITATIONCOLLECTION +_sym_db.RegisterFileDescriptor(DESCRIPTOR) -ChannelInvitation = _reflection.GeneratedProtocolMessageType('ChannelInvitation', (_message.Message,), dict( - DESCRIPTOR = _CHANNELINVITATION, - __module__ = 'bnet.channel_invitation_types_pb2' +ChannelInvitation = _reflection.GeneratedProtocolMessageType('ChannelInvitation', (_message.Message,), { + 'DESCRIPTOR' : _CHANNELINVITATION, + '__module__' : 'bnet.channel_invitation_types_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.channel_invitation.ChannelInvitation) - )) + }) _sym_db.RegisterMessage(ChannelInvitation) -ChannelInvitationParams = _reflection.GeneratedProtocolMessageType('ChannelInvitationParams', (_message.Message,), dict( - DESCRIPTOR = _CHANNELINVITATIONPARAMS, - __module__ = 'bnet.channel_invitation_types_pb2' +ChannelInvitationParams = _reflection.GeneratedProtocolMessageType('ChannelInvitationParams', (_message.Message,), { + 'DESCRIPTOR' : _CHANNELINVITATIONPARAMS, + '__module__' : 'bnet.channel_invitation_types_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.channel_invitation.ChannelInvitationParams) - )) + }) _sym_db.RegisterMessage(ChannelInvitationParams) -InvitationCollection = _reflection.GeneratedProtocolMessageType('InvitationCollection', (_message.Message,), dict( - DESCRIPTOR = _INVITATIONCOLLECTION, - __module__ = 'bnet.channel_invitation_types_pb2' +InvitationCollection = _reflection.GeneratedProtocolMessageType('InvitationCollection', (_message.Message,), { + 'DESCRIPTOR' : _INVITATIONCOLLECTION, + '__module__' : 'bnet.channel_invitation_types_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.channel_invitation.InvitationCollection) - )) + }) _sym_db.RegisterMessage(InvitationCollection) +_CHANNELINVITATION.extensions_by_name['channel_invitation'].message_type = _CHANNELINVITATION +bnet_dot_invitation__types__pb2.Invitation.RegisterExtension(_CHANNELINVITATION.extensions_by_name['channel_invitation']) +_CHANNELINVITATIONPARAMS.extensions_by_name['channel_params'].message_type = _CHANNELINVITATIONPARAMS +bnet_dot_invitation__types__pb2.InvitationParams.RegisterExtension(_CHANNELINVITATIONPARAMS.extensions_by_name['channel_params']) # @@protoc_insertion_point(module_scope) diff --git a/src/bnet/channel_owner.proto b/src/bnet/channel_owner.proto new file mode 100644 index 0000000..3c6e4d1 --- /dev/null +++ b/src/bnet/channel_owner.proto @@ -0,0 +1,71 @@ +package bnet.protocol.channel; +import "bnet/channel_types.proto"; +import "bnet/entity.proto"; + + +message GetChannelIdRequest { +} + +message GetChannelIdResponse { + optional EntityId channel_id = 1; +} + +message CreateChannelRequest { + optional Identity agent_identity = 1; + optional MemberState member_state = 2; + optional ChannelState channel_state = 3; + optional EntityId channel_id = 4; + optional uint64 object_id = 5; + optional EntityId local_agent = 6; + optional MemberState local_member_state = 7; +} + +message CreateChannelResponse { + required uint64 object_id = 1; + optional EntityId channel_id = 2; +} + +message JoinChannelRequest { + optional Identity agent_identity = 1; + optional MemberState member_state = 2; + required EntityId channel_id = 3; + required uint64 object_id = 4; + repeated EntityId friend_account_id = 5; + optional bool local_subscriber = 6 [default = true]; +} + +message JoinChannelResponse { + optional uint64 object_id = 1; + optional bool require_friend_validation = 2 [default = false]; + repeated EntityId privileged_account = 3; +} + +message SubscribeChannelRequest { + optional EntityId agent_id = 1; + required EntityId channel_id = 2; + required uint64 object_id = 3; +} + +message SubscribeChannelResponse { + optional uint64 object_id = 1; +} + +message FindChannelRequest { + optional Identity agent_identity = 1; + required FindChannelOptions options = 2; +} + +message FindChannelResponse { + repeated ChannelDescription channel = 1; +} + +message GetChannelInfoRequest { + optional EntityId agent_id = 1; + required EntityId channel_id = 2; + optional bool fetch_state = 3 [default = false]; + optional bool fetch_members = 4 [default = false]; +} + +message GetChannelInfoResponse { + optional ChannelInfo channel_info = 1; +} diff --git a/src/bnet/channel_owner_pb2.py b/src/bnet/channel_owner_pb2.py index fdce075..23934a0 100644 --- a/src/bnet/channel_owner_pb2.py +++ b/src/bnet/channel_owner_pb2.py @@ -1,29 +1,28 @@ +# -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: bnet/channel_owner.proto -import sys -_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message from google.protobuf import reflection as _reflection from google.protobuf import symbol_database as _symbol_database -from google.protobuf import descriptor_pb2 # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() -import bnet.channel_types_pb2 -import bnet.entity_pb2 +from bnet import channel_types_pb2 as bnet_dot_channel__types__pb2 +from bnet import entity_pb2 as bnet_dot_entity__pb2 DESCRIPTOR = _descriptor.FileDescriptor( name='bnet/channel_owner.proto', package='bnet.protocol.channel', - serialized_pb=_b('\n\x18\x62net/channel_owner.proto\x12\x15\x62net.protocol.channel\x1a\x18\x62net/channel_types.proto\x1a\x11\x62net/entity.proto\"\x15\n\x13GetChannelIdRequest\"C\n\x14GetChannelIdResponse\x12+\n\nchannel_id\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.EntityId\"\xeb\x02\n\x14\x43reateChannelRequest\x12/\n\x0e\x61gent_identity\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.Identity\x12\x38\n\x0cmember_state\x18\x02 \x01(\x0b\x32\".bnet.protocol.channel.MemberState\x12:\n\rchannel_state\x18\x03 \x01(\x0b\x32#.bnet.protocol.channel.ChannelState\x12+\n\nchannel_id\x18\x04 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12\x11\n\tobject_id\x18\x05 \x01(\x04\x12,\n\x0blocal_agent\x18\x06 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12>\n\x12local_member_state\x18\x07 \x01(\x0b\x32\".bnet.protocol.channel.MemberState\"W\n\x15\x43reateChannelResponse\x12\x11\n\tobject_id\x18\x01 \x02(\x04\x12+\n\nchannel_id\x18\x02 \x01(\x0b\x32\x17.bnet.protocol.EntityId\"\x93\x02\n\x12JoinChannelRequest\x12/\n\x0e\x61gent_identity\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.Identity\x12\x38\n\x0cmember_state\x18\x02 \x01(\x0b\x32\".bnet.protocol.channel.MemberState\x12+\n\nchannel_id\x18\x03 \x02(\x0b\x32\x17.bnet.protocol.EntityId\x12\x11\n\tobject_id\x18\x04 \x02(\x04\x12\x32\n\x11\x66riend_account_id\x18\x05 \x03(\x0b\x32\x17.bnet.protocol.EntityId\x12\x1e\n\x10local_subscriber\x18\x06 \x01(\x08:\x04true\"\x87\x01\n\x13JoinChannelResponse\x12\x11\n\tobject_id\x18\x01 \x01(\x04\x12(\n\x19require_friend_validation\x18\x02 \x01(\x08:\x05\x66\x61lse\x12\x33\n\x12privileged_account\x18\x03 \x03(\x0b\x32\x17.bnet.protocol.EntityId\"\x84\x01\n\x17SubscribeChannelRequest\x12)\n\x08\x61gent_id\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12+\n\nchannel_id\x18\x02 \x02(\x0b\x32\x17.bnet.protocol.EntityId\x12\x11\n\tobject_id\x18\x03 \x02(\x04\"-\n\x18SubscribeChannelResponse\x12\x11\n\tobject_id\x18\x01 \x01(\x04\"\x81\x01\n\x12\x46indChannelRequest\x12/\n\x0e\x61gent_identity\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.Identity\x12:\n\x07options\x18\x02 \x02(\x0b\x32).bnet.protocol.channel.FindChannelOptions\"Q\n\x13\x46indChannelResponse\x12:\n\x07\x63hannel\x18\x01 \x03(\x0b\x32).bnet.protocol.channel.ChannelDescription\"\xa9\x01\n\x15GetChannelInfoRequest\x12)\n\x08\x61gent_id\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12+\n\nchannel_id\x18\x02 \x02(\x0b\x32\x17.bnet.protocol.EntityId\x12\x1a\n\x0b\x66\x65tch_state\x18\x03 \x01(\x08:\x05\x66\x61lse\x12\x1c\n\rfetch_members\x18\x04 \x01(\x08:\x05\x66\x61lse\"R\n\x16GetChannelInfoResponse\x12\x38\n\x0c\x63hannel_info\x18\x01 \x01(\x0b\x32\".bnet.protocol.channel.ChannelInfo') + syntax='proto2', + serialized_options=None, + serialized_pb=b'\n\x18\x62net/channel_owner.proto\x12\x15\x62net.protocol.channel\x1a\x18\x62net/channel_types.proto\x1a\x11\x62net/entity.proto\"\x15\n\x13GetChannelIdRequest\"C\n\x14GetChannelIdResponse\x12+\n\nchannel_id\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.EntityId\"\xeb\x02\n\x14\x43reateChannelRequest\x12/\n\x0e\x61gent_identity\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.Identity\x12\x38\n\x0cmember_state\x18\x02 \x01(\x0b\x32\".bnet.protocol.channel.MemberState\x12:\n\rchannel_state\x18\x03 \x01(\x0b\x32#.bnet.protocol.channel.ChannelState\x12+\n\nchannel_id\x18\x04 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12\x11\n\tobject_id\x18\x05 \x01(\x04\x12,\n\x0blocal_agent\x18\x06 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12>\n\x12local_member_state\x18\x07 \x01(\x0b\x32\".bnet.protocol.channel.MemberState\"W\n\x15\x43reateChannelResponse\x12\x11\n\tobject_id\x18\x01 \x02(\x04\x12+\n\nchannel_id\x18\x02 \x01(\x0b\x32\x17.bnet.protocol.EntityId\"\x93\x02\n\x12JoinChannelRequest\x12/\n\x0e\x61gent_identity\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.Identity\x12\x38\n\x0cmember_state\x18\x02 \x01(\x0b\x32\".bnet.protocol.channel.MemberState\x12+\n\nchannel_id\x18\x03 \x02(\x0b\x32\x17.bnet.protocol.EntityId\x12\x11\n\tobject_id\x18\x04 \x02(\x04\x12\x32\n\x11\x66riend_account_id\x18\x05 \x03(\x0b\x32\x17.bnet.protocol.EntityId\x12\x1e\n\x10local_subscriber\x18\x06 \x01(\x08:\x04true\"\x87\x01\n\x13JoinChannelResponse\x12\x11\n\tobject_id\x18\x01 \x01(\x04\x12(\n\x19require_friend_validation\x18\x02 \x01(\x08:\x05\x66\x61lse\x12\x33\n\x12privileged_account\x18\x03 \x03(\x0b\x32\x17.bnet.protocol.EntityId\"\x84\x01\n\x17SubscribeChannelRequest\x12)\n\x08\x61gent_id\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12+\n\nchannel_id\x18\x02 \x02(\x0b\x32\x17.bnet.protocol.EntityId\x12\x11\n\tobject_id\x18\x03 \x02(\x04\"-\n\x18SubscribeChannelResponse\x12\x11\n\tobject_id\x18\x01 \x01(\x04\"\x81\x01\n\x12\x46indChannelRequest\x12/\n\x0e\x61gent_identity\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.Identity\x12:\n\x07options\x18\x02 \x02(\x0b\x32).bnet.protocol.channel.FindChannelOptions\"Q\n\x13\x46indChannelResponse\x12:\n\x07\x63hannel\x18\x01 \x03(\x0b\x32).bnet.protocol.channel.ChannelDescription\"\xa9\x01\n\x15GetChannelInfoRequest\x12)\n\x08\x61gent_id\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12+\n\nchannel_id\x18\x02 \x02(\x0b\x32\x17.bnet.protocol.EntityId\x12\x1a\n\x0b\x66\x65tch_state\x18\x03 \x01(\x08:\x05\x66\x61lse\x12\x1c\n\rfetch_members\x18\x04 \x01(\x08:\x05\x66\x61lse\"R\n\x16GetChannelInfoResponse\x12\x38\n\x0c\x63hannel_info\x18\x01 \x01(\x0b\x32\".bnet.protocol.channel.ChannelInfo' , - dependencies=[bnet.channel_types_pb2.DESCRIPTOR,bnet.entity_pb2.DESCRIPTOR,]) -_sym_db.RegisterFileDescriptor(DESCRIPTOR) + dependencies=[bnet_dot_channel__types__pb2.DESCRIPTOR,bnet_dot_entity__pb2.DESCRIPTOR,]) @@ -41,8 +40,9 @@ nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -64,15 +64,16 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -94,57 +95,58 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='member_state', full_name='bnet.protocol.channel.CreateChannelRequest.member_state', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='channel_state', full_name='bnet.protocol.channel.CreateChannelRequest.channel_state', index=2, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='channel_id', full_name='bnet.protocol.channel.CreateChannelRequest.channel_id', index=3, number=4, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='object_id', full_name='bnet.protocol.channel.CreateChannelRequest.object_id', index=4, number=5, type=4, cpp_type=4, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='local_agent', full_name='bnet.protocol.channel.CreateChannelRequest.local_agent', index=5, number=6, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='local_member_state', full_name='bnet.protocol.channel.CreateChannelRequest.local_member_state', index=6, number=7, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -166,22 +168,23 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='channel_id', full_name='bnet.protocol.channel.CreateChannelResponse.channel_id', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -203,50 +206,51 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='member_state', full_name='bnet.protocol.channel.JoinChannelRequest.member_state', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='channel_id', full_name='bnet.protocol.channel.JoinChannelRequest.channel_id', index=2, number=3, type=11, cpp_type=10, label=2, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='object_id', full_name='bnet.protocol.channel.JoinChannelRequest.object_id', index=3, number=4, type=4, cpp_type=4, label=2, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='friend_account_id', full_name='bnet.protocol.channel.JoinChannelRequest.friend_account_id', index=4, number=5, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='local_subscriber', full_name='bnet.protocol.channel.JoinChannelRequest.local_subscriber', index=5, number=6, type=8, cpp_type=7, label=1, has_default_value=True, default_value=True, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -268,29 +272,30 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='require_friend_validation', full_name='bnet.protocol.channel.JoinChannelResponse.require_friend_validation', index=1, number=2, type=8, cpp_type=7, label=1, has_default_value=True, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='privileged_account', full_name='bnet.protocol.channel.JoinChannelResponse.privileged_account', index=2, number=3, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -312,29 +317,30 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='channel_id', full_name='bnet.protocol.channel.SubscribeChannelRequest.channel_id', index=1, number=2, type=11, cpp_type=10, label=2, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='object_id', full_name='bnet.protocol.channel.SubscribeChannelRequest.object_id', index=2, number=3, type=4, cpp_type=4, label=2, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -356,15 +362,16 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -386,22 +393,23 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='options', full_name='bnet.protocol.channel.FindChannelRequest.options', index=1, number=2, type=11, cpp_type=10, label=2, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -423,15 +431,16 @@ has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -453,36 +462,37 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='channel_id', full_name='bnet.protocol.channel.GetChannelInfoRequest.channel_id', index=1, number=2, type=11, cpp_type=10, label=2, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='fetch_state', full_name='bnet.protocol.channel.GetChannelInfoRequest.fetch_state', index=2, number=3, type=8, cpp_type=7, label=1, has_default_value=True, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='fetch_members', full_name='bnet.protocol.channel.GetChannelInfoRequest.fetch_members', index=3, number=4, type=8, cpp_type=7, label=1, has_default_value=True, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -504,15 +514,16 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -520,27 +531,27 @@ serialized_end=1710, ) -_GETCHANNELIDRESPONSE.fields_by_name['channel_id'].message_type = bnet.entity_pb2._ENTITYID -_CREATECHANNELREQUEST.fields_by_name['agent_identity'].message_type = bnet.entity_pb2._IDENTITY -_CREATECHANNELREQUEST.fields_by_name['member_state'].message_type = bnet.channel_types_pb2._MEMBERSTATE -_CREATECHANNELREQUEST.fields_by_name['channel_state'].message_type = bnet.channel_types_pb2._CHANNELSTATE -_CREATECHANNELREQUEST.fields_by_name['channel_id'].message_type = bnet.entity_pb2._ENTITYID -_CREATECHANNELREQUEST.fields_by_name['local_agent'].message_type = bnet.entity_pb2._ENTITYID -_CREATECHANNELREQUEST.fields_by_name['local_member_state'].message_type = bnet.channel_types_pb2._MEMBERSTATE -_CREATECHANNELRESPONSE.fields_by_name['channel_id'].message_type = bnet.entity_pb2._ENTITYID -_JOINCHANNELREQUEST.fields_by_name['agent_identity'].message_type = bnet.entity_pb2._IDENTITY -_JOINCHANNELREQUEST.fields_by_name['member_state'].message_type = bnet.channel_types_pb2._MEMBERSTATE -_JOINCHANNELREQUEST.fields_by_name['channel_id'].message_type = bnet.entity_pb2._ENTITYID -_JOINCHANNELREQUEST.fields_by_name['friend_account_id'].message_type = bnet.entity_pb2._ENTITYID -_JOINCHANNELRESPONSE.fields_by_name['privileged_account'].message_type = bnet.entity_pb2._ENTITYID -_SUBSCRIBECHANNELREQUEST.fields_by_name['agent_id'].message_type = bnet.entity_pb2._ENTITYID -_SUBSCRIBECHANNELREQUEST.fields_by_name['channel_id'].message_type = bnet.entity_pb2._ENTITYID -_FINDCHANNELREQUEST.fields_by_name['agent_identity'].message_type = bnet.entity_pb2._IDENTITY -_FINDCHANNELREQUEST.fields_by_name['options'].message_type = bnet.channel_types_pb2._FINDCHANNELOPTIONS -_FINDCHANNELRESPONSE.fields_by_name['channel'].message_type = bnet.channel_types_pb2._CHANNELDESCRIPTION -_GETCHANNELINFOREQUEST.fields_by_name['agent_id'].message_type = bnet.entity_pb2._ENTITYID -_GETCHANNELINFOREQUEST.fields_by_name['channel_id'].message_type = bnet.entity_pb2._ENTITYID -_GETCHANNELINFORESPONSE.fields_by_name['channel_info'].message_type = bnet.channel_types_pb2._CHANNELINFO +_GETCHANNELIDRESPONSE.fields_by_name['channel_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_CREATECHANNELREQUEST.fields_by_name['agent_identity'].message_type = bnet_dot_entity__pb2._IDENTITY +_CREATECHANNELREQUEST.fields_by_name['member_state'].message_type = bnet_dot_channel__types__pb2._MEMBERSTATE +_CREATECHANNELREQUEST.fields_by_name['channel_state'].message_type = bnet_dot_channel__types__pb2._CHANNELSTATE +_CREATECHANNELREQUEST.fields_by_name['channel_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_CREATECHANNELREQUEST.fields_by_name['local_agent'].message_type = bnet_dot_entity__pb2._ENTITYID +_CREATECHANNELREQUEST.fields_by_name['local_member_state'].message_type = bnet_dot_channel__types__pb2._MEMBERSTATE +_CREATECHANNELRESPONSE.fields_by_name['channel_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_JOINCHANNELREQUEST.fields_by_name['agent_identity'].message_type = bnet_dot_entity__pb2._IDENTITY +_JOINCHANNELREQUEST.fields_by_name['member_state'].message_type = bnet_dot_channel__types__pb2._MEMBERSTATE +_JOINCHANNELREQUEST.fields_by_name['channel_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_JOINCHANNELREQUEST.fields_by_name['friend_account_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_JOINCHANNELRESPONSE.fields_by_name['privileged_account'].message_type = bnet_dot_entity__pb2._ENTITYID +_SUBSCRIBECHANNELREQUEST.fields_by_name['agent_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_SUBSCRIBECHANNELREQUEST.fields_by_name['channel_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_FINDCHANNELREQUEST.fields_by_name['agent_identity'].message_type = bnet_dot_entity__pb2._IDENTITY +_FINDCHANNELREQUEST.fields_by_name['options'].message_type = bnet_dot_channel__types__pb2._FINDCHANNELOPTIONS +_FINDCHANNELRESPONSE.fields_by_name['channel'].message_type = bnet_dot_channel__types__pb2._CHANNELDESCRIPTION +_GETCHANNELINFOREQUEST.fields_by_name['agent_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_GETCHANNELINFOREQUEST.fields_by_name['channel_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_GETCHANNELINFORESPONSE.fields_by_name['channel_info'].message_type = bnet_dot_channel__types__pb2._CHANNELINFO DESCRIPTOR.message_types_by_name['GetChannelIdRequest'] = _GETCHANNELIDREQUEST DESCRIPTOR.message_types_by_name['GetChannelIdResponse'] = _GETCHANNELIDRESPONSE DESCRIPTOR.message_types_by_name['CreateChannelRequest'] = _CREATECHANNELREQUEST @@ -553,89 +564,90 @@ DESCRIPTOR.message_types_by_name['FindChannelResponse'] = _FINDCHANNELRESPONSE DESCRIPTOR.message_types_by_name['GetChannelInfoRequest'] = _GETCHANNELINFOREQUEST DESCRIPTOR.message_types_by_name['GetChannelInfoResponse'] = _GETCHANNELINFORESPONSE +_sym_db.RegisterFileDescriptor(DESCRIPTOR) -GetChannelIdRequest = _reflection.GeneratedProtocolMessageType('GetChannelIdRequest', (_message.Message,), dict( - DESCRIPTOR = _GETCHANNELIDREQUEST, - __module__ = 'bnet.channel_owner_pb2' +GetChannelIdRequest = _reflection.GeneratedProtocolMessageType('GetChannelIdRequest', (_message.Message,), { + 'DESCRIPTOR' : _GETCHANNELIDREQUEST, + '__module__' : 'bnet.channel_owner_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.channel.GetChannelIdRequest) - )) + }) _sym_db.RegisterMessage(GetChannelIdRequest) -GetChannelIdResponse = _reflection.GeneratedProtocolMessageType('GetChannelIdResponse', (_message.Message,), dict( - DESCRIPTOR = _GETCHANNELIDRESPONSE, - __module__ = 'bnet.channel_owner_pb2' +GetChannelIdResponse = _reflection.GeneratedProtocolMessageType('GetChannelIdResponse', (_message.Message,), { + 'DESCRIPTOR' : _GETCHANNELIDRESPONSE, + '__module__' : 'bnet.channel_owner_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.channel.GetChannelIdResponse) - )) + }) _sym_db.RegisterMessage(GetChannelIdResponse) -CreateChannelRequest = _reflection.GeneratedProtocolMessageType('CreateChannelRequest', (_message.Message,), dict( - DESCRIPTOR = _CREATECHANNELREQUEST, - __module__ = 'bnet.channel_owner_pb2' +CreateChannelRequest = _reflection.GeneratedProtocolMessageType('CreateChannelRequest', (_message.Message,), { + 'DESCRIPTOR' : _CREATECHANNELREQUEST, + '__module__' : 'bnet.channel_owner_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.channel.CreateChannelRequest) - )) + }) _sym_db.RegisterMessage(CreateChannelRequest) -CreateChannelResponse = _reflection.GeneratedProtocolMessageType('CreateChannelResponse', (_message.Message,), dict( - DESCRIPTOR = _CREATECHANNELRESPONSE, - __module__ = 'bnet.channel_owner_pb2' +CreateChannelResponse = _reflection.GeneratedProtocolMessageType('CreateChannelResponse', (_message.Message,), { + 'DESCRIPTOR' : _CREATECHANNELRESPONSE, + '__module__' : 'bnet.channel_owner_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.channel.CreateChannelResponse) - )) + }) _sym_db.RegisterMessage(CreateChannelResponse) -JoinChannelRequest = _reflection.GeneratedProtocolMessageType('JoinChannelRequest', (_message.Message,), dict( - DESCRIPTOR = _JOINCHANNELREQUEST, - __module__ = 'bnet.channel_owner_pb2' +JoinChannelRequest = _reflection.GeneratedProtocolMessageType('JoinChannelRequest', (_message.Message,), { + 'DESCRIPTOR' : _JOINCHANNELREQUEST, + '__module__' : 'bnet.channel_owner_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.channel.JoinChannelRequest) - )) + }) _sym_db.RegisterMessage(JoinChannelRequest) -JoinChannelResponse = _reflection.GeneratedProtocolMessageType('JoinChannelResponse', (_message.Message,), dict( - DESCRIPTOR = _JOINCHANNELRESPONSE, - __module__ = 'bnet.channel_owner_pb2' +JoinChannelResponse = _reflection.GeneratedProtocolMessageType('JoinChannelResponse', (_message.Message,), { + 'DESCRIPTOR' : _JOINCHANNELRESPONSE, + '__module__' : 'bnet.channel_owner_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.channel.JoinChannelResponse) - )) + }) _sym_db.RegisterMessage(JoinChannelResponse) -SubscribeChannelRequest = _reflection.GeneratedProtocolMessageType('SubscribeChannelRequest', (_message.Message,), dict( - DESCRIPTOR = _SUBSCRIBECHANNELREQUEST, - __module__ = 'bnet.channel_owner_pb2' +SubscribeChannelRequest = _reflection.GeneratedProtocolMessageType('SubscribeChannelRequest', (_message.Message,), { + 'DESCRIPTOR' : _SUBSCRIBECHANNELREQUEST, + '__module__' : 'bnet.channel_owner_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.channel.SubscribeChannelRequest) - )) + }) _sym_db.RegisterMessage(SubscribeChannelRequest) -SubscribeChannelResponse = _reflection.GeneratedProtocolMessageType('SubscribeChannelResponse', (_message.Message,), dict( - DESCRIPTOR = _SUBSCRIBECHANNELRESPONSE, - __module__ = 'bnet.channel_owner_pb2' +SubscribeChannelResponse = _reflection.GeneratedProtocolMessageType('SubscribeChannelResponse', (_message.Message,), { + 'DESCRIPTOR' : _SUBSCRIBECHANNELRESPONSE, + '__module__' : 'bnet.channel_owner_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.channel.SubscribeChannelResponse) - )) + }) _sym_db.RegisterMessage(SubscribeChannelResponse) -FindChannelRequest = _reflection.GeneratedProtocolMessageType('FindChannelRequest', (_message.Message,), dict( - DESCRIPTOR = _FINDCHANNELREQUEST, - __module__ = 'bnet.channel_owner_pb2' +FindChannelRequest = _reflection.GeneratedProtocolMessageType('FindChannelRequest', (_message.Message,), { + 'DESCRIPTOR' : _FINDCHANNELREQUEST, + '__module__' : 'bnet.channel_owner_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.channel.FindChannelRequest) - )) + }) _sym_db.RegisterMessage(FindChannelRequest) -FindChannelResponse = _reflection.GeneratedProtocolMessageType('FindChannelResponse', (_message.Message,), dict( - DESCRIPTOR = _FINDCHANNELRESPONSE, - __module__ = 'bnet.channel_owner_pb2' +FindChannelResponse = _reflection.GeneratedProtocolMessageType('FindChannelResponse', (_message.Message,), { + 'DESCRIPTOR' : _FINDCHANNELRESPONSE, + '__module__' : 'bnet.channel_owner_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.channel.FindChannelResponse) - )) + }) _sym_db.RegisterMessage(FindChannelResponse) -GetChannelInfoRequest = _reflection.GeneratedProtocolMessageType('GetChannelInfoRequest', (_message.Message,), dict( - DESCRIPTOR = _GETCHANNELINFOREQUEST, - __module__ = 'bnet.channel_owner_pb2' +GetChannelInfoRequest = _reflection.GeneratedProtocolMessageType('GetChannelInfoRequest', (_message.Message,), { + 'DESCRIPTOR' : _GETCHANNELINFOREQUEST, + '__module__' : 'bnet.channel_owner_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.channel.GetChannelInfoRequest) - )) + }) _sym_db.RegisterMessage(GetChannelInfoRequest) -GetChannelInfoResponse = _reflection.GeneratedProtocolMessageType('GetChannelInfoResponse', (_message.Message,), dict( - DESCRIPTOR = _GETCHANNELINFORESPONSE, - __module__ = 'bnet.channel_owner_pb2' +GetChannelInfoResponse = _reflection.GeneratedProtocolMessageType('GetChannelInfoResponse', (_message.Message,), { + 'DESCRIPTOR' : _GETCHANNELINFORESPONSE, + '__module__' : 'bnet.channel_owner_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.channel.GetChannelInfoResponse) - )) + }) _sym_db.RegisterMessage(GetChannelInfoResponse) diff --git a/src/bnet/channel_service.proto b/src/bnet/channel_service.proto new file mode 100644 index 0000000..80e922c --- /dev/null +++ b/src/bnet/channel_service.proto @@ -0,0 +1,90 @@ +package bnet.protocol.channel; +import "bnet/channel_types.proto"; +import "bnet/entity.proto"; + + +message AddMemberRequest { + optional EntityId agent_id = 1; + required Identity member_identity = 2; + required MemberState member_state = 3; + required uint64 object_id = 4; + optional bool subscribe = 5 [default = true]; +} + +message RemoveMemberRequest { + optional EntityId agent_id = 1; + required EntityId member_id = 2; + optional uint32 reason = 3; +} + +message UnsubscribeMemberRequest { + optional EntityId agent_id = 1; + required EntityId member_id = 2; +} + +message SendMessageRequest { + optional EntityId agent_id = 1; + required Message message = 2; + optional uint64 required_privileges = 3 [default = 0]; +} + +message UpdateChannelStateRequest { + optional EntityId agent_id = 1; + required ChannelState state_change = 2; +} + +message UpdateMemberStateRequest { + optional EntityId agent_id = 1; + repeated Member state_change = 2; + repeated uint32 removed_role = 3 [packed = true]; +} + +message DissolveRequest { + optional EntityId agent_id = 1; + optional uint32 reason = 2; +} + +message SetRolesRequest { + optional EntityId agent_id = 1; + repeated uint32 role = 2 [packed = true]; + repeated EntityId member_id = 3; +} + +message AddNotification { + optional Member self = 1; + repeated Member member = 2; + required ChannelState channel_state = 3; +} + +message JoinNotification { + required Member member = 1; +} + +message RemoveNotification { + optional EntityId agent_id = 1; + required EntityId member_id = 2; + optional uint32 reason = 3; +} + +message LeaveNotification { + optional EntityId agent_id = 1; + required EntityId member_id = 2; + optional uint32 reason = 3; +} + +message SendMessageNotification { + optional EntityId agent_id = 1; + required Message message = 2; + optional uint64 required_privileges = 3 [default = 0]; +} + +message UpdateChannelStateNotification { + optional EntityId agent_id = 1; + required ChannelState state_change = 2; +} + +message UpdateMemberStateNotification { + optional EntityId agent_id = 1; + repeated Member state_change = 2; + repeated uint32 removed_role = 3 [packed = true]; +} diff --git a/src/bnet/channel_service_pb2.py b/src/bnet/channel_service_pb2.py index 8c9b00a..4badb45 100644 --- a/src/bnet/channel_service_pb2.py +++ b/src/bnet/channel_service_pb2.py @@ -1,29 +1,28 @@ +# -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: bnet/channel_service.proto -import sys -_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message from google.protobuf import reflection as _reflection from google.protobuf import symbol_database as _symbol_database -from google.protobuf import descriptor_pb2 # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() -import bnet.channel_types_pb2 -import bnet.entity_pb2 +from bnet import channel_types_pb2 as bnet_dot_channel__types__pb2 +from bnet import entity_pb2 as bnet_dot_entity__pb2 DESCRIPTOR = _descriptor.FileDescriptor( name='bnet/channel_service.proto', package='bnet.protocol.channel', - serialized_pb=_b('\n\x1a\x62net/channel_service.proto\x12\x15\x62net.protocol.channel\x1a\x18\x62net/channel_types.proto\x1a\x11\x62net/entity.proto\"\xd5\x01\n\x10\x41\x64\x64MemberRequest\x12)\n\x08\x61gent_id\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12\x30\n\x0fmember_identity\x18\x02 \x02(\x0b\x32\x17.bnet.protocol.Identity\x12\x38\n\x0cmember_state\x18\x03 \x02(\x0b\x32\".bnet.protocol.channel.MemberState\x12\x11\n\tobject_id\x18\x04 \x02(\x04\x12\x17\n\tsubscribe\x18\x05 \x01(\x08:\x04true\"|\n\x13RemoveMemberRequest\x12)\n\x08\x61gent_id\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12*\n\tmember_id\x18\x02 \x02(\x0b\x32\x17.bnet.protocol.EntityId\x12\x0e\n\x06reason\x18\x03 \x01(\r\"q\n\x18UnsubscribeMemberRequest\x12)\n\x08\x61gent_id\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12*\n\tmember_id\x18\x02 \x02(\x0b\x32\x17.bnet.protocol.EntityId\"\x90\x01\n\x12SendMessageRequest\x12)\n\x08\x61gent_id\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12/\n\x07message\x18\x02 \x02(\x0b\x32\x1e.bnet.protocol.channel.Message\x12\x1e\n\x13required_privileges\x18\x03 \x01(\x04:\x01\x30\"\x81\x01\n\x19UpdateChannelStateRequest\x12)\n\x08\x61gent_id\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12\x39\n\x0cstate_change\x18\x02 \x02(\x0b\x32#.bnet.protocol.channel.ChannelState\"\x94\x01\n\x18UpdateMemberStateRequest\x12)\n\x08\x61gent_id\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12\x33\n\x0cstate_change\x18\x02 \x03(\x0b\x32\x1d.bnet.protocol.channel.Member\x12\x18\n\x0cremoved_role\x18\x03 \x03(\rB\x02\x10\x01\"L\n\x0f\x44issolveRequest\x12)\n\x08\x61gent_id\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12\x0e\n\x06reason\x18\x02 \x01(\r\"z\n\x0fSetRolesRequest\x12)\n\x08\x61gent_id\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12\x10\n\x04role\x18\x02 \x03(\rB\x02\x10\x01\x12*\n\tmember_id\x18\x03 \x03(\x0b\x32\x17.bnet.protocol.EntityId\"\xa9\x01\n\x0f\x41\x64\x64Notification\x12+\n\x04self\x18\x01 \x01(\x0b\x32\x1d.bnet.protocol.channel.Member\x12-\n\x06member\x18\x02 \x03(\x0b\x32\x1d.bnet.protocol.channel.Member\x12:\n\rchannel_state\x18\x03 \x02(\x0b\x32#.bnet.protocol.channel.ChannelState\"A\n\x10JoinNotification\x12-\n\x06member\x18\x01 \x02(\x0b\x32\x1d.bnet.protocol.channel.Member\"{\n\x12RemoveNotification\x12)\n\x08\x61gent_id\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12*\n\tmember_id\x18\x02 \x02(\x0b\x32\x17.bnet.protocol.EntityId\x12\x0e\n\x06reason\x18\x03 \x01(\r\"z\n\x11LeaveNotification\x12)\n\x08\x61gent_id\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12*\n\tmember_id\x18\x02 \x02(\x0b\x32\x17.bnet.protocol.EntityId\x12\x0e\n\x06reason\x18\x03 \x01(\r\"\x95\x01\n\x17SendMessageNotification\x12)\n\x08\x61gent_id\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12/\n\x07message\x18\x02 \x02(\x0b\x32\x1e.bnet.protocol.channel.Message\x12\x1e\n\x13required_privileges\x18\x03 \x01(\x04:\x01\x30\"\x86\x01\n\x1eUpdateChannelStateNotification\x12)\n\x08\x61gent_id\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12\x39\n\x0cstate_change\x18\x02 \x02(\x0b\x32#.bnet.protocol.channel.ChannelState\"\x99\x01\n\x1dUpdateMemberStateNotification\x12)\n\x08\x61gent_id\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12\x33\n\x0cstate_change\x18\x02 \x03(\x0b\x32\x1d.bnet.protocol.channel.Member\x12\x18\n\x0cremoved_role\x18\x03 \x03(\rB\x02\x10\x01') + syntax='proto2', + serialized_options=None, + serialized_pb=b'\n\x1a\x62net/channel_service.proto\x12\x15\x62net.protocol.channel\x1a\x18\x62net/channel_types.proto\x1a\x11\x62net/entity.proto\"\xd5\x01\n\x10\x41\x64\x64MemberRequest\x12)\n\x08\x61gent_id\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12\x30\n\x0fmember_identity\x18\x02 \x02(\x0b\x32\x17.bnet.protocol.Identity\x12\x38\n\x0cmember_state\x18\x03 \x02(\x0b\x32\".bnet.protocol.channel.MemberState\x12\x11\n\tobject_id\x18\x04 \x02(\x04\x12\x17\n\tsubscribe\x18\x05 \x01(\x08:\x04true\"|\n\x13RemoveMemberRequest\x12)\n\x08\x61gent_id\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12*\n\tmember_id\x18\x02 \x02(\x0b\x32\x17.bnet.protocol.EntityId\x12\x0e\n\x06reason\x18\x03 \x01(\r\"q\n\x18UnsubscribeMemberRequest\x12)\n\x08\x61gent_id\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12*\n\tmember_id\x18\x02 \x02(\x0b\x32\x17.bnet.protocol.EntityId\"\x90\x01\n\x12SendMessageRequest\x12)\n\x08\x61gent_id\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12/\n\x07message\x18\x02 \x02(\x0b\x32\x1e.bnet.protocol.channel.Message\x12\x1e\n\x13required_privileges\x18\x03 \x01(\x04:\x01\x30\"\x81\x01\n\x19UpdateChannelStateRequest\x12)\n\x08\x61gent_id\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12\x39\n\x0cstate_change\x18\x02 \x02(\x0b\x32#.bnet.protocol.channel.ChannelState\"\x94\x01\n\x18UpdateMemberStateRequest\x12)\n\x08\x61gent_id\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12\x33\n\x0cstate_change\x18\x02 \x03(\x0b\x32\x1d.bnet.protocol.channel.Member\x12\x18\n\x0cremoved_role\x18\x03 \x03(\rB\x02\x10\x01\"L\n\x0f\x44issolveRequest\x12)\n\x08\x61gent_id\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12\x0e\n\x06reason\x18\x02 \x01(\r\"z\n\x0fSetRolesRequest\x12)\n\x08\x61gent_id\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12\x10\n\x04role\x18\x02 \x03(\rB\x02\x10\x01\x12*\n\tmember_id\x18\x03 \x03(\x0b\x32\x17.bnet.protocol.EntityId\"\xa9\x01\n\x0f\x41\x64\x64Notification\x12+\n\x04self\x18\x01 \x01(\x0b\x32\x1d.bnet.protocol.channel.Member\x12-\n\x06member\x18\x02 \x03(\x0b\x32\x1d.bnet.protocol.channel.Member\x12:\n\rchannel_state\x18\x03 \x02(\x0b\x32#.bnet.protocol.channel.ChannelState\"A\n\x10JoinNotification\x12-\n\x06member\x18\x01 \x02(\x0b\x32\x1d.bnet.protocol.channel.Member\"{\n\x12RemoveNotification\x12)\n\x08\x61gent_id\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12*\n\tmember_id\x18\x02 \x02(\x0b\x32\x17.bnet.protocol.EntityId\x12\x0e\n\x06reason\x18\x03 \x01(\r\"z\n\x11LeaveNotification\x12)\n\x08\x61gent_id\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12*\n\tmember_id\x18\x02 \x02(\x0b\x32\x17.bnet.protocol.EntityId\x12\x0e\n\x06reason\x18\x03 \x01(\r\"\x95\x01\n\x17SendMessageNotification\x12)\n\x08\x61gent_id\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12/\n\x07message\x18\x02 \x02(\x0b\x32\x1e.bnet.protocol.channel.Message\x12\x1e\n\x13required_privileges\x18\x03 \x01(\x04:\x01\x30\"\x86\x01\n\x1eUpdateChannelStateNotification\x12)\n\x08\x61gent_id\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12\x39\n\x0cstate_change\x18\x02 \x02(\x0b\x32#.bnet.protocol.channel.ChannelState\"\x99\x01\n\x1dUpdateMemberStateNotification\x12)\n\x08\x61gent_id\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12\x33\n\x0cstate_change\x18\x02 \x03(\x0b\x32\x1d.bnet.protocol.channel.Member\x12\x18\n\x0cremoved_role\x18\x03 \x03(\rB\x02\x10\x01' , - dependencies=[bnet.channel_types_pb2.DESCRIPTOR,bnet.entity_pb2.DESCRIPTOR,]) -_sym_db.RegisterFileDescriptor(DESCRIPTOR) + dependencies=[bnet_dot_channel__types__pb2.DESCRIPTOR,bnet_dot_entity__pb2.DESCRIPTOR,]) @@ -41,43 +40,44 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='member_identity', full_name='bnet.protocol.channel.AddMemberRequest.member_identity', index=1, number=2, type=11, cpp_type=10, label=2, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='member_state', full_name='bnet.protocol.channel.AddMemberRequest.member_state', index=2, number=3, type=11, cpp_type=10, label=2, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='object_id', full_name='bnet.protocol.channel.AddMemberRequest.object_id', index=3, number=4, type=4, cpp_type=4, label=2, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='subscribe', full_name='bnet.protocol.channel.AddMemberRequest.subscribe', index=4, number=5, type=8, cpp_type=7, label=1, has_default_value=True, default_value=True, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -99,29 +99,30 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='member_id', full_name='bnet.protocol.channel.RemoveMemberRequest.member_id', index=1, number=2, type=11, cpp_type=10, label=2, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='reason', full_name='bnet.protocol.channel.RemoveMemberRequest.reason', index=2, number=3, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -143,22 +144,23 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='member_id', full_name='bnet.protocol.channel.UnsubscribeMemberRequest.member_id', index=1, number=2, type=11, cpp_type=10, label=2, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -180,29 +182,30 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='message', full_name='bnet.protocol.channel.SendMessageRequest.message', index=1, number=2, type=11, cpp_type=10, label=2, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='required_privileges', full_name='bnet.protocol.channel.SendMessageRequest.required_privileges', index=2, number=3, type=4, cpp_type=4, label=1, has_default_value=True, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -224,22 +227,23 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='state_change', full_name='bnet.protocol.channel.UpdateChannelStateRequest.state_change', index=1, number=2, type=11, cpp_type=10, label=2, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -261,29 +265,30 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='state_change', full_name='bnet.protocol.channel.UpdateMemberStateRequest.state_change', index=1, number=2, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='removed_role', full_name='bnet.protocol.channel.UpdateMemberStateRequest.removed_role', index=2, number=3, type=13, cpp_type=3, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001'))), + serialized_options=b'\020\001', file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -305,22 +310,23 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='reason', full_name='bnet.protocol.channel.DissolveRequest.reason', index=1, number=2, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -342,29 +348,30 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='role', full_name='bnet.protocol.channel.SetRolesRequest.role', index=1, number=2, type=13, cpp_type=3, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001'))), + serialized_options=b'\020\001', file=DESCRIPTOR), _descriptor.FieldDescriptor( name='member_id', full_name='bnet.protocol.channel.SetRolesRequest.member_id', index=2, number=3, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -386,29 +393,30 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='member', full_name='bnet.protocol.channel.AddNotification.member', index=1, number=2, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='channel_state', full_name='bnet.protocol.channel.AddNotification.channel_state', index=2, number=3, type=11, cpp_type=10, label=2, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -430,15 +438,16 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -460,29 +469,30 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='member_id', full_name='bnet.protocol.channel.RemoveNotification.member_id', index=1, number=2, type=11, cpp_type=10, label=2, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='reason', full_name='bnet.protocol.channel.RemoveNotification.reason', index=2, number=3, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -504,29 +514,30 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='member_id', full_name='bnet.protocol.channel.LeaveNotification.member_id', index=1, number=2, type=11, cpp_type=10, label=2, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='reason', full_name='bnet.protocol.channel.LeaveNotification.reason', index=2, number=3, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -548,29 +559,30 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='message', full_name='bnet.protocol.channel.SendMessageNotification.message', index=1, number=2, type=11, cpp_type=10, label=2, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='required_privileges', full_name='bnet.protocol.channel.SendMessageNotification.required_privileges', index=2, number=3, type=4, cpp_type=4, label=1, has_default_value=True, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -592,22 +604,23 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='state_change', full_name='bnet.protocol.channel.UpdateChannelStateNotification.state_change', index=1, number=2, type=11, cpp_type=10, label=2, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -629,29 +642,30 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='state_change', full_name='bnet.protocol.channel.UpdateMemberStateNotification.state_change', index=1, number=2, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='removed_role', full_name='bnet.protocol.channel.UpdateMemberStateNotification.removed_role', index=2, number=3, type=13, cpp_type=3, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001'))), + serialized_options=b'\020\001', file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -659,36 +673,36 @@ serialized_end=2118, ) -_ADDMEMBERREQUEST.fields_by_name['agent_id'].message_type = bnet.entity_pb2._ENTITYID -_ADDMEMBERREQUEST.fields_by_name['member_identity'].message_type = bnet.entity_pb2._IDENTITY -_ADDMEMBERREQUEST.fields_by_name['member_state'].message_type = bnet.channel_types_pb2._MEMBERSTATE -_REMOVEMEMBERREQUEST.fields_by_name['agent_id'].message_type = bnet.entity_pb2._ENTITYID -_REMOVEMEMBERREQUEST.fields_by_name['member_id'].message_type = bnet.entity_pb2._ENTITYID -_UNSUBSCRIBEMEMBERREQUEST.fields_by_name['agent_id'].message_type = bnet.entity_pb2._ENTITYID -_UNSUBSCRIBEMEMBERREQUEST.fields_by_name['member_id'].message_type = bnet.entity_pb2._ENTITYID -_SENDMESSAGEREQUEST.fields_by_name['agent_id'].message_type = bnet.entity_pb2._ENTITYID -_SENDMESSAGEREQUEST.fields_by_name['message'].message_type = bnet.channel_types_pb2._MESSAGE -_UPDATECHANNELSTATEREQUEST.fields_by_name['agent_id'].message_type = bnet.entity_pb2._ENTITYID -_UPDATECHANNELSTATEREQUEST.fields_by_name['state_change'].message_type = bnet.channel_types_pb2._CHANNELSTATE -_UPDATEMEMBERSTATEREQUEST.fields_by_name['agent_id'].message_type = bnet.entity_pb2._ENTITYID -_UPDATEMEMBERSTATEREQUEST.fields_by_name['state_change'].message_type = bnet.channel_types_pb2._MEMBER -_DISSOLVEREQUEST.fields_by_name['agent_id'].message_type = bnet.entity_pb2._ENTITYID -_SETROLESREQUEST.fields_by_name['agent_id'].message_type = bnet.entity_pb2._ENTITYID -_SETROLESREQUEST.fields_by_name['member_id'].message_type = bnet.entity_pb2._ENTITYID -_ADDNOTIFICATION.fields_by_name['self'].message_type = bnet.channel_types_pb2._MEMBER -_ADDNOTIFICATION.fields_by_name['member'].message_type = bnet.channel_types_pb2._MEMBER -_ADDNOTIFICATION.fields_by_name['channel_state'].message_type = bnet.channel_types_pb2._CHANNELSTATE -_JOINNOTIFICATION.fields_by_name['member'].message_type = bnet.channel_types_pb2._MEMBER -_REMOVENOTIFICATION.fields_by_name['agent_id'].message_type = bnet.entity_pb2._ENTITYID -_REMOVENOTIFICATION.fields_by_name['member_id'].message_type = bnet.entity_pb2._ENTITYID -_LEAVENOTIFICATION.fields_by_name['agent_id'].message_type = bnet.entity_pb2._ENTITYID -_LEAVENOTIFICATION.fields_by_name['member_id'].message_type = bnet.entity_pb2._ENTITYID -_SENDMESSAGENOTIFICATION.fields_by_name['agent_id'].message_type = bnet.entity_pb2._ENTITYID -_SENDMESSAGENOTIFICATION.fields_by_name['message'].message_type = bnet.channel_types_pb2._MESSAGE -_UPDATECHANNELSTATENOTIFICATION.fields_by_name['agent_id'].message_type = bnet.entity_pb2._ENTITYID -_UPDATECHANNELSTATENOTIFICATION.fields_by_name['state_change'].message_type = bnet.channel_types_pb2._CHANNELSTATE -_UPDATEMEMBERSTATENOTIFICATION.fields_by_name['agent_id'].message_type = bnet.entity_pb2._ENTITYID -_UPDATEMEMBERSTATENOTIFICATION.fields_by_name['state_change'].message_type = bnet.channel_types_pb2._MEMBER +_ADDMEMBERREQUEST.fields_by_name['agent_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_ADDMEMBERREQUEST.fields_by_name['member_identity'].message_type = bnet_dot_entity__pb2._IDENTITY +_ADDMEMBERREQUEST.fields_by_name['member_state'].message_type = bnet_dot_channel__types__pb2._MEMBERSTATE +_REMOVEMEMBERREQUEST.fields_by_name['agent_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_REMOVEMEMBERREQUEST.fields_by_name['member_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_UNSUBSCRIBEMEMBERREQUEST.fields_by_name['agent_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_UNSUBSCRIBEMEMBERREQUEST.fields_by_name['member_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_SENDMESSAGEREQUEST.fields_by_name['agent_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_SENDMESSAGEREQUEST.fields_by_name['message'].message_type = bnet_dot_channel__types__pb2._MESSAGE +_UPDATECHANNELSTATEREQUEST.fields_by_name['agent_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_UPDATECHANNELSTATEREQUEST.fields_by_name['state_change'].message_type = bnet_dot_channel__types__pb2._CHANNELSTATE +_UPDATEMEMBERSTATEREQUEST.fields_by_name['agent_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_UPDATEMEMBERSTATEREQUEST.fields_by_name['state_change'].message_type = bnet_dot_channel__types__pb2._MEMBER +_DISSOLVEREQUEST.fields_by_name['agent_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_SETROLESREQUEST.fields_by_name['agent_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_SETROLESREQUEST.fields_by_name['member_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_ADDNOTIFICATION.fields_by_name['self'].message_type = bnet_dot_channel__types__pb2._MEMBER +_ADDNOTIFICATION.fields_by_name['member'].message_type = bnet_dot_channel__types__pb2._MEMBER +_ADDNOTIFICATION.fields_by_name['channel_state'].message_type = bnet_dot_channel__types__pb2._CHANNELSTATE +_JOINNOTIFICATION.fields_by_name['member'].message_type = bnet_dot_channel__types__pb2._MEMBER +_REMOVENOTIFICATION.fields_by_name['agent_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_REMOVENOTIFICATION.fields_by_name['member_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_LEAVENOTIFICATION.fields_by_name['agent_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_LEAVENOTIFICATION.fields_by_name['member_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_SENDMESSAGENOTIFICATION.fields_by_name['agent_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_SENDMESSAGENOTIFICATION.fields_by_name['message'].message_type = bnet_dot_channel__types__pb2._MESSAGE +_UPDATECHANNELSTATENOTIFICATION.fields_by_name['agent_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_UPDATECHANNELSTATENOTIFICATION.fields_by_name['state_change'].message_type = bnet_dot_channel__types__pb2._CHANNELSTATE +_UPDATEMEMBERSTATENOTIFICATION.fields_by_name['agent_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_UPDATEMEMBERSTATENOTIFICATION.fields_by_name['state_change'].message_type = bnet_dot_channel__types__pb2._MEMBER DESCRIPTOR.message_types_by_name['AddMemberRequest'] = _ADDMEMBERREQUEST DESCRIPTOR.message_types_by_name['RemoveMemberRequest'] = _REMOVEMEMBERREQUEST DESCRIPTOR.message_types_by_name['UnsubscribeMemberRequest'] = _UNSUBSCRIBEMEMBERREQUEST @@ -704,117 +718,115 @@ DESCRIPTOR.message_types_by_name['SendMessageNotification'] = _SENDMESSAGENOTIFICATION DESCRIPTOR.message_types_by_name['UpdateChannelStateNotification'] = _UPDATECHANNELSTATENOTIFICATION DESCRIPTOR.message_types_by_name['UpdateMemberStateNotification'] = _UPDATEMEMBERSTATENOTIFICATION +_sym_db.RegisterFileDescriptor(DESCRIPTOR) -AddMemberRequest = _reflection.GeneratedProtocolMessageType('AddMemberRequest', (_message.Message,), dict( - DESCRIPTOR = _ADDMEMBERREQUEST, - __module__ = 'bnet.channel_service_pb2' +AddMemberRequest = _reflection.GeneratedProtocolMessageType('AddMemberRequest', (_message.Message,), { + 'DESCRIPTOR' : _ADDMEMBERREQUEST, + '__module__' : 'bnet.channel_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.channel.AddMemberRequest) - )) + }) _sym_db.RegisterMessage(AddMemberRequest) -RemoveMemberRequest = _reflection.GeneratedProtocolMessageType('RemoveMemberRequest', (_message.Message,), dict( - DESCRIPTOR = _REMOVEMEMBERREQUEST, - __module__ = 'bnet.channel_service_pb2' +RemoveMemberRequest = _reflection.GeneratedProtocolMessageType('RemoveMemberRequest', (_message.Message,), { + 'DESCRIPTOR' : _REMOVEMEMBERREQUEST, + '__module__' : 'bnet.channel_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.channel.RemoveMemberRequest) - )) + }) _sym_db.RegisterMessage(RemoveMemberRequest) -UnsubscribeMemberRequest = _reflection.GeneratedProtocolMessageType('UnsubscribeMemberRequest', (_message.Message,), dict( - DESCRIPTOR = _UNSUBSCRIBEMEMBERREQUEST, - __module__ = 'bnet.channel_service_pb2' +UnsubscribeMemberRequest = _reflection.GeneratedProtocolMessageType('UnsubscribeMemberRequest', (_message.Message,), { + 'DESCRIPTOR' : _UNSUBSCRIBEMEMBERREQUEST, + '__module__' : 'bnet.channel_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.channel.UnsubscribeMemberRequest) - )) + }) _sym_db.RegisterMessage(UnsubscribeMemberRequest) -SendMessageRequest = _reflection.GeneratedProtocolMessageType('SendMessageRequest', (_message.Message,), dict( - DESCRIPTOR = _SENDMESSAGEREQUEST, - __module__ = 'bnet.channel_service_pb2' +SendMessageRequest = _reflection.GeneratedProtocolMessageType('SendMessageRequest', (_message.Message,), { + 'DESCRIPTOR' : _SENDMESSAGEREQUEST, + '__module__' : 'bnet.channel_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.channel.SendMessageRequest) - )) + }) _sym_db.RegisterMessage(SendMessageRequest) -UpdateChannelStateRequest = _reflection.GeneratedProtocolMessageType('UpdateChannelStateRequest', (_message.Message,), dict( - DESCRIPTOR = _UPDATECHANNELSTATEREQUEST, - __module__ = 'bnet.channel_service_pb2' +UpdateChannelStateRequest = _reflection.GeneratedProtocolMessageType('UpdateChannelStateRequest', (_message.Message,), { + 'DESCRIPTOR' : _UPDATECHANNELSTATEREQUEST, + '__module__' : 'bnet.channel_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.channel.UpdateChannelStateRequest) - )) + }) _sym_db.RegisterMessage(UpdateChannelStateRequest) -UpdateMemberStateRequest = _reflection.GeneratedProtocolMessageType('UpdateMemberStateRequest', (_message.Message,), dict( - DESCRIPTOR = _UPDATEMEMBERSTATEREQUEST, - __module__ = 'bnet.channel_service_pb2' +UpdateMemberStateRequest = _reflection.GeneratedProtocolMessageType('UpdateMemberStateRequest', (_message.Message,), { + 'DESCRIPTOR' : _UPDATEMEMBERSTATEREQUEST, + '__module__' : 'bnet.channel_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.channel.UpdateMemberStateRequest) - )) + }) _sym_db.RegisterMessage(UpdateMemberStateRequest) -DissolveRequest = _reflection.GeneratedProtocolMessageType('DissolveRequest', (_message.Message,), dict( - DESCRIPTOR = _DISSOLVEREQUEST, - __module__ = 'bnet.channel_service_pb2' +DissolveRequest = _reflection.GeneratedProtocolMessageType('DissolveRequest', (_message.Message,), { + 'DESCRIPTOR' : _DISSOLVEREQUEST, + '__module__' : 'bnet.channel_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.channel.DissolveRequest) - )) + }) _sym_db.RegisterMessage(DissolveRequest) -SetRolesRequest = _reflection.GeneratedProtocolMessageType('SetRolesRequest', (_message.Message,), dict( - DESCRIPTOR = _SETROLESREQUEST, - __module__ = 'bnet.channel_service_pb2' +SetRolesRequest = _reflection.GeneratedProtocolMessageType('SetRolesRequest', (_message.Message,), { + 'DESCRIPTOR' : _SETROLESREQUEST, + '__module__' : 'bnet.channel_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.channel.SetRolesRequest) - )) + }) _sym_db.RegisterMessage(SetRolesRequest) -AddNotification = _reflection.GeneratedProtocolMessageType('AddNotification', (_message.Message,), dict( - DESCRIPTOR = _ADDNOTIFICATION, - __module__ = 'bnet.channel_service_pb2' +AddNotification = _reflection.GeneratedProtocolMessageType('AddNotification', (_message.Message,), { + 'DESCRIPTOR' : _ADDNOTIFICATION, + '__module__' : 'bnet.channel_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.channel.AddNotification) - )) + }) _sym_db.RegisterMessage(AddNotification) -JoinNotification = _reflection.GeneratedProtocolMessageType('JoinNotification', (_message.Message,), dict( - DESCRIPTOR = _JOINNOTIFICATION, - __module__ = 'bnet.channel_service_pb2' +JoinNotification = _reflection.GeneratedProtocolMessageType('JoinNotification', (_message.Message,), { + 'DESCRIPTOR' : _JOINNOTIFICATION, + '__module__' : 'bnet.channel_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.channel.JoinNotification) - )) + }) _sym_db.RegisterMessage(JoinNotification) -RemoveNotification = _reflection.GeneratedProtocolMessageType('RemoveNotification', (_message.Message,), dict( - DESCRIPTOR = _REMOVENOTIFICATION, - __module__ = 'bnet.channel_service_pb2' +RemoveNotification = _reflection.GeneratedProtocolMessageType('RemoveNotification', (_message.Message,), { + 'DESCRIPTOR' : _REMOVENOTIFICATION, + '__module__' : 'bnet.channel_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.channel.RemoveNotification) - )) + }) _sym_db.RegisterMessage(RemoveNotification) -LeaveNotification = _reflection.GeneratedProtocolMessageType('LeaveNotification', (_message.Message,), dict( - DESCRIPTOR = _LEAVENOTIFICATION, - __module__ = 'bnet.channel_service_pb2' +LeaveNotification = _reflection.GeneratedProtocolMessageType('LeaveNotification', (_message.Message,), { + 'DESCRIPTOR' : _LEAVENOTIFICATION, + '__module__' : 'bnet.channel_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.channel.LeaveNotification) - )) + }) _sym_db.RegisterMessage(LeaveNotification) -SendMessageNotification = _reflection.GeneratedProtocolMessageType('SendMessageNotification', (_message.Message,), dict( - DESCRIPTOR = _SENDMESSAGENOTIFICATION, - __module__ = 'bnet.channel_service_pb2' +SendMessageNotification = _reflection.GeneratedProtocolMessageType('SendMessageNotification', (_message.Message,), { + 'DESCRIPTOR' : _SENDMESSAGENOTIFICATION, + '__module__' : 'bnet.channel_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.channel.SendMessageNotification) - )) + }) _sym_db.RegisterMessage(SendMessageNotification) -UpdateChannelStateNotification = _reflection.GeneratedProtocolMessageType('UpdateChannelStateNotification', (_message.Message,), dict( - DESCRIPTOR = _UPDATECHANNELSTATENOTIFICATION, - __module__ = 'bnet.channel_service_pb2' +UpdateChannelStateNotification = _reflection.GeneratedProtocolMessageType('UpdateChannelStateNotification', (_message.Message,), { + 'DESCRIPTOR' : _UPDATECHANNELSTATENOTIFICATION, + '__module__' : 'bnet.channel_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.channel.UpdateChannelStateNotification) - )) + }) _sym_db.RegisterMessage(UpdateChannelStateNotification) -UpdateMemberStateNotification = _reflection.GeneratedProtocolMessageType('UpdateMemberStateNotification', (_message.Message,), dict( - DESCRIPTOR = _UPDATEMEMBERSTATENOTIFICATION, - __module__ = 'bnet.channel_service_pb2' +UpdateMemberStateNotification = _reflection.GeneratedProtocolMessageType('UpdateMemberStateNotification', (_message.Message,), { + 'DESCRIPTOR' : _UPDATEMEMBERSTATENOTIFICATION, + '__module__' : 'bnet.channel_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.channel.UpdateMemberStateNotification) - )) + }) _sym_db.RegisterMessage(UpdateMemberStateNotification) -_UPDATEMEMBERSTATEREQUEST.fields_by_name['removed_role'].has_options = True -_UPDATEMEMBERSTATEREQUEST.fields_by_name['removed_role']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')) -_SETROLESREQUEST.fields_by_name['role'].has_options = True -_SETROLESREQUEST.fields_by_name['role']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')) -_UPDATEMEMBERSTATENOTIFICATION.fields_by_name['removed_role'].has_options = True -_UPDATEMEMBERSTATENOTIFICATION.fields_by_name['removed_role']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')) +_UPDATEMEMBERSTATEREQUEST.fields_by_name['removed_role']._options = None +_SETROLESREQUEST.fields_by_name['role']._options = None +_UPDATEMEMBERSTATENOTIFICATION.fields_by_name['removed_role']._options = None # @@protoc_insertion_point(module_scope) diff --git a/src/bnet/channel_types.proto b/src/bnet/channel_types.proto new file mode 100644 index 0000000..c340dbf --- /dev/null +++ b/src/bnet/channel_types.proto @@ -0,0 +1,69 @@ +package bnet.protocol.channel; +import "bnet/attribute.proto"; +import "bnet/entity.proto"; +import "bnet/invitation_types.proto"; + + +message Message { + repeated attribute.Attribute attribute = 1; + optional uint32 role = 2; +} + +message FindChannelOptions { + optional uint32 start_index = 1 [default = 0]; + optional uint32 max_results = 2 [default = 16]; + optional string name = 3; + optional fixed32 program = 4; + optional fixed32 locale = 5; + optional uint32 capacity_full = 6; + required attribute.AttributeFilter attribute_filter = 7; + optional string channel_type = 8; +} + +message ChannelDescription { + required EntityId channel_id = 1; + optional uint32 current_members = 2; + optional ChannelState state = 3; +} + +message ChannelInfo { + required ChannelDescription description = 1; + repeated Member member = 2; +} + +message ChannelState { + enum PrivacyLevel { + PRIVACY_LEVEL_OPEN = 1; + PRIVACY_LEVEL_OPEN_INVITATION_AND_FRIEND = 2; + PRIVACY_LEVEL_OPEN_INVITATION = 3; + PRIVACY_LEVEL_CLOSED = 4; + } + + optional uint32 max_members = 1; + optional uint32 min_members = 2; + repeated attribute.Attribute attribute = 3; + repeated invitation.Invitation invitation = 4; + optional uint32 max_invitations = 5; + optional uint32 reason = 6; + optional PrivacyLevel privacy_level = 7 [default = PRIVACY_LEVEL_OPEN]; + optional string name = 8; + optional string delegate_name = 9; + optional string channel_type = 10 [default = "default"]; + optional fixed32 program = 11 [default = 0]; + optional bool allow_offline_members = 12 [default = false]; + optional bool subscribe_to_presence = 13 [default = true]; + extensions 100 to 10000; +} + +message MemberState { + repeated attribute.Attribute attribute = 1; + repeated uint32 role = 2 [packed = true]; + optional uint64 privileges = 3 [default = 0]; + optional AccountInfo info = 4; + optional bool hidden = 5 [default = false]; +} + +message Member { + required Identity identity = 1; + required MemberState state = 2; +} diff --git a/src/bnet/channel_types_pb2.py b/src/bnet/channel_types_pb2.py index 2da5847..f930111 100644 --- a/src/bnet/channel_types_pb2.py +++ b/src/bnet/channel_types_pb2.py @@ -1,31 +1,29 @@ +# -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: bnet/channel_types.proto -import sys -_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message from google.protobuf import reflection as _reflection from google.protobuf import symbol_database as _symbol_database -from google.protobuf import descriptor_pb2 # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() -import bnet.attribute_pb2 -import bnet.entity_pb2 -import bnet.invitation_types_pb2 -import bnet.presence_types_pb2 +from bnet import attribute_pb2 as bnet_dot_attribute__pb2 +from bnet import entity_pb2 as bnet_dot_entity__pb2 +from bnet import invitation_types_pb2 as bnet_dot_invitation__types__pb2 DESCRIPTOR = _descriptor.FileDescriptor( name='bnet/channel_types.proto', package='bnet.protocol.channel', - serialized_pb=_b('\n\x18\x62net/channel_types.proto\x12\x15\x62net.protocol.channel\x1a\x14\x62net/attribute.proto\x1a\x11\x62net/entity.proto\x1a\x1b\x62net/invitation_types.proto\x1a\x19\x62net/presence_types.proto\"N\n\x07Message\x12\x35\n\tattribute\x18\x01 \x03(\x0b\x32\".bnet.protocol.attribute.Attribute\x12\x0c\n\x04role\x18\x02 \x01(\r\"\xe5\x01\n\x12\x46indChannelOptions\x12\x16\n\x0bstart_index\x18\x01 \x01(\r:\x01\x30\x12\x17\n\x0bmax_results\x18\x02 \x01(\r:\x02\x31\x36\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x0f\n\x07program\x18\x04 \x01(\x07\x12\x0e\n\x06locale\x18\x05 \x01(\x07\x12\x15\n\rcapacity_full\x18\x06 \x01(\r\x12\x42\n\x10\x61ttribute_filter\x18\x07 \x02(\x0b\x32(.bnet.protocol.attribute.AttributeFilter\x12\x14\n\x0c\x63hannel_type\x18\x08 \x01(\t\"\x8e\x01\n\x12\x43hannelDescription\x12+\n\nchannel_id\x18\x01 \x02(\x0b\x32\x17.bnet.protocol.EntityId\x12\x17\n\x0f\x63urrent_members\x18\x02 \x01(\r\x12\x32\n\x05state\x18\x03 \x01(\x0b\x32#.bnet.protocol.channel.ChannelState\"|\n\x0b\x43hannelInfo\x12>\n\x0b\x64\x65scription\x18\x01 \x02(\x0b\x32).bnet.protocol.channel.ChannelDescription\x12-\n\x06member\x18\x02 \x03(\x0b\x32\x1d.bnet.protocol.channel.Member\"\xd4\x05\n\x0c\x43hannelState\x12\x13\n\x0bmax_members\x18\x01 \x01(\r\x12\x13\n\x0bmin_members\x18\x02 \x01(\r\x12\x35\n\tattribute\x18\x03 \x03(\x0b\x32\".bnet.protocol.attribute.Attribute\x12\x38\n\ninvitation\x18\x04 \x03(\x0b\x32$.bnet.protocol.invitation.Invitation\x12\x17\n\x0fmax_invitations\x18\x05 \x01(\r\x12\x0e\n\x06reason\x18\x06 \x01(\r\x12[\n\rprivacy_level\x18\x07 \x01(\x0e\x32\x30.bnet.protocol.channel.ChannelState.PrivacyLevel:\x12PRIVACY_LEVEL_OPEN\x12\x0c\n\x04name\x18\x08 \x01(\t\x12\x15\n\rdelegate_name\x18\t \x01(\t\x12\x1d\n\x0c\x63hannel_type\x18\n \x01(\t:\x07\x64\x65\x66\x61ult\x12\x12\n\x07program\x18\x0b \x01(\x07:\x01\x30\x12$\n\x15\x61llow_offline_members\x18\x0c \x01(\x08:\x05\x66\x61lse\x12#\n\x15subscribe_to_presence\x18\r \x01(\x08:\x04true\x12\x34\n\x07\x63hannel\x18\x64 \x01(\x0b\x32#.bnet.protocol.channel.ChannelState\x12\x36\n\x08presence\x18\x65 \x01(\x0b\x32$.bnet.protocol.presence.ChannelState\"\x91\x01\n\x0cPrivacyLevel\x12\x16\n\x12PRIVACY_LEVEL_OPEN\x10\x01\x12,\n(PRIVACY_LEVEL_OPEN_INVITATION_AND_FRIEND\x10\x02\x12!\n\x1dPRIVACY_LEVEL_OPEN_INVITATION\x10\x03\x12\x18\n\x14PRIVACY_LEVEL_CLOSED\x10\x04\"\xae\x01\n\x0bMemberState\x12\x35\n\tattribute\x18\x01 \x03(\x0b\x32\".bnet.protocol.attribute.Attribute\x12\x10\n\x04role\x18\x02 \x03(\rB\x02\x10\x01\x12\x15\n\nprivileges\x18\x03 \x01(\x04:\x01\x30\x12(\n\x04info\x18\x04 \x01(\x0b\x32\x1a.bnet.protocol.AccountInfo\x12\x15\n\x06hidden\x18\x05 \x01(\x08:\x05\x66\x61lse\"f\n\x06Member\x12)\n\x08identity\x18\x01 \x02(\x0b\x32\x17.bnet.protocol.Identity\x12\x31\n\x05state\x18\x02 \x02(\x0b\x32\".bnet.protocol.channel.MemberState') + syntax='proto2', + serialized_options=None, + serialized_pb=b'\n\x18\x62net/channel_types.proto\x12\x15\x62net.protocol.channel\x1a\x14\x62net/attribute.proto\x1a\x11\x62net/entity.proto\x1a\x1b\x62net/invitation_types.proto\"N\n\x07Message\x12\x35\n\tattribute\x18\x01 \x03(\x0b\x32\".bnet.protocol.attribute.Attribute\x12\x0c\n\x04role\x18\x02 \x01(\r\"\xe5\x01\n\x12\x46indChannelOptions\x12\x16\n\x0bstart_index\x18\x01 \x01(\r:\x01\x30\x12\x17\n\x0bmax_results\x18\x02 \x01(\r:\x02\x31\x36\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x0f\n\x07program\x18\x04 \x01(\x07\x12\x0e\n\x06locale\x18\x05 \x01(\x07\x12\x15\n\rcapacity_full\x18\x06 \x01(\r\x12\x42\n\x10\x61ttribute_filter\x18\x07 \x02(\x0b\x32(.bnet.protocol.attribute.AttributeFilter\x12\x14\n\x0c\x63hannel_type\x18\x08 \x01(\t\"\x8e\x01\n\x12\x43hannelDescription\x12+\n\nchannel_id\x18\x01 \x02(\x0b\x32\x17.bnet.protocol.EntityId\x12\x17\n\x0f\x63urrent_members\x18\x02 \x01(\r\x12\x32\n\x05state\x18\x03 \x01(\x0b\x32#.bnet.protocol.channel.ChannelState\"|\n\x0b\x43hannelInfo\x12>\n\x0b\x64\x65scription\x18\x01 \x02(\x0b\x32).bnet.protocol.channel.ChannelDescription\x12-\n\x06member\x18\x02 \x03(\x0b\x32\x1d.bnet.protocol.channel.Member\"\xed\x04\n\x0c\x43hannelState\x12\x13\n\x0bmax_members\x18\x01 \x01(\r\x12\x13\n\x0bmin_members\x18\x02 \x01(\r\x12\x35\n\tattribute\x18\x03 \x03(\x0b\x32\".bnet.protocol.attribute.Attribute\x12\x38\n\ninvitation\x18\x04 \x03(\x0b\x32$.bnet.protocol.invitation.Invitation\x12\x17\n\x0fmax_invitations\x18\x05 \x01(\r\x12\x0e\n\x06reason\x18\x06 \x01(\r\x12[\n\rprivacy_level\x18\x07 \x01(\x0e\x32\x30.bnet.protocol.channel.ChannelState.PrivacyLevel:\x12PRIVACY_LEVEL_OPEN\x12\x0c\n\x04name\x18\x08 \x01(\t\x12\x15\n\rdelegate_name\x18\t \x01(\t\x12\x1d\n\x0c\x63hannel_type\x18\n \x01(\t:\x07\x64\x65\x66\x61ult\x12\x12\n\x07program\x18\x0b \x01(\x07:\x01\x30\x12$\n\x15\x61llow_offline_members\x18\x0c \x01(\x08:\x05\x66\x61lse\x12#\n\x15subscribe_to_presence\x18\r \x01(\x08:\x04true\"\x91\x01\n\x0cPrivacyLevel\x12\x16\n\x12PRIVACY_LEVEL_OPEN\x10\x01\x12,\n(PRIVACY_LEVEL_OPEN_INVITATION_AND_FRIEND\x10\x02\x12!\n\x1dPRIVACY_LEVEL_OPEN_INVITATION\x10\x03\x12\x18\n\x14PRIVACY_LEVEL_CLOSED\x10\x04*\x05\x08\x64\x10\x91N\"\xae\x01\n\x0bMemberState\x12\x35\n\tattribute\x18\x01 \x03(\x0b\x32\".bnet.protocol.attribute.Attribute\x12\x10\n\x04role\x18\x02 \x03(\rB\x02\x10\x01\x12\x15\n\nprivileges\x18\x03 \x01(\x04:\x01\x30\x12(\n\x04info\x18\x04 \x01(\x0b\x32\x1a.bnet.protocol.AccountInfo\x12\x15\n\x06hidden\x18\x05 \x01(\x08:\x05\x66\x61lse\"f\n\x06Member\x12)\n\x08identity\x18\x01 \x02(\x0b\x32\x17.bnet.protocol.Identity\x12\x31\n\x05state\x18\x02 \x02(\x0b\x32\".bnet.protocol.channel.MemberState' , - dependencies=[bnet.attribute_pb2.DESCRIPTOR,bnet.entity_pb2.DESCRIPTOR,bnet.invitation_types_pb2.DESCRIPTOR,bnet.presence_types_pb2.DESCRIPTOR,]) -_sym_db.RegisterFileDescriptor(DESCRIPTOR) + dependencies=[bnet_dot_attribute__pb2.DESCRIPTOR,bnet_dot_entity__pb2.DESCRIPTOR,bnet_dot_invitation__types__pb2.DESCRIPTOR,]) @@ -37,25 +35,25 @@ values=[ _descriptor.EnumValueDescriptor( name='PRIVACY_LEVEL_OPEN', index=0, number=1, - options=None, + serialized_options=None, type=None), _descriptor.EnumValueDescriptor( name='PRIVACY_LEVEL_OPEN_INVITATION_AND_FRIEND', index=1, number=2, - options=None, + serialized_options=None, type=None), _descriptor.EnumValueDescriptor( name='PRIVACY_LEVEL_OPEN_INVITATION', index=2, number=3, - options=None, + serialized_options=None, type=None), _descriptor.EnumValueDescriptor( name='PRIVACY_LEVEL_CLOSED', index=3, number=4, - options=None, + serialized_options=None, type=None), ], containing_type=None, - options=None, - serialized_start=1311, - serialized_end=1456, + serialized_options=None, + serialized_start=1174, + serialized_end=1319, ) _sym_db.RegisterEnumDescriptor(_CHANNELSTATE_PRIVACYLEVEL) @@ -73,27 +71,28 @@ has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='role', full_name='bnet.protocol.channel.Message.role', index=1, number=2, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], - serialized_start=148, - serialized_end=226, + serialized_start=121, + serialized_end=199, ) @@ -110,69 +109,70 @@ has_default_value=True, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='max_results', full_name='bnet.protocol.channel.FindChannelOptions.max_results', index=1, number=2, type=13, cpp_type=3, label=1, has_default_value=True, default_value=16, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='name', full_name='bnet.protocol.channel.FindChannelOptions.name', index=2, number=3, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='program', full_name='bnet.protocol.channel.FindChannelOptions.program', index=3, number=4, type=7, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='locale', full_name='bnet.protocol.channel.FindChannelOptions.locale', index=4, number=5, type=7, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='capacity_full', full_name='bnet.protocol.channel.FindChannelOptions.capacity_full', index=5, number=6, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='attribute_filter', full_name='bnet.protocol.channel.FindChannelOptions.attribute_filter', index=6, number=7, type=11, cpp_type=10, label=2, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='channel_type', full_name='bnet.protocol.channel.FindChannelOptions.channel_type', index=7, number=8, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], - serialized_start=229, - serialized_end=458, + serialized_start=202, + serialized_end=431, ) @@ -189,34 +189,35 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='current_members', full_name='bnet.protocol.channel.ChannelDescription.current_members', index=1, number=2, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='state', full_name='bnet.protocol.channel.ChannelDescription.state', index=2, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], - serialized_start=461, - serialized_end=603, + serialized_start=434, + serialized_end=576, ) @@ -233,27 +234,28 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='member', full_name='bnet.protocol.channel.ChannelInfo.member', index=1, number=2, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], - serialized_start=605, - serialized_end=729, + serialized_start=578, + serialized_end=702, ) @@ -270,105 +272,91 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='min_members', full_name='bnet.protocol.channel.ChannelState.min_members', index=1, number=2, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='attribute', full_name='bnet.protocol.channel.ChannelState.attribute', index=2, number=3, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='invitation', full_name='bnet.protocol.channel.ChannelState.invitation', index=3, number=4, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='max_invitations', full_name='bnet.protocol.channel.ChannelState.max_invitations', index=4, number=5, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='reason', full_name='bnet.protocol.channel.ChannelState.reason', index=5, number=6, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='privacy_level', full_name='bnet.protocol.channel.ChannelState.privacy_level', index=6, number=7, type=14, cpp_type=8, label=1, has_default_value=True, default_value=1, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='name', full_name='bnet.protocol.channel.ChannelState.name', index=7, number=8, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='delegate_name', full_name='bnet.protocol.channel.ChannelState.delegate_name', index=8, number=9, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='channel_type', full_name='bnet.protocol.channel.ChannelState.channel_type', index=9, number=10, type=9, cpp_type=9, label=1, - has_default_value=True, default_value=_b("default").decode('utf-8'), + has_default_value=True, default_value=b"default".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='program', full_name='bnet.protocol.channel.ChannelState.program', index=10, number=11, type=7, cpp_type=3, label=1, has_default_value=True, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='allow_offline_members', full_name='bnet.protocol.channel.ChannelState.allow_offline_members', index=11, number=12, type=8, cpp_type=7, label=1, has_default_value=True, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='subscribe_to_presence', full_name='bnet.protocol.channel.ChannelState.subscribe_to_presence', index=12, number=13, type=8, cpp_type=7, label=1, has_default_value=True, default_value=True, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), - _descriptor.FieldDescriptor( - name='channel', full_name='bnet.protocol.channel.ChannelState.channel', index=13, - number=100, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - _descriptor.FieldDescriptor( - name='presence', full_name='bnet.protocol.channel.ChannelState.presence', index=14, - number=101, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], @@ -376,13 +364,14 @@ enum_types=[ _CHANNELSTATE_PRIVACYLEVEL, ], - options=None, - is_extendable=False, - extension_ranges=[], + serialized_options=None, + is_extendable=True, + syntax='proto2', + extension_ranges=[(100, 10001), ], oneofs=[ ], - serialized_start=732, - serialized_end=1456, + serialized_start=705, + serialized_end=1326, ) @@ -399,48 +388,49 @@ has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='role', full_name='bnet.protocol.channel.MemberState.role', index=1, number=2, type=13, cpp_type=3, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001'))), + serialized_options=b'\020\001', file=DESCRIPTOR), _descriptor.FieldDescriptor( name='privileges', full_name='bnet.protocol.channel.MemberState.privileges', index=2, number=3, type=4, cpp_type=4, label=1, has_default_value=True, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='info', full_name='bnet.protocol.channel.MemberState.info', index=3, number=4, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='hidden', full_name='bnet.protocol.channel.MemberState.hidden', index=4, number=5, type=8, cpp_type=7, label=1, has_default_value=True, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], - serialized_start=1459, - serialized_end=1633, + serialized_start=1329, + serialized_end=1503, ) @@ -457,44 +447,43 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='state', full_name='bnet.protocol.channel.Member.state', index=1, number=2, type=11, cpp_type=10, label=2, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], - serialized_start=1635, - serialized_end=1737, + serialized_start=1505, + serialized_end=1607, ) -_MESSAGE.fields_by_name['attribute'].message_type = bnet.attribute_pb2._ATTRIBUTE -_FINDCHANNELOPTIONS.fields_by_name['attribute_filter'].message_type = bnet.attribute_pb2._ATTRIBUTEFILTER -_CHANNELDESCRIPTION.fields_by_name['channel_id'].message_type = bnet.entity_pb2._ENTITYID +_MESSAGE.fields_by_name['attribute'].message_type = bnet_dot_attribute__pb2._ATTRIBUTE +_FINDCHANNELOPTIONS.fields_by_name['attribute_filter'].message_type = bnet_dot_attribute__pb2._ATTRIBUTEFILTER +_CHANNELDESCRIPTION.fields_by_name['channel_id'].message_type = bnet_dot_entity__pb2._ENTITYID _CHANNELDESCRIPTION.fields_by_name['state'].message_type = _CHANNELSTATE _CHANNELINFO.fields_by_name['description'].message_type = _CHANNELDESCRIPTION _CHANNELINFO.fields_by_name['member'].message_type = _MEMBER -_CHANNELSTATE.fields_by_name['attribute'].message_type = bnet.attribute_pb2._ATTRIBUTE -_CHANNELSTATE.fields_by_name['invitation'].message_type = bnet.invitation_types_pb2._INVITATION +_CHANNELSTATE.fields_by_name['attribute'].message_type = bnet_dot_attribute__pb2._ATTRIBUTE +_CHANNELSTATE.fields_by_name['invitation'].message_type = bnet_dot_invitation__types__pb2._INVITATION _CHANNELSTATE.fields_by_name['privacy_level'].enum_type = _CHANNELSTATE_PRIVACYLEVEL -_CHANNELSTATE.fields_by_name['channel'].message_type = _CHANNELSTATE -_CHANNELSTATE.fields_by_name['presence'].message_type = bnet.presence_types_pb2._CHANNELSTATE _CHANNELSTATE_PRIVACYLEVEL.containing_type = _CHANNELSTATE -_MEMBERSTATE.fields_by_name['attribute'].message_type = bnet.attribute_pb2._ATTRIBUTE -_MEMBERSTATE.fields_by_name['info'].message_type = bnet.entity_pb2._ACCOUNTINFO -_MEMBER.fields_by_name['identity'].message_type = bnet.entity_pb2._IDENTITY +_MEMBERSTATE.fields_by_name['attribute'].message_type = bnet_dot_attribute__pb2._ATTRIBUTE +_MEMBERSTATE.fields_by_name['info'].message_type = bnet_dot_entity__pb2._ACCOUNTINFO +_MEMBER.fields_by_name['identity'].message_type = bnet_dot_entity__pb2._IDENTITY _MEMBER.fields_by_name['state'].message_type = _MEMBERSTATE DESCRIPTOR.message_types_by_name['Message'] = _MESSAGE DESCRIPTOR.message_types_by_name['FindChannelOptions'] = _FINDCHANNELOPTIONS @@ -503,57 +492,57 @@ DESCRIPTOR.message_types_by_name['ChannelState'] = _CHANNELSTATE DESCRIPTOR.message_types_by_name['MemberState'] = _MEMBERSTATE DESCRIPTOR.message_types_by_name['Member'] = _MEMBER +_sym_db.RegisterFileDescriptor(DESCRIPTOR) -Message = _reflection.GeneratedProtocolMessageType('Message', (_message.Message,), dict( - DESCRIPTOR = _MESSAGE, - __module__ = 'bnet.channel_types_pb2' +Message = _reflection.GeneratedProtocolMessageType('Message', (_message.Message,), { + 'DESCRIPTOR' : _MESSAGE, + '__module__' : 'bnet.channel_types_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.channel.Message) - )) + }) _sym_db.RegisterMessage(Message) -FindChannelOptions = _reflection.GeneratedProtocolMessageType('FindChannelOptions', (_message.Message,), dict( - DESCRIPTOR = _FINDCHANNELOPTIONS, - __module__ = 'bnet.channel_types_pb2' +FindChannelOptions = _reflection.GeneratedProtocolMessageType('FindChannelOptions', (_message.Message,), { + 'DESCRIPTOR' : _FINDCHANNELOPTIONS, + '__module__' : 'bnet.channel_types_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.channel.FindChannelOptions) - )) + }) _sym_db.RegisterMessage(FindChannelOptions) -ChannelDescription = _reflection.GeneratedProtocolMessageType('ChannelDescription', (_message.Message,), dict( - DESCRIPTOR = _CHANNELDESCRIPTION, - __module__ = 'bnet.channel_types_pb2' +ChannelDescription = _reflection.GeneratedProtocolMessageType('ChannelDescription', (_message.Message,), { + 'DESCRIPTOR' : _CHANNELDESCRIPTION, + '__module__' : 'bnet.channel_types_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.channel.ChannelDescription) - )) + }) _sym_db.RegisterMessage(ChannelDescription) -ChannelInfo = _reflection.GeneratedProtocolMessageType('ChannelInfo', (_message.Message,), dict( - DESCRIPTOR = _CHANNELINFO, - __module__ = 'bnet.channel_types_pb2' +ChannelInfo = _reflection.GeneratedProtocolMessageType('ChannelInfo', (_message.Message,), { + 'DESCRIPTOR' : _CHANNELINFO, + '__module__' : 'bnet.channel_types_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.channel.ChannelInfo) - )) + }) _sym_db.RegisterMessage(ChannelInfo) -ChannelState = _reflection.GeneratedProtocolMessageType('ChannelState', (_message.Message,), dict( - DESCRIPTOR = _CHANNELSTATE, - __module__ = 'bnet.channel_types_pb2' +ChannelState = _reflection.GeneratedProtocolMessageType('ChannelState', (_message.Message,), { + 'DESCRIPTOR' : _CHANNELSTATE, + '__module__' : 'bnet.channel_types_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.channel.ChannelState) - )) + }) _sym_db.RegisterMessage(ChannelState) -MemberState = _reflection.GeneratedProtocolMessageType('MemberState', (_message.Message,), dict( - DESCRIPTOR = _MEMBERSTATE, - __module__ = 'bnet.channel_types_pb2' +MemberState = _reflection.GeneratedProtocolMessageType('MemberState', (_message.Message,), { + 'DESCRIPTOR' : _MEMBERSTATE, + '__module__' : 'bnet.channel_types_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.channel.MemberState) - )) + }) _sym_db.RegisterMessage(MemberState) -Member = _reflection.GeneratedProtocolMessageType('Member', (_message.Message,), dict( - DESCRIPTOR = _MEMBER, - __module__ = 'bnet.channel_types_pb2' +Member = _reflection.GeneratedProtocolMessageType('Member', (_message.Message,), { + 'DESCRIPTOR' : _MEMBER, + '__module__' : 'bnet.channel_types_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.channel.Member) - )) + }) _sym_db.RegisterMessage(Member) -_MEMBERSTATE.fields_by_name['role'].has_options = True -_MEMBERSTATE.fields_by_name['role']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')) +_MEMBERSTATE.fields_by_name['role']._options = None # @@protoc_insertion_point(module_scope) diff --git a/src/bnet/chat_types.proto b/src/bnet/chat_types.proto new file mode 100644 index 0000000..768f7e0 --- /dev/null +++ b/src/bnet/chat_types.proto @@ -0,0 +1,14 @@ +package bnet.protocol.chat; +import "bnet/channel_types.proto"; + + +message ChannelState { + optional string identity = 1; + optional fixed32 program = 2; + optional fixed32 locale = 3; + optional bool public = 4 [default = false]; + optional uint32 bucket_index = 5; + extend .bnet.protocol.channel.ChannelState { + optional ChannelState chat = 100; + } +} diff --git a/src/bnet/chat_types_pb2.py b/src/bnet/chat_types_pb2.py index 85c12cd..9bb1524 100644 --- a/src/bnet/chat_types_pb2.py +++ b/src/bnet/chat_types_pb2.py @@ -1,26 +1,27 @@ +# -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: bnet/chat_types.proto -import sys -_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message from google.protobuf import reflection as _reflection from google.protobuf import symbol_database as _symbol_database -from google.protobuf import descriptor_pb2 # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() +from bnet import channel_types_pb2 as bnet_dot_channel__types__pb2 DESCRIPTOR = _descriptor.FileDescriptor( name='bnet/chat_types.proto', package='bnet.protocol.chat', - serialized_pb=_b('\n\x15\x62net/chat_types.proto\x12\x12\x62net.protocol.chat\"n\n\x0c\x43hannelState\x12\x10\n\x08identity\x18\x01 \x01(\t\x12\x0f\n\x07program\x18\x02 \x01(\x07\x12\x0e\n\x06locale\x18\x03 \x01(\x07\x12\x15\n\x06public\x18\x04 \x01(\x08:\x05\x66\x61lse\x12\x14\n\x0c\x62ucket_index\x18\x05 \x01(\r') -) -_sym_db.RegisterFileDescriptor(DESCRIPTOR) + syntax='proto2', + serialized_options=None, + serialized_pb=b'\n\x15\x62net/chat_types.proto\x12\x12\x62net.protocol.chat\x1a\x18\x62net/channel_types.proto\"\xc3\x01\n\x0c\x43hannelState\x12\x10\n\x08identity\x18\x01 \x01(\t\x12\x0f\n\x07program\x18\x02 \x01(\x07\x12\x0e\n\x06locale\x18\x03 \x01(\x07\x12\x15\n\x06public\x18\x04 \x01(\x08:\x05\x66\x61lse\x12\x14\n\x0c\x62ucket_index\x18\x05 \x01(\r2S\n\x04\x63hat\x12#.bnet.protocol.channel.ChannelState\x18\x64 \x01(\x0b\x32 .bnet.protocol.chat.ChannelState' + , + dependencies=[bnet_dot_channel__types__pb2.DESCRIPTOR,]) @@ -35,61 +36,72 @@ _descriptor.FieldDescriptor( name='identity', full_name='bnet.protocol.chat.ChannelState.identity', index=0, number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='program', full_name='bnet.protocol.chat.ChannelState.program', index=1, number=2, type=7, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='locale', full_name='bnet.protocol.chat.ChannelState.locale', index=2, number=3, type=7, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='public', full_name='bnet.protocol.chat.ChannelState.public', index=3, number=4, type=8, cpp_type=7, label=1, has_default_value=True, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='bucket_index', full_name='bnet.protocol.chat.ChannelState.bucket_index', index=4, number=5, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ + _descriptor.FieldDescriptor( + name='chat', full_name='bnet.protocol.chat.ChannelState.chat', index=0, + number=100, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=True, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], - serialized_start=45, - serialized_end=155, + serialized_start=72, + serialized_end=267, ) DESCRIPTOR.message_types_by_name['ChannelState'] = _CHANNELSTATE +_sym_db.RegisterFileDescriptor(DESCRIPTOR) -ChannelState = _reflection.GeneratedProtocolMessageType('ChannelState', (_message.Message,), dict( - DESCRIPTOR = _CHANNELSTATE, - __module__ = 'bnet.chat_types_pb2' +ChannelState = _reflection.GeneratedProtocolMessageType('ChannelState', (_message.Message,), { + 'DESCRIPTOR' : _CHANNELSTATE, + '__module__' : 'bnet.chat_types_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.chat.ChannelState) - )) + }) _sym_db.RegisterMessage(ChannelState) +_CHANNELSTATE.extensions_by_name['chat'].message_type = _CHANNELSTATE +bnet_dot_channel__types__pb2.ChannelState.RegisterExtension(_CHANNELSTATE.extensions_by_name['chat']) # @@protoc_insertion_point(module_scope) diff --git a/src/bnet/connection_service.proto b/src/bnet/connection_service.proto new file mode 100644 index 0000000..f1c2264 --- /dev/null +++ b/src/bnet/connection_service.proto @@ -0,0 +1,59 @@ +package bnet.protocol.connection; +import "bnet/content_handle.proto"; +import "bnet/rpc.proto"; + + +message ConnectRequest { + optional ProcessId client_id = 1; + optional BindRequest bind_request = 2; +} + +message ConnectionMeteringContentHandles { + repeated ContentHandle content_handle = 1; +} + +message ConnectResponse { + required ProcessId server_id = 1; + optional ProcessId client_id = 2; + optional uint32 bind_result = 3; + optional BindResponse bind_response = 4; + optional ConnectionMeteringContentHandles content_handle_array = 5; + optional uint64 server_time = 6; +} + +message BoundService { + required fixed32 hash = 1; + required uint32 id = 2; +} + +message BindRequest { + repeated fixed32 imported_service_hash = 1; + repeated BoundService exported_service = 2; +} + +message BindResponse { + repeated uint32 imported_service_id = 1 [packed = true]; +} + +message EchoRequest { + optional fixed64 time = 1; + optional bool network_only = 2 [default = false]; + optional bytes payload = 3; +} + +message EchoResponse { + optional fixed64 time = 1; + optional bytes payload = 2; +} + +message DisconnectRequest { + required uint32 error_code = 1; +} + +message DisconnectNotification { + required uint32 error_code = 1; + optional string reason = 2; +} + +message EncryptRequest { +} diff --git a/src/bnet/connection_service_pb2.py b/src/bnet/connection_service_pb2.py index 2ba67ea..ef2b62f 100644 --- a/src/bnet/connection_service_pb2.py +++ b/src/bnet/connection_service_pb2.py @@ -1,29 +1,28 @@ +# -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: bnet/connection_service.proto -import sys -_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message from google.protobuf import reflection as _reflection from google.protobuf import symbol_database as _symbol_database -from google.protobuf import descriptor_pb2 # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() -import bnet.content_handle_pb2 -import bnet.rpc_pb2 +from bnet import content_handle_pb2 as bnet_dot_content__handle__pb2 +from bnet import rpc_pb2 as bnet_dot_rpc__pb2 DESCRIPTOR = _descriptor.FileDescriptor( name='bnet/connection_service.proto', package='bnet.protocol.connection', - serialized_pb=_b('\n\x1d\x62net/connection_service.proto\x12\x18\x62net.protocol.connection\x1a\x19\x62net/content_handle.proto\x1a\x0e\x62net/rpc.proto\"z\n\x0e\x43onnectRequest\x12+\n\tclient_id\x18\x01 \x01(\x0b\x32\x18.bnet.protocol.ProcessId\x12;\n\x0c\x62ind_request\x18\x02 \x01(\x0b\x32%.bnet.protocol.connection.BindRequest\"X\n ConnectionMeteringContentHandles\x12\x34\n\x0e\x63ontent_handle\x18\x01 \x03(\x0b\x32\x1c.bnet.protocol.ContentHandle\"\xae\x02\n\x0f\x43onnectResponse\x12+\n\tserver_id\x18\x01 \x02(\x0b\x32\x18.bnet.protocol.ProcessId\x12+\n\tclient_id\x18\x02 \x01(\x0b\x32\x18.bnet.protocol.ProcessId\x12\x13\n\x0b\x62ind_result\x18\x03 \x01(\r\x12=\n\rbind_response\x18\x04 \x01(\x0b\x32&.bnet.protocol.connection.BindResponse\x12X\n\x14\x63ontent_handle_array\x18\x05 \x01(\x0b\x32:.bnet.protocol.connection.ConnectionMeteringContentHandles\x12\x13\n\x0bserver_time\x18\x06 \x01(\x04\"(\n\x0c\x42oundService\x12\x0c\n\x04hash\x18\x01 \x02(\x07\x12\n\n\x02id\x18\x02 \x02(\r\"n\n\x0b\x42indRequest\x12\x1d\n\x15imported_service_hash\x18\x01 \x03(\x07\x12@\n\x10\x65xported_service\x18\x02 \x03(\x0b\x32&.bnet.protocol.connection.BoundService\"/\n\x0c\x42indResponse\x12\x1f\n\x13imported_service_id\x18\x01 \x03(\rB\x02\x10\x01\"I\n\x0b\x45\x63hoRequest\x12\x0c\n\x04time\x18\x01 \x01(\x06\x12\x1b\n\x0cnetwork_only\x18\x02 \x01(\x08:\x05\x66\x61lse\x12\x0f\n\x07payload\x18\x03 \x01(\x0c\"-\n\x0c\x45\x63hoResponse\x12\x0c\n\x04time\x18\x01 \x01(\x06\x12\x0f\n\x07payload\x18\x02 \x01(\x0c\"\'\n\x11\x44isconnectRequest\x12\x12\n\nerror_code\x18\x01 \x02(\r\"<\n\x16\x44isconnectNotification\x12\x12\n\nerror_code\x18\x01 \x02(\r\x12\x0e\n\x06reason\x18\x02 \x01(\t\"\x10\n\x0e\x45ncryptRequest') + syntax='proto2', + serialized_options=None, + serialized_pb=b'\n\x1d\x62net/connection_service.proto\x12\x18\x62net.protocol.connection\x1a\x19\x62net/content_handle.proto\x1a\x0e\x62net/rpc.proto\"z\n\x0e\x43onnectRequest\x12+\n\tclient_id\x18\x01 \x01(\x0b\x32\x18.bnet.protocol.ProcessId\x12;\n\x0c\x62ind_request\x18\x02 \x01(\x0b\x32%.bnet.protocol.connection.BindRequest\"X\n ConnectionMeteringContentHandles\x12\x34\n\x0e\x63ontent_handle\x18\x01 \x03(\x0b\x32\x1c.bnet.protocol.ContentHandle\"\xae\x02\n\x0f\x43onnectResponse\x12+\n\tserver_id\x18\x01 \x02(\x0b\x32\x18.bnet.protocol.ProcessId\x12+\n\tclient_id\x18\x02 \x01(\x0b\x32\x18.bnet.protocol.ProcessId\x12\x13\n\x0b\x62ind_result\x18\x03 \x01(\r\x12=\n\rbind_response\x18\x04 \x01(\x0b\x32&.bnet.protocol.connection.BindResponse\x12X\n\x14\x63ontent_handle_array\x18\x05 \x01(\x0b\x32:.bnet.protocol.connection.ConnectionMeteringContentHandles\x12\x13\n\x0bserver_time\x18\x06 \x01(\x04\"(\n\x0c\x42oundService\x12\x0c\n\x04hash\x18\x01 \x02(\x07\x12\n\n\x02id\x18\x02 \x02(\r\"n\n\x0b\x42indRequest\x12\x1d\n\x15imported_service_hash\x18\x01 \x03(\x07\x12@\n\x10\x65xported_service\x18\x02 \x03(\x0b\x32&.bnet.protocol.connection.BoundService\"/\n\x0c\x42indResponse\x12\x1f\n\x13imported_service_id\x18\x01 \x03(\rB\x02\x10\x01\"I\n\x0b\x45\x63hoRequest\x12\x0c\n\x04time\x18\x01 \x01(\x06\x12\x1b\n\x0cnetwork_only\x18\x02 \x01(\x08:\x05\x66\x61lse\x12\x0f\n\x07payload\x18\x03 \x01(\x0c\"-\n\x0c\x45\x63hoResponse\x12\x0c\n\x04time\x18\x01 \x01(\x06\x12\x0f\n\x07payload\x18\x02 \x01(\x0c\"\'\n\x11\x44isconnectRequest\x12\x12\n\nerror_code\x18\x01 \x02(\r\"<\n\x16\x44isconnectNotification\x12\x12\n\nerror_code\x18\x01 \x02(\r\x12\x0e\n\x06reason\x18\x02 \x01(\t\"\x10\n\x0e\x45ncryptRequest' , - dependencies=[bnet.content_handle_pb2.DESCRIPTOR,bnet.rpc_pb2.DESCRIPTOR,]) -_sym_db.RegisterFileDescriptor(DESCRIPTOR) + dependencies=[bnet_dot_content__handle__pb2.DESCRIPTOR,bnet_dot_rpc__pb2.DESCRIPTOR,]) @@ -41,22 +40,23 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='bind_request', full_name='bnet.protocol.connection.ConnectRequest.bind_request', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -78,15 +78,16 @@ has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -108,50 +109,51 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='client_id', full_name='bnet.protocol.connection.ConnectResponse.client_id', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='bind_result', full_name='bnet.protocol.connection.ConnectResponse.bind_result', index=2, number=3, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='bind_response', full_name='bnet.protocol.connection.ConnectResponse.bind_response', index=3, number=4, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='content_handle_array', full_name='bnet.protocol.connection.ConnectResponse.content_handle_array', index=4, number=5, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='server_time', full_name='bnet.protocol.connection.ConnectResponse.server_time', index=5, number=6, type=4, cpp_type=4, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -173,22 +175,23 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='id', full_name='bnet.protocol.connection.BoundService.id', index=1, number=2, type=13, cpp_type=3, label=2, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -210,22 +213,23 @@ has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='exported_service', full_name='bnet.protocol.connection.BindRequest.exported_service', index=1, number=2, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -247,15 +251,16 @@ has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001'))), + serialized_options=b'\020\001', file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -277,29 +282,30 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='network_only', full_name='bnet.protocol.connection.EchoRequest.network_only', index=1, number=2, type=8, cpp_type=7, label=1, has_default_value=True, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='payload', full_name='bnet.protocol.connection.EchoRequest.payload', index=2, number=3, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=_b(""), + has_default_value=False, default_value=b"", message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -321,22 +327,23 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='payload', full_name='bnet.protocol.connection.EchoResponse.payload', index=1, number=2, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=_b(""), + has_default_value=False, default_value=b"", message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -358,15 +365,16 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -388,22 +396,23 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='reason', full_name='bnet.protocol.connection.DisconnectNotification.reason', index=1, number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -425,8 +434,9 @@ nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -434,11 +444,11 @@ serialized_end=1065, ) -_CONNECTREQUEST.fields_by_name['client_id'].message_type = bnet.rpc_pb2._PROCESSID +_CONNECTREQUEST.fields_by_name['client_id'].message_type = bnet_dot_rpc__pb2._PROCESSID _CONNECTREQUEST.fields_by_name['bind_request'].message_type = _BINDREQUEST -_CONNECTIONMETERINGCONTENTHANDLES.fields_by_name['content_handle'].message_type = bnet.content_handle_pb2._CONTENTHANDLE -_CONNECTRESPONSE.fields_by_name['server_id'].message_type = bnet.rpc_pb2._PROCESSID -_CONNECTRESPONSE.fields_by_name['client_id'].message_type = bnet.rpc_pb2._PROCESSID +_CONNECTIONMETERINGCONTENTHANDLES.fields_by_name['content_handle'].message_type = bnet_dot_content__handle__pb2._CONTENTHANDLE +_CONNECTRESPONSE.fields_by_name['server_id'].message_type = bnet_dot_rpc__pb2._PROCESSID +_CONNECTRESPONSE.fields_by_name['client_id'].message_type = bnet_dot_rpc__pb2._PROCESSID _CONNECTRESPONSE.fields_by_name['bind_response'].message_type = _BINDRESPONSE _CONNECTRESPONSE.fields_by_name['content_handle_array'].message_type = _CONNECTIONMETERINGCONTENTHANDLES _BINDREQUEST.fields_by_name['exported_service'].message_type = _BOUNDSERVICE @@ -453,85 +463,85 @@ DESCRIPTOR.message_types_by_name['DisconnectRequest'] = _DISCONNECTREQUEST DESCRIPTOR.message_types_by_name['DisconnectNotification'] = _DISCONNECTNOTIFICATION DESCRIPTOR.message_types_by_name['EncryptRequest'] = _ENCRYPTREQUEST +_sym_db.RegisterFileDescriptor(DESCRIPTOR) -ConnectRequest = _reflection.GeneratedProtocolMessageType('ConnectRequest', (_message.Message,), dict( - DESCRIPTOR = _CONNECTREQUEST, - __module__ = 'bnet.connection_service_pb2' +ConnectRequest = _reflection.GeneratedProtocolMessageType('ConnectRequest', (_message.Message,), { + 'DESCRIPTOR' : _CONNECTREQUEST, + '__module__' : 'bnet.connection_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.connection.ConnectRequest) - )) + }) _sym_db.RegisterMessage(ConnectRequest) -ConnectionMeteringContentHandles = _reflection.GeneratedProtocolMessageType('ConnectionMeteringContentHandles', (_message.Message,), dict( - DESCRIPTOR = _CONNECTIONMETERINGCONTENTHANDLES, - __module__ = 'bnet.connection_service_pb2' +ConnectionMeteringContentHandles = _reflection.GeneratedProtocolMessageType('ConnectionMeteringContentHandles', (_message.Message,), { + 'DESCRIPTOR' : _CONNECTIONMETERINGCONTENTHANDLES, + '__module__' : 'bnet.connection_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.connection.ConnectionMeteringContentHandles) - )) + }) _sym_db.RegisterMessage(ConnectionMeteringContentHandles) -ConnectResponse = _reflection.GeneratedProtocolMessageType('ConnectResponse', (_message.Message,), dict( - DESCRIPTOR = _CONNECTRESPONSE, - __module__ = 'bnet.connection_service_pb2' +ConnectResponse = _reflection.GeneratedProtocolMessageType('ConnectResponse', (_message.Message,), { + 'DESCRIPTOR' : _CONNECTRESPONSE, + '__module__' : 'bnet.connection_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.connection.ConnectResponse) - )) + }) _sym_db.RegisterMessage(ConnectResponse) -BoundService = _reflection.GeneratedProtocolMessageType('BoundService', (_message.Message,), dict( - DESCRIPTOR = _BOUNDSERVICE, - __module__ = 'bnet.connection_service_pb2' +BoundService = _reflection.GeneratedProtocolMessageType('BoundService', (_message.Message,), { + 'DESCRIPTOR' : _BOUNDSERVICE, + '__module__' : 'bnet.connection_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.connection.BoundService) - )) + }) _sym_db.RegisterMessage(BoundService) -BindRequest = _reflection.GeneratedProtocolMessageType('BindRequest', (_message.Message,), dict( - DESCRIPTOR = _BINDREQUEST, - __module__ = 'bnet.connection_service_pb2' +BindRequest = _reflection.GeneratedProtocolMessageType('BindRequest', (_message.Message,), { + 'DESCRIPTOR' : _BINDREQUEST, + '__module__' : 'bnet.connection_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.connection.BindRequest) - )) + }) _sym_db.RegisterMessage(BindRequest) -BindResponse = _reflection.GeneratedProtocolMessageType('BindResponse', (_message.Message,), dict( - DESCRIPTOR = _BINDRESPONSE, - __module__ = 'bnet.connection_service_pb2' +BindResponse = _reflection.GeneratedProtocolMessageType('BindResponse', (_message.Message,), { + 'DESCRIPTOR' : _BINDRESPONSE, + '__module__' : 'bnet.connection_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.connection.BindResponse) - )) + }) _sym_db.RegisterMessage(BindResponse) -EchoRequest = _reflection.GeneratedProtocolMessageType('EchoRequest', (_message.Message,), dict( - DESCRIPTOR = _ECHOREQUEST, - __module__ = 'bnet.connection_service_pb2' +EchoRequest = _reflection.GeneratedProtocolMessageType('EchoRequest', (_message.Message,), { + 'DESCRIPTOR' : _ECHOREQUEST, + '__module__' : 'bnet.connection_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.connection.EchoRequest) - )) + }) _sym_db.RegisterMessage(EchoRequest) -EchoResponse = _reflection.GeneratedProtocolMessageType('EchoResponse', (_message.Message,), dict( - DESCRIPTOR = _ECHORESPONSE, - __module__ = 'bnet.connection_service_pb2' +EchoResponse = _reflection.GeneratedProtocolMessageType('EchoResponse', (_message.Message,), { + 'DESCRIPTOR' : _ECHORESPONSE, + '__module__' : 'bnet.connection_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.connection.EchoResponse) - )) + }) _sym_db.RegisterMessage(EchoResponse) -DisconnectRequest = _reflection.GeneratedProtocolMessageType('DisconnectRequest', (_message.Message,), dict( - DESCRIPTOR = _DISCONNECTREQUEST, - __module__ = 'bnet.connection_service_pb2' +DisconnectRequest = _reflection.GeneratedProtocolMessageType('DisconnectRequest', (_message.Message,), { + 'DESCRIPTOR' : _DISCONNECTREQUEST, + '__module__' : 'bnet.connection_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.connection.DisconnectRequest) - )) + }) _sym_db.RegisterMessage(DisconnectRequest) -DisconnectNotification = _reflection.GeneratedProtocolMessageType('DisconnectNotification', (_message.Message,), dict( - DESCRIPTOR = _DISCONNECTNOTIFICATION, - __module__ = 'bnet.connection_service_pb2' +DisconnectNotification = _reflection.GeneratedProtocolMessageType('DisconnectNotification', (_message.Message,), { + 'DESCRIPTOR' : _DISCONNECTNOTIFICATION, + '__module__' : 'bnet.connection_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.connection.DisconnectNotification) - )) + }) _sym_db.RegisterMessage(DisconnectNotification) -EncryptRequest = _reflection.GeneratedProtocolMessageType('EncryptRequest', (_message.Message,), dict( - DESCRIPTOR = _ENCRYPTREQUEST, - __module__ = 'bnet.connection_service_pb2' +EncryptRequest = _reflection.GeneratedProtocolMessageType('EncryptRequest', (_message.Message,), { + 'DESCRIPTOR' : _ENCRYPTREQUEST, + '__module__' : 'bnet.connection_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.connection.EncryptRequest) - )) + }) _sym_db.RegisterMessage(EncryptRequest) -_BINDRESPONSE.fields_by_name['imported_service_id'].has_options = True -_BINDRESPONSE.fields_by_name['imported_service_id']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')) +_BINDRESPONSE.fields_by_name['imported_service_id']._options = None # @@protoc_insertion_point(module_scope) diff --git a/src/bnet/content_handle.proto b/src/bnet/content_handle.proto new file mode 100644 index 0000000..a3377ec --- /dev/null +++ b/src/bnet/content_handle.proto @@ -0,0 +1,12 @@ +package bnet.protocol; + +message ContentHandle { + required fixed32 region = 1; + required fixed32 usage = 2; + required bytes hash = 3; + optional string proto_url = 4; +} + +message Path { + repeated uint32 ordinal = 1 [packed = true]; +} diff --git a/src/bnet/content_handle_pb2.py b/src/bnet/content_handle_pb2.py index 85a10e4..a857807 100644 --- a/src/bnet/content_handle_pb2.py +++ b/src/bnet/content_handle_pb2.py @@ -1,13 +1,11 @@ +# -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: bnet/content_handle.proto -import sys -_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message from google.protobuf import reflection as _reflection from google.protobuf import symbol_database as _symbol_database -from google.protobuf import descriptor_pb2 # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -18,9 +16,10 @@ DESCRIPTOR = _descriptor.FileDescriptor( name='bnet/content_handle.proto', package='bnet.protocol', - serialized_pb=_b('\n\x19\x62net/content_handle.proto\x12\rbnet.protocol\"O\n\rContentHandle\x12\x0e\n\x06region\x18\x01 \x02(\x07\x12\r\n\x05usage\x18\x02 \x02(\x07\x12\x0c\n\x04hash\x18\x03 \x02(\x0c\x12\x11\n\tproto_url\x18\x04 \x01(\t\"\x1b\n\x04Path\x12\x13\n\x07ordinal\x18\x01 \x03(\rB\x02\x10\x01') + syntax='proto2', + serialized_options=None, + serialized_pb=b'\n\x19\x62net/content_handle.proto\x12\rbnet.protocol\"O\n\rContentHandle\x12\x0e\n\x06region\x18\x01 \x02(\x07\x12\r\n\x05usage\x18\x02 \x02(\x07\x12\x0c\n\x04hash\x18\x03 \x02(\x0c\x12\x11\n\tproto_url\x18\x04 \x01(\t\"\x1b\n\x04Path\x12\x13\n\x07ordinal\x18\x01 \x03(\rB\x02\x10\x01' ) -_sym_db.RegisterFileDescriptor(DESCRIPTOR) @@ -38,36 +37,37 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='usage', full_name='bnet.protocol.ContentHandle.usage', index=1, number=2, type=7, cpp_type=3, label=2, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='hash', full_name='bnet.protocol.ContentHandle.hash', index=2, number=3, type=12, cpp_type=9, label=2, - has_default_value=False, default_value=_b(""), + has_default_value=False, default_value=b"", message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='proto_url', full_name='bnet.protocol.ContentHandle.proto_url', index=3, number=4, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -89,15 +89,16 @@ has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001'))), + serialized_options=b'\020\001', file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -107,22 +108,22 @@ DESCRIPTOR.message_types_by_name['ContentHandle'] = _CONTENTHANDLE DESCRIPTOR.message_types_by_name['Path'] = _PATH +_sym_db.RegisterFileDescriptor(DESCRIPTOR) -ContentHandle = _reflection.GeneratedProtocolMessageType('ContentHandle', (_message.Message,), dict( - DESCRIPTOR = _CONTENTHANDLE, - __module__ = 'bnet.content_handle_pb2' +ContentHandle = _reflection.GeneratedProtocolMessageType('ContentHandle', (_message.Message,), { + 'DESCRIPTOR' : _CONTENTHANDLE, + '__module__' : 'bnet.content_handle_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.ContentHandle) - )) + }) _sym_db.RegisterMessage(ContentHandle) -Path = _reflection.GeneratedProtocolMessageType('Path', (_message.Message,), dict( - DESCRIPTOR = _PATH, - __module__ = 'bnet.content_handle_pb2' +Path = _reflection.GeneratedProtocolMessageType('Path', (_message.Message,), { + 'DESCRIPTOR' : _PATH, + '__module__' : 'bnet.content_handle_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.Path) - )) + }) _sym_db.RegisterMessage(Path) -_PATH.fields_by_name['ordinal'].has_options = True -_PATH.fields_by_name['ordinal']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')) +_PATH.fields_by_name['ordinal']._options = None # @@protoc_insertion_point(module_scope) diff --git a/src/bnet/entity.proto b/src/bnet/entity.proto new file mode 100644 index 0000000..8d899d7 --- /dev/null +++ b/src/bnet/entity.proto @@ -0,0 +1,18 @@ +package bnet.protocol; + +message EntityId { + required fixed64 high = 1; + required fixed64 low = 2; +} + +message Identity { + optional EntityId account_id = 1; + optional EntityId game_account_id = 2; +} + +message AccountInfo { + optional bool account_paid = 1 [default = false]; + optional fixed32 country_id = 2 [default = 0]; + optional string battle_tag = 3; + optional bool manual_review = 4 [default = false]; +} diff --git a/src/bnet/entity_pb2.py b/src/bnet/entity_pb2.py index 89c12c3..6243bd5 100644 --- a/src/bnet/entity_pb2.py +++ b/src/bnet/entity_pb2.py @@ -1,13 +1,11 @@ +# -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: bnet/entity.proto -import sys -_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message from google.protobuf import reflection as _reflection from google.protobuf import symbol_database as _symbol_database -from google.protobuf import descriptor_pb2 # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -18,9 +16,10 @@ DESCRIPTOR = _descriptor.FileDescriptor( name='bnet/entity.proto', package='bnet.protocol', - serialized_pb=_b('\n\x11\x62net/entity.proto\x12\rbnet.protocol\"%\n\x08\x45ntityId\x12\x0c\n\x04high\x18\x01 \x02(\x06\x12\x0b\n\x03low\x18\x02 \x02(\x06\"i\n\x08Identity\x12+\n\naccount_id\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12\x30\n\x0fgame_account_id\x18\x02 \x01(\x0b\x32\x17.bnet.protocol.EntityId\"s\n\x0b\x41\x63\x63ountInfo\x12\x1b\n\x0c\x61\x63\x63ount_paid\x18\x01 \x01(\x08:\x05\x66\x61lse\x12\x15\n\ncountry_id\x18\x02 \x01(\x07:\x01\x30\x12\x12\n\nbattle_tag\x18\x03 \x01(\t\x12\x1c\n\rmanual_review\x18\x04 \x01(\x08:\x05\x66\x61lse') + syntax='proto2', + serialized_options=None, + serialized_pb=b'\n\x11\x62net/entity.proto\x12\rbnet.protocol\"%\n\x08\x45ntityId\x12\x0c\n\x04high\x18\x01 \x02(\x06\x12\x0b\n\x03low\x18\x02 \x02(\x06\"i\n\x08Identity\x12+\n\naccount_id\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12\x30\n\x0fgame_account_id\x18\x02 \x01(\x0b\x32\x17.bnet.protocol.EntityId\"s\n\x0b\x41\x63\x63ountInfo\x12\x1b\n\x0c\x61\x63\x63ount_paid\x18\x01 \x01(\x08:\x05\x66\x61lse\x12\x15\n\ncountry_id\x18\x02 \x01(\x07:\x01\x30\x12\x12\n\nbattle_tag\x18\x03 \x01(\t\x12\x1c\n\rmanual_review\x18\x04 \x01(\x08:\x05\x66\x61lse' ) -_sym_db.RegisterFileDescriptor(DESCRIPTOR) @@ -38,22 +37,23 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='low', full_name='bnet.protocol.EntityId.low', index=1, number=2, type=6, cpp_type=4, label=2, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -75,22 +75,23 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='game_account_id', full_name='bnet.protocol.Identity.game_account_id', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -112,36 +113,37 @@ has_default_value=True, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='country_id', full_name='bnet.protocol.AccountInfo.country_id', index=1, number=2, type=7, cpp_type=3, label=1, has_default_value=True, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='battle_tag', full_name='bnet.protocol.AccountInfo.battle_tag', index=2, number=3, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='manual_review', full_name='bnet.protocol.AccountInfo.manual_review', index=3, number=4, type=8, cpp_type=7, label=1, has_default_value=True, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -154,26 +156,27 @@ DESCRIPTOR.message_types_by_name['EntityId'] = _ENTITYID DESCRIPTOR.message_types_by_name['Identity'] = _IDENTITY DESCRIPTOR.message_types_by_name['AccountInfo'] = _ACCOUNTINFO +_sym_db.RegisterFileDescriptor(DESCRIPTOR) -EntityId = _reflection.GeneratedProtocolMessageType('EntityId', (_message.Message,), dict( - DESCRIPTOR = _ENTITYID, - __module__ = 'bnet.entity_pb2' +EntityId = _reflection.GeneratedProtocolMessageType('EntityId', (_message.Message,), { + 'DESCRIPTOR' : _ENTITYID, + '__module__' : 'bnet.entity_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.EntityId) - )) + }) _sym_db.RegisterMessage(EntityId) -Identity = _reflection.GeneratedProtocolMessageType('Identity', (_message.Message,), dict( - DESCRIPTOR = _IDENTITY, - __module__ = 'bnet.entity_pb2' +Identity = _reflection.GeneratedProtocolMessageType('Identity', (_message.Message,), { + 'DESCRIPTOR' : _IDENTITY, + '__module__' : 'bnet.entity_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.Identity) - )) + }) _sym_db.RegisterMessage(Identity) -AccountInfo = _reflection.GeneratedProtocolMessageType('AccountInfo', (_message.Message,), dict( - DESCRIPTOR = _ACCOUNTINFO, - __module__ = 'bnet.entity_pb2' +AccountInfo = _reflection.GeneratedProtocolMessageType('AccountInfo', (_message.Message,), { + 'DESCRIPTOR' : _ACCOUNTINFO, + '__module__' : 'bnet.entity_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.AccountInfo) - )) + }) _sym_db.RegisterMessage(AccountInfo) diff --git a/src/bnet/friends_service.proto b/src/bnet/friends_service.proto new file mode 100644 index 0000000..a8bff04 --- /dev/null +++ b/src/bnet/friends_service.proto @@ -0,0 +1,75 @@ +package bnet.protocol.friends; +import "bnet/attribute.proto"; +import "bnet/entity.proto"; +import "bnet/friends_types.proto"; +import "bnet/invitation_types.proto"; +import "bnet/role.proto"; + + +message SubscribeToFriendsRequest { + optional EntityId agent_id = 1; + required uint64 object_id = 2; +} + +message SubscribeToFriendsResponse { + optional uint32 max_friends = 1; + optional uint32 max_received_invitations = 2; + optional uint32 max_sent_invitations = 3; + repeated Role role = 4; + repeated Friend friends = 5; + repeated invitation.Invitation sent_invitations = 6; + repeated invitation.Invitation received_invitations = 7; +} + +message UnsubscribeToFriendsRequest { + optional EntityId agent_id = 1; + optional uint64 object_id = 2; +} + +message GenericFriendRequest { + optional EntityId agent_id = 1; + required EntityId target_id = 2; +} + +message GenericFriendResponse { + optional Friend target_friend = 1; +} + +message AssignRoleRequest { + optional EntityId agent_id = 1; + required EntityId target_id = 2; + repeated int32 role = 3; +} + +message ViewFriendsRequest { + optional EntityId agent_id = 1; + required EntityId target_id = 2; + repeated uint32 role = 3 [packed = true]; +} + +message ViewFriendsResponse { + repeated Friend friends = 1; +} + +message UpdateFriendStateRequest { + optional EntityId agent_id = 1; + required EntityId target_id = 2; + repeated attribute.Attribute attribute = 3; + optional uint64 attributes_epoch = 4; +} + +message FriendNotification { + required Friend target = 1; + optional EntityId game_account_id = 2; +} + +message UpdateFriendStateNotification { + required Friend changed_friend = 1; + optional EntityId game_account_id = 2; +} + +message InvitationNotification { + required invitation.Invitation invitation = 1; + optional EntityId game_account_id = 2; + optional uint32 reason = 3 [default = 0]; +} diff --git a/src/bnet/friends_service_pb2.py b/src/bnet/friends_service_pb2.py index 0cc4277..7964168 100644 --- a/src/bnet/friends_service_pb2.py +++ b/src/bnet/friends_service_pb2.py @@ -1,32 +1,31 @@ +# -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: bnet/friends_service.proto -import sys -_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message from google.protobuf import reflection as _reflection from google.protobuf import symbol_database as _symbol_database -from google.protobuf import descriptor_pb2 # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() -import bnet.attribute_pb2 -import bnet.entity_pb2 -import bnet.friends_types_pb2 -import bnet.invitation_types_pb2 -import bnet.role_pb2 +from bnet import attribute_pb2 as bnet_dot_attribute__pb2 +from bnet import entity_pb2 as bnet_dot_entity__pb2 +from bnet import friends_types_pb2 as bnet_dot_friends__types__pb2 +from bnet import invitation_types_pb2 as bnet_dot_invitation__types__pb2 +from bnet import role_pb2 as bnet_dot_role__pb2 DESCRIPTOR = _descriptor.FileDescriptor( name='bnet/friends_service.proto', package='bnet.protocol.friends', - serialized_pb=_b('\n\x1a\x62net/friends_service.proto\x12\x15\x62net.protocol.friends\x1a\x14\x62net/attribute.proto\x1a\x11\x62net/entity.proto\x1a\x18\x62net/friends_types.proto\x1a\x1b\x62net/invitation_types.proto\x1a\x0f\x62net/role.proto\"Y\n\x19SubscribeToFriendsRequest\x12)\n\x08\x61gent_id\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12\x11\n\tobject_id\x18\x02 \x02(\x04\"\x8d\x02\n\x1aSubscribeToFriendsResponse\x12\x13\n\x0bmax_friends\x18\x01 \x01(\r\x12 \n\x18max_received_invitations\x18\x02 \x01(\r\x12\x1c\n\x14max_sent_invitations\x18\x03 \x01(\r\x12!\n\x04role\x18\x04 \x03(\x0b\x32\x13.bnet.protocol.Role\x12.\n\x07\x66riends\x18\x05 \x03(\x0b\x32\x1d.bnet.protocol.friends.Friend\x12G\n\x14received_invitations\x18\x07 \x03(\x0b\x32).bnet.protocol.friends.ReceivedInvitation\"[\n\x1bUnsubscribeToFriendsRequest\x12)\n\x08\x61gent_id\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12\x11\n\tobject_id\x18\x02 \x01(\x04\"m\n\x14GenericFriendRequest\x12)\n\x08\x61gent_id\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12*\n\ttarget_id\x18\x02 \x02(\x0b\x32\x17.bnet.protocol.EntityId\"M\n\x15GenericFriendResponse\x12\x34\n\rtarget_friend\x18\x01 \x01(\x0b\x32\x1d.bnet.protocol.friends.Friend\"x\n\x11\x41ssignRoleRequest\x12)\n\x08\x61gent_id\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12*\n\ttarget_id\x18\x02 \x02(\x0b\x32\x17.bnet.protocol.EntityId\x12\x0c\n\x04role\x18\x03 \x03(\x05\"}\n\x12ViewFriendsRequest\x12)\n\x08\x61gent_id\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12*\n\ttarget_id\x18\x02 \x02(\x0b\x32\x17.bnet.protocol.EntityId\x12\x10\n\x04role\x18\x03 \x03(\rB\x02\x10\x01\"E\n\x13ViewFriendsResponse\x12.\n\x07\x66riends\x18\x01 \x03(\x0b\x32\x1d.bnet.protocol.friends.Friend\"\xc2\x01\n\x18UpdateFriendStateRequest\x12)\n\x08\x61gent_id\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12*\n\ttarget_id\x18\x02 \x02(\x0b\x32\x17.bnet.protocol.EntityId\x12\x35\n\tattribute\x18\x03 \x03(\x0b\x32\".bnet.protocol.attribute.Attribute\x12\x18\n\x10\x61ttributes_epoch\x18\x04 \x01(\x04\"u\n\x12\x46riendNotification\x12-\n\x06target\x18\x01 \x02(\x0b\x32\x1d.bnet.protocol.friends.Friend\x12\x30\n\x0fgame_account_id\x18\x02 \x01(\x0b\x32\x17.bnet.protocol.EntityId\"\x88\x01\n\x1dUpdateFriendStateNotification\x12\x35\n\x0e\x63hanged_friend\x18\x01 \x02(\x0b\x32\x1d.bnet.protocol.friends.Friend\x12\x30\n\x0fgame_account_id\x18\x02 \x01(\x0b\x32\x17.bnet.protocol.EntityId\"\x97\x01\n\x16InvitationNotification\x12\x38\n\ninvitation\x18\x01 \x02(\x0b\x32$.bnet.protocol.invitation.Invitation\x12\x30\n\x0fgame_account_id\x18\x02 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12\x11\n\x06reason\x18\x03 \x01(\r:\x01\x30') + syntax='proto2', + serialized_options=None, + serialized_pb=b'\n\x1a\x62net/friends_service.proto\x12\x15\x62net.protocol.friends\x1a\x14\x62net/attribute.proto\x1a\x11\x62net/entity.proto\x1a\x18\x62net/friends_types.proto\x1a\x1b\x62net/invitation_types.proto\x1a\x0f\x62net/role.proto\"Y\n\x19SubscribeToFriendsRequest\x12)\n\x08\x61gent_id\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12\x11\n\tobject_id\x18\x02 \x02(\x04\"\xc8\x02\n\x1aSubscribeToFriendsResponse\x12\x13\n\x0bmax_friends\x18\x01 \x01(\r\x12 \n\x18max_received_invitations\x18\x02 \x01(\r\x12\x1c\n\x14max_sent_invitations\x18\x03 \x01(\r\x12!\n\x04role\x18\x04 \x03(\x0b\x32\x13.bnet.protocol.Role\x12.\n\x07\x66riends\x18\x05 \x03(\x0b\x32\x1d.bnet.protocol.friends.Friend\x12>\n\x10sent_invitations\x18\x06 \x03(\x0b\x32$.bnet.protocol.invitation.Invitation\x12\x42\n\x14received_invitations\x18\x07 \x03(\x0b\x32$.bnet.protocol.invitation.Invitation\"[\n\x1bUnsubscribeToFriendsRequest\x12)\n\x08\x61gent_id\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12\x11\n\tobject_id\x18\x02 \x01(\x04\"m\n\x14GenericFriendRequest\x12)\n\x08\x61gent_id\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12*\n\ttarget_id\x18\x02 \x02(\x0b\x32\x17.bnet.protocol.EntityId\"M\n\x15GenericFriendResponse\x12\x34\n\rtarget_friend\x18\x01 \x01(\x0b\x32\x1d.bnet.protocol.friends.Friend\"x\n\x11\x41ssignRoleRequest\x12)\n\x08\x61gent_id\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12*\n\ttarget_id\x18\x02 \x02(\x0b\x32\x17.bnet.protocol.EntityId\x12\x0c\n\x04role\x18\x03 \x03(\x05\"}\n\x12ViewFriendsRequest\x12)\n\x08\x61gent_id\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12*\n\ttarget_id\x18\x02 \x02(\x0b\x32\x17.bnet.protocol.EntityId\x12\x10\n\x04role\x18\x03 \x03(\rB\x02\x10\x01\"E\n\x13ViewFriendsResponse\x12.\n\x07\x66riends\x18\x01 \x03(\x0b\x32\x1d.bnet.protocol.friends.Friend\"\xc2\x01\n\x18UpdateFriendStateRequest\x12)\n\x08\x61gent_id\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12*\n\ttarget_id\x18\x02 \x02(\x0b\x32\x17.bnet.protocol.EntityId\x12\x35\n\tattribute\x18\x03 \x03(\x0b\x32\".bnet.protocol.attribute.Attribute\x12\x18\n\x10\x61ttributes_epoch\x18\x04 \x01(\x04\"u\n\x12\x46riendNotification\x12-\n\x06target\x18\x01 \x02(\x0b\x32\x1d.bnet.protocol.friends.Friend\x12\x30\n\x0fgame_account_id\x18\x02 \x01(\x0b\x32\x17.bnet.protocol.EntityId\"\x88\x01\n\x1dUpdateFriendStateNotification\x12\x35\n\x0e\x63hanged_friend\x18\x01 \x02(\x0b\x32\x1d.bnet.protocol.friends.Friend\x12\x30\n\x0fgame_account_id\x18\x02 \x01(\x0b\x32\x17.bnet.protocol.EntityId\"\x97\x01\n\x16InvitationNotification\x12\x38\n\ninvitation\x18\x01 \x02(\x0b\x32$.bnet.protocol.invitation.Invitation\x12\x30\n\x0fgame_account_id\x18\x02 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12\x11\n\x06reason\x18\x03 \x01(\r:\x01\x30' , - dependencies=[bnet.attribute_pb2.DESCRIPTOR,bnet.entity_pb2.DESCRIPTOR,bnet.friends_types_pb2.DESCRIPTOR,bnet.invitation_types_pb2.DESCRIPTOR,bnet.role_pb2.DESCRIPTOR,]) -_sym_db.RegisterFileDescriptor(DESCRIPTOR) + dependencies=[bnet_dot_attribute__pb2.DESCRIPTOR,bnet_dot_entity__pb2.DESCRIPTOR,bnet_dot_friends__types__pb2.DESCRIPTOR,bnet_dot_invitation__types__pb2.DESCRIPTOR,bnet_dot_role__pb2.DESCRIPTOR,]) @@ -44,22 +43,23 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='object_id', full_name='bnet.protocol.friends.SubscribeToFriendsRequest.object_id', index=1, number=2, type=4, cpp_type=4, label=2, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -81,55 +81,63 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='max_received_invitations', full_name='bnet.protocol.friends.SubscribeToFriendsResponse.max_received_invitations', index=1, number=2, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='max_sent_invitations', full_name='bnet.protocol.friends.SubscribeToFriendsResponse.max_sent_invitations', index=2, number=3, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='role', full_name='bnet.protocol.friends.SubscribeToFriendsResponse.role', index=3, number=4, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='friends', full_name='bnet.protocol.friends.SubscribeToFriendsResponse.friends', index=4, number=5, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='sent_invitations', full_name='bnet.protocol.friends.SubscribeToFriendsResponse.sent_invitations', index=5, + number=6, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='received_invitations', full_name='bnet.protocol.friends.SubscribeToFriendsResponse.received_invitations', index=5, + name='received_invitations', full_name='bnet.protocol.friends.SubscribeToFriendsResponse.received_invitations', index=6, number=7, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=258, - serialized_end=527, + serialized_end=586, ) @@ -146,27 +154,28 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='object_id', full_name='bnet.protocol.friends.UnsubscribeToFriendsRequest.object_id', index=1, number=2, type=4, cpp_type=4, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], - serialized_start=529, - serialized_end=620, + serialized_start=588, + serialized_end=679, ) @@ -183,27 +192,28 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='target_id', full_name='bnet.protocol.friends.GenericFriendRequest.target_id', index=1, number=2, type=11, cpp_type=10, label=2, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], - serialized_start=622, - serialized_end=731, + serialized_start=681, + serialized_end=790, ) @@ -220,20 +230,21 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], - serialized_start=733, - serialized_end=810, + serialized_start=792, + serialized_end=869, ) @@ -250,34 +261,35 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='target_id', full_name='bnet.protocol.friends.AssignRoleRequest.target_id', index=1, number=2, type=11, cpp_type=10, label=2, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='role', full_name='bnet.protocol.friends.AssignRoleRequest.role', index=2, number=3, type=5, cpp_type=1, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], - serialized_start=812, - serialized_end=932, + serialized_start=871, + serialized_end=991, ) @@ -294,34 +306,35 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='target_id', full_name='bnet.protocol.friends.ViewFriendsRequest.target_id', index=1, number=2, type=11, cpp_type=10, label=2, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='role', full_name='bnet.protocol.friends.ViewFriendsRequest.role', index=2, number=3, type=13, cpp_type=3, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001'))), + serialized_options=b'\020\001', file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], - serialized_start=934, - serialized_end=1059, + serialized_start=993, + serialized_end=1118, ) @@ -338,20 +351,21 @@ has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], - serialized_start=1061, - serialized_end=1130, + serialized_start=1120, + serialized_end=1189, ) @@ -368,41 +382,42 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='target_id', full_name='bnet.protocol.friends.UpdateFriendStateRequest.target_id', index=1, number=2, type=11, cpp_type=10, label=2, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='attribute', full_name='bnet.protocol.friends.UpdateFriendStateRequest.attribute', index=2, number=3, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='attributes_epoch', full_name='bnet.protocol.friends.UpdateFriendStateRequest.attributes_epoch', index=3, number=4, type=4, cpp_type=4, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], - serialized_start=1133, - serialized_end=1327, + serialized_start=1192, + serialized_end=1386, ) @@ -419,27 +434,28 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='game_account_id', full_name='bnet.protocol.friends.FriendNotification.game_account_id', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], - serialized_start=1329, - serialized_end=1446, + serialized_start=1388, + serialized_end=1505, ) @@ -456,27 +472,28 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='game_account_id', full_name='bnet.protocol.friends.UpdateFriendStateNotification.game_account_id', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], - serialized_start=1449, - serialized_end=1585, + serialized_start=1508, + serialized_end=1644, ) @@ -493,58 +510,60 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='game_account_id', full_name='bnet.protocol.friends.InvitationNotification.game_account_id', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='reason', full_name='bnet.protocol.friends.InvitationNotification.reason', index=2, number=3, type=13, cpp_type=3, label=1, has_default_value=True, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], - serialized_start=1588, - serialized_end=1739, + serialized_start=1647, + serialized_end=1798, ) -_SUBSCRIBETOFRIENDSREQUEST.fields_by_name['agent_id'].message_type = bnet.entity_pb2._ENTITYID -_SUBSCRIBETOFRIENDSRESPONSE.fields_by_name['role'].message_type = bnet.role_pb2._ROLE -_SUBSCRIBETOFRIENDSRESPONSE.fields_by_name['friends'].message_type = bnet.friends_types_pb2._FRIEND -_SUBSCRIBETOFRIENDSRESPONSE.fields_by_name['received_invitations'].message_type = bnet.friends_types_pb2._RECEIVEDINVITATION -_UNSUBSCRIBETOFRIENDSREQUEST.fields_by_name['agent_id'].message_type = bnet.entity_pb2._ENTITYID -_GENERICFRIENDREQUEST.fields_by_name['agent_id'].message_type = bnet.entity_pb2._ENTITYID -_GENERICFRIENDREQUEST.fields_by_name['target_id'].message_type = bnet.entity_pb2._ENTITYID -_GENERICFRIENDRESPONSE.fields_by_name['target_friend'].message_type = bnet.friends_types_pb2._FRIEND -_ASSIGNROLEREQUEST.fields_by_name['agent_id'].message_type = bnet.entity_pb2._ENTITYID -_ASSIGNROLEREQUEST.fields_by_name['target_id'].message_type = bnet.entity_pb2._ENTITYID -_VIEWFRIENDSREQUEST.fields_by_name['agent_id'].message_type = bnet.entity_pb2._ENTITYID -_VIEWFRIENDSREQUEST.fields_by_name['target_id'].message_type = bnet.entity_pb2._ENTITYID -_VIEWFRIENDSRESPONSE.fields_by_name['friends'].message_type = bnet.friends_types_pb2._FRIEND -_UPDATEFRIENDSTATEREQUEST.fields_by_name['agent_id'].message_type = bnet.entity_pb2._ENTITYID -_UPDATEFRIENDSTATEREQUEST.fields_by_name['target_id'].message_type = bnet.entity_pb2._ENTITYID -_UPDATEFRIENDSTATEREQUEST.fields_by_name['attribute'].message_type = bnet.attribute_pb2._ATTRIBUTE -_FRIENDNOTIFICATION.fields_by_name['target'].message_type = bnet.friends_types_pb2._FRIEND -_FRIENDNOTIFICATION.fields_by_name['game_account_id'].message_type = bnet.entity_pb2._ENTITYID -_UPDATEFRIENDSTATENOTIFICATION.fields_by_name['changed_friend'].message_type = bnet.friends_types_pb2._FRIEND -_UPDATEFRIENDSTATENOTIFICATION.fields_by_name['game_account_id'].message_type = bnet.entity_pb2._ENTITYID -_INVITATIONNOTIFICATION.fields_by_name['invitation'].message_type = bnet.invitation_types_pb2._INVITATION -_INVITATIONNOTIFICATION.fields_by_name['game_account_id'].message_type = bnet.entity_pb2._ENTITYID +_SUBSCRIBETOFRIENDSREQUEST.fields_by_name['agent_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_SUBSCRIBETOFRIENDSRESPONSE.fields_by_name['role'].message_type = bnet_dot_role__pb2._ROLE +_SUBSCRIBETOFRIENDSRESPONSE.fields_by_name['friends'].message_type = bnet_dot_friends__types__pb2._FRIEND +_SUBSCRIBETOFRIENDSRESPONSE.fields_by_name['sent_invitations'].message_type = bnet_dot_invitation__types__pb2._INVITATION +_SUBSCRIBETOFRIENDSRESPONSE.fields_by_name['received_invitations'].message_type = bnet_dot_invitation__types__pb2._INVITATION +_UNSUBSCRIBETOFRIENDSREQUEST.fields_by_name['agent_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_GENERICFRIENDREQUEST.fields_by_name['agent_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_GENERICFRIENDREQUEST.fields_by_name['target_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_GENERICFRIENDRESPONSE.fields_by_name['target_friend'].message_type = bnet_dot_friends__types__pb2._FRIEND +_ASSIGNROLEREQUEST.fields_by_name['agent_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_ASSIGNROLEREQUEST.fields_by_name['target_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_VIEWFRIENDSREQUEST.fields_by_name['agent_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_VIEWFRIENDSREQUEST.fields_by_name['target_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_VIEWFRIENDSRESPONSE.fields_by_name['friends'].message_type = bnet_dot_friends__types__pb2._FRIEND +_UPDATEFRIENDSTATEREQUEST.fields_by_name['agent_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_UPDATEFRIENDSTATEREQUEST.fields_by_name['target_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_UPDATEFRIENDSTATEREQUEST.fields_by_name['attribute'].message_type = bnet_dot_attribute__pb2._ATTRIBUTE +_FRIENDNOTIFICATION.fields_by_name['target'].message_type = bnet_dot_friends__types__pb2._FRIEND +_FRIENDNOTIFICATION.fields_by_name['game_account_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_UPDATEFRIENDSTATENOTIFICATION.fields_by_name['changed_friend'].message_type = bnet_dot_friends__types__pb2._FRIEND +_UPDATEFRIENDSTATENOTIFICATION.fields_by_name['game_account_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_INVITATIONNOTIFICATION.fields_by_name['invitation'].message_type = bnet_dot_invitation__types__pb2._INVITATION +_INVITATIONNOTIFICATION.fields_by_name['game_account_id'].message_type = bnet_dot_entity__pb2._ENTITYID DESCRIPTOR.message_types_by_name['SubscribeToFriendsRequest'] = _SUBSCRIBETOFRIENDSREQUEST DESCRIPTOR.message_types_by_name['SubscribeToFriendsResponse'] = _SUBSCRIBETOFRIENDSRESPONSE DESCRIPTOR.message_types_by_name['UnsubscribeToFriendsRequest'] = _UNSUBSCRIBETOFRIENDSREQUEST @@ -557,92 +576,92 @@ DESCRIPTOR.message_types_by_name['FriendNotification'] = _FRIENDNOTIFICATION DESCRIPTOR.message_types_by_name['UpdateFriendStateNotification'] = _UPDATEFRIENDSTATENOTIFICATION DESCRIPTOR.message_types_by_name['InvitationNotification'] = _INVITATIONNOTIFICATION +_sym_db.RegisterFileDescriptor(DESCRIPTOR) -SubscribeToFriendsRequest = _reflection.GeneratedProtocolMessageType('SubscribeToFriendsRequest', (_message.Message,), dict( - DESCRIPTOR = _SUBSCRIBETOFRIENDSREQUEST, - __module__ = 'bnet.friends_service_pb2' +SubscribeToFriendsRequest = _reflection.GeneratedProtocolMessageType('SubscribeToFriendsRequest', (_message.Message,), { + 'DESCRIPTOR' : _SUBSCRIBETOFRIENDSREQUEST, + '__module__' : 'bnet.friends_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.friends.SubscribeToFriendsRequest) - )) + }) _sym_db.RegisterMessage(SubscribeToFriendsRequest) -SubscribeToFriendsResponse = _reflection.GeneratedProtocolMessageType('SubscribeToFriendsResponse', (_message.Message,), dict( - DESCRIPTOR = _SUBSCRIBETOFRIENDSRESPONSE, - __module__ = 'bnet.friends_service_pb2' +SubscribeToFriendsResponse = _reflection.GeneratedProtocolMessageType('SubscribeToFriendsResponse', (_message.Message,), { + 'DESCRIPTOR' : _SUBSCRIBETOFRIENDSRESPONSE, + '__module__' : 'bnet.friends_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.friends.SubscribeToFriendsResponse) - )) + }) _sym_db.RegisterMessage(SubscribeToFriendsResponse) -UnsubscribeToFriendsRequest = _reflection.GeneratedProtocolMessageType('UnsubscribeToFriendsRequest', (_message.Message,), dict( - DESCRIPTOR = _UNSUBSCRIBETOFRIENDSREQUEST, - __module__ = 'bnet.friends_service_pb2' +UnsubscribeToFriendsRequest = _reflection.GeneratedProtocolMessageType('UnsubscribeToFriendsRequest', (_message.Message,), { + 'DESCRIPTOR' : _UNSUBSCRIBETOFRIENDSREQUEST, + '__module__' : 'bnet.friends_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.friends.UnsubscribeToFriendsRequest) - )) + }) _sym_db.RegisterMessage(UnsubscribeToFriendsRequest) -GenericFriendRequest = _reflection.GeneratedProtocolMessageType('GenericFriendRequest', (_message.Message,), dict( - DESCRIPTOR = _GENERICFRIENDREQUEST, - __module__ = 'bnet.friends_service_pb2' +GenericFriendRequest = _reflection.GeneratedProtocolMessageType('GenericFriendRequest', (_message.Message,), { + 'DESCRIPTOR' : _GENERICFRIENDREQUEST, + '__module__' : 'bnet.friends_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.friends.GenericFriendRequest) - )) + }) _sym_db.RegisterMessage(GenericFriendRequest) -GenericFriendResponse = _reflection.GeneratedProtocolMessageType('GenericFriendResponse', (_message.Message,), dict( - DESCRIPTOR = _GENERICFRIENDRESPONSE, - __module__ = 'bnet.friends_service_pb2' +GenericFriendResponse = _reflection.GeneratedProtocolMessageType('GenericFriendResponse', (_message.Message,), { + 'DESCRIPTOR' : _GENERICFRIENDRESPONSE, + '__module__' : 'bnet.friends_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.friends.GenericFriendResponse) - )) + }) _sym_db.RegisterMessage(GenericFriendResponse) -AssignRoleRequest = _reflection.GeneratedProtocolMessageType('AssignRoleRequest', (_message.Message,), dict( - DESCRIPTOR = _ASSIGNROLEREQUEST, - __module__ = 'bnet.friends_service_pb2' +AssignRoleRequest = _reflection.GeneratedProtocolMessageType('AssignRoleRequest', (_message.Message,), { + 'DESCRIPTOR' : _ASSIGNROLEREQUEST, + '__module__' : 'bnet.friends_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.friends.AssignRoleRequest) - )) + }) _sym_db.RegisterMessage(AssignRoleRequest) -ViewFriendsRequest = _reflection.GeneratedProtocolMessageType('ViewFriendsRequest', (_message.Message,), dict( - DESCRIPTOR = _VIEWFRIENDSREQUEST, - __module__ = 'bnet.friends_service_pb2' +ViewFriendsRequest = _reflection.GeneratedProtocolMessageType('ViewFriendsRequest', (_message.Message,), { + 'DESCRIPTOR' : _VIEWFRIENDSREQUEST, + '__module__' : 'bnet.friends_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.friends.ViewFriendsRequest) - )) + }) _sym_db.RegisterMessage(ViewFriendsRequest) -ViewFriendsResponse = _reflection.GeneratedProtocolMessageType('ViewFriendsResponse', (_message.Message,), dict( - DESCRIPTOR = _VIEWFRIENDSRESPONSE, - __module__ = 'bnet.friends_service_pb2' +ViewFriendsResponse = _reflection.GeneratedProtocolMessageType('ViewFriendsResponse', (_message.Message,), { + 'DESCRIPTOR' : _VIEWFRIENDSRESPONSE, + '__module__' : 'bnet.friends_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.friends.ViewFriendsResponse) - )) + }) _sym_db.RegisterMessage(ViewFriendsResponse) -UpdateFriendStateRequest = _reflection.GeneratedProtocolMessageType('UpdateFriendStateRequest', (_message.Message,), dict( - DESCRIPTOR = _UPDATEFRIENDSTATEREQUEST, - __module__ = 'bnet.friends_service_pb2' +UpdateFriendStateRequest = _reflection.GeneratedProtocolMessageType('UpdateFriendStateRequest', (_message.Message,), { + 'DESCRIPTOR' : _UPDATEFRIENDSTATEREQUEST, + '__module__' : 'bnet.friends_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.friends.UpdateFriendStateRequest) - )) + }) _sym_db.RegisterMessage(UpdateFriendStateRequest) -FriendNotification = _reflection.GeneratedProtocolMessageType('FriendNotification', (_message.Message,), dict( - DESCRIPTOR = _FRIENDNOTIFICATION, - __module__ = 'bnet.friends_service_pb2' +FriendNotification = _reflection.GeneratedProtocolMessageType('FriendNotification', (_message.Message,), { + 'DESCRIPTOR' : _FRIENDNOTIFICATION, + '__module__' : 'bnet.friends_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.friends.FriendNotification) - )) + }) _sym_db.RegisterMessage(FriendNotification) -UpdateFriendStateNotification = _reflection.GeneratedProtocolMessageType('UpdateFriendStateNotification', (_message.Message,), dict( - DESCRIPTOR = _UPDATEFRIENDSTATENOTIFICATION, - __module__ = 'bnet.friends_service_pb2' +UpdateFriendStateNotification = _reflection.GeneratedProtocolMessageType('UpdateFriendStateNotification', (_message.Message,), { + 'DESCRIPTOR' : _UPDATEFRIENDSTATENOTIFICATION, + '__module__' : 'bnet.friends_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.friends.UpdateFriendStateNotification) - )) + }) _sym_db.RegisterMessage(UpdateFriendStateNotification) -InvitationNotification = _reflection.GeneratedProtocolMessageType('InvitationNotification', (_message.Message,), dict( - DESCRIPTOR = _INVITATIONNOTIFICATION, - __module__ = 'bnet.friends_service_pb2' +InvitationNotification = _reflection.GeneratedProtocolMessageType('InvitationNotification', (_message.Message,), { + 'DESCRIPTOR' : _INVITATIONNOTIFICATION, + '__module__' : 'bnet.friends_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.friends.InvitationNotification) - )) + }) _sym_db.RegisterMessage(InvitationNotification) -_VIEWFRIENDSREQUEST.fields_by_name['role'].has_options = True -_VIEWFRIENDSREQUEST.fields_by_name['role']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')) +_VIEWFRIENDSREQUEST.fields_by_name['role']._options = None # @@protoc_insertion_point(module_scope) diff --git a/src/bnet/friends_types.proto b/src/bnet/friends_types.proto new file mode 100644 index 0000000..77e1205 --- /dev/null +++ b/src/bnet/friends_types.proto @@ -0,0 +1,35 @@ +package bnet.protocol.friends; +import "bnet/attribute.proto"; +import "bnet/entity.proto"; +import "bnet/invitation_types.proto"; + + +message Friend { + required EntityId id = 1; + repeated attribute.Attribute attribute = 2; + repeated uint32 role = 3 [packed = true]; + optional uint64 privileges = 4 [default = 0]; + optional uint64 attributes_epoch = 5; + optional string full_name = 6; + optional string battle_tag = 7; +} + +message FriendInvitation { + optional bool first_received = 1 [default = false]; + repeated uint32 role = 2 [packed = true]; + extend .bnet.protocol.invitation.Invitation { + optional FriendInvitation friend_invite = 103; + } +} + +message FriendInvitationParams { + optional string target_email = 1; + optional string target_battle_tag = 2; + optional string inviter_battle_tag = 3; + optional string inviter_full_name = 4; + optional string invitee_display_name = 5; + repeated uint32 role = 6 [packed = true]; + extend .bnet.protocol.invitation.InvitationParams { + optional FriendInvitationParams friend_params = 103; + } +} diff --git a/src/bnet/friends_types_pb2.py b/src/bnet/friends_types_pb2.py index 8bfe9b0..e1919ff 100644 --- a/src/bnet/friends_types_pb2.py +++ b/src/bnet/friends_types_pb2.py @@ -1,111 +1,32 @@ +# -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: bnet/friends_types.proto -import sys -_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message from google.protobuf import reflection as _reflection from google.protobuf import symbol_database as _symbol_database -from google.protobuf import descriptor_pb2 # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() -import bnet.attribute_pb2 -import bnet.entity_pb2 +from bnet import attribute_pb2 as bnet_dot_attribute__pb2 +from bnet import entity_pb2 as bnet_dot_entity__pb2 +from bnet import invitation_types_pb2 as bnet_dot_invitation__types__pb2 DESCRIPTOR = _descriptor.FileDescriptor( name='bnet/friends_types.proto', package='bnet.protocol.friends', - serialized_pb=_b('\n\x18\x62net/friends_types.proto\x12\x15\x62net.protocol.friends\x1a\x14\x62net/attribute.proto\x1a\x11\x62net/entity.proto\"\xfe\x01\n\x12ReceivedInvitation\x12\n\n\x02id\x18\x01 \x02(\x06\x12\x31\n\x10inviter_identity\x18\x02 \x02(\x0b\x32\x17.bnet.protocol.Identity\x12\x31\n\x10invitee_identity\x18\x03 \x02(\x0b\x32\x17.bnet.protocol.Identity\x12\x14\n\x0cinviter_name\x18\x04 \x01(\t\x12\x14\n\x0cinvitee_name\x18\x05 \x01(\t\x12\x1a\n\x12invitation_message\x18\x06 \x01(\t\x12\x15\n\rcreation_time\x18\x07 \x01(\x04\x12\x17\n\x0f\x65xpiration_time\x18\x08 \x01(\x04\"\xbb\x01\n\x06\x46riend\x12#\n\x02id\x18\x01 \x02(\x0b\x32\x17.bnet.protocol.EntityId\x12\x35\n\tattribute\x18\x02 \x03(\x0b\x32\".bnet.protocol.attribute.Attribute\x12\x10\n\x04role\x18\x03 \x03(\rB\x02\x10\x01\x12\x15\n\nprivileges\x18\x04 \x01(\x04:\x01\x30\x12\x18\n\x10\x61ttributes_epoch\x18\x05 \x01(\x04\x12\x12\n\nbattle_tag\x18\x07 \x01(\t\"C\n\x10\x46riendInvitation\x12\x1d\n\x0e\x66irst_received\x18\x01 \x01(\x08:\x05\x66\x61lse\x12\x10\n\x04role\x18\x02 \x03(\rB\x02\x10\x01\"\xb0\x01\n\x16\x46riendInvitationParams\x12\x14\n\x0ctarget_email\x18\x01 \x01(\t\x12\x19\n\x11target_battle_tag\x18\x02 \x01(\t\x12\x1a\n\x12inviter_battle_tag\x18\x03 \x01(\t\x12\x19\n\x11inviter_full_name\x18\x04 \x01(\t\x12\x1c\n\x14invitee_display_name\x18\x05 \x01(\t\x12\x10\n\x04role\x18\x06 \x03(\rB\x02\x10\x01') + syntax='proto2', + serialized_options=None, + serialized_pb=b'\n\x18\x62net/friends_types.proto\x12\x15\x62net.protocol.friends\x1a\x14\x62net/attribute.proto\x1a\x11\x62net/entity.proto\x1a\x1b\x62net/invitation_types.proto\"\xce\x01\n\x06\x46riend\x12#\n\x02id\x18\x01 \x02(\x0b\x32\x17.bnet.protocol.EntityId\x12\x35\n\tattribute\x18\x02 \x03(\x0b\x32\".bnet.protocol.attribute.Attribute\x12\x10\n\x04role\x18\x03 \x03(\rB\x02\x10\x01\x12\x15\n\nprivileges\x18\x04 \x01(\x04:\x01\x30\x12\x18\n\x10\x61ttributes_epoch\x18\x05 \x01(\x04\x12\x11\n\tfull_name\x18\x06 \x01(\t\x12\x12\n\nbattle_tag\x18\x07 \x01(\t\"\xa9\x01\n\x10\x46riendInvitation\x12\x1d\n\x0e\x66irst_received\x18\x01 \x01(\x08:\x05\x66\x61lse\x12\x10\n\x04role\x18\x02 \x03(\rB\x02\x10\x01\x32\x64\n\rfriend_invite\x12$.bnet.protocol.invitation.Invitation\x18g \x01(\x0b\x32\'.bnet.protocol.friends.FriendInvitation\"\xa2\x02\n\x16\x46riendInvitationParams\x12\x14\n\x0ctarget_email\x18\x01 \x01(\t\x12\x19\n\x11target_battle_tag\x18\x02 \x01(\t\x12\x1a\n\x12inviter_battle_tag\x18\x03 \x01(\t\x12\x19\n\x11inviter_full_name\x18\x04 \x01(\t\x12\x1c\n\x14invitee_display_name\x18\x05 \x01(\t\x12\x10\n\x04role\x18\x06 \x03(\rB\x02\x10\x01\x32p\n\rfriend_params\x12*.bnet.protocol.invitation.InvitationParams\x18g \x01(\x0b\x32-.bnet.protocol.friends.FriendInvitationParams' , - dependencies=[bnet.attribute_pb2.DESCRIPTOR,bnet.entity_pb2.DESCRIPTOR,]) -_sym_db.RegisterFileDescriptor(DESCRIPTOR) - + dependencies=[bnet_dot_attribute__pb2.DESCRIPTOR,bnet_dot_entity__pb2.DESCRIPTOR,bnet_dot_invitation__types__pb2.DESCRIPTOR,]) -_RECEIVEDINVITATION = _descriptor.Descriptor( - name='ReceivedInvitation', - full_name='bnet.protocol.friends.ReceivedInvitation', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='id', full_name='bnet.protocol.friends.ReceivedInvitation.id', index=0, - number=1, type=6, cpp_type=4, label=2, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - _descriptor.FieldDescriptor( - name='inviter_identity', full_name='bnet.protocol.friends.ReceivedInvitation.inviter_identity', index=1, - number=2, type=11, cpp_type=10, label=2, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - _descriptor.FieldDescriptor( - name='invitee_identity', full_name='bnet.protocol.friends.ReceivedInvitation.invitee_identity', index=2, - number=3, type=11, cpp_type=10, label=2, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - _descriptor.FieldDescriptor( - name='inviter_name', full_name='bnet.protocol.friends.ReceivedInvitation.inviter_name', index=3, - number=4, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - _descriptor.FieldDescriptor( - name='invitee_name', full_name='bnet.protocol.friends.ReceivedInvitation.invitee_name', index=4, - number=5, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - _descriptor.FieldDescriptor( - name='invitation_message', full_name='bnet.protocol.friends.ReceivedInvitation.invitation_message', index=5, - number=6, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - _descriptor.FieldDescriptor( - name='creation_time', full_name='bnet.protocol.friends.ReceivedInvitation.creation_time', index=6, - number=7, type=4, cpp_type=4, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - _descriptor.FieldDescriptor( - name='expiration_time', full_name='bnet.protocol.friends.ReceivedInvitation.expiration_time', index=7, - number=8, type=4, cpp_type=4, label=1, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - options=None, - is_extendable=False, - extension_ranges=[], - oneofs=[ - ], - serialized_start=93, - serialized_end=347, -) - _FRIEND = _descriptor.Descriptor( name='Friend', @@ -120,55 +41,63 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='attribute', full_name='bnet.protocol.friends.Friend.attribute', index=1, number=2, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='role', full_name='bnet.protocol.friends.Friend.role', index=2, number=3, type=13, cpp_type=3, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001'))), + serialized_options=b'\020\001', file=DESCRIPTOR), _descriptor.FieldDescriptor( name='privileges', full_name='bnet.protocol.friends.Friend.privileges', index=3, number=4, type=4, cpp_type=4, label=1, has_default_value=True, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='attributes_epoch', full_name='bnet.protocol.friends.Friend.attributes_epoch', index=4, number=5, type=4, cpp_type=4, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='full_name', full_name='bnet.protocol.friends.Friend.full_name', index=5, + number=6, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=b"".decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( - name='battle_tag', full_name='bnet.protocol.friends.Friend.battle_tag', index=5, + name='battle_tag', full_name='bnet.protocol.friends.Friend.battle_tag', index=6, number=7, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], - serialized_start=350, - serialized_end=537, + serialized_start=122, + serialized_end=328, ) @@ -185,27 +114,35 @@ has_default_value=True, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='role', full_name='bnet.protocol.friends.FriendInvitation.role', index=1, number=2, type=13, cpp_type=3, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001'))), + serialized_options=b'\020\001', file=DESCRIPTOR), ], extensions=[ + _descriptor.FieldDescriptor( + name='friend_invite', full_name='bnet.protocol.friends.FriendInvitation.friend_invite', index=0, + number=103, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=True, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], - serialized_start=539, - serialized_end=606, + serialized_start=331, + serialized_end=500, ) @@ -219,102 +156,102 @@ _descriptor.FieldDescriptor( name='target_email', full_name='bnet.protocol.friends.FriendInvitationParams.target_email', index=0, number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='target_battle_tag', full_name='bnet.protocol.friends.FriendInvitationParams.target_battle_tag', index=1, number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='inviter_battle_tag', full_name='bnet.protocol.friends.FriendInvitationParams.inviter_battle_tag', index=2, number=3, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='inviter_full_name', full_name='bnet.protocol.friends.FriendInvitationParams.inviter_full_name', index=3, number=4, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='invitee_display_name', full_name='bnet.protocol.friends.FriendInvitationParams.invitee_display_name', index=4, number=5, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='role', full_name='bnet.protocol.friends.FriendInvitationParams.role', index=5, number=6, type=13, cpp_type=3, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001'))), + serialized_options=b'\020\001', file=DESCRIPTOR), ], extensions=[ + _descriptor.FieldDescriptor( + name='friend_params', full_name='bnet.protocol.friends.FriendInvitationParams.friend_params', index=0, + number=103, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=True, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], - serialized_start=609, - serialized_end=785, + serialized_start=503, + serialized_end=793, ) -_RECEIVEDINVITATION.fields_by_name['inviter_identity'].message_type = bnet.entity_pb2._IDENTITY -_RECEIVEDINVITATION.fields_by_name['invitee_identity'].message_type = bnet.entity_pb2._IDENTITY -_FRIEND.fields_by_name['id'].message_type = bnet.entity_pb2._ENTITYID -_FRIEND.fields_by_name['attribute'].message_type = bnet.attribute_pb2._ATTRIBUTE -DESCRIPTOR.message_types_by_name['ReceivedInvitation'] = _RECEIVEDINVITATION +_FRIEND.fields_by_name['id'].message_type = bnet_dot_entity__pb2._ENTITYID +_FRIEND.fields_by_name['attribute'].message_type = bnet_dot_attribute__pb2._ATTRIBUTE DESCRIPTOR.message_types_by_name['Friend'] = _FRIEND DESCRIPTOR.message_types_by_name['FriendInvitation'] = _FRIENDINVITATION DESCRIPTOR.message_types_by_name['FriendInvitationParams'] = _FRIENDINVITATIONPARAMS +_sym_db.RegisterFileDescriptor(DESCRIPTOR) -ReceivedInvitation = _reflection.GeneratedProtocolMessageType('ReceivedInvitation', (_message.Message,), dict( - DESCRIPTOR = _RECEIVEDINVITATION, - __module__ = 'bnet.friends_types_pb2' - # @@protoc_insertion_point(class_scope:bnet.protocol.friends.ReceivedInvitation) - )) -_sym_db.RegisterMessage(ReceivedInvitation) - -Friend = _reflection.GeneratedProtocolMessageType('Friend', (_message.Message,), dict( - DESCRIPTOR = _FRIEND, - __module__ = 'bnet.friends_types_pb2' +Friend = _reflection.GeneratedProtocolMessageType('Friend', (_message.Message,), { + 'DESCRIPTOR' : _FRIEND, + '__module__' : 'bnet.friends_types_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.friends.Friend) - )) + }) _sym_db.RegisterMessage(Friend) -FriendInvitation = _reflection.GeneratedProtocolMessageType('FriendInvitation', (_message.Message,), dict( - DESCRIPTOR = _FRIENDINVITATION, - __module__ = 'bnet.friends_types_pb2' +FriendInvitation = _reflection.GeneratedProtocolMessageType('FriendInvitation', (_message.Message,), { + 'DESCRIPTOR' : _FRIENDINVITATION, + '__module__' : 'bnet.friends_types_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.friends.FriendInvitation) - )) + }) _sym_db.RegisterMessage(FriendInvitation) -FriendInvitationParams = _reflection.GeneratedProtocolMessageType('FriendInvitationParams', (_message.Message,), dict( - DESCRIPTOR = _FRIENDINVITATIONPARAMS, - __module__ = 'bnet.friends_types_pb2' +FriendInvitationParams = _reflection.GeneratedProtocolMessageType('FriendInvitationParams', (_message.Message,), { + 'DESCRIPTOR' : _FRIENDINVITATIONPARAMS, + '__module__' : 'bnet.friends_types_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.friends.FriendInvitationParams) - )) + }) _sym_db.RegisterMessage(FriendInvitationParams) +_FRIENDINVITATION.extensions_by_name['friend_invite'].message_type = _FRIENDINVITATION +bnet_dot_invitation__types__pb2.Invitation.RegisterExtension(_FRIENDINVITATION.extensions_by_name['friend_invite']) +_FRIENDINVITATIONPARAMS.extensions_by_name['friend_params'].message_type = _FRIENDINVITATIONPARAMS +bnet_dot_invitation__types__pb2.InvitationParams.RegisterExtension(_FRIENDINVITATIONPARAMS.extensions_by_name['friend_params']) -_FRIEND.fields_by_name['role'].has_options = True -_FRIEND.fields_by_name['role']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')) -_FRIENDINVITATION.fields_by_name['role'].has_options = True -_FRIENDINVITATION.fields_by_name['role']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')) -_FRIENDINVITATIONPARAMS.fields_by_name['role'].has_options = True -_FRIENDINVITATIONPARAMS.fields_by_name['role']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')) +_FRIEND.fields_by_name['role']._options = None +_FRIENDINVITATION.fields_by_name['role']._options = None +_FRIENDINVITATIONPARAMS.fields_by_name['role']._options = None # @@protoc_insertion_point(module_scope) diff --git a/src/bnet/game_factory.proto b/src/bnet/game_factory.proto new file mode 100644 index 0000000..32e3baa --- /dev/null +++ b/src/bnet/game_factory.proto @@ -0,0 +1,11 @@ +package bnet.protocol.game_master; +import "bnet/attribute.proto"; + + +message GameProperties { + repeated attribute.Attribute creation_attributes = 1; + optional attribute.AttributeFilter filter = 2; + optional bool create = 3 [default = false]; + optional bool open = 4 [default = true]; + optional fixed32 program_id = 5; +} diff --git a/src/bnet/game_factory_pb2.py b/src/bnet/game_factory_pb2.py index ee42e11..91c3420 100644 --- a/src/bnet/game_factory_pb2.py +++ b/src/bnet/game_factory_pb2.py @@ -1,28 +1,27 @@ +# -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: bnet/game_factory.proto -import sys -_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message from google.protobuf import reflection as _reflection from google.protobuf import symbol_database as _symbol_database -from google.protobuf import descriptor_pb2 # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() -import bnet.attribute_pb2 +from bnet import attribute_pb2 as bnet_dot_attribute__pb2 DESCRIPTOR = _descriptor.FileDescriptor( name='bnet/game_factory.proto', package='bnet.protocol.game_master', - serialized_pb=_b('\n\x17\x62net/game_factory.proto\x12\x19\x62net.protocol.game_master\x1a\x14\x62net/attribute.proto\"\xca\x01\n\x0eGameProperties\x12?\n\x13\x63reation_attributes\x18\x01 \x03(\x0b\x32\".bnet.protocol.attribute.Attribute\x12\x38\n\x06\x66ilter\x18\x02 \x01(\x0b\x32(.bnet.protocol.attribute.AttributeFilter\x12\x15\n\x06\x63reate\x18\x03 \x01(\x08:\x05\x66\x61lse\x12\x12\n\x04open\x18\x04 \x01(\x08:\x04true\x12\x12\n\nprogram_id\x18\x05 \x01(\x07') + syntax='proto2', + serialized_options=None, + serialized_pb=b'\n\x17\x62net/game_factory.proto\x12\x19\x62net.protocol.game_master\x1a\x14\x62net/attribute.proto\"\xca\x01\n\x0eGameProperties\x12?\n\x13\x63reation_attributes\x18\x01 \x03(\x0b\x32\".bnet.protocol.attribute.Attribute\x12\x38\n\x06\x66ilter\x18\x02 \x01(\x0b\x32(.bnet.protocol.attribute.AttributeFilter\x12\x15\n\x06\x63reate\x18\x03 \x01(\x08:\x05\x66\x61lse\x12\x12\n\x04open\x18\x04 \x01(\x08:\x04true\x12\x12\n\nprogram_id\x18\x05 \x01(\x07' , - dependencies=[bnet.attribute_pb2.DESCRIPTOR,]) -_sym_db.RegisterFileDescriptor(DESCRIPTOR) + dependencies=[bnet_dot_attribute__pb2.DESCRIPTOR,]) @@ -40,43 +39,44 @@ has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='filter', full_name='bnet.protocol.game_master.GameProperties.filter', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='create', full_name='bnet.protocol.game_master.GameProperties.create', index=2, number=3, type=8, cpp_type=7, label=1, has_default_value=True, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='open', full_name='bnet.protocol.game_master.GameProperties.open', index=3, number=4, type=8, cpp_type=7, label=1, has_default_value=True, default_value=True, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='program_id', full_name='bnet.protocol.game_master.GameProperties.program_id', index=4, number=5, type=7, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -84,15 +84,16 @@ serialized_end=279, ) -_GAMEPROPERTIES.fields_by_name['creation_attributes'].message_type = bnet.attribute_pb2._ATTRIBUTE -_GAMEPROPERTIES.fields_by_name['filter'].message_type = bnet.attribute_pb2._ATTRIBUTEFILTER +_GAMEPROPERTIES.fields_by_name['creation_attributes'].message_type = bnet_dot_attribute__pb2._ATTRIBUTE +_GAMEPROPERTIES.fields_by_name['filter'].message_type = bnet_dot_attribute__pb2._ATTRIBUTEFILTER DESCRIPTOR.message_types_by_name['GameProperties'] = _GAMEPROPERTIES +_sym_db.RegisterFileDescriptor(DESCRIPTOR) -GameProperties = _reflection.GeneratedProtocolMessageType('GameProperties', (_message.Message,), dict( - DESCRIPTOR = _GAMEPROPERTIES, - __module__ = 'bnet.game_factory_pb2' +GameProperties = _reflection.GeneratedProtocolMessageType('GameProperties', (_message.Message,), { + 'DESCRIPTOR' : _GAMEPROPERTIES, + '__module__' : 'bnet.game_factory_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.game_master.GameProperties) - )) + }) _sym_db.RegisterMessage(GameProperties) diff --git a/src/bnet/game_master_service.proto b/src/bnet/game_master_service.proto new file mode 100644 index 0000000..3436f9a --- /dev/null +++ b/src/bnet/game_master_service.proto @@ -0,0 +1,130 @@ +package bnet.protocol.game_master; +import "bnet/attribute.proto"; +import "bnet/entity.proto"; +import "bnet/game_factory.proto"; +import "bnet/game_master_types.proto"; +import "bnet/server_pool_types.proto"; + + +message JoinGameRequest { + required GameHandle game_handle = 1; + repeated Player player = 2; + optional bool advanced_notification = 3 [default = false]; +} + +message JoinGameResponse { + optional fixed64 request_id = 1; + optional bool queued = 2 [default = false]; + repeated ConnectInfo connect_info = 3; +} + +message ListFactoriesRequest { + required attribute.AttributeFilter filter = 1; + optional uint32 start_index = 2 [default = 0]; + optional uint32 max_results = 3 [default = 100]; +} + +message ListFactoriesResponse { + repeated GameFactoryDescription description = 1; + optional uint32 total_results = 2; +} + +message FindGameRequest { + repeated Player player = 1; + optional fixed64 factory_id = 2; + optional GameProperties properties = 3; + optional uint64 object_id = 4; + optional fixed64 request_id = 5; + optional bool advanced_notification = 6 [default = false]; +} + +message FindGameResponse { + optional fixed64 request_id = 1; + optional fixed64 factory_id = 2; + optional bool queued = 3 [default = false]; +} + +message GameEndedNotification { + required GameHandle game_handle = 1; + optional uint32 reason = 2 [default = 0]; +} + +message PlayerLeftNotification { + required GameHandle game_handle = 1; + required EntityId member_id = 2; + optional uint32 reason = 3 [default = 1]; +} + +message RegisterServerRequest { + repeated attribute.Attribute attribute = 1; + optional server_pool.ServerState state = 2; + required fixed32 program_id = 3; +} + +message UnregisterServerRequest { +} + +message RegisterUtilitiesRequest { + repeated attribute.Attribute attribute = 1; + optional server_pool.ServerState state = 2; + required fixed32 program_id = 3; +} + +message UnregisterUtilitiesRequest { +} + +message SubscribeRequest { + required uint64 object_id = 1; +} + +message SubscribeResponse { + optional uint64 subscription_id = 1; +} + +message UnsubscribeRequest { + required uint64 subscription_id = 1; +} + +message ChangeGameRequest { + required GameHandle game_handle = 1; + optional bool open = 2; + repeated attribute.Attribute attribute = 3; + optional bool replace = 4 [default = false]; +} + +message GetFactoryInfoRequest { + required fixed64 factory_id = 1; +} + +message GetFactoryInfoResponse { + repeated attribute.Attribute attribute = 1; + repeated GameStatsBucket stats_bucket = 2; +} + +message GetGameStatsRequest { + required fixed64 factory_id = 1; + required attribute.AttributeFilter filter = 2; +} + +message GetGameStatsResponse { + repeated GameStatsBucket stats_bucket = 1; +} + +message FactoryUpdateNotification { + enum Operation { + ADD = 1; + REMOVE = 2; + CHANGE = 3; + } + + required Operation op = 1; + required GameFactoryDescription description = 2; + optional fixed32 program_id = 3; +} + +message GameFoundNotification { + required fixed64 request_id = 1; + optional uint32 error_code = 2 [default = 0]; + optional GameHandle game_handle = 3; + repeated ConnectInfo connect_info = 4; +} diff --git a/src/bnet/game_master_service_pb2.py b/src/bnet/game_master_service_pb2.py index e97dca0..4016908 100644 --- a/src/bnet/game_master_service_pb2.py +++ b/src/bnet/game_master_service_pb2.py @@ -1,32 +1,31 @@ +# -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: bnet/game_master_service.proto -import sys -_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message from google.protobuf import reflection as _reflection from google.protobuf import symbol_database as _symbol_database -from google.protobuf import descriptor_pb2 # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() -import bnet.attribute_pb2 -import bnet.entity_pb2 -import bnet.game_factory_pb2 -import bnet.game_master_types_pb2 -import bnet.server_pool_types_pb2 +from bnet import attribute_pb2 as bnet_dot_attribute__pb2 +from bnet import entity_pb2 as bnet_dot_entity__pb2 +from bnet import game_factory_pb2 as bnet_dot_game__factory__pb2 +from bnet import game_master_types_pb2 as bnet_dot_game__master__types__pb2 +from bnet import server_pool_types_pb2 as bnet_dot_server__pool__types__pb2 DESCRIPTOR = _descriptor.FileDescriptor( name='bnet/game_master_service.proto', package='bnet.protocol.game_master', - serialized_pb=_b('\n\x1e\x62net/game_master_service.proto\x12\x19\x62net.protocol.game_master\x1a\x14\x62net/attribute.proto\x1a\x11\x62net/entity.proto\x1a\x17\x62net/game_factory.proto\x1a\x1c\x62net/game_master_types.proto\x1a\x1c\x62net/server_pool_types.proto\"\xa6\x01\n\x0fJoinGameRequest\x12:\n\x0bgame_handle\x18\x01 \x02(\x0b\x32%.bnet.protocol.game_master.GameHandle\x12\x31\n\x06player\x18\x02 \x03(\x0b\x32!.bnet.protocol.game_master.Player\x12$\n\x15\x61\x64vanced_notification\x18\x03 \x01(\x08:\x05\x66\x61lse\"{\n\x10JoinGameResponse\x12\x12\n\nrequest_id\x18\x01 \x01(\x06\x12\x15\n\x06queued\x18\x02 \x01(\x08:\x05\x66\x61lse\x12<\n\x0c\x63onnect_info\x18\x03 \x03(\x0b\x32&.bnet.protocol.game_master.ConnectInfo\"\x82\x01\n\x14ListFactoriesRequest\x12\x38\n\x06\x66ilter\x18\x01 \x02(\x0b\x32(.bnet.protocol.attribute.AttributeFilter\x12\x16\n\x0bstart_index\x18\x02 \x01(\r:\x01\x30\x12\x18\n\x0bmax_results\x18\x03 \x01(\r:\x03\x31\x30\x30\"v\n\x15ListFactoriesResponse\x12\x46\n\x0b\x64\x65scription\x18\x01 \x03(\x0b\x32\x31.bnet.protocol.game_master.GameFactoryDescription\x12\x15\n\rtotal_results\x18\x02 \x01(\r\"\xe4\x01\n\x0f\x46indGameRequest\x12\x31\n\x06player\x18\x01 \x03(\x0b\x32!.bnet.protocol.game_master.Player\x12\x12\n\nfactory_id\x18\x02 \x01(\x06\x12=\n\nproperties\x18\x03 \x01(\x0b\x32).bnet.protocol.game_master.GameProperties\x12\x11\n\tobject_id\x18\x04 \x01(\x04\x12\x12\n\nrequest_id\x18\x05 \x01(\x06\x12$\n\x15\x61\x64vanced_notification\x18\x06 \x01(\x08:\x05\x66\x61lse\"Q\n\x10\x46indGameResponse\x12\x12\n\nrequest_id\x18\x01 \x01(\x06\x12\x12\n\nfactory_id\x18\x02 \x01(\x06\x12\x15\n\x06queued\x18\x03 \x01(\x08:\x05\x66\x61lse\"f\n\x15GameEndedNotification\x12:\n\x0bgame_handle\x18\x01 \x02(\x0b\x32%.bnet.protocol.game_master.GameHandle\x12\x11\n\x06reason\x18\x02 \x01(\r:\x01\x30\"\x93\x01\n\x16PlayerLeftNotification\x12:\n\x0bgame_handle\x18\x01 \x02(\x0b\x32%.bnet.protocol.game_master.GameHandle\x12*\n\tmember_id\x18\x02 \x02(\x0b\x32\x17.bnet.protocol.EntityId\x12\x11\n\x06reason\x18\x03 \x01(\r:\x01\x31\"\x99\x01\n\x15RegisterServerRequest\x12\x35\n\tattribute\x18\x01 \x03(\x0b\x32\".bnet.protocol.attribute.Attribute\x12\x35\n\x05state\x18\x02 \x01(\x0b\x32&.bnet.protocol.server_pool.ServerState\x12\x12\n\nprogram_id\x18\x03 \x02(\x07\"\x19\n\x17UnregisterServerRequest\"\x9c\x01\n\x18RegisterUtilitiesRequest\x12\x35\n\tattribute\x18\x01 \x03(\x0b\x32\".bnet.protocol.attribute.Attribute\x12\x35\n\x05state\x18\x02 \x01(\x0b\x32&.bnet.protocol.server_pool.ServerState\x12\x12\n\nprogram_id\x18\x03 \x02(\x07\"\x1c\n\x1aUnregisterUtilitiesRequest\"%\n\x10SubscribeRequest\x12\x11\n\tobject_id\x18\x01 \x02(\x04\",\n\x11SubscribeResponse\x12\x17\n\x0fsubscription_id\x18\x01 \x01(\x04\"-\n\x12UnsubscribeRequest\x12\x17\n\x0fsubscription_id\x18\x01 \x02(\x04\"\xac\x01\n\x11\x43hangeGameRequest\x12:\n\x0bgame_handle\x18\x01 \x02(\x0b\x32%.bnet.protocol.game_master.GameHandle\x12\x0c\n\x04open\x18\x02 \x01(\x08\x12\x35\n\tattribute\x18\x03 \x03(\x0b\x32\".bnet.protocol.attribute.Attribute\x12\x16\n\x07replace\x18\x04 \x01(\x08:\x05\x66\x61lse\"+\n\x15GetFactoryInfoRequest\x12\x12\n\nfactory_id\x18\x01 \x02(\x06\"\x91\x01\n\x16GetFactoryInfoResponse\x12\x35\n\tattribute\x18\x01 \x03(\x0b\x32\".bnet.protocol.attribute.Attribute\x12@\n\x0cstats_bucket\x18\x02 \x03(\x0b\x32*.bnet.protocol.game_master.GameStatsBucket\"c\n\x13GetGameStatsRequest\x12\x12\n\nfactory_id\x18\x01 \x02(\x06\x12\x38\n\x06\x66ilter\x18\x02 \x02(\x0b\x32(.bnet.protocol.attribute.AttributeFilter\"X\n\x14GetGameStatsResponse\x12@\n\x0cstats_bucket\x18\x01 \x03(\x0b\x32*.bnet.protocol.game_master.GameStatsBucket\"\xf1\x01\n\x19\x46\x61\x63toryUpdateNotification\x12J\n\x02op\x18\x01 \x02(\x0e\x32>.bnet.protocol.game_master.FactoryUpdateNotification.Operation\x12\x46\n\x0b\x64\x65scription\x18\x02 \x02(\x0b\x32\x31.bnet.protocol.game_master.GameFactoryDescription\x12\x12\n\nprogram_id\x18\x03 \x01(\x07\",\n\tOperation\x12\x07\n\x03\x41\x44\x44\x10\x01\x12\n\n\x06REMOVE\x10\x02\x12\n\n\x06\x43HANGE\x10\x03\"\xbc\x01\n\x15GameFoundNotification\x12\x12\n\nrequest_id\x18\x01 \x02(\x06\x12\x15\n\nerror_code\x18\x02 \x01(\r:\x01\x30\x12:\n\x0bgame_handle\x18\x03 \x01(\x0b\x32%.bnet.protocol.game_master.GameHandle\x12<\n\x0c\x63onnect_info\x18\x04 \x03(\x0b\x32&.bnet.protocol.game_master.ConnectInfo') + syntax='proto2', + serialized_options=None, + serialized_pb=b'\n\x1e\x62net/game_master_service.proto\x12\x19\x62net.protocol.game_master\x1a\x14\x62net/attribute.proto\x1a\x11\x62net/entity.proto\x1a\x17\x62net/game_factory.proto\x1a\x1c\x62net/game_master_types.proto\x1a\x1c\x62net/server_pool_types.proto\"\xa6\x01\n\x0fJoinGameRequest\x12:\n\x0bgame_handle\x18\x01 \x02(\x0b\x32%.bnet.protocol.game_master.GameHandle\x12\x31\n\x06player\x18\x02 \x03(\x0b\x32!.bnet.protocol.game_master.Player\x12$\n\x15\x61\x64vanced_notification\x18\x03 \x01(\x08:\x05\x66\x61lse\"{\n\x10JoinGameResponse\x12\x12\n\nrequest_id\x18\x01 \x01(\x06\x12\x15\n\x06queued\x18\x02 \x01(\x08:\x05\x66\x61lse\x12<\n\x0c\x63onnect_info\x18\x03 \x03(\x0b\x32&.bnet.protocol.game_master.ConnectInfo\"\x82\x01\n\x14ListFactoriesRequest\x12\x38\n\x06\x66ilter\x18\x01 \x02(\x0b\x32(.bnet.protocol.attribute.AttributeFilter\x12\x16\n\x0bstart_index\x18\x02 \x01(\r:\x01\x30\x12\x18\n\x0bmax_results\x18\x03 \x01(\r:\x03\x31\x30\x30\"v\n\x15ListFactoriesResponse\x12\x46\n\x0b\x64\x65scription\x18\x01 \x03(\x0b\x32\x31.bnet.protocol.game_master.GameFactoryDescription\x12\x15\n\rtotal_results\x18\x02 \x01(\r\"\xe4\x01\n\x0f\x46indGameRequest\x12\x31\n\x06player\x18\x01 \x03(\x0b\x32!.bnet.protocol.game_master.Player\x12\x12\n\nfactory_id\x18\x02 \x01(\x06\x12=\n\nproperties\x18\x03 \x01(\x0b\x32).bnet.protocol.game_master.GameProperties\x12\x11\n\tobject_id\x18\x04 \x01(\x04\x12\x12\n\nrequest_id\x18\x05 \x01(\x06\x12$\n\x15\x61\x64vanced_notification\x18\x06 \x01(\x08:\x05\x66\x61lse\"Q\n\x10\x46indGameResponse\x12\x12\n\nrequest_id\x18\x01 \x01(\x06\x12\x12\n\nfactory_id\x18\x02 \x01(\x06\x12\x15\n\x06queued\x18\x03 \x01(\x08:\x05\x66\x61lse\"f\n\x15GameEndedNotification\x12:\n\x0bgame_handle\x18\x01 \x02(\x0b\x32%.bnet.protocol.game_master.GameHandle\x12\x11\n\x06reason\x18\x02 \x01(\r:\x01\x30\"\x93\x01\n\x16PlayerLeftNotification\x12:\n\x0bgame_handle\x18\x01 \x02(\x0b\x32%.bnet.protocol.game_master.GameHandle\x12*\n\tmember_id\x18\x02 \x02(\x0b\x32\x17.bnet.protocol.EntityId\x12\x11\n\x06reason\x18\x03 \x01(\r:\x01\x31\"\x99\x01\n\x15RegisterServerRequest\x12\x35\n\tattribute\x18\x01 \x03(\x0b\x32\".bnet.protocol.attribute.Attribute\x12\x35\n\x05state\x18\x02 \x01(\x0b\x32&.bnet.protocol.server_pool.ServerState\x12\x12\n\nprogram_id\x18\x03 \x02(\x07\"\x19\n\x17UnregisterServerRequest\"\x9c\x01\n\x18RegisterUtilitiesRequest\x12\x35\n\tattribute\x18\x01 \x03(\x0b\x32\".bnet.protocol.attribute.Attribute\x12\x35\n\x05state\x18\x02 \x01(\x0b\x32&.bnet.protocol.server_pool.ServerState\x12\x12\n\nprogram_id\x18\x03 \x02(\x07\"\x1c\n\x1aUnregisterUtilitiesRequest\"%\n\x10SubscribeRequest\x12\x11\n\tobject_id\x18\x01 \x02(\x04\",\n\x11SubscribeResponse\x12\x17\n\x0fsubscription_id\x18\x01 \x01(\x04\"-\n\x12UnsubscribeRequest\x12\x17\n\x0fsubscription_id\x18\x01 \x02(\x04\"\xac\x01\n\x11\x43hangeGameRequest\x12:\n\x0bgame_handle\x18\x01 \x02(\x0b\x32%.bnet.protocol.game_master.GameHandle\x12\x0c\n\x04open\x18\x02 \x01(\x08\x12\x35\n\tattribute\x18\x03 \x03(\x0b\x32\".bnet.protocol.attribute.Attribute\x12\x16\n\x07replace\x18\x04 \x01(\x08:\x05\x66\x61lse\"+\n\x15GetFactoryInfoRequest\x12\x12\n\nfactory_id\x18\x01 \x02(\x06\"\x91\x01\n\x16GetFactoryInfoResponse\x12\x35\n\tattribute\x18\x01 \x03(\x0b\x32\".bnet.protocol.attribute.Attribute\x12@\n\x0cstats_bucket\x18\x02 \x03(\x0b\x32*.bnet.protocol.game_master.GameStatsBucket\"c\n\x13GetGameStatsRequest\x12\x12\n\nfactory_id\x18\x01 \x02(\x06\x12\x38\n\x06\x66ilter\x18\x02 \x02(\x0b\x32(.bnet.protocol.attribute.AttributeFilter\"X\n\x14GetGameStatsResponse\x12@\n\x0cstats_bucket\x18\x01 \x03(\x0b\x32*.bnet.protocol.game_master.GameStatsBucket\"\xf1\x01\n\x19\x46\x61\x63toryUpdateNotification\x12J\n\x02op\x18\x01 \x02(\x0e\x32>.bnet.protocol.game_master.FactoryUpdateNotification.Operation\x12\x46\n\x0b\x64\x65scription\x18\x02 \x02(\x0b\x32\x31.bnet.protocol.game_master.GameFactoryDescription\x12\x12\n\nprogram_id\x18\x03 \x01(\x07\",\n\tOperation\x12\x07\n\x03\x41\x44\x44\x10\x01\x12\n\n\x06REMOVE\x10\x02\x12\n\n\x06\x43HANGE\x10\x03\"\xbc\x01\n\x15GameFoundNotification\x12\x12\n\nrequest_id\x18\x01 \x02(\x06\x12\x15\n\nerror_code\x18\x02 \x01(\r:\x01\x30\x12:\n\x0bgame_handle\x18\x03 \x01(\x0b\x32%.bnet.protocol.game_master.GameHandle\x12<\n\x0c\x63onnect_info\x18\x04 \x03(\x0b\x32&.bnet.protocol.game_master.ConnectInfo' , - dependencies=[bnet.attribute_pb2.DESCRIPTOR,bnet.entity_pb2.DESCRIPTOR,bnet.game_factory_pb2.DESCRIPTOR,bnet.game_master_types_pb2.DESCRIPTOR,bnet.server_pool_types_pb2.DESCRIPTOR,]) -_sym_db.RegisterFileDescriptor(DESCRIPTOR) + dependencies=[bnet_dot_attribute__pb2.DESCRIPTOR,bnet_dot_entity__pb2.DESCRIPTOR,bnet_dot_game__factory__pb2.DESCRIPTOR,bnet_dot_game__master__types__pb2.DESCRIPTOR,bnet_dot_server__pool__types__pb2.DESCRIPTOR,]) @@ -38,19 +37,19 @@ values=[ _descriptor.EnumValueDescriptor( name='ADD', index=0, number=1, - options=None, + serialized_options=None, type=None), _descriptor.EnumValueDescriptor( name='REMOVE', index=1, number=2, - options=None, + serialized_options=None, type=None), _descriptor.EnumValueDescriptor( name='CHANGE', index=2, number=3, - options=None, + serialized_options=None, type=None), ], containing_type=None, - options=None, + serialized_options=None, serialized_start=2563, serialized_end=2607, ) @@ -70,29 +69,30 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='player', full_name='bnet.protocol.game_master.JoinGameRequest.player', index=1, number=2, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='advanced_notification', full_name='bnet.protocol.game_master.JoinGameRequest.advanced_notification', index=2, number=3, type=8, cpp_type=7, label=1, has_default_value=True, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -114,29 +114,30 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='queued', full_name='bnet.protocol.game_master.JoinGameResponse.queued', index=1, number=2, type=8, cpp_type=7, label=1, has_default_value=True, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='connect_info', full_name='bnet.protocol.game_master.JoinGameResponse.connect_info', index=2, number=3, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -158,29 +159,30 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='start_index', full_name='bnet.protocol.game_master.ListFactoriesRequest.start_index', index=1, number=2, type=13, cpp_type=3, label=1, has_default_value=True, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='max_results', full_name='bnet.protocol.game_master.ListFactoriesRequest.max_results', index=2, number=3, type=13, cpp_type=3, label=1, has_default_value=True, default_value=100, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -202,22 +204,23 @@ has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='total_results', full_name='bnet.protocol.game_master.ListFactoriesResponse.total_results', index=1, number=2, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -239,50 +242,51 @@ has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='factory_id', full_name='bnet.protocol.game_master.FindGameRequest.factory_id', index=1, number=2, type=6, cpp_type=4, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='properties', full_name='bnet.protocol.game_master.FindGameRequest.properties', index=2, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='object_id', full_name='bnet.protocol.game_master.FindGameRequest.object_id', index=3, number=4, type=4, cpp_type=4, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='request_id', full_name='bnet.protocol.game_master.FindGameRequest.request_id', index=4, number=5, type=6, cpp_type=4, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='advanced_notification', full_name='bnet.protocol.game_master.FindGameRequest.advanced_notification', index=5, number=6, type=8, cpp_type=7, label=1, has_default_value=True, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -304,29 +308,30 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='factory_id', full_name='bnet.protocol.game_master.FindGameResponse.factory_id', index=1, number=2, type=6, cpp_type=4, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='queued', full_name='bnet.protocol.game_master.FindGameResponse.queued', index=2, number=3, type=8, cpp_type=7, label=1, has_default_value=True, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -348,22 +353,23 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='reason', full_name='bnet.protocol.game_master.GameEndedNotification.reason', index=1, number=2, type=13, cpp_type=3, label=1, has_default_value=True, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -385,29 +391,30 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='member_id', full_name='bnet.protocol.game_master.PlayerLeftNotification.member_id', index=1, number=2, type=11, cpp_type=10, label=2, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='reason', full_name='bnet.protocol.game_master.PlayerLeftNotification.reason', index=2, number=3, type=13, cpp_type=3, label=1, has_default_value=True, default_value=1, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -429,29 +436,30 @@ has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='state', full_name='bnet.protocol.game_master.RegisterServerRequest.state', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='program_id', full_name='bnet.protocol.game_master.RegisterServerRequest.program_id', index=2, number=3, type=7, cpp_type=3, label=2, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -473,8 +481,9 @@ nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -496,29 +505,30 @@ has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='state', full_name='bnet.protocol.game_master.RegisterUtilitiesRequest.state', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='program_id', full_name='bnet.protocol.game_master.RegisterUtilitiesRequest.program_id', index=2, number=3, type=7, cpp_type=3, label=2, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -540,8 +550,9 @@ nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -563,15 +574,16 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -593,15 +605,16 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -623,15 +636,16 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -653,36 +667,37 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='open', full_name='bnet.protocol.game_master.ChangeGameRequest.open', index=1, number=2, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='attribute', full_name='bnet.protocol.game_master.ChangeGameRequest.attribute', index=2, number=3, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='replace', full_name='bnet.protocol.game_master.ChangeGameRequest.replace', index=3, number=4, type=8, cpp_type=7, label=1, has_default_value=True, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -704,15 +719,16 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -734,22 +750,23 @@ has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='stats_bucket', full_name='bnet.protocol.game_master.GetFactoryInfoResponse.stats_bucket', index=1, number=2, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -771,22 +788,23 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='filter', full_name='bnet.protocol.game_master.GetGameStatsRequest.filter', index=1, number=2, type=11, cpp_type=10, label=2, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -808,15 +826,16 @@ has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -838,21 +857,21 @@ has_default_value=False, default_value=1, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='description', full_name='bnet.protocol.game_master.FactoryUpdateNotification.description', index=1, number=2, type=11, cpp_type=10, label=2, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='program_id', full_name='bnet.protocol.game_master.FactoryUpdateNotification.program_id', index=2, number=3, type=7, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], @@ -860,8 +879,9 @@ enum_types=[ _FACTORYUPDATENOTIFICATION_OPERATION, ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -883,36 +903,37 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='error_code', full_name='bnet.protocol.game_master.GameFoundNotification.error_code', index=1, number=2, type=13, cpp_type=3, label=1, has_default_value=True, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='game_handle', full_name='bnet.protocol.game_master.GameFoundNotification.game_handle', index=2, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='connect_info', full_name='bnet.protocol.game_master.GameFoundNotification.connect_info', index=3, number=4, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -920,31 +941,31 @@ serialized_end=2798, ) -_JOINGAMEREQUEST.fields_by_name['game_handle'].message_type = bnet.game_master_types_pb2._GAMEHANDLE -_JOINGAMEREQUEST.fields_by_name['player'].message_type = bnet.game_master_types_pb2._PLAYER -_JOINGAMERESPONSE.fields_by_name['connect_info'].message_type = bnet.game_master_types_pb2._CONNECTINFO -_LISTFACTORIESREQUEST.fields_by_name['filter'].message_type = bnet.attribute_pb2._ATTRIBUTEFILTER -_LISTFACTORIESRESPONSE.fields_by_name['description'].message_type = bnet.game_master_types_pb2._GAMEFACTORYDESCRIPTION -_FINDGAMEREQUEST.fields_by_name['player'].message_type = bnet.game_master_types_pb2._PLAYER -_FINDGAMEREQUEST.fields_by_name['properties'].message_type = bnet.game_factory_pb2._GAMEPROPERTIES -_GAMEENDEDNOTIFICATION.fields_by_name['game_handle'].message_type = bnet.game_master_types_pb2._GAMEHANDLE -_PLAYERLEFTNOTIFICATION.fields_by_name['game_handle'].message_type = bnet.game_master_types_pb2._GAMEHANDLE -_PLAYERLEFTNOTIFICATION.fields_by_name['member_id'].message_type = bnet.entity_pb2._ENTITYID -_REGISTERSERVERREQUEST.fields_by_name['attribute'].message_type = bnet.attribute_pb2._ATTRIBUTE -_REGISTERSERVERREQUEST.fields_by_name['state'].message_type = bnet.server_pool_types_pb2._SERVERSTATE -_REGISTERUTILITIESREQUEST.fields_by_name['attribute'].message_type = bnet.attribute_pb2._ATTRIBUTE -_REGISTERUTILITIESREQUEST.fields_by_name['state'].message_type = bnet.server_pool_types_pb2._SERVERSTATE -_CHANGEGAMEREQUEST.fields_by_name['game_handle'].message_type = bnet.game_master_types_pb2._GAMEHANDLE -_CHANGEGAMEREQUEST.fields_by_name['attribute'].message_type = bnet.attribute_pb2._ATTRIBUTE -_GETFACTORYINFORESPONSE.fields_by_name['attribute'].message_type = bnet.attribute_pb2._ATTRIBUTE -_GETFACTORYINFORESPONSE.fields_by_name['stats_bucket'].message_type = bnet.game_master_types_pb2._GAMESTATSBUCKET -_GETGAMESTATSREQUEST.fields_by_name['filter'].message_type = bnet.attribute_pb2._ATTRIBUTEFILTER -_GETGAMESTATSRESPONSE.fields_by_name['stats_bucket'].message_type = bnet.game_master_types_pb2._GAMESTATSBUCKET +_JOINGAMEREQUEST.fields_by_name['game_handle'].message_type = bnet_dot_game__master__types__pb2._GAMEHANDLE +_JOINGAMEREQUEST.fields_by_name['player'].message_type = bnet_dot_game__master__types__pb2._PLAYER +_JOINGAMERESPONSE.fields_by_name['connect_info'].message_type = bnet_dot_game__master__types__pb2._CONNECTINFO +_LISTFACTORIESREQUEST.fields_by_name['filter'].message_type = bnet_dot_attribute__pb2._ATTRIBUTEFILTER +_LISTFACTORIESRESPONSE.fields_by_name['description'].message_type = bnet_dot_game__master__types__pb2._GAMEFACTORYDESCRIPTION +_FINDGAMEREQUEST.fields_by_name['player'].message_type = bnet_dot_game__master__types__pb2._PLAYER +_FINDGAMEREQUEST.fields_by_name['properties'].message_type = bnet_dot_game__factory__pb2._GAMEPROPERTIES +_GAMEENDEDNOTIFICATION.fields_by_name['game_handle'].message_type = bnet_dot_game__master__types__pb2._GAMEHANDLE +_PLAYERLEFTNOTIFICATION.fields_by_name['game_handle'].message_type = bnet_dot_game__master__types__pb2._GAMEHANDLE +_PLAYERLEFTNOTIFICATION.fields_by_name['member_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_REGISTERSERVERREQUEST.fields_by_name['attribute'].message_type = bnet_dot_attribute__pb2._ATTRIBUTE +_REGISTERSERVERREQUEST.fields_by_name['state'].message_type = bnet_dot_server__pool__types__pb2._SERVERSTATE +_REGISTERUTILITIESREQUEST.fields_by_name['attribute'].message_type = bnet_dot_attribute__pb2._ATTRIBUTE +_REGISTERUTILITIESREQUEST.fields_by_name['state'].message_type = bnet_dot_server__pool__types__pb2._SERVERSTATE +_CHANGEGAMEREQUEST.fields_by_name['game_handle'].message_type = bnet_dot_game__master__types__pb2._GAMEHANDLE +_CHANGEGAMEREQUEST.fields_by_name['attribute'].message_type = bnet_dot_attribute__pb2._ATTRIBUTE +_GETFACTORYINFORESPONSE.fields_by_name['attribute'].message_type = bnet_dot_attribute__pb2._ATTRIBUTE +_GETFACTORYINFORESPONSE.fields_by_name['stats_bucket'].message_type = bnet_dot_game__master__types__pb2._GAMESTATSBUCKET +_GETGAMESTATSREQUEST.fields_by_name['filter'].message_type = bnet_dot_attribute__pb2._ATTRIBUTEFILTER +_GETGAMESTATSRESPONSE.fields_by_name['stats_bucket'].message_type = bnet_dot_game__master__types__pb2._GAMESTATSBUCKET _FACTORYUPDATENOTIFICATION.fields_by_name['op'].enum_type = _FACTORYUPDATENOTIFICATION_OPERATION -_FACTORYUPDATENOTIFICATION.fields_by_name['description'].message_type = bnet.game_master_types_pb2._GAMEFACTORYDESCRIPTION +_FACTORYUPDATENOTIFICATION.fields_by_name['description'].message_type = bnet_dot_game__master__types__pb2._GAMEFACTORYDESCRIPTION _FACTORYUPDATENOTIFICATION_OPERATION.containing_type = _FACTORYUPDATENOTIFICATION -_GAMEFOUNDNOTIFICATION.fields_by_name['game_handle'].message_type = bnet.game_master_types_pb2._GAMEHANDLE -_GAMEFOUNDNOTIFICATION.fields_by_name['connect_info'].message_type = bnet.game_master_types_pb2._CONNECTINFO +_GAMEFOUNDNOTIFICATION.fields_by_name['game_handle'].message_type = bnet_dot_game__master__types__pb2._GAMEHANDLE +_GAMEFOUNDNOTIFICATION.fields_by_name['connect_info'].message_type = bnet_dot_game__master__types__pb2._CONNECTINFO DESCRIPTOR.message_types_by_name['JoinGameRequest'] = _JOINGAMEREQUEST DESCRIPTOR.message_types_by_name['JoinGameResponse'] = _JOINGAMERESPONSE DESCRIPTOR.message_types_by_name['ListFactoriesRequest'] = _LISTFACTORIESREQUEST @@ -967,159 +988,160 @@ DESCRIPTOR.message_types_by_name['GetGameStatsResponse'] = _GETGAMESTATSRESPONSE DESCRIPTOR.message_types_by_name['FactoryUpdateNotification'] = _FACTORYUPDATENOTIFICATION DESCRIPTOR.message_types_by_name['GameFoundNotification'] = _GAMEFOUNDNOTIFICATION +_sym_db.RegisterFileDescriptor(DESCRIPTOR) -JoinGameRequest = _reflection.GeneratedProtocolMessageType('JoinGameRequest', (_message.Message,), dict( - DESCRIPTOR = _JOINGAMEREQUEST, - __module__ = 'bnet.game_master_service_pb2' +JoinGameRequest = _reflection.GeneratedProtocolMessageType('JoinGameRequest', (_message.Message,), { + 'DESCRIPTOR' : _JOINGAMEREQUEST, + '__module__' : 'bnet.game_master_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.game_master.JoinGameRequest) - )) + }) _sym_db.RegisterMessage(JoinGameRequest) -JoinGameResponse = _reflection.GeneratedProtocolMessageType('JoinGameResponse', (_message.Message,), dict( - DESCRIPTOR = _JOINGAMERESPONSE, - __module__ = 'bnet.game_master_service_pb2' +JoinGameResponse = _reflection.GeneratedProtocolMessageType('JoinGameResponse', (_message.Message,), { + 'DESCRIPTOR' : _JOINGAMERESPONSE, + '__module__' : 'bnet.game_master_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.game_master.JoinGameResponse) - )) + }) _sym_db.RegisterMessage(JoinGameResponse) -ListFactoriesRequest = _reflection.GeneratedProtocolMessageType('ListFactoriesRequest', (_message.Message,), dict( - DESCRIPTOR = _LISTFACTORIESREQUEST, - __module__ = 'bnet.game_master_service_pb2' +ListFactoriesRequest = _reflection.GeneratedProtocolMessageType('ListFactoriesRequest', (_message.Message,), { + 'DESCRIPTOR' : _LISTFACTORIESREQUEST, + '__module__' : 'bnet.game_master_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.game_master.ListFactoriesRequest) - )) + }) _sym_db.RegisterMessage(ListFactoriesRequest) -ListFactoriesResponse = _reflection.GeneratedProtocolMessageType('ListFactoriesResponse', (_message.Message,), dict( - DESCRIPTOR = _LISTFACTORIESRESPONSE, - __module__ = 'bnet.game_master_service_pb2' +ListFactoriesResponse = _reflection.GeneratedProtocolMessageType('ListFactoriesResponse', (_message.Message,), { + 'DESCRIPTOR' : _LISTFACTORIESRESPONSE, + '__module__' : 'bnet.game_master_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.game_master.ListFactoriesResponse) - )) + }) _sym_db.RegisterMessage(ListFactoriesResponse) -FindGameRequest = _reflection.GeneratedProtocolMessageType('FindGameRequest', (_message.Message,), dict( - DESCRIPTOR = _FINDGAMEREQUEST, - __module__ = 'bnet.game_master_service_pb2' +FindGameRequest = _reflection.GeneratedProtocolMessageType('FindGameRequest', (_message.Message,), { + 'DESCRIPTOR' : _FINDGAMEREQUEST, + '__module__' : 'bnet.game_master_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.game_master.FindGameRequest) - )) + }) _sym_db.RegisterMessage(FindGameRequest) -FindGameResponse = _reflection.GeneratedProtocolMessageType('FindGameResponse', (_message.Message,), dict( - DESCRIPTOR = _FINDGAMERESPONSE, - __module__ = 'bnet.game_master_service_pb2' +FindGameResponse = _reflection.GeneratedProtocolMessageType('FindGameResponse', (_message.Message,), { + 'DESCRIPTOR' : _FINDGAMERESPONSE, + '__module__' : 'bnet.game_master_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.game_master.FindGameResponse) - )) + }) _sym_db.RegisterMessage(FindGameResponse) -GameEndedNotification = _reflection.GeneratedProtocolMessageType('GameEndedNotification', (_message.Message,), dict( - DESCRIPTOR = _GAMEENDEDNOTIFICATION, - __module__ = 'bnet.game_master_service_pb2' +GameEndedNotification = _reflection.GeneratedProtocolMessageType('GameEndedNotification', (_message.Message,), { + 'DESCRIPTOR' : _GAMEENDEDNOTIFICATION, + '__module__' : 'bnet.game_master_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.game_master.GameEndedNotification) - )) + }) _sym_db.RegisterMessage(GameEndedNotification) -PlayerLeftNotification = _reflection.GeneratedProtocolMessageType('PlayerLeftNotification', (_message.Message,), dict( - DESCRIPTOR = _PLAYERLEFTNOTIFICATION, - __module__ = 'bnet.game_master_service_pb2' +PlayerLeftNotification = _reflection.GeneratedProtocolMessageType('PlayerLeftNotification', (_message.Message,), { + 'DESCRIPTOR' : _PLAYERLEFTNOTIFICATION, + '__module__' : 'bnet.game_master_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.game_master.PlayerLeftNotification) - )) + }) _sym_db.RegisterMessage(PlayerLeftNotification) -RegisterServerRequest = _reflection.GeneratedProtocolMessageType('RegisterServerRequest', (_message.Message,), dict( - DESCRIPTOR = _REGISTERSERVERREQUEST, - __module__ = 'bnet.game_master_service_pb2' +RegisterServerRequest = _reflection.GeneratedProtocolMessageType('RegisterServerRequest', (_message.Message,), { + 'DESCRIPTOR' : _REGISTERSERVERREQUEST, + '__module__' : 'bnet.game_master_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.game_master.RegisterServerRequest) - )) + }) _sym_db.RegisterMessage(RegisterServerRequest) -UnregisterServerRequest = _reflection.GeneratedProtocolMessageType('UnregisterServerRequest', (_message.Message,), dict( - DESCRIPTOR = _UNREGISTERSERVERREQUEST, - __module__ = 'bnet.game_master_service_pb2' +UnregisterServerRequest = _reflection.GeneratedProtocolMessageType('UnregisterServerRequest', (_message.Message,), { + 'DESCRIPTOR' : _UNREGISTERSERVERREQUEST, + '__module__' : 'bnet.game_master_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.game_master.UnregisterServerRequest) - )) + }) _sym_db.RegisterMessage(UnregisterServerRequest) -RegisterUtilitiesRequest = _reflection.GeneratedProtocolMessageType('RegisterUtilitiesRequest', (_message.Message,), dict( - DESCRIPTOR = _REGISTERUTILITIESREQUEST, - __module__ = 'bnet.game_master_service_pb2' +RegisterUtilitiesRequest = _reflection.GeneratedProtocolMessageType('RegisterUtilitiesRequest', (_message.Message,), { + 'DESCRIPTOR' : _REGISTERUTILITIESREQUEST, + '__module__' : 'bnet.game_master_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.game_master.RegisterUtilitiesRequest) - )) + }) _sym_db.RegisterMessage(RegisterUtilitiesRequest) -UnregisterUtilitiesRequest = _reflection.GeneratedProtocolMessageType('UnregisterUtilitiesRequest', (_message.Message,), dict( - DESCRIPTOR = _UNREGISTERUTILITIESREQUEST, - __module__ = 'bnet.game_master_service_pb2' +UnregisterUtilitiesRequest = _reflection.GeneratedProtocolMessageType('UnregisterUtilitiesRequest', (_message.Message,), { + 'DESCRIPTOR' : _UNREGISTERUTILITIESREQUEST, + '__module__' : 'bnet.game_master_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.game_master.UnregisterUtilitiesRequest) - )) + }) _sym_db.RegisterMessage(UnregisterUtilitiesRequest) -SubscribeRequest = _reflection.GeneratedProtocolMessageType('SubscribeRequest', (_message.Message,), dict( - DESCRIPTOR = _SUBSCRIBEREQUEST, - __module__ = 'bnet.game_master_service_pb2' +SubscribeRequest = _reflection.GeneratedProtocolMessageType('SubscribeRequest', (_message.Message,), { + 'DESCRIPTOR' : _SUBSCRIBEREQUEST, + '__module__' : 'bnet.game_master_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.game_master.SubscribeRequest) - )) + }) _sym_db.RegisterMessage(SubscribeRequest) -SubscribeResponse = _reflection.GeneratedProtocolMessageType('SubscribeResponse', (_message.Message,), dict( - DESCRIPTOR = _SUBSCRIBERESPONSE, - __module__ = 'bnet.game_master_service_pb2' +SubscribeResponse = _reflection.GeneratedProtocolMessageType('SubscribeResponse', (_message.Message,), { + 'DESCRIPTOR' : _SUBSCRIBERESPONSE, + '__module__' : 'bnet.game_master_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.game_master.SubscribeResponse) - )) + }) _sym_db.RegisterMessage(SubscribeResponse) -UnsubscribeRequest = _reflection.GeneratedProtocolMessageType('UnsubscribeRequest', (_message.Message,), dict( - DESCRIPTOR = _UNSUBSCRIBEREQUEST, - __module__ = 'bnet.game_master_service_pb2' +UnsubscribeRequest = _reflection.GeneratedProtocolMessageType('UnsubscribeRequest', (_message.Message,), { + 'DESCRIPTOR' : _UNSUBSCRIBEREQUEST, + '__module__' : 'bnet.game_master_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.game_master.UnsubscribeRequest) - )) + }) _sym_db.RegisterMessage(UnsubscribeRequest) -ChangeGameRequest = _reflection.GeneratedProtocolMessageType('ChangeGameRequest', (_message.Message,), dict( - DESCRIPTOR = _CHANGEGAMEREQUEST, - __module__ = 'bnet.game_master_service_pb2' +ChangeGameRequest = _reflection.GeneratedProtocolMessageType('ChangeGameRequest', (_message.Message,), { + 'DESCRIPTOR' : _CHANGEGAMEREQUEST, + '__module__' : 'bnet.game_master_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.game_master.ChangeGameRequest) - )) + }) _sym_db.RegisterMessage(ChangeGameRequest) -GetFactoryInfoRequest = _reflection.GeneratedProtocolMessageType('GetFactoryInfoRequest', (_message.Message,), dict( - DESCRIPTOR = _GETFACTORYINFOREQUEST, - __module__ = 'bnet.game_master_service_pb2' +GetFactoryInfoRequest = _reflection.GeneratedProtocolMessageType('GetFactoryInfoRequest', (_message.Message,), { + 'DESCRIPTOR' : _GETFACTORYINFOREQUEST, + '__module__' : 'bnet.game_master_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.game_master.GetFactoryInfoRequest) - )) + }) _sym_db.RegisterMessage(GetFactoryInfoRequest) -GetFactoryInfoResponse = _reflection.GeneratedProtocolMessageType('GetFactoryInfoResponse', (_message.Message,), dict( - DESCRIPTOR = _GETFACTORYINFORESPONSE, - __module__ = 'bnet.game_master_service_pb2' +GetFactoryInfoResponse = _reflection.GeneratedProtocolMessageType('GetFactoryInfoResponse', (_message.Message,), { + 'DESCRIPTOR' : _GETFACTORYINFORESPONSE, + '__module__' : 'bnet.game_master_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.game_master.GetFactoryInfoResponse) - )) + }) _sym_db.RegisterMessage(GetFactoryInfoResponse) -GetGameStatsRequest = _reflection.GeneratedProtocolMessageType('GetGameStatsRequest', (_message.Message,), dict( - DESCRIPTOR = _GETGAMESTATSREQUEST, - __module__ = 'bnet.game_master_service_pb2' +GetGameStatsRequest = _reflection.GeneratedProtocolMessageType('GetGameStatsRequest', (_message.Message,), { + 'DESCRIPTOR' : _GETGAMESTATSREQUEST, + '__module__' : 'bnet.game_master_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.game_master.GetGameStatsRequest) - )) + }) _sym_db.RegisterMessage(GetGameStatsRequest) -GetGameStatsResponse = _reflection.GeneratedProtocolMessageType('GetGameStatsResponse', (_message.Message,), dict( - DESCRIPTOR = _GETGAMESTATSRESPONSE, - __module__ = 'bnet.game_master_service_pb2' +GetGameStatsResponse = _reflection.GeneratedProtocolMessageType('GetGameStatsResponse', (_message.Message,), { + 'DESCRIPTOR' : _GETGAMESTATSRESPONSE, + '__module__' : 'bnet.game_master_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.game_master.GetGameStatsResponse) - )) + }) _sym_db.RegisterMessage(GetGameStatsResponse) -FactoryUpdateNotification = _reflection.GeneratedProtocolMessageType('FactoryUpdateNotification', (_message.Message,), dict( - DESCRIPTOR = _FACTORYUPDATENOTIFICATION, - __module__ = 'bnet.game_master_service_pb2' +FactoryUpdateNotification = _reflection.GeneratedProtocolMessageType('FactoryUpdateNotification', (_message.Message,), { + 'DESCRIPTOR' : _FACTORYUPDATENOTIFICATION, + '__module__' : 'bnet.game_master_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.game_master.FactoryUpdateNotification) - )) + }) _sym_db.RegisterMessage(FactoryUpdateNotification) -GameFoundNotification = _reflection.GeneratedProtocolMessageType('GameFoundNotification', (_message.Message,), dict( - DESCRIPTOR = _GAMEFOUNDNOTIFICATION, - __module__ = 'bnet.game_master_service_pb2' +GameFoundNotification = _reflection.GeneratedProtocolMessageType('GameFoundNotification', (_message.Message,), { + 'DESCRIPTOR' : _GAMEFOUNDNOTIFICATION, + '__module__' : 'bnet.game_master_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.game_master.GameFoundNotification) - )) + }) _sym_db.RegisterMessage(GameFoundNotification) diff --git a/src/bnet/game_master_types.proto b/src/bnet/game_master_types.proto new file mode 100644 index 0000000..25faedc --- /dev/null +++ b/src/bnet/game_master_types.proto @@ -0,0 +1,52 @@ +package bnet.protocol.game_master; +import "bnet/attribute.proto"; +import "bnet/entity.proto"; + + +message Player { + optional Identity identity = 1; + repeated attribute.Attribute attribute = 2; +} + +message ConnectInfo { + required EntityId member_id = 1; + required string host = 2; + required int32 port = 3; + optional bytes token = 4; + repeated attribute.Attribute attribute = 5; +} + +message GameStatsBucket { + optional float bucket_min = 1 [default = 0]; + optional float bucket_max = 2 [default = 4.294967E+09]; + optional uint32 wait_milliseconds = 3 [default = 0]; + optional uint32 games_per_hour = 4 [default = 0]; + optional uint32 active_games = 5 [default = 0]; + optional uint32 active_players = 6 [default = 0]; + optional uint32 forming_games = 7 [default = 0]; + optional uint32 waiting_players = 8 [default = 0]; + optional uint32 open_joinable_games = 9 [default = 0]; + optional uint32 players_in_open_joinable_games = 10 [default = 0]; + optional uint32 open_games_total = 11 [default = 0]; + optional uint32 players_in_open_games_total = 12 [default = 0]; +} + +message GameFactoryDescription { + required fixed64 id = 1; + optional string name = 2; + repeated attribute.Attribute attribute = 3; + repeated GameStatsBucket stats_bucket = 4; + optional fixed64 unseeded_id = 5 [default = 0]; + optional bool allow_queueing = 6 [default = true]; +} + +message GameHandle { + required fixed64 factory_id = 1; + required EntityId game_id = 2; +} + +message CancelGameEntryRequest { + required fixed64 request_id = 1; + optional fixed64 factory_id = 2; + repeated Player player = 3; +} diff --git a/src/bnet/game_master_types_pb2.py b/src/bnet/game_master_types_pb2.py index 2b30bcc..0a53bdb 100644 --- a/src/bnet/game_master_types_pb2.py +++ b/src/bnet/game_master_types_pb2.py @@ -1,29 +1,28 @@ +# -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: bnet/game_master_types.proto -import sys -_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message from google.protobuf import reflection as _reflection from google.protobuf import symbol_database as _symbol_database -from google.protobuf import descriptor_pb2 # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() -import bnet.attribute_pb2 -import bnet.entity_pb2 +from bnet import attribute_pb2 as bnet_dot_attribute__pb2 +from bnet import entity_pb2 as bnet_dot_entity__pb2 DESCRIPTOR = _descriptor.FileDescriptor( name='bnet/game_master_types.proto', package='bnet.protocol.game_master', - serialized_pb=_b('\n\x1c\x62net/game_master_types.proto\x12\x19\x62net.protocol.game_master\x1a\x14\x62net/attribute.proto\x1a\x11\x62net/entity.proto\"j\n\x06Player\x12)\n\x08identity\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.Identity\x12\x35\n\tattribute\x18\x02 \x03(\x0b\x32\".bnet.protocol.attribute.Attribute\"\x9b\x01\n\x0b\x43onnectInfo\x12*\n\tmember_id\x18\x01 \x02(\x0b\x32\x17.bnet.protocol.EntityId\x12\x0c\n\x04host\x18\x02 \x02(\t\x12\x0c\n\x04port\x18\x03 \x02(\x05\x12\r\n\x05token\x18\x04 \x01(\x0c\x12\x35\n\tattribute\x18\x05 \x03(\x0b\x32\".bnet.protocol.attribute.Attribute\"\xfd\x02\n\x0fGameStatsBucket\x12\x15\n\nbucket_min\x18\x01 \x01(\x02:\x01\x30\x12 \n\nbucket_max\x18\x02 \x01(\x02:\x0c\x34.294967e+09\x12\x1c\n\x11wait_milliseconds\x18\x03 \x01(\r:\x01\x30\x12\x19\n\x0egames_per_hour\x18\x04 \x01(\r:\x01\x30\x12\x17\n\x0c\x61\x63tive_games\x18\x05 \x01(\r:\x01\x30\x12\x19\n\x0e\x61\x63tive_players\x18\x06 \x01(\r:\x01\x30\x12\x18\n\rforming_games\x18\x07 \x01(\r:\x01\x30\x12\x1a\n\x0fwaiting_players\x18\x08 \x01(\r:\x01\x30\x12\x1e\n\x13open_joinable_games\x18\t \x01(\r:\x01\x30\x12)\n\x1eplayers_in_open_joinable_games\x18\n \x01(\r:\x01\x30\x12\x1b\n\x10open_games_total\x18\x0b \x01(\r:\x01\x30\x12&\n\x1bplayers_in_open_games_total\x18\x0c \x01(\r:\x01\x30\"\xe1\x01\n\x16GameFactoryDescription\x12\n\n\x02id\x18\x01 \x02(\x06\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x35\n\tattribute\x18\x03 \x03(\x0b\x32\".bnet.protocol.attribute.Attribute\x12@\n\x0cstats_bucket\x18\x04 \x03(\x0b\x32*.bnet.protocol.game_master.GameStatsBucket\x12\x16\n\x0bunseeded_id\x18\x05 \x01(\x06:\x01\x30\x12\x1c\n\x0e\x61llow_queueing\x18\x06 \x01(\x08:\x04true\"J\n\nGameHandle\x12\x12\n\nfactory_id\x18\x01 \x02(\x06\x12(\n\x07game_id\x18\x02 \x02(\x0b\x32\x17.bnet.protocol.EntityId\"s\n\x16\x43\x61ncelGameEntryRequest\x12\x12\n\nrequest_id\x18\x01 \x02(\x06\x12\x12\n\nfactory_id\x18\x02 \x01(\x06\x12\x31\n\x06player\x18\x03 \x03(\x0b\x32!.bnet.protocol.game_master.Player') + syntax='proto2', + serialized_options=None, + serialized_pb=b'\n\x1c\x62net/game_master_types.proto\x12\x19\x62net.protocol.game_master\x1a\x14\x62net/attribute.proto\x1a\x11\x62net/entity.proto\"j\n\x06Player\x12)\n\x08identity\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.Identity\x12\x35\n\tattribute\x18\x02 \x03(\x0b\x32\".bnet.protocol.attribute.Attribute\"\x9b\x01\n\x0b\x43onnectInfo\x12*\n\tmember_id\x18\x01 \x02(\x0b\x32\x17.bnet.protocol.EntityId\x12\x0c\n\x04host\x18\x02 \x02(\t\x12\x0c\n\x04port\x18\x03 \x02(\x05\x12\r\n\x05token\x18\x04 \x01(\x0c\x12\x35\n\tattribute\x18\x05 \x03(\x0b\x32\".bnet.protocol.attribute.Attribute\"\xff\x02\n\x0fGameStatsBucket\x12\x15\n\nbucket_min\x18\x01 \x01(\x02:\x01\x30\x12\"\n\nbucket_max\x18\x02 \x01(\x02:\x0e\x34.29496704e+09\x12\x1c\n\x11wait_milliseconds\x18\x03 \x01(\r:\x01\x30\x12\x19\n\x0egames_per_hour\x18\x04 \x01(\r:\x01\x30\x12\x17\n\x0c\x61\x63tive_games\x18\x05 \x01(\r:\x01\x30\x12\x19\n\x0e\x61\x63tive_players\x18\x06 \x01(\r:\x01\x30\x12\x18\n\rforming_games\x18\x07 \x01(\r:\x01\x30\x12\x1a\n\x0fwaiting_players\x18\x08 \x01(\r:\x01\x30\x12\x1e\n\x13open_joinable_games\x18\t \x01(\r:\x01\x30\x12)\n\x1eplayers_in_open_joinable_games\x18\n \x01(\r:\x01\x30\x12\x1b\n\x10open_games_total\x18\x0b \x01(\r:\x01\x30\x12&\n\x1bplayers_in_open_games_total\x18\x0c \x01(\r:\x01\x30\"\xe1\x01\n\x16GameFactoryDescription\x12\n\n\x02id\x18\x01 \x02(\x06\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x35\n\tattribute\x18\x03 \x03(\x0b\x32\".bnet.protocol.attribute.Attribute\x12@\n\x0cstats_bucket\x18\x04 \x03(\x0b\x32*.bnet.protocol.game_master.GameStatsBucket\x12\x16\n\x0bunseeded_id\x18\x05 \x01(\x06:\x01\x30\x12\x1c\n\x0e\x61llow_queueing\x18\x06 \x01(\x08:\x04true\"J\n\nGameHandle\x12\x12\n\nfactory_id\x18\x01 \x02(\x06\x12(\n\x07game_id\x18\x02 \x02(\x0b\x32\x17.bnet.protocol.EntityId\"s\n\x16\x43\x61ncelGameEntryRequest\x12\x12\n\nrequest_id\x18\x01 \x02(\x06\x12\x12\n\nfactory_id\x18\x02 \x01(\x06\x12\x31\n\x06player\x18\x03 \x03(\x0b\x32!.bnet.protocol.game_master.Player' , - dependencies=[bnet.attribute_pb2.DESCRIPTOR,bnet.entity_pb2.DESCRIPTOR,]) -_sym_db.RegisterFileDescriptor(DESCRIPTOR) + dependencies=[bnet_dot_attribute__pb2.DESCRIPTOR,bnet_dot_entity__pb2.DESCRIPTOR,]) @@ -41,22 +40,23 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='attribute', full_name='bnet.protocol.game_master.Player.attribute', index=1, number=2, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -78,43 +78,44 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='host', full_name='bnet.protocol.game_master.ConnectInfo.host', index=1, number=2, type=9, cpp_type=9, label=2, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='port', full_name='bnet.protocol.game_master.ConnectInfo.port', index=2, number=3, type=5, cpp_type=1, label=2, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='token', full_name='bnet.protocol.game_master.ConnectInfo.token', index=3, number=4, type=12, cpp_type=9, label=1, - has_default_value=False, default_value=_b(""), + has_default_value=False, default_value=b"", message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='attribute', full_name='bnet.protocol.game_master.ConnectInfo.attribute', index=4, number=5, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -133,100 +134,101 @@ _descriptor.FieldDescriptor( name='bucket_min', full_name='bnet.protocol.game_master.GameStatsBucket.bucket_min', index=0, number=1, type=2, cpp_type=6, label=1, - has_default_value=True, default_value=0, + has_default_value=True, default_value=float(0), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='bucket_max', full_name='bnet.protocol.game_master.GameStatsBucket.bucket_max', index=1, number=2, type=2, cpp_type=6, label=1, - has_default_value=True, default_value=4.294967e+09, + has_default_value=True, default_value=float(4.29496704e+09), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='wait_milliseconds', full_name='bnet.protocol.game_master.GameStatsBucket.wait_milliseconds', index=2, number=3, type=13, cpp_type=3, label=1, has_default_value=True, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='games_per_hour', full_name='bnet.protocol.game_master.GameStatsBucket.games_per_hour', index=3, number=4, type=13, cpp_type=3, label=1, has_default_value=True, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='active_games', full_name='bnet.protocol.game_master.GameStatsBucket.active_games', index=4, number=5, type=13, cpp_type=3, label=1, has_default_value=True, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='active_players', full_name='bnet.protocol.game_master.GameStatsBucket.active_players', index=5, number=6, type=13, cpp_type=3, label=1, has_default_value=True, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='forming_games', full_name='bnet.protocol.game_master.GameStatsBucket.forming_games', index=6, number=7, type=13, cpp_type=3, label=1, has_default_value=True, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='waiting_players', full_name='bnet.protocol.game_master.GameStatsBucket.waiting_players', index=7, number=8, type=13, cpp_type=3, label=1, has_default_value=True, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='open_joinable_games', full_name='bnet.protocol.game_master.GameStatsBucket.open_joinable_games', index=8, number=9, type=13, cpp_type=3, label=1, has_default_value=True, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='players_in_open_joinable_games', full_name='bnet.protocol.game_master.GameStatsBucket.players_in_open_joinable_games', index=9, number=10, type=13, cpp_type=3, label=1, has_default_value=True, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='open_games_total', full_name='bnet.protocol.game_master.GameStatsBucket.open_games_total', index=10, number=11, type=13, cpp_type=3, label=1, has_default_value=True, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='players_in_open_games_total', full_name='bnet.protocol.game_master.GameStatsBucket.players_in_open_games_total', index=11, number=12, type=13, cpp_type=3, label=1, has_default_value=True, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], serialized_start=367, - serialized_end=748, + serialized_end=750, ) @@ -243,55 +245,56 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='name', full_name='bnet.protocol.game_master.GameFactoryDescription.name', index=1, number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='attribute', full_name='bnet.protocol.game_master.GameFactoryDescription.attribute', index=2, number=3, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='stats_bucket', full_name='bnet.protocol.game_master.GameFactoryDescription.stats_bucket', index=3, number=4, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='unseeded_id', full_name='bnet.protocol.game_master.GameFactoryDescription.unseeded_id', index=4, number=5, type=6, cpp_type=4, label=1, has_default_value=True, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='allow_queueing', full_name='bnet.protocol.game_master.GameFactoryDescription.allow_queueing', index=5, number=6, type=8, cpp_type=7, label=1, has_default_value=True, default_value=True, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], - serialized_start=751, - serialized_end=976, + serialized_start=753, + serialized_end=978, ) @@ -308,27 +311,28 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='game_id', full_name='bnet.protocol.game_master.GameHandle.game_id', index=1, number=2, type=11, cpp_type=10, label=2, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], - serialized_start=978, - serialized_end=1052, + serialized_start=980, + serialized_end=1054, ) @@ -345,43 +349,44 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='factory_id', full_name='bnet.protocol.game_master.CancelGameEntryRequest.factory_id', index=1, number=2, type=6, cpp_type=4, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='player', full_name='bnet.protocol.game_master.CancelGameEntryRequest.player', index=2, number=3, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], - serialized_start=1054, - serialized_end=1169, + serialized_start=1056, + serialized_end=1171, ) -_PLAYER.fields_by_name['identity'].message_type = bnet.entity_pb2._IDENTITY -_PLAYER.fields_by_name['attribute'].message_type = bnet.attribute_pb2._ATTRIBUTE -_CONNECTINFO.fields_by_name['member_id'].message_type = bnet.entity_pb2._ENTITYID -_CONNECTINFO.fields_by_name['attribute'].message_type = bnet.attribute_pb2._ATTRIBUTE -_GAMEFACTORYDESCRIPTION.fields_by_name['attribute'].message_type = bnet.attribute_pb2._ATTRIBUTE +_PLAYER.fields_by_name['identity'].message_type = bnet_dot_entity__pb2._IDENTITY +_PLAYER.fields_by_name['attribute'].message_type = bnet_dot_attribute__pb2._ATTRIBUTE +_CONNECTINFO.fields_by_name['member_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_CONNECTINFO.fields_by_name['attribute'].message_type = bnet_dot_attribute__pb2._ATTRIBUTE +_GAMEFACTORYDESCRIPTION.fields_by_name['attribute'].message_type = bnet_dot_attribute__pb2._ATTRIBUTE _GAMEFACTORYDESCRIPTION.fields_by_name['stats_bucket'].message_type = _GAMESTATSBUCKET -_GAMEHANDLE.fields_by_name['game_id'].message_type = bnet.entity_pb2._ENTITYID +_GAMEHANDLE.fields_by_name['game_id'].message_type = bnet_dot_entity__pb2._ENTITYID _CANCELGAMEENTRYREQUEST.fields_by_name['player'].message_type = _PLAYER DESCRIPTOR.message_types_by_name['Player'] = _PLAYER DESCRIPTOR.message_types_by_name['ConnectInfo'] = _CONNECTINFO @@ -389,47 +394,48 @@ DESCRIPTOR.message_types_by_name['GameFactoryDescription'] = _GAMEFACTORYDESCRIPTION DESCRIPTOR.message_types_by_name['GameHandle'] = _GAMEHANDLE DESCRIPTOR.message_types_by_name['CancelGameEntryRequest'] = _CANCELGAMEENTRYREQUEST +_sym_db.RegisterFileDescriptor(DESCRIPTOR) -Player = _reflection.GeneratedProtocolMessageType('Player', (_message.Message,), dict( - DESCRIPTOR = _PLAYER, - __module__ = 'bnet.game_master_types_pb2' +Player = _reflection.GeneratedProtocolMessageType('Player', (_message.Message,), { + 'DESCRIPTOR' : _PLAYER, + '__module__' : 'bnet.game_master_types_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.game_master.Player) - )) + }) _sym_db.RegisterMessage(Player) -ConnectInfo = _reflection.GeneratedProtocolMessageType('ConnectInfo', (_message.Message,), dict( - DESCRIPTOR = _CONNECTINFO, - __module__ = 'bnet.game_master_types_pb2' +ConnectInfo = _reflection.GeneratedProtocolMessageType('ConnectInfo', (_message.Message,), { + 'DESCRIPTOR' : _CONNECTINFO, + '__module__' : 'bnet.game_master_types_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.game_master.ConnectInfo) - )) + }) _sym_db.RegisterMessage(ConnectInfo) -GameStatsBucket = _reflection.GeneratedProtocolMessageType('GameStatsBucket', (_message.Message,), dict( - DESCRIPTOR = _GAMESTATSBUCKET, - __module__ = 'bnet.game_master_types_pb2' +GameStatsBucket = _reflection.GeneratedProtocolMessageType('GameStatsBucket', (_message.Message,), { + 'DESCRIPTOR' : _GAMESTATSBUCKET, + '__module__' : 'bnet.game_master_types_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.game_master.GameStatsBucket) - )) + }) _sym_db.RegisterMessage(GameStatsBucket) -GameFactoryDescription = _reflection.GeneratedProtocolMessageType('GameFactoryDescription', (_message.Message,), dict( - DESCRIPTOR = _GAMEFACTORYDESCRIPTION, - __module__ = 'bnet.game_master_types_pb2' +GameFactoryDescription = _reflection.GeneratedProtocolMessageType('GameFactoryDescription', (_message.Message,), { + 'DESCRIPTOR' : _GAMEFACTORYDESCRIPTION, + '__module__' : 'bnet.game_master_types_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.game_master.GameFactoryDescription) - )) + }) _sym_db.RegisterMessage(GameFactoryDescription) -GameHandle = _reflection.GeneratedProtocolMessageType('GameHandle', (_message.Message,), dict( - DESCRIPTOR = _GAMEHANDLE, - __module__ = 'bnet.game_master_types_pb2' +GameHandle = _reflection.GeneratedProtocolMessageType('GameHandle', (_message.Message,), { + 'DESCRIPTOR' : _GAMEHANDLE, + '__module__' : 'bnet.game_master_types_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.game_master.GameHandle) - )) + }) _sym_db.RegisterMessage(GameHandle) -CancelGameEntryRequest = _reflection.GeneratedProtocolMessageType('CancelGameEntryRequest', (_message.Message,), dict( - DESCRIPTOR = _CANCELGAMEENTRYREQUEST, - __module__ = 'bnet.game_master_types_pb2' +CancelGameEntryRequest = _reflection.GeneratedProtocolMessageType('CancelGameEntryRequest', (_message.Message,), { + 'DESCRIPTOR' : _CANCELGAMEENTRYREQUEST, + '__module__' : 'bnet.game_master_types_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.game_master.CancelGameEntryRequest) - )) + }) _sym_db.RegisterMessage(CancelGameEntryRequest) diff --git a/src/bnet/game_utilities_service.proto b/src/bnet/game_utilities_service.proto new file mode 100644 index 0000000..f432686 --- /dev/null +++ b/src/bnet/game_utilities_service.proto @@ -0,0 +1,53 @@ +package bnet.protocol.game_utilities; +import "bnet/attribute.proto"; +import "bnet/entity.proto"; +import "bnet/game_utilities_types.proto"; +import "bnet/rpc.proto"; + + +message ClientRequest { + repeated attribute.Attribute attribute = 1; + optional ProcessId host = 2; + optional EntityId bnet_account_id = 3; + optional EntityId game_account_id = 4; +} + +message ClientResponse { + repeated attribute.Attribute attribute = 1; +} + +message ServerRequest { + repeated attribute.Attribute attribute = 1; + required fixed32 program = 2; + optional ProcessId host = 3; +} + +message ServerResponse { + repeated attribute.Attribute attribute = 1; +} + +message PresenceChannelCreatedRequest { + required EntityId id = 1; + optional EntityId game_account_id = 3; + optional EntityId bnet_account_id = 4; + optional ProcessId host = 5; +} + +message GetPlayerVariablesRequest { + repeated PlayerVariables player_variables = 1; + optional ProcessId host = 2; +} + +message GetPlayerVariablesResponse { + repeated PlayerVariables player_variables = 1; +} + +message GameAccountOnlineNotification { + required EntityId game_account_id = 1; + optional ProcessId host = 2; +} + +message GameAccountOfflineNotification { + required EntityId game_account_id = 1; + optional ProcessId host = 2; +} diff --git a/src/bnet/game_utilities_service_pb2.py b/src/bnet/game_utilities_service_pb2.py index 9650433..f26153c 100644 --- a/src/bnet/game_utilities_service_pb2.py +++ b/src/bnet/game_utilities_service_pb2.py @@ -1,31 +1,30 @@ +# -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: bnet/game_utilities_service.proto -import sys -_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message from google.protobuf import reflection as _reflection from google.protobuf import symbol_database as _symbol_database -from google.protobuf import descriptor_pb2 # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() -import bnet.attribute_pb2 -import bnet.entity_pb2 -import bnet.game_utilities_types_pb2 -import bnet.rpc_pb2 +from bnet import attribute_pb2 as bnet_dot_attribute__pb2 +from bnet import entity_pb2 as bnet_dot_entity__pb2 +from bnet import game_utilities_types_pb2 as bnet_dot_game__utilities__types__pb2 +from bnet import rpc_pb2 as bnet_dot_rpc__pb2 DESCRIPTOR = _descriptor.FileDescriptor( name='bnet/game_utilities_service.proto', package='bnet.protocol.game_utilities', - serialized_pb=_b('\n!bnet/game_utilities_service.proto\x12\x1c\x62net.protocol.game_utilities\x1a\x14\x62net/attribute.proto\x1a\x11\x62net/entity.proto\x1a\x1f\x62net/game_utilities_types.proto\x1a\x0e\x62net/rpc.proto\"\xd2\x01\n\rClientRequest\x12\x35\n\tattribute\x18\x01 \x03(\x0b\x32\".bnet.protocol.attribute.Attribute\x12&\n\x04host\x18\x02 \x01(\x0b\x32\x18.bnet.protocol.ProcessId\x12\x30\n\x0f\x62net_account_id\x18\x03 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12\x30\n\x0fgame_account_id\x18\x04 \x01(\x0b\x32\x17.bnet.protocol.EntityId\"G\n\x0e\x43lientResponse\x12\x35\n\tattribute\x18\x01 \x03(\x0b\x32\".bnet.protocol.attribute.Attribute\"\x7f\n\rServerRequest\x12\x35\n\tattribute\x18\x01 \x03(\x0b\x32\".bnet.protocol.attribute.Attribute\x12\x0f\n\x07program\x18\x02 \x02(\x07\x12&\n\x04host\x18\x03 \x01(\x0b\x32\x18.bnet.protocol.ProcessId\"G\n\x0eServerResponse\x12\x35\n\tattribute\x18\x01 \x03(\x0b\x32\".bnet.protocol.attribute.Attribute\"\xd0\x01\n\x1dPresenceChannelCreatedRequest\x12#\n\x02id\x18\x01 \x02(\x0b\x32\x17.bnet.protocol.EntityId\x12\x30\n\x0fgame_account_id\x18\x03 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12\x30\n\x0f\x62net_account_id\x18\x04 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12&\n\x04host\x18\x05 \x01(\x0b\x32\x18.bnet.protocol.ProcessId\"\x8c\x01\n\x19GetPlayerVariablesRequest\x12G\n\x10player_variables\x18\x01 \x03(\x0b\x32-.bnet.protocol.game_utilities.PlayerVariables\x12&\n\x04host\x18\x02 \x01(\x0b\x32\x18.bnet.protocol.ProcessId\"e\n\x1aGetPlayerVariablesResponse\x12G\n\x10player_variables\x18\x01 \x03(\x0b\x32-.bnet.protocol.game_utilities.PlayerVariables\"y\n\x1dGameAccountOnlineNotification\x12\x30\n\x0fgame_account_id\x18\x01 \x02(\x0b\x32\x17.bnet.protocol.EntityId\x12&\n\x04host\x18\x02 \x01(\x0b\x32\x18.bnet.protocol.ProcessId\"z\n\x1eGameAccountOfflineNotification\x12\x30\n\x0fgame_account_id\x18\x01 \x02(\x0b\x32\x17.bnet.protocol.EntityId\x12&\n\x04host\x18\x02 \x01(\x0b\x32\x18.bnet.protocol.ProcessId') + syntax='proto2', + serialized_options=None, + serialized_pb=b'\n!bnet/game_utilities_service.proto\x12\x1c\x62net.protocol.game_utilities\x1a\x14\x62net/attribute.proto\x1a\x11\x62net/entity.proto\x1a\x1f\x62net/game_utilities_types.proto\x1a\x0e\x62net/rpc.proto\"\xd2\x01\n\rClientRequest\x12\x35\n\tattribute\x18\x01 \x03(\x0b\x32\".bnet.protocol.attribute.Attribute\x12&\n\x04host\x18\x02 \x01(\x0b\x32\x18.bnet.protocol.ProcessId\x12\x30\n\x0f\x62net_account_id\x18\x03 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12\x30\n\x0fgame_account_id\x18\x04 \x01(\x0b\x32\x17.bnet.protocol.EntityId\"G\n\x0e\x43lientResponse\x12\x35\n\tattribute\x18\x01 \x03(\x0b\x32\".bnet.protocol.attribute.Attribute\"\x7f\n\rServerRequest\x12\x35\n\tattribute\x18\x01 \x03(\x0b\x32\".bnet.protocol.attribute.Attribute\x12\x0f\n\x07program\x18\x02 \x02(\x07\x12&\n\x04host\x18\x03 \x01(\x0b\x32\x18.bnet.protocol.ProcessId\"G\n\x0eServerResponse\x12\x35\n\tattribute\x18\x01 \x03(\x0b\x32\".bnet.protocol.attribute.Attribute\"\xd0\x01\n\x1dPresenceChannelCreatedRequest\x12#\n\x02id\x18\x01 \x02(\x0b\x32\x17.bnet.protocol.EntityId\x12\x30\n\x0fgame_account_id\x18\x03 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12\x30\n\x0f\x62net_account_id\x18\x04 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12&\n\x04host\x18\x05 \x01(\x0b\x32\x18.bnet.protocol.ProcessId\"\x8c\x01\n\x19GetPlayerVariablesRequest\x12G\n\x10player_variables\x18\x01 \x03(\x0b\x32-.bnet.protocol.game_utilities.PlayerVariables\x12&\n\x04host\x18\x02 \x01(\x0b\x32\x18.bnet.protocol.ProcessId\"e\n\x1aGetPlayerVariablesResponse\x12G\n\x10player_variables\x18\x01 \x03(\x0b\x32-.bnet.protocol.game_utilities.PlayerVariables\"y\n\x1dGameAccountOnlineNotification\x12\x30\n\x0fgame_account_id\x18\x01 \x02(\x0b\x32\x17.bnet.protocol.EntityId\x12&\n\x04host\x18\x02 \x01(\x0b\x32\x18.bnet.protocol.ProcessId\"z\n\x1eGameAccountOfflineNotification\x12\x30\n\x0fgame_account_id\x18\x01 \x02(\x0b\x32\x17.bnet.protocol.EntityId\x12&\n\x04host\x18\x02 \x01(\x0b\x32\x18.bnet.protocol.ProcessId' , - dependencies=[bnet.attribute_pb2.DESCRIPTOR,bnet.entity_pb2.DESCRIPTOR,bnet.game_utilities_types_pb2.DESCRIPTOR,bnet.rpc_pb2.DESCRIPTOR,]) -_sym_db.RegisterFileDescriptor(DESCRIPTOR) + dependencies=[bnet_dot_attribute__pb2.DESCRIPTOR,bnet_dot_entity__pb2.DESCRIPTOR,bnet_dot_game__utilities__types__pb2.DESCRIPTOR,bnet_dot_rpc__pb2.DESCRIPTOR,]) @@ -43,36 +42,37 @@ has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='host', full_name='bnet.protocol.game_utilities.ClientRequest.host', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='bnet_account_id', full_name='bnet.protocol.game_utilities.ClientRequest.bnet_account_id', index=2, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='game_account_id', full_name='bnet.protocol.game_utilities.ClientRequest.game_account_id', index=3, number=4, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -94,15 +94,16 @@ has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -124,29 +125,30 @@ has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='program', full_name='bnet.protocol.game_utilities.ServerRequest.program', index=1, number=2, type=7, cpp_type=3, label=2, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='host', full_name='bnet.protocol.game_utilities.ServerRequest.host', index=2, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -168,15 +170,16 @@ has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -198,36 +201,37 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='game_account_id', full_name='bnet.protocol.game_utilities.PresenceChannelCreatedRequest.game_account_id', index=1, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='bnet_account_id', full_name='bnet.protocol.game_utilities.PresenceChannelCreatedRequest.bnet_account_id', index=2, number=4, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='host', full_name='bnet.protocol.game_utilities.PresenceChannelCreatedRequest.host', index=3, number=5, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -249,22 +253,23 @@ has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='host', full_name='bnet.protocol.game_utilities.GetPlayerVariablesRequest.host', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -286,15 +291,16 @@ has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -316,22 +322,23 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='host', full_name='bnet.protocol.game_utilities.GameAccountOnlineNotification.host', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -353,22 +360,23 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='host', full_name='bnet.protocol.game_utilities.GameAccountOfflineNotification.host', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -376,25 +384,25 @@ serialized_end=1347, ) -_CLIENTREQUEST.fields_by_name['attribute'].message_type = bnet.attribute_pb2._ATTRIBUTE -_CLIENTREQUEST.fields_by_name['host'].message_type = bnet.rpc_pb2._PROCESSID -_CLIENTREQUEST.fields_by_name['bnet_account_id'].message_type = bnet.entity_pb2._ENTITYID -_CLIENTREQUEST.fields_by_name['game_account_id'].message_type = bnet.entity_pb2._ENTITYID -_CLIENTRESPONSE.fields_by_name['attribute'].message_type = bnet.attribute_pb2._ATTRIBUTE -_SERVERREQUEST.fields_by_name['attribute'].message_type = bnet.attribute_pb2._ATTRIBUTE -_SERVERREQUEST.fields_by_name['host'].message_type = bnet.rpc_pb2._PROCESSID -_SERVERRESPONSE.fields_by_name['attribute'].message_type = bnet.attribute_pb2._ATTRIBUTE -_PRESENCECHANNELCREATEDREQUEST.fields_by_name['id'].message_type = bnet.entity_pb2._ENTITYID -_PRESENCECHANNELCREATEDREQUEST.fields_by_name['game_account_id'].message_type = bnet.entity_pb2._ENTITYID -_PRESENCECHANNELCREATEDREQUEST.fields_by_name['bnet_account_id'].message_type = bnet.entity_pb2._ENTITYID -_PRESENCECHANNELCREATEDREQUEST.fields_by_name['host'].message_type = bnet.rpc_pb2._PROCESSID -_GETPLAYERVARIABLESREQUEST.fields_by_name['player_variables'].message_type = bnet.game_utilities_types_pb2._PLAYERVARIABLES -_GETPLAYERVARIABLESREQUEST.fields_by_name['host'].message_type = bnet.rpc_pb2._PROCESSID -_GETPLAYERVARIABLESRESPONSE.fields_by_name['player_variables'].message_type = bnet.game_utilities_types_pb2._PLAYERVARIABLES -_GAMEACCOUNTONLINENOTIFICATION.fields_by_name['game_account_id'].message_type = bnet.entity_pb2._ENTITYID -_GAMEACCOUNTONLINENOTIFICATION.fields_by_name['host'].message_type = bnet.rpc_pb2._PROCESSID -_GAMEACCOUNTOFFLINENOTIFICATION.fields_by_name['game_account_id'].message_type = bnet.entity_pb2._ENTITYID -_GAMEACCOUNTOFFLINENOTIFICATION.fields_by_name['host'].message_type = bnet.rpc_pb2._PROCESSID +_CLIENTREQUEST.fields_by_name['attribute'].message_type = bnet_dot_attribute__pb2._ATTRIBUTE +_CLIENTREQUEST.fields_by_name['host'].message_type = bnet_dot_rpc__pb2._PROCESSID +_CLIENTREQUEST.fields_by_name['bnet_account_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_CLIENTREQUEST.fields_by_name['game_account_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_CLIENTRESPONSE.fields_by_name['attribute'].message_type = bnet_dot_attribute__pb2._ATTRIBUTE +_SERVERREQUEST.fields_by_name['attribute'].message_type = bnet_dot_attribute__pb2._ATTRIBUTE +_SERVERREQUEST.fields_by_name['host'].message_type = bnet_dot_rpc__pb2._PROCESSID +_SERVERRESPONSE.fields_by_name['attribute'].message_type = bnet_dot_attribute__pb2._ATTRIBUTE +_PRESENCECHANNELCREATEDREQUEST.fields_by_name['id'].message_type = bnet_dot_entity__pb2._ENTITYID +_PRESENCECHANNELCREATEDREQUEST.fields_by_name['game_account_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_PRESENCECHANNELCREATEDREQUEST.fields_by_name['bnet_account_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_PRESENCECHANNELCREATEDREQUEST.fields_by_name['host'].message_type = bnet_dot_rpc__pb2._PROCESSID +_GETPLAYERVARIABLESREQUEST.fields_by_name['player_variables'].message_type = bnet_dot_game__utilities__types__pb2._PLAYERVARIABLES +_GETPLAYERVARIABLESREQUEST.fields_by_name['host'].message_type = bnet_dot_rpc__pb2._PROCESSID +_GETPLAYERVARIABLESRESPONSE.fields_by_name['player_variables'].message_type = bnet_dot_game__utilities__types__pb2._PLAYERVARIABLES +_GAMEACCOUNTONLINENOTIFICATION.fields_by_name['game_account_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_GAMEACCOUNTONLINENOTIFICATION.fields_by_name['host'].message_type = bnet_dot_rpc__pb2._PROCESSID +_GAMEACCOUNTOFFLINENOTIFICATION.fields_by_name['game_account_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_GAMEACCOUNTOFFLINENOTIFICATION.fields_by_name['host'].message_type = bnet_dot_rpc__pb2._PROCESSID DESCRIPTOR.message_types_by_name['ClientRequest'] = _CLIENTREQUEST DESCRIPTOR.message_types_by_name['ClientResponse'] = _CLIENTRESPONSE DESCRIPTOR.message_types_by_name['ServerRequest'] = _SERVERREQUEST @@ -404,68 +412,69 @@ DESCRIPTOR.message_types_by_name['GetPlayerVariablesResponse'] = _GETPLAYERVARIABLESRESPONSE DESCRIPTOR.message_types_by_name['GameAccountOnlineNotification'] = _GAMEACCOUNTONLINENOTIFICATION DESCRIPTOR.message_types_by_name['GameAccountOfflineNotification'] = _GAMEACCOUNTOFFLINENOTIFICATION +_sym_db.RegisterFileDescriptor(DESCRIPTOR) -ClientRequest = _reflection.GeneratedProtocolMessageType('ClientRequest', (_message.Message,), dict( - DESCRIPTOR = _CLIENTREQUEST, - __module__ = 'bnet.game_utilities_service_pb2' +ClientRequest = _reflection.GeneratedProtocolMessageType('ClientRequest', (_message.Message,), { + 'DESCRIPTOR' : _CLIENTREQUEST, + '__module__' : 'bnet.game_utilities_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.game_utilities.ClientRequest) - )) + }) _sym_db.RegisterMessage(ClientRequest) -ClientResponse = _reflection.GeneratedProtocolMessageType('ClientResponse', (_message.Message,), dict( - DESCRIPTOR = _CLIENTRESPONSE, - __module__ = 'bnet.game_utilities_service_pb2' +ClientResponse = _reflection.GeneratedProtocolMessageType('ClientResponse', (_message.Message,), { + 'DESCRIPTOR' : _CLIENTRESPONSE, + '__module__' : 'bnet.game_utilities_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.game_utilities.ClientResponse) - )) + }) _sym_db.RegisterMessage(ClientResponse) -ServerRequest = _reflection.GeneratedProtocolMessageType('ServerRequest', (_message.Message,), dict( - DESCRIPTOR = _SERVERREQUEST, - __module__ = 'bnet.game_utilities_service_pb2' +ServerRequest = _reflection.GeneratedProtocolMessageType('ServerRequest', (_message.Message,), { + 'DESCRIPTOR' : _SERVERREQUEST, + '__module__' : 'bnet.game_utilities_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.game_utilities.ServerRequest) - )) + }) _sym_db.RegisterMessage(ServerRequest) -ServerResponse = _reflection.GeneratedProtocolMessageType('ServerResponse', (_message.Message,), dict( - DESCRIPTOR = _SERVERRESPONSE, - __module__ = 'bnet.game_utilities_service_pb2' +ServerResponse = _reflection.GeneratedProtocolMessageType('ServerResponse', (_message.Message,), { + 'DESCRIPTOR' : _SERVERRESPONSE, + '__module__' : 'bnet.game_utilities_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.game_utilities.ServerResponse) - )) + }) _sym_db.RegisterMessage(ServerResponse) -PresenceChannelCreatedRequest = _reflection.GeneratedProtocolMessageType('PresenceChannelCreatedRequest', (_message.Message,), dict( - DESCRIPTOR = _PRESENCECHANNELCREATEDREQUEST, - __module__ = 'bnet.game_utilities_service_pb2' +PresenceChannelCreatedRequest = _reflection.GeneratedProtocolMessageType('PresenceChannelCreatedRequest', (_message.Message,), { + 'DESCRIPTOR' : _PRESENCECHANNELCREATEDREQUEST, + '__module__' : 'bnet.game_utilities_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.game_utilities.PresenceChannelCreatedRequest) - )) + }) _sym_db.RegisterMessage(PresenceChannelCreatedRequest) -GetPlayerVariablesRequest = _reflection.GeneratedProtocolMessageType('GetPlayerVariablesRequest', (_message.Message,), dict( - DESCRIPTOR = _GETPLAYERVARIABLESREQUEST, - __module__ = 'bnet.game_utilities_service_pb2' +GetPlayerVariablesRequest = _reflection.GeneratedProtocolMessageType('GetPlayerVariablesRequest', (_message.Message,), { + 'DESCRIPTOR' : _GETPLAYERVARIABLESREQUEST, + '__module__' : 'bnet.game_utilities_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.game_utilities.GetPlayerVariablesRequest) - )) + }) _sym_db.RegisterMessage(GetPlayerVariablesRequest) -GetPlayerVariablesResponse = _reflection.GeneratedProtocolMessageType('GetPlayerVariablesResponse', (_message.Message,), dict( - DESCRIPTOR = _GETPLAYERVARIABLESRESPONSE, - __module__ = 'bnet.game_utilities_service_pb2' +GetPlayerVariablesResponse = _reflection.GeneratedProtocolMessageType('GetPlayerVariablesResponse', (_message.Message,), { + 'DESCRIPTOR' : _GETPLAYERVARIABLESRESPONSE, + '__module__' : 'bnet.game_utilities_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.game_utilities.GetPlayerVariablesResponse) - )) + }) _sym_db.RegisterMessage(GetPlayerVariablesResponse) -GameAccountOnlineNotification = _reflection.GeneratedProtocolMessageType('GameAccountOnlineNotification', (_message.Message,), dict( - DESCRIPTOR = _GAMEACCOUNTONLINENOTIFICATION, - __module__ = 'bnet.game_utilities_service_pb2' +GameAccountOnlineNotification = _reflection.GeneratedProtocolMessageType('GameAccountOnlineNotification', (_message.Message,), { + 'DESCRIPTOR' : _GAMEACCOUNTONLINENOTIFICATION, + '__module__' : 'bnet.game_utilities_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.game_utilities.GameAccountOnlineNotification) - )) + }) _sym_db.RegisterMessage(GameAccountOnlineNotification) -GameAccountOfflineNotification = _reflection.GeneratedProtocolMessageType('GameAccountOfflineNotification', (_message.Message,), dict( - DESCRIPTOR = _GAMEACCOUNTOFFLINENOTIFICATION, - __module__ = 'bnet.game_utilities_service_pb2' +GameAccountOfflineNotification = _reflection.GeneratedProtocolMessageType('GameAccountOfflineNotification', (_message.Message,), { + 'DESCRIPTOR' : _GAMEACCOUNTOFFLINENOTIFICATION, + '__module__' : 'bnet.game_utilities_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.game_utilities.GameAccountOfflineNotification) - )) + }) _sym_db.RegisterMessage(GameAccountOfflineNotification) diff --git a/src/bnet/game_utilities_types.proto b/src/bnet/game_utilities_types.proto new file mode 100644 index 0000000..c559691 --- /dev/null +++ b/src/bnet/game_utilities_types.proto @@ -0,0 +1,10 @@ +package bnet.protocol.game_utilities; +import "bnet/attribute.proto"; +import "bnet/entity.proto"; + + +message PlayerVariables { + required Identity identity = 1; + optional double rating = 2; + repeated attribute.Attribute attribute = 3; +} diff --git a/src/bnet/game_utilities_types_pb2.py b/src/bnet/game_utilities_types_pb2.py index ec789a1..84267e2 100644 --- a/src/bnet/game_utilities_types_pb2.py +++ b/src/bnet/game_utilities_types_pb2.py @@ -1,29 +1,28 @@ +# -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: bnet/game_utilities_types.proto -import sys -_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message from google.protobuf import reflection as _reflection from google.protobuf import symbol_database as _symbol_database -from google.protobuf import descriptor_pb2 # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() -import bnet.attribute_pb2 -import bnet.entity_pb2 +from bnet import attribute_pb2 as bnet_dot_attribute__pb2 +from bnet import entity_pb2 as bnet_dot_entity__pb2 DESCRIPTOR = _descriptor.FileDescriptor( name='bnet/game_utilities_types.proto', package='bnet.protocol.game_utilities', - serialized_pb=_b('\n\x1f\x62net/game_utilities_types.proto\x12\x1c\x62net.protocol.game_utilities\x1a\x14\x62net/attribute.proto\x1a\x11\x62net/entity.proto\"\x83\x01\n\x0fPlayerVariables\x12)\n\x08identity\x18\x01 \x02(\x0b\x32\x17.bnet.protocol.Identity\x12\x0e\n\x06rating\x18\x02 \x01(\x01\x12\x35\n\tattribute\x18\x03 \x03(\x0b\x32\".bnet.protocol.attribute.Attribute') + syntax='proto2', + serialized_options=None, + serialized_pb=b'\n\x1f\x62net/game_utilities_types.proto\x12\x1c\x62net.protocol.game_utilities\x1a\x14\x62net/attribute.proto\x1a\x11\x62net/entity.proto\"\x83\x01\n\x0fPlayerVariables\x12)\n\x08identity\x18\x01 \x02(\x0b\x32\x17.bnet.protocol.Identity\x12\x0e\n\x06rating\x18\x02 \x01(\x01\x12\x35\n\tattribute\x18\x03 \x03(\x0b\x32\".bnet.protocol.attribute.Attribute' , - dependencies=[bnet.attribute_pb2.DESCRIPTOR,bnet.entity_pb2.DESCRIPTOR,]) -_sym_db.RegisterFileDescriptor(DESCRIPTOR) + dependencies=[bnet_dot_attribute__pb2.DESCRIPTOR,bnet_dot_entity__pb2.DESCRIPTOR,]) @@ -41,29 +40,30 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='rating', full_name='bnet.protocol.game_utilities.PlayerVariables.rating', index=1, number=2, type=1, cpp_type=5, label=1, - has_default_value=False, default_value=0, + has_default_value=False, default_value=float(0), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='attribute', full_name='bnet.protocol.game_utilities.PlayerVariables.attribute', index=2, number=3, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -71,15 +71,16 @@ serialized_end=238, ) -_PLAYERVARIABLES.fields_by_name['identity'].message_type = bnet.entity_pb2._IDENTITY -_PLAYERVARIABLES.fields_by_name['attribute'].message_type = bnet.attribute_pb2._ATTRIBUTE +_PLAYERVARIABLES.fields_by_name['identity'].message_type = bnet_dot_entity__pb2._IDENTITY +_PLAYERVARIABLES.fields_by_name['attribute'].message_type = bnet_dot_attribute__pb2._ATTRIBUTE DESCRIPTOR.message_types_by_name['PlayerVariables'] = _PLAYERVARIABLES +_sym_db.RegisterFileDescriptor(DESCRIPTOR) -PlayerVariables = _reflection.GeneratedProtocolMessageType('PlayerVariables', (_message.Message,), dict( - DESCRIPTOR = _PLAYERVARIABLES, - __module__ = 'bnet.game_utilities_types_pb2' +PlayerVariables = _reflection.GeneratedProtocolMessageType('PlayerVariables', (_message.Message,), { + 'DESCRIPTOR' : _PLAYERVARIABLES, + '__module__' : 'bnet.game_utilities_types_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.game_utilities.PlayerVariables) - )) + }) _sym_db.RegisterMessage(PlayerVariables) diff --git a/src/bnet/invitation_types.proto b/src/bnet/invitation_types.proto new file mode 100644 index 0000000..c5d0e6e --- /dev/null +++ b/src/bnet/invitation_types.proto @@ -0,0 +1,65 @@ +package bnet.protocol.invitation; +import "bnet/entity.proto"; + + +message Invitation { + required fixed64 id = 1; + required Identity inviter_identity = 2; + required Identity invitee_identity = 3; + optional string inviter_name = 4; + optional string invitee_name = 5; + optional string invitation_message = 6; + optional uint64 creation_time = 7; + optional uint64 expiration_time = 8; + extensions 100 to 10000; +} + +message Suggestion { + optional EntityId channel_id = 1; + required EntityId suggester_id = 2; + required EntityId suggestee_id = 3; + optional string suggester_name = 4; + optional string suggestee_name = 5; + optional EntityId suggester_account_id = 6; +} + +message InvitationTarget { + optional Identity identity = 1; + optional string email = 2; + optional string battle_tag = 3; +} + +message InvitationParams { + optional string invitation_message = 1; + optional uint64 expiration_time = 2 [default = 0]; + extensions 100 to 10000; +} + +message SendInvitationRequest { + optional Identity agent_identity = 1; + required EntityId target_id = 2; + required InvitationParams params = 3; + optional AccountInfo agent_info = 4; + optional InvitationTarget target = 5; +} + +message SendInvitationResponse { + optional Invitation invitation = 2; +} + +message UpdateInvitationRequest { + optional Identity agent_identity = 1; + required fixed64 invitation_id = 2; + required InvitationParams params = 3; +} + +message GenericRequest { + optional EntityId agent_id = 1; + optional EntityId target_id = 2; + required fixed64 invitation_id = 3; + optional string invitee_name = 4; + optional string inviter_name = 5; + repeated uint32 previous_role = 6 [packed = true]; + repeated uint32 desired_role = 7 [packed = true]; + optional uint32 reason = 8; +} diff --git a/src/bnet/invitation_types_pb2.py b/src/bnet/invitation_types_pb2.py index fba853f..934589a 100644 --- a/src/bnet/invitation_types_pb2.py +++ b/src/bnet/invitation_types_pb2.py @@ -1,29 +1,27 @@ +# -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: bnet/invitation_types.proto -import sys -_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message from google.protobuf import reflection as _reflection from google.protobuf import symbol_database as _symbol_database -from google.protobuf import descriptor_pb2 # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() -import bnet.entity_pb2 -import bnet.friends_types_pb2 +from bnet import entity_pb2 as bnet_dot_entity__pb2 DESCRIPTOR = _descriptor.FileDescriptor( name='bnet/invitation_types.proto', package='bnet.protocol.invitation', - serialized_pb=_b('\n\x1b\x62net/invitation_types.proto\x12\x18\x62net.protocol.invitation\x1a\x11\x62net/entity.proto\x1a\x18\x62net/friends_types.proto\"\xb6\x02\n\nInvitation\x12\n\n\x02id\x18\x01 \x02(\x06\x12\x31\n\x10inviter_identity\x18\x02 \x02(\x0b\x32\x17.bnet.protocol.Identity\x12\x31\n\x10invitee_identity\x18\x03 \x02(\x0b\x32\x17.bnet.protocol.Identity\x12\x14\n\x0cinviter_name\x18\x04 \x01(\t\x12\x14\n\x0cinvitee_name\x18\x05 \x01(\t\x12\x1a\n\x12invitation_message\x18\x06 \x01(\t\x12\x15\n\rcreation_time\x18\x07 \x01(\x04\x12\x17\n\x0f\x65xpiration_time\x18\x08 \x01(\x04\x12>\n\rfriend_invite\x18g \x01(\x0b\x32\'.bnet.protocol.friends.FriendInvitation\"\xfe\x01\n\nSuggestion\x12+\n\nchannel_id\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12-\n\x0csuggester_id\x18\x02 \x02(\x0b\x32\x17.bnet.protocol.EntityId\x12-\n\x0csuggestee_id\x18\x03 \x02(\x0b\x32\x17.bnet.protocol.EntityId\x12\x16\n\x0esuggester_name\x18\x04 \x01(\t\x12\x16\n\x0esuggestee_name\x18\x05 \x01(\t\x12\x35\n\x14suggester_account_id\x18\x06 \x01(\x0b\x32\x17.bnet.protocol.EntityId\"`\n\x10InvitationTarget\x12)\n\x08identity\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.Identity\x12\r\n\x05\x65mail\x18\x02 \x01(\t\x12\x12\n\nbattle_tag\x18\x03 \x01(\t\"\x90\x01\n\x10InvitationParams\x12\x1a\n\x12invitation_message\x18\x01 \x01(\t\x12\x1a\n\x0f\x65xpiration_time\x18\x02 \x01(\x04:\x01\x30\x12\x44\n\rfriend_params\x18g \x01(\x0b\x32-.bnet.protocol.friends.FriendInvitationParams\"\x9c\x02\n\x15SendInvitationRequest\x12/\n\x0e\x61gent_identity\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.Identity\x12*\n\ttarget_id\x18\x02 \x02(\x0b\x32\x17.bnet.protocol.EntityId\x12:\n\x06params\x18\x03 \x02(\x0b\x32*.bnet.protocol.invitation.InvitationParams\x12.\n\nagent_info\x18\x04 \x01(\x0b\x32\x1a.bnet.protocol.AccountInfo\x12:\n\x06target\x18\x05 \x01(\x0b\x32*.bnet.protocol.invitation.InvitationTarget\"R\n\x16SendInvitationResponse\x12\x38\n\ninvitation\x18\x02 \x01(\x0b\x32$.bnet.protocol.invitation.Invitation\"\x9d\x01\n\x17UpdateInvitationRequest\x12/\n\x0e\x61gent_identity\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.Identity\x12\x15\n\rinvitation_id\x18\x02 \x02(\x06\x12:\n\x06params\x18\x03 \x02(\x0b\x32*.bnet.protocol.invitation.InvitationParams\"\xef\x01\n\x0eGenericRequest\x12)\n\x08\x61gent_id\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12*\n\ttarget_id\x18\x02 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12\x15\n\rinvitation_id\x18\x03 \x02(\x06\x12\x14\n\x0cinvitee_name\x18\x04 \x01(\t\x12\x14\n\x0cinviter_name\x18\x05 \x01(\t\x12\x19\n\rprevious_role\x18\x06 \x03(\rB\x02\x10\x01\x12\x18\n\x0c\x64\x65sired_role\x18\x07 \x03(\rB\x02\x10\x01\x12\x0e\n\x06reason\x18\x08 \x01(\r') + syntax='proto2', + serialized_options=None, + serialized_pb=b'\n\x1b\x62net/invitation_types.proto\x12\x18\x62net.protocol.invitation\x1a\x11\x62net/entity.proto\"\xfd\x01\n\nInvitation\x12\n\n\x02id\x18\x01 \x02(\x06\x12\x31\n\x10inviter_identity\x18\x02 \x02(\x0b\x32\x17.bnet.protocol.Identity\x12\x31\n\x10invitee_identity\x18\x03 \x02(\x0b\x32\x17.bnet.protocol.Identity\x12\x14\n\x0cinviter_name\x18\x04 \x01(\t\x12\x14\n\x0cinvitee_name\x18\x05 \x01(\t\x12\x1a\n\x12invitation_message\x18\x06 \x01(\t\x12\x15\n\rcreation_time\x18\x07 \x01(\x04\x12\x17\n\x0f\x65xpiration_time\x18\x08 \x01(\x04*\x05\x08\x64\x10\x91N\"\xfe\x01\n\nSuggestion\x12+\n\nchannel_id\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12-\n\x0csuggester_id\x18\x02 \x02(\x0b\x32\x17.bnet.protocol.EntityId\x12-\n\x0csuggestee_id\x18\x03 \x02(\x0b\x32\x17.bnet.protocol.EntityId\x12\x16\n\x0esuggester_name\x18\x04 \x01(\t\x12\x16\n\x0esuggestee_name\x18\x05 \x01(\t\x12\x35\n\x14suggester_account_id\x18\x06 \x01(\x0b\x32\x17.bnet.protocol.EntityId\"`\n\x10InvitationTarget\x12)\n\x08identity\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.Identity\x12\r\n\x05\x65mail\x18\x02 \x01(\t\x12\x12\n\nbattle_tag\x18\x03 \x01(\t\"Q\n\x10InvitationParams\x12\x1a\n\x12invitation_message\x18\x01 \x01(\t\x12\x1a\n\x0f\x65xpiration_time\x18\x02 \x01(\x04:\x01\x30*\x05\x08\x64\x10\x91N\"\x9c\x02\n\x15SendInvitationRequest\x12/\n\x0e\x61gent_identity\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.Identity\x12*\n\ttarget_id\x18\x02 \x02(\x0b\x32\x17.bnet.protocol.EntityId\x12:\n\x06params\x18\x03 \x02(\x0b\x32*.bnet.protocol.invitation.InvitationParams\x12.\n\nagent_info\x18\x04 \x01(\x0b\x32\x1a.bnet.protocol.AccountInfo\x12:\n\x06target\x18\x05 \x01(\x0b\x32*.bnet.protocol.invitation.InvitationTarget\"R\n\x16SendInvitationResponse\x12\x38\n\ninvitation\x18\x02 \x01(\x0b\x32$.bnet.protocol.invitation.Invitation\"\x9d\x01\n\x17UpdateInvitationRequest\x12/\n\x0e\x61gent_identity\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.Identity\x12\x15\n\rinvitation_id\x18\x02 \x02(\x06\x12:\n\x06params\x18\x03 \x02(\x0b\x32*.bnet.protocol.invitation.InvitationParams\"\xef\x01\n\x0eGenericRequest\x12)\n\x08\x61gent_id\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12*\n\ttarget_id\x18\x02 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12\x15\n\rinvitation_id\x18\x03 \x02(\x06\x12\x14\n\x0cinvitee_name\x18\x04 \x01(\t\x12\x14\n\x0cinviter_name\x18\x05 \x01(\t\x12\x19\n\rprevious_role\x18\x06 \x03(\rB\x02\x10\x01\x12\x18\n\x0c\x64\x65sired_role\x18\x07 \x03(\rB\x02\x10\x01\x12\x0e\n\x06reason\x18\x08 \x01(\r' , - dependencies=[bnet.entity_pb2.DESCRIPTOR,bnet.friends_types_pb2.DESCRIPTOR,]) -_sym_db.RegisterFileDescriptor(DESCRIPTOR) + dependencies=[bnet_dot_entity__pb2.DESCRIPTOR,]) @@ -41,76 +39,70 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='inviter_identity', full_name='bnet.protocol.invitation.Invitation.inviter_identity', index=1, number=2, type=11, cpp_type=10, label=2, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='invitee_identity', full_name='bnet.protocol.invitation.Invitation.invitee_identity', index=2, number=3, type=11, cpp_type=10, label=2, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='inviter_name', full_name='bnet.protocol.invitation.Invitation.inviter_name', index=3, number=4, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='invitee_name', full_name='bnet.protocol.invitation.Invitation.invitee_name', index=4, number=5, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='invitation_message', full_name='bnet.protocol.invitation.Invitation.invitation_message', index=5, number=6, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='creation_time', full_name='bnet.protocol.invitation.Invitation.creation_time', index=6, number=7, type=4, cpp_type=4, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='expiration_time', full_name='bnet.protocol.invitation.Invitation.expiration_time', index=7, number=8, type=4, cpp_type=4, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), - _descriptor.FieldDescriptor( - name='friend_invite', full_name='bnet.protocol.invitation.Invitation.friend_invite', index=8, - number=103, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, - is_extendable=False, - extension_ranges=[], + serialized_options=None, + is_extendable=True, + syntax='proto2', + extension_ranges=[(100, 10001), ], oneofs=[ ], - serialized_start=103, - serialized_end=413, + serialized_start=77, + serialized_end=330, ) @@ -127,55 +119,56 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='suggester_id', full_name='bnet.protocol.invitation.Suggestion.suggester_id', index=1, number=2, type=11, cpp_type=10, label=2, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='suggestee_id', full_name='bnet.protocol.invitation.Suggestion.suggestee_id', index=2, number=3, type=11, cpp_type=10, label=2, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='suggester_name', full_name='bnet.protocol.invitation.Suggestion.suggester_name', index=3, number=4, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='suggestee_name', full_name='bnet.protocol.invitation.Suggestion.suggestee_name', index=4, number=5, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='suggester_account_id', full_name='bnet.protocol.invitation.Suggestion.suggester_account_id', index=5, number=6, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], - serialized_start=416, - serialized_end=670, + serialized_start=333, + serialized_end=587, ) @@ -192,34 +185,35 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='email', full_name='bnet.protocol.invitation.InvitationTarget.email', index=1, number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='battle_tag', full_name='bnet.protocol.invitation.InvitationTarget.battle_tag', index=2, number=3, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], - serialized_start=672, - serialized_end=768, + serialized_start=589, + serialized_end=685, ) @@ -233,37 +227,31 @@ _descriptor.FieldDescriptor( name='invitation_message', full_name='bnet.protocol.invitation.InvitationParams.invitation_message', index=0, number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='expiration_time', full_name='bnet.protocol.invitation.InvitationParams.expiration_time', index=1, number=2, type=4, cpp_type=4, label=1, has_default_value=True, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), - _descriptor.FieldDescriptor( - name='friend_params', full_name='bnet.protocol.invitation.InvitationParams.friend_params', index=2, - number=103, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, - is_extendable=False, - extension_ranges=[], + serialized_options=None, + is_extendable=True, + syntax='proto2', + extension_ranges=[(100, 10001), ], oneofs=[ ], - serialized_start=771, - serialized_end=915, + serialized_start=687, + serialized_end=768, ) @@ -280,48 +268,49 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='target_id', full_name='bnet.protocol.invitation.SendInvitationRequest.target_id', index=1, number=2, type=11, cpp_type=10, label=2, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='params', full_name='bnet.protocol.invitation.SendInvitationRequest.params', index=2, number=3, type=11, cpp_type=10, label=2, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='agent_info', full_name='bnet.protocol.invitation.SendInvitationRequest.agent_info', index=3, number=4, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='target', full_name='bnet.protocol.invitation.SendInvitationRequest.target', index=4, number=5, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], - serialized_start=918, - serialized_end=1202, + serialized_start=771, + serialized_end=1055, ) @@ -338,20 +327,21 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], - serialized_start=1204, - serialized_end=1286, + serialized_start=1057, + serialized_end=1139, ) @@ -368,34 +358,35 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='invitation_id', full_name='bnet.protocol.invitation.UpdateInvitationRequest.invitation_id', index=1, number=2, type=6, cpp_type=4, label=2, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='params', full_name='bnet.protocol.invitation.UpdateInvitationRequest.params', index=2, number=3, type=11, cpp_type=10, label=2, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], - serialized_start=1289, - serialized_end=1446, + serialized_start=1142, + serialized_end=1299, ) @@ -412,90 +403,89 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='target_id', full_name='bnet.protocol.invitation.GenericRequest.target_id', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='invitation_id', full_name='bnet.protocol.invitation.GenericRequest.invitation_id', index=2, number=3, type=6, cpp_type=4, label=2, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='invitee_name', full_name='bnet.protocol.invitation.GenericRequest.invitee_name', index=3, number=4, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='inviter_name', full_name='bnet.protocol.invitation.GenericRequest.inviter_name', index=4, number=5, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='previous_role', full_name='bnet.protocol.invitation.GenericRequest.previous_role', index=5, number=6, type=13, cpp_type=3, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001'))), + serialized_options=b'\020\001', file=DESCRIPTOR), _descriptor.FieldDescriptor( name='desired_role', full_name='bnet.protocol.invitation.GenericRequest.desired_role', index=6, number=7, type=13, cpp_type=3, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001'))), + serialized_options=b'\020\001', file=DESCRIPTOR), _descriptor.FieldDescriptor( name='reason', full_name='bnet.protocol.invitation.GenericRequest.reason', index=7, number=8, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], - serialized_start=1449, - serialized_end=1688, + serialized_start=1302, + serialized_end=1541, ) -_INVITATION.fields_by_name['inviter_identity'].message_type = bnet.entity_pb2._IDENTITY -_INVITATION.fields_by_name['invitee_identity'].message_type = bnet.entity_pb2._IDENTITY -_INVITATION.fields_by_name['friend_invite'].message_type = bnet.friends_types_pb2._FRIENDINVITATION -_SUGGESTION.fields_by_name['channel_id'].message_type = bnet.entity_pb2._ENTITYID -_SUGGESTION.fields_by_name['suggester_id'].message_type = bnet.entity_pb2._ENTITYID -_SUGGESTION.fields_by_name['suggestee_id'].message_type = bnet.entity_pb2._ENTITYID -_SUGGESTION.fields_by_name['suggester_account_id'].message_type = bnet.entity_pb2._ENTITYID -_INVITATIONTARGET.fields_by_name['identity'].message_type = bnet.entity_pb2._IDENTITY -_INVITATIONPARAMS.fields_by_name['friend_params'].message_type = bnet.friends_types_pb2._FRIENDINVITATIONPARAMS -_SENDINVITATIONREQUEST.fields_by_name['agent_identity'].message_type = bnet.entity_pb2._IDENTITY -_SENDINVITATIONREQUEST.fields_by_name['target_id'].message_type = bnet.entity_pb2._ENTITYID +_INVITATION.fields_by_name['inviter_identity'].message_type = bnet_dot_entity__pb2._IDENTITY +_INVITATION.fields_by_name['invitee_identity'].message_type = bnet_dot_entity__pb2._IDENTITY +_SUGGESTION.fields_by_name['channel_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_SUGGESTION.fields_by_name['suggester_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_SUGGESTION.fields_by_name['suggestee_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_SUGGESTION.fields_by_name['suggester_account_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_INVITATIONTARGET.fields_by_name['identity'].message_type = bnet_dot_entity__pb2._IDENTITY +_SENDINVITATIONREQUEST.fields_by_name['agent_identity'].message_type = bnet_dot_entity__pb2._IDENTITY +_SENDINVITATIONREQUEST.fields_by_name['target_id'].message_type = bnet_dot_entity__pb2._ENTITYID _SENDINVITATIONREQUEST.fields_by_name['params'].message_type = _INVITATIONPARAMS -_SENDINVITATIONREQUEST.fields_by_name['agent_info'].message_type = bnet.entity_pb2._ACCOUNTINFO +_SENDINVITATIONREQUEST.fields_by_name['agent_info'].message_type = bnet_dot_entity__pb2._ACCOUNTINFO _SENDINVITATIONREQUEST.fields_by_name['target'].message_type = _INVITATIONTARGET _SENDINVITATIONRESPONSE.fields_by_name['invitation'].message_type = _INVITATION -_UPDATEINVITATIONREQUEST.fields_by_name['agent_identity'].message_type = bnet.entity_pb2._IDENTITY +_UPDATEINVITATIONREQUEST.fields_by_name['agent_identity'].message_type = bnet_dot_entity__pb2._IDENTITY _UPDATEINVITATIONREQUEST.fields_by_name['params'].message_type = _INVITATIONPARAMS -_GENERICREQUEST.fields_by_name['agent_id'].message_type = bnet.entity_pb2._ENTITYID -_GENERICREQUEST.fields_by_name['target_id'].message_type = bnet.entity_pb2._ENTITYID +_GENERICREQUEST.fields_by_name['agent_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_GENERICREQUEST.fields_by_name['target_id'].message_type = bnet_dot_entity__pb2._ENTITYID DESCRIPTOR.message_types_by_name['Invitation'] = _INVITATION DESCRIPTOR.message_types_by_name['Suggestion'] = _SUGGESTION DESCRIPTOR.message_types_by_name['InvitationTarget'] = _INVITATIONTARGET @@ -504,66 +494,65 @@ DESCRIPTOR.message_types_by_name['SendInvitationResponse'] = _SENDINVITATIONRESPONSE DESCRIPTOR.message_types_by_name['UpdateInvitationRequest'] = _UPDATEINVITATIONREQUEST DESCRIPTOR.message_types_by_name['GenericRequest'] = _GENERICREQUEST +_sym_db.RegisterFileDescriptor(DESCRIPTOR) -Invitation = _reflection.GeneratedProtocolMessageType('Invitation', (_message.Message,), dict( - DESCRIPTOR = _INVITATION, - __module__ = 'bnet.invitation_types_pb2' +Invitation = _reflection.GeneratedProtocolMessageType('Invitation', (_message.Message,), { + 'DESCRIPTOR' : _INVITATION, + '__module__' : 'bnet.invitation_types_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.invitation.Invitation) - )) + }) _sym_db.RegisterMessage(Invitation) -Suggestion = _reflection.GeneratedProtocolMessageType('Suggestion', (_message.Message,), dict( - DESCRIPTOR = _SUGGESTION, - __module__ = 'bnet.invitation_types_pb2' +Suggestion = _reflection.GeneratedProtocolMessageType('Suggestion', (_message.Message,), { + 'DESCRIPTOR' : _SUGGESTION, + '__module__' : 'bnet.invitation_types_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.invitation.Suggestion) - )) + }) _sym_db.RegisterMessage(Suggestion) -InvitationTarget = _reflection.GeneratedProtocolMessageType('InvitationTarget', (_message.Message,), dict( - DESCRIPTOR = _INVITATIONTARGET, - __module__ = 'bnet.invitation_types_pb2' +InvitationTarget = _reflection.GeneratedProtocolMessageType('InvitationTarget', (_message.Message,), { + 'DESCRIPTOR' : _INVITATIONTARGET, + '__module__' : 'bnet.invitation_types_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.invitation.InvitationTarget) - )) + }) _sym_db.RegisterMessage(InvitationTarget) -InvitationParams = _reflection.GeneratedProtocolMessageType('InvitationParams', (_message.Message,), dict( - DESCRIPTOR = _INVITATIONPARAMS, - __module__ = 'bnet.invitation_types_pb2' +InvitationParams = _reflection.GeneratedProtocolMessageType('InvitationParams', (_message.Message,), { + 'DESCRIPTOR' : _INVITATIONPARAMS, + '__module__' : 'bnet.invitation_types_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.invitation.InvitationParams) - )) + }) _sym_db.RegisterMessage(InvitationParams) -SendInvitationRequest = _reflection.GeneratedProtocolMessageType('SendInvitationRequest', (_message.Message,), dict( - DESCRIPTOR = _SENDINVITATIONREQUEST, - __module__ = 'bnet.invitation_types_pb2' +SendInvitationRequest = _reflection.GeneratedProtocolMessageType('SendInvitationRequest', (_message.Message,), { + 'DESCRIPTOR' : _SENDINVITATIONREQUEST, + '__module__' : 'bnet.invitation_types_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.invitation.SendInvitationRequest) - )) + }) _sym_db.RegisterMessage(SendInvitationRequest) -SendInvitationResponse = _reflection.GeneratedProtocolMessageType('SendInvitationResponse', (_message.Message,), dict( - DESCRIPTOR = _SENDINVITATIONRESPONSE, - __module__ = 'bnet.invitation_types_pb2' +SendInvitationResponse = _reflection.GeneratedProtocolMessageType('SendInvitationResponse', (_message.Message,), { + 'DESCRIPTOR' : _SENDINVITATIONRESPONSE, + '__module__' : 'bnet.invitation_types_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.invitation.SendInvitationResponse) - )) + }) _sym_db.RegisterMessage(SendInvitationResponse) -UpdateInvitationRequest = _reflection.GeneratedProtocolMessageType('UpdateInvitationRequest', (_message.Message,), dict( - DESCRIPTOR = _UPDATEINVITATIONREQUEST, - __module__ = 'bnet.invitation_types_pb2' +UpdateInvitationRequest = _reflection.GeneratedProtocolMessageType('UpdateInvitationRequest', (_message.Message,), { + 'DESCRIPTOR' : _UPDATEINVITATIONREQUEST, + '__module__' : 'bnet.invitation_types_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.invitation.UpdateInvitationRequest) - )) + }) _sym_db.RegisterMessage(UpdateInvitationRequest) -GenericRequest = _reflection.GeneratedProtocolMessageType('GenericRequest', (_message.Message,), dict( - DESCRIPTOR = _GENERICREQUEST, - __module__ = 'bnet.invitation_types_pb2' +GenericRequest = _reflection.GeneratedProtocolMessageType('GenericRequest', (_message.Message,), { + 'DESCRIPTOR' : _GENERICREQUEST, + '__module__' : 'bnet.invitation_types_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.invitation.GenericRequest) - )) + }) _sym_db.RegisterMessage(GenericRequest) -_GENERICREQUEST.fields_by_name['previous_role'].has_options = True -_GENERICREQUEST.fields_by_name['previous_role']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')) -_GENERICREQUEST.fields_by_name['desired_role'].has_options = True -_GENERICREQUEST.fields_by_name['desired_role']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')) +_GENERICREQUEST.fields_by_name['previous_role']._options = None +_GENERICREQUEST.fields_by_name['desired_role']._options = None # @@protoc_insertion_point(module_scope) diff --git a/src/bnet/notification_service.proto b/src/bnet/notification_service.proto new file mode 100644 index 0000000..65068c0 --- /dev/null +++ b/src/bnet/notification_service.proto @@ -0,0 +1,32 @@ +package bnet.protocol.notification; +import "bnet/attribute.proto"; +import "bnet/entity.proto"; +import "bnet/rpc.proto"; + + +message Notification { + optional EntityId sender_id = 1; + required EntityId target_id = 2; + required string type = 3; + repeated attribute.Attribute attribute = 4; + optional EntityId sender_account_id = 5; + optional EntityId target_account_id = 6; + optional string sender_battle_tag = 7; +} + +message FindClientRequest { + required EntityId entity_id = 1; +} + +message FindClientResponse { + required uint32 label = 1; + optional ProcessId client_process_id = 2; +} + +message RegisterClientRequest { + required EntityId entity_id = 1; +} + +message UnregisterClientRequest { + required EntityId entity_id = 1; +} diff --git a/src/bnet/notification_service_pb2.py b/src/bnet/notification_service_pb2.py index 5133b8b..d2d3a23 100644 --- a/src/bnet/notification_service_pb2.py +++ b/src/bnet/notification_service_pb2.py @@ -1,31 +1,29 @@ +# -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: bnet/notification_service.proto -import sys -_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message from google.protobuf import reflection as _reflection from google.protobuf import symbol_database as _symbol_database -from google.protobuf import descriptor_pb2 # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() -import bnet.attribute_pb2 -import bnet.entity_pb2 -import bnet.rpc_pb2 -import bnet.smth_pb2 +from bnet import attribute_pb2 as bnet_dot_attribute__pb2 +from bnet import entity_pb2 as bnet_dot_entity__pb2 +from bnet import rpc_pb2 as bnet_dot_rpc__pb2 DESCRIPTOR = _descriptor.FileDescriptor( name='bnet/notification_service.proto', package='bnet.protocol.notification', - serialized_pb=_b('\n\x1f\x62net/notification_service.proto\x12\x1a\x62net.protocol.notification\x1a\x14\x62net/attribute.proto\x1a\x11\x62net/entity.proto\x1a\x0e\x62net/rpc.proto\"\xae\x02\n\x0cNotification\x12*\n\tsender_id\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12*\n\ttarget_id\x18\x02 \x02(\x0b\x32\x17.bnet.protocol.EntityId\x12\x0c\n\x04type\x18\x03 \x02(\t\x12\x35\n\tattribute\x18\x04 \x03(\x0b\x32\".bnet.protocol.attribute.Attribute\x12\x32\n\x11sender_account_id\x18\x05 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12\x32\n\x11target_account_id\x18\x06 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12\x19\n\x11sender_battle_tag\x18\x07 \x01(\t\"?\n\x11\x46indClientRequest\x12*\n\tentity_id\x18\x01 \x02(\x0b\x32\x17.bnet.protocol.EntityId\"X\n\x12\x46indClientResponse\x12\r\n\x05label\x18\x01 \x02(\r\x12\x33\n\x11\x63lient_process_id\x18\x02 \x01(\x0b\x32\x18.bnet.protocol.ProcessId\"C\n\x15RegisterClientRequest\x12*\n\tentity_id\x18\x01 \x02(\x0b\x32\x17.bnet.protocol.EntityId\"E\n\x17UnregisterClientRequest\x12*\n\tentity_id\x18\x01 \x02(\x0b\x32\x17.bnet.protocol.EntityId') + syntax='proto2', + serialized_options=None, + serialized_pb=b'\n\x1f\x62net/notification_service.proto\x12\x1a\x62net.protocol.notification\x1a\x14\x62net/attribute.proto\x1a\x11\x62net/entity.proto\x1a\x0e\x62net/rpc.proto\"\xae\x02\n\x0cNotification\x12*\n\tsender_id\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12*\n\ttarget_id\x18\x02 \x02(\x0b\x32\x17.bnet.protocol.EntityId\x12\x0c\n\x04type\x18\x03 \x02(\t\x12\x35\n\tattribute\x18\x04 \x03(\x0b\x32\".bnet.protocol.attribute.Attribute\x12\x32\n\x11sender_account_id\x18\x05 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12\x32\n\x11target_account_id\x18\x06 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12\x19\n\x11sender_battle_tag\x18\x07 \x01(\t\"?\n\x11\x46indClientRequest\x12*\n\tentity_id\x18\x01 \x02(\x0b\x32\x17.bnet.protocol.EntityId\"X\n\x12\x46indClientResponse\x12\r\n\x05label\x18\x01 \x02(\r\x12\x33\n\x11\x63lient_process_id\x18\x02 \x01(\x0b\x32\x18.bnet.protocol.ProcessId\"C\n\x15RegisterClientRequest\x12*\n\tentity_id\x18\x01 \x02(\x0b\x32\x17.bnet.protocol.EntityId\"E\n\x17UnregisterClientRequest\x12*\n\tentity_id\x18\x01 \x02(\x0b\x32\x17.bnet.protocol.EntityId' , - dependencies=[bnet.attribute_pb2.DESCRIPTOR,bnet.entity_pb2.DESCRIPTOR,bnet.rpc_pb2.DESCRIPTOR,]) -_sym_db.RegisterFileDescriptor(DESCRIPTOR) + dependencies=[bnet_dot_attribute__pb2.DESCRIPTOR,bnet_dot_entity__pb2.DESCRIPTOR,bnet_dot_rpc__pb2.DESCRIPTOR,]) @@ -43,71 +41,58 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='target_id', full_name='bnet.protocol.notification.Notification.target_id', index=1, number=2, type=11, cpp_type=10, label=2, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='type', full_name='bnet.protocol.notification.Notification.type', index=2, number=3, type=9, cpp_type=9, label=2, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='attribute', full_name='bnet.protocol.notification.Notification.attribute', index=3, number=4, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='sender_account_id', full_name='bnet.protocol.notification.Notification.sender_account_id', index=4, number=5, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='target_account_id', full_name='bnet.protocol.notification.Notification.target_account_id', index=5, number=6, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='sender_battle_tag', full_name='bnet.protocol.notification.Notification.sender_battle_tag', index=6, number=7, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), - _descriptor.FieldDescriptor( - name='target_battle_tag', full_name='bnet.protocol.notification.Notification.target_battle_tag', index=7, - number=8, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), - _descriptor.FieldDescriptor( - name='smth', full_name='bnet.protocol.notification.Notification.smth1', index=8, - number=10, type=11, cpp_type=10, label=1, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -129,15 +114,16 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -159,22 +145,23 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='client_process_id', full_name='bnet.protocol.notification.FindClientResponse.client_process_id', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -196,15 +183,16 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -226,15 +214,16 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -242,55 +231,55 @@ serialized_end=718, ) -_NOTIFICATION.fields_by_name['sender_id'].message_type = bnet.entity_pb2._ENTITYID -_NOTIFICATION.fields_by_name['target_id'].message_type = bnet.entity_pb2._ENTITYID -_NOTIFICATION.fields_by_name['attribute'].message_type = bnet.attribute_pb2._ATTRIBUTE -_NOTIFICATION.fields_by_name['sender_account_id'].message_type = bnet.entity_pb2._ENTITYID -_NOTIFICATION.fields_by_name['target_account_id'].message_type = bnet.entity_pb2._ENTITYID -_NOTIFICATION.fields_by_name['smth'].message_type = bnet.smth_pb2._SOMETHING -_FINDCLIENTREQUEST.fields_by_name['entity_id'].message_type = bnet.entity_pb2._ENTITYID -_FINDCLIENTRESPONSE.fields_by_name['client_process_id'].message_type = bnet.rpc_pb2._PROCESSID -_REGISTERCLIENTREQUEST.fields_by_name['entity_id'].message_type = bnet.entity_pb2._ENTITYID -_UNREGISTERCLIENTREQUEST.fields_by_name['entity_id'].message_type = bnet.entity_pb2._ENTITYID +_NOTIFICATION.fields_by_name['sender_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_NOTIFICATION.fields_by_name['target_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_NOTIFICATION.fields_by_name['attribute'].message_type = bnet_dot_attribute__pb2._ATTRIBUTE +_NOTIFICATION.fields_by_name['sender_account_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_NOTIFICATION.fields_by_name['target_account_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_FINDCLIENTREQUEST.fields_by_name['entity_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_FINDCLIENTRESPONSE.fields_by_name['client_process_id'].message_type = bnet_dot_rpc__pb2._PROCESSID +_REGISTERCLIENTREQUEST.fields_by_name['entity_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_UNREGISTERCLIENTREQUEST.fields_by_name['entity_id'].message_type = bnet_dot_entity__pb2._ENTITYID DESCRIPTOR.message_types_by_name['Notification'] = _NOTIFICATION DESCRIPTOR.message_types_by_name['FindClientRequest'] = _FINDCLIENTREQUEST DESCRIPTOR.message_types_by_name['FindClientResponse'] = _FINDCLIENTRESPONSE DESCRIPTOR.message_types_by_name['RegisterClientRequest'] = _REGISTERCLIENTREQUEST DESCRIPTOR.message_types_by_name['UnregisterClientRequest'] = _UNREGISTERCLIENTREQUEST +_sym_db.RegisterFileDescriptor(DESCRIPTOR) -Notification = _reflection.GeneratedProtocolMessageType('Notification', (_message.Message,), dict( - DESCRIPTOR = _NOTIFICATION, - __module__ = 'bnet.notification_service_pb2' +Notification = _reflection.GeneratedProtocolMessageType('Notification', (_message.Message,), { + 'DESCRIPTOR' : _NOTIFICATION, + '__module__' : 'bnet.notification_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.notification.Notification) - )) + }) _sym_db.RegisterMessage(Notification) -FindClientRequest = _reflection.GeneratedProtocolMessageType('FindClientRequest', (_message.Message,), dict( - DESCRIPTOR = _FINDCLIENTREQUEST, - __module__ = 'bnet.notification_service_pb2' +FindClientRequest = _reflection.GeneratedProtocolMessageType('FindClientRequest', (_message.Message,), { + 'DESCRIPTOR' : _FINDCLIENTREQUEST, + '__module__' : 'bnet.notification_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.notification.FindClientRequest) - )) + }) _sym_db.RegisterMessage(FindClientRequest) -FindClientResponse = _reflection.GeneratedProtocolMessageType('FindClientResponse', (_message.Message,), dict( - DESCRIPTOR = _FINDCLIENTRESPONSE, - __module__ = 'bnet.notification_service_pb2' +FindClientResponse = _reflection.GeneratedProtocolMessageType('FindClientResponse', (_message.Message,), { + 'DESCRIPTOR' : _FINDCLIENTRESPONSE, + '__module__' : 'bnet.notification_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.notification.FindClientResponse) - )) + }) _sym_db.RegisterMessage(FindClientResponse) -RegisterClientRequest = _reflection.GeneratedProtocolMessageType('RegisterClientRequest', (_message.Message,), dict( - DESCRIPTOR = _REGISTERCLIENTREQUEST, - __module__ = 'bnet.notification_service_pb2' +RegisterClientRequest = _reflection.GeneratedProtocolMessageType('RegisterClientRequest', (_message.Message,), { + 'DESCRIPTOR' : _REGISTERCLIENTREQUEST, + '__module__' : 'bnet.notification_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.notification.RegisterClientRequest) - )) + }) _sym_db.RegisterMessage(RegisterClientRequest) -UnregisterClientRequest = _reflection.GeneratedProtocolMessageType('UnregisterClientRequest', (_message.Message,), dict( - DESCRIPTOR = _UNREGISTERCLIENTREQUEST, - __module__ = 'bnet.notification_service_pb2' +UnregisterClientRequest = _reflection.GeneratedProtocolMessageType('UnregisterClientRequest', (_message.Message,), { + 'DESCRIPTOR' : _UNREGISTERCLIENTREQUEST, + '__module__' : 'bnet.notification_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.notification.UnregisterClientRequest) - )) + }) _sym_db.RegisterMessage(UnregisterClientRequest) diff --git a/src/bnet/presence_service.proto b/src/bnet/presence_service.proto new file mode 100644 index 0000000..c17140e --- /dev/null +++ b/src/bnet/presence_service.proto @@ -0,0 +1,39 @@ +package bnet.protocol.presence; +import "bnet/entity.proto"; +import "bnet/presence_types.proto"; + + +message SubscribeRequest { + optional EntityId agent_id = 1; + required EntityId entity_id = 2; + required uint64 object_id = 3; + repeated fixed32 program_id = 4; +} + +message SubscribeNotificationRequest { + required EntityId entity_id = 1; +} + +message UnsubscribeRequest { + optional EntityId agent_id = 1; + required EntityId entity_id = 2; +} + +message UpdateRequest { + required EntityId entity_id = 1; + repeated FieldOperation field_operation = 2; +} + +message QueryRequest { + required EntityId entity_id = 1; + repeated FieldKey key = 2; +} + +message QueryResponse { + repeated Field field = 2; +} + +message OwnershipRequest { + required EntityId entity_id = 1; + optional bool release_ownership = 2 [default = false]; +} diff --git a/src/bnet/presence_service_pb2.py b/src/bnet/presence_service_pb2.py index fab82c7..92b21db 100644 --- a/src/bnet/presence_service_pb2.py +++ b/src/bnet/presence_service_pb2.py @@ -1,29 +1,28 @@ +# -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: bnet/presence_service.proto -import sys -_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message from google.protobuf import reflection as _reflection from google.protobuf import symbol_database as _symbol_database -from google.protobuf import descriptor_pb2 # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() -import bnet.entity_pb2 -import bnet.presence_types_pb2 +from bnet import entity_pb2 as bnet_dot_entity__pb2 +from bnet import presence_types_pb2 as bnet_dot_presence__types__pb2 DESCRIPTOR = _descriptor.FileDescriptor( name='bnet/presence_service.proto', package='bnet.protocol.presence', - serialized_pb=_b('\n\x1b\x62net/presence_service.proto\x12\x16\x62net.protocol.presence\x1a\x11\x62net/entity.proto\x1a\x19\x62net/presence_types.proto\"\x90\x01\n\x10SubscribeRequest\x12)\n\x08\x61gent_id\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12*\n\tentity_id\x18\x02 \x02(\x0b\x32\x17.bnet.protocol.EntityId\x12\x11\n\tobject_id\x18\x03 \x02(\x04\x12\x12\n\nprogram_id\x18\x04 \x03(\x07\"J\n\x1cSubscribeNotificationRequest\x12*\n\tentity_id\x18\x01 \x02(\x0b\x32\x17.bnet.protocol.EntityId\"k\n\x12UnsubscribeRequest\x12)\n\x08\x61gent_id\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12*\n\tentity_id\x18\x02 \x02(\x0b\x32\x17.bnet.protocol.EntityId\"|\n\rUpdateRequest\x12*\n\tentity_id\x18\x01 \x02(\x0b\x32\x17.bnet.protocol.EntityId\x12?\n\x0f\x66ield_operation\x18\x02 \x03(\x0b\x32&.bnet.protocol.presence.FieldOperation\"i\n\x0cQueryRequest\x12*\n\tentity_id\x18\x01 \x02(\x0b\x32\x17.bnet.protocol.EntityId\x12-\n\x03key\x18\x02 \x03(\x0b\x32 .bnet.protocol.presence.FieldKey\"=\n\rQueryResponse\x12,\n\x05\x66ield\x18\x02 \x03(\x0b\x32\x1d.bnet.protocol.presence.Field\"`\n\x10OwnershipRequest\x12*\n\tentity_id\x18\x01 \x02(\x0b\x32\x17.bnet.protocol.EntityId\x12 \n\x11release_ownership\x18\x02 \x01(\x08:\x05\x66\x61lse') + syntax='proto2', + serialized_options=None, + serialized_pb=b'\n\x1b\x62net/presence_service.proto\x12\x16\x62net.protocol.presence\x1a\x11\x62net/entity.proto\x1a\x19\x62net/presence_types.proto\"\x90\x01\n\x10SubscribeRequest\x12)\n\x08\x61gent_id\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12*\n\tentity_id\x18\x02 \x02(\x0b\x32\x17.bnet.protocol.EntityId\x12\x11\n\tobject_id\x18\x03 \x02(\x04\x12\x12\n\nprogram_id\x18\x04 \x03(\x07\"J\n\x1cSubscribeNotificationRequest\x12*\n\tentity_id\x18\x01 \x02(\x0b\x32\x17.bnet.protocol.EntityId\"k\n\x12UnsubscribeRequest\x12)\n\x08\x61gent_id\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12*\n\tentity_id\x18\x02 \x02(\x0b\x32\x17.bnet.protocol.EntityId\"|\n\rUpdateRequest\x12*\n\tentity_id\x18\x01 \x02(\x0b\x32\x17.bnet.protocol.EntityId\x12?\n\x0f\x66ield_operation\x18\x02 \x03(\x0b\x32&.bnet.protocol.presence.FieldOperation\"i\n\x0cQueryRequest\x12*\n\tentity_id\x18\x01 \x02(\x0b\x32\x17.bnet.protocol.EntityId\x12-\n\x03key\x18\x02 \x03(\x0b\x32 .bnet.protocol.presence.FieldKey\"=\n\rQueryResponse\x12,\n\x05\x66ield\x18\x02 \x03(\x0b\x32\x1d.bnet.protocol.presence.Field\"`\n\x10OwnershipRequest\x12*\n\tentity_id\x18\x01 \x02(\x0b\x32\x17.bnet.protocol.EntityId\x12 \n\x11release_ownership\x18\x02 \x01(\x08:\x05\x66\x61lse' , - dependencies=[bnet.entity_pb2.DESCRIPTOR,bnet.presence_types_pb2.DESCRIPTOR,]) -_sym_db.RegisterFileDescriptor(DESCRIPTOR) + dependencies=[bnet_dot_entity__pb2.DESCRIPTOR,bnet_dot_presence__types__pb2.DESCRIPTOR,]) @@ -41,36 +40,37 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='entity_id', full_name='bnet.protocol.presence.SubscribeRequest.entity_id', index=1, number=2, type=11, cpp_type=10, label=2, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='object_id', full_name='bnet.protocol.presence.SubscribeRequest.object_id', index=2, number=3, type=4, cpp_type=4, label=2, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='program_id', full_name='bnet.protocol.presence.SubscribeRequest.program_id', index=3, number=4, type=7, cpp_type=3, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -92,15 +92,16 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -122,22 +123,23 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='entity_id', full_name='bnet.protocol.presence.UnsubscribeRequest.entity_id', index=1, number=2, type=11, cpp_type=10, label=2, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -159,22 +161,23 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='field_operation', full_name='bnet.protocol.presence.UpdateRequest.field_operation', index=1, number=2, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -196,22 +199,23 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='key', full_name='bnet.protocol.presence.QueryRequest.key', index=1, number=2, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -233,15 +237,16 @@ has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -263,22 +268,23 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='release_ownership', full_name='bnet.protocol.presence.OwnershipRequest.release_ownership', index=1, number=2, type=8, cpp_type=7, label=1, has_default_value=True, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -286,17 +292,17 @@ serialized_end=825, ) -_SUBSCRIBEREQUEST.fields_by_name['agent_id'].message_type = bnet.entity_pb2._ENTITYID -_SUBSCRIBEREQUEST.fields_by_name['entity_id'].message_type = bnet.entity_pb2._ENTITYID -_SUBSCRIBENOTIFICATIONREQUEST.fields_by_name['entity_id'].message_type = bnet.entity_pb2._ENTITYID -_UNSUBSCRIBEREQUEST.fields_by_name['agent_id'].message_type = bnet.entity_pb2._ENTITYID -_UNSUBSCRIBEREQUEST.fields_by_name['entity_id'].message_type = bnet.entity_pb2._ENTITYID -_UPDATEREQUEST.fields_by_name['entity_id'].message_type = bnet.entity_pb2._ENTITYID -_UPDATEREQUEST.fields_by_name['field_operation'].message_type = bnet.presence_types_pb2._FIELDOPERATION -_QUERYREQUEST.fields_by_name['entity_id'].message_type = bnet.entity_pb2._ENTITYID -_QUERYREQUEST.fields_by_name['key'].message_type = bnet.presence_types_pb2._FIELDKEY -_QUERYRESPONSE.fields_by_name['field'].message_type = bnet.presence_types_pb2._FIELD -_OWNERSHIPREQUEST.fields_by_name['entity_id'].message_type = bnet.entity_pb2._ENTITYID +_SUBSCRIBEREQUEST.fields_by_name['agent_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_SUBSCRIBEREQUEST.fields_by_name['entity_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_SUBSCRIBENOTIFICATIONREQUEST.fields_by_name['entity_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_UNSUBSCRIBEREQUEST.fields_by_name['agent_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_UNSUBSCRIBEREQUEST.fields_by_name['entity_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_UPDATEREQUEST.fields_by_name['entity_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_UPDATEREQUEST.fields_by_name['field_operation'].message_type = bnet_dot_presence__types__pb2._FIELDOPERATION +_QUERYREQUEST.fields_by_name['entity_id'].message_type = bnet_dot_entity__pb2._ENTITYID +_QUERYREQUEST.fields_by_name['key'].message_type = bnet_dot_presence__types__pb2._FIELDKEY +_QUERYRESPONSE.fields_by_name['field'].message_type = bnet_dot_presence__types__pb2._FIELD +_OWNERSHIPREQUEST.fields_by_name['entity_id'].message_type = bnet_dot_entity__pb2._ENTITYID DESCRIPTOR.message_types_by_name['SubscribeRequest'] = _SUBSCRIBEREQUEST DESCRIPTOR.message_types_by_name['SubscribeNotificationRequest'] = _SUBSCRIBENOTIFICATIONREQUEST DESCRIPTOR.message_types_by_name['UnsubscribeRequest'] = _UNSUBSCRIBEREQUEST @@ -304,54 +310,55 @@ DESCRIPTOR.message_types_by_name['QueryRequest'] = _QUERYREQUEST DESCRIPTOR.message_types_by_name['QueryResponse'] = _QUERYRESPONSE DESCRIPTOR.message_types_by_name['OwnershipRequest'] = _OWNERSHIPREQUEST +_sym_db.RegisterFileDescriptor(DESCRIPTOR) -SubscribeRequest = _reflection.GeneratedProtocolMessageType('SubscribeRequest', (_message.Message,), dict( - DESCRIPTOR = _SUBSCRIBEREQUEST, - __module__ = 'bnet.presence_service_pb2' +SubscribeRequest = _reflection.GeneratedProtocolMessageType('SubscribeRequest', (_message.Message,), { + 'DESCRIPTOR' : _SUBSCRIBEREQUEST, + '__module__' : 'bnet.presence_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.presence.SubscribeRequest) - )) + }) _sym_db.RegisterMessage(SubscribeRequest) -SubscribeNotificationRequest = _reflection.GeneratedProtocolMessageType('SubscribeNotificationRequest', (_message.Message,), dict( - DESCRIPTOR = _SUBSCRIBENOTIFICATIONREQUEST, - __module__ = 'bnet.presence_service_pb2' +SubscribeNotificationRequest = _reflection.GeneratedProtocolMessageType('SubscribeNotificationRequest', (_message.Message,), { + 'DESCRIPTOR' : _SUBSCRIBENOTIFICATIONREQUEST, + '__module__' : 'bnet.presence_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.presence.SubscribeNotificationRequest) - )) + }) _sym_db.RegisterMessage(SubscribeNotificationRequest) -UnsubscribeRequest = _reflection.GeneratedProtocolMessageType('UnsubscribeRequest', (_message.Message,), dict( - DESCRIPTOR = _UNSUBSCRIBEREQUEST, - __module__ = 'bnet.presence_service_pb2' +UnsubscribeRequest = _reflection.GeneratedProtocolMessageType('UnsubscribeRequest', (_message.Message,), { + 'DESCRIPTOR' : _UNSUBSCRIBEREQUEST, + '__module__' : 'bnet.presence_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.presence.UnsubscribeRequest) - )) + }) _sym_db.RegisterMessage(UnsubscribeRequest) -UpdateRequest = _reflection.GeneratedProtocolMessageType('UpdateRequest', (_message.Message,), dict( - DESCRIPTOR = _UPDATEREQUEST, - __module__ = 'bnet.presence_service_pb2' +UpdateRequest = _reflection.GeneratedProtocolMessageType('UpdateRequest', (_message.Message,), { + 'DESCRIPTOR' : _UPDATEREQUEST, + '__module__' : 'bnet.presence_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.presence.UpdateRequest) - )) + }) _sym_db.RegisterMessage(UpdateRequest) -QueryRequest = _reflection.GeneratedProtocolMessageType('QueryRequest', (_message.Message,), dict( - DESCRIPTOR = _QUERYREQUEST, - __module__ = 'bnet.presence_service_pb2' +QueryRequest = _reflection.GeneratedProtocolMessageType('QueryRequest', (_message.Message,), { + 'DESCRIPTOR' : _QUERYREQUEST, + '__module__' : 'bnet.presence_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.presence.QueryRequest) - )) + }) _sym_db.RegisterMessage(QueryRequest) -QueryResponse = _reflection.GeneratedProtocolMessageType('QueryResponse', (_message.Message,), dict( - DESCRIPTOR = _QUERYRESPONSE, - __module__ = 'bnet.presence_service_pb2' +QueryResponse = _reflection.GeneratedProtocolMessageType('QueryResponse', (_message.Message,), { + 'DESCRIPTOR' : _QUERYRESPONSE, + '__module__' : 'bnet.presence_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.presence.QueryResponse) - )) + }) _sym_db.RegisterMessage(QueryResponse) -OwnershipRequest = _reflection.GeneratedProtocolMessageType('OwnershipRequest', (_message.Message,), dict( - DESCRIPTOR = _OWNERSHIPREQUEST, - __module__ = 'bnet.presence_service_pb2' +OwnershipRequest = _reflection.GeneratedProtocolMessageType('OwnershipRequest', (_message.Message,), { + 'DESCRIPTOR' : _OWNERSHIPREQUEST, + '__module__' : 'bnet.presence_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.presence.OwnershipRequest) - )) + }) _sym_db.RegisterMessage(OwnershipRequest) diff --git a/src/bnet/presence_types.proto b/src/bnet/presence_types.proto new file mode 100644 index 0000000..06b9244 --- /dev/null +++ b/src/bnet/presence_types.proto @@ -0,0 +1,42 @@ +package bnet.protocol.presence; +import "bnet/attribute.proto"; +import "bnet/channel_types.proto"; +import "bnet/entity.proto"; + + +message RichPresence { + required fixed32 program_id = 1; + required fixed32 stream_id = 2; + required uint32 index = 3; +} + +message FieldKey { + required uint32 program = 1; + required uint32 group = 2; + required uint32 field = 3; + optional uint64 index = 4 [default = 0]; +} + +message Field { + required FieldKey key = 1; + required attribute.Variant value = 2; +} + +message FieldOperation { + enum OperationType { + SET = 0; + CLEAR = 1; + } + + required Field field = 1; + optional OperationType operation = 2 [default = SET]; +} + +message ChannelState { + optional EntityId entity_id = 1; + repeated FieldOperation field_operation = 2; + optional bool healing = 3 [default = false]; + extend .bnet.protocol.channel.ChannelState { + optional ChannelState presence = 101; + } +} diff --git a/src/bnet/presence_types_pb2.py b/src/bnet/presence_types_pb2.py index 0950992..b6b0244 100644 --- a/src/bnet/presence_types_pb2.py +++ b/src/bnet/presence_types_pb2.py @@ -1,29 +1,29 @@ +# -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: bnet/presence_types.proto -import sys -_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message from google.protobuf import reflection as _reflection from google.protobuf import symbol_database as _symbol_database -from google.protobuf import descriptor_pb2 # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() -import bnet.attribute_pb2 -import bnet.entity_pb2 +from bnet import attribute_pb2 as bnet_dot_attribute__pb2 +from bnet import channel_types_pb2 as bnet_dot_channel__types__pb2 +from bnet import entity_pb2 as bnet_dot_entity__pb2 DESCRIPTOR = _descriptor.FileDescriptor( name='bnet/presence_types.proto', package='bnet.protocol.presence', - serialized_pb=_b('\n\x19\x62net/presence_types.proto\x12\x16\x62net.protocol.presence\x1a\x14\x62net/attribute.proto\x1a\x11\x62net/entity.proto\"D\n\x0cRichPresence\x12\x12\n\nprogram_id\x18\x01 \x02(\x07\x12\x11\n\tstream_id\x18\x02 \x02(\x07\x12\r\n\x05index\x18\x03 \x01(\r\"K\n\x08\x46ieldKey\x12\x0f\n\x07program\x18\x01 \x02(\r\x12\r\n\x05group\x18\x02 \x02(\r\x12\r\n\x05\x66ield\x18\x03 \x02(\r\x12\x10\n\x05index\x18\x04 \x01(\x04:\x01\x30\"g\n\x05\x46ield\x12-\n\x03key\x18\x01 \x02(\x0b\x32 .bnet.protocol.presence.FieldKey\x12/\n\x05value\x18\x02 \x02(\x0b\x32 .bnet.protocol.attribute.Variant\"\xb1\x01\n\x0e\x46ieldOperation\x12,\n\x05\x66ield\x18\x01 \x02(\x0b\x32\x1d.bnet.protocol.presence.Field\x12L\n\toperation\x18\x02 \x01(\x0e\x32\x34.bnet.protocol.presence.FieldOperation.OperationType:\x03SET\"#\n\rOperationType\x12\x07\n\x03SET\x10\x00\x12\t\n\x05\x43LEAR\x10\x01\"\x93\x01\n\x0c\x43hannelState\x12*\n\tentity_id\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12?\n\x0f\x66ield_operation\x18\x02 \x03(\x0b\x32&.bnet.protocol.presence.FieldOperation\x12\x16\n\x07healing\x18\x03 \x01(\x08:\x05\x66\x61lse') + syntax='proto2', + serialized_options=None, + serialized_pb=b'\n\x19\x62net/presence_types.proto\x12\x16\x62net.protocol.presence\x1a\x14\x62net/attribute.proto\x1a\x18\x62net/channel_types.proto\x1a\x11\x62net/entity.proto\"D\n\x0cRichPresence\x12\x12\n\nprogram_id\x18\x01 \x02(\x07\x12\x11\n\tstream_id\x18\x02 \x02(\x07\x12\r\n\x05index\x18\x03 \x02(\r\"K\n\x08\x46ieldKey\x12\x0f\n\x07program\x18\x01 \x02(\r\x12\r\n\x05group\x18\x02 \x02(\r\x12\r\n\x05\x66ield\x18\x03 \x02(\r\x12\x10\n\x05index\x18\x04 \x01(\x04:\x01\x30\"g\n\x05\x46ield\x12-\n\x03key\x18\x01 \x02(\x0b\x32 .bnet.protocol.presence.FieldKey\x12/\n\x05value\x18\x02 \x02(\x0b\x32 .bnet.protocol.attribute.Variant\"\xb1\x01\n\x0e\x46ieldOperation\x12,\n\x05\x66ield\x18\x01 \x02(\x0b\x32\x1d.bnet.protocol.presence.Field\x12L\n\toperation\x18\x02 \x01(\x0e\x32\x34.bnet.protocol.presence.FieldOperation.OperationType:\x03SET\"#\n\rOperationType\x12\x07\n\x03SET\x10\x00\x12\t\n\x05\x43LEAR\x10\x01\"\xf0\x01\n\x0c\x43hannelState\x12*\n\tentity_id\x18\x01 \x01(\x0b\x32\x17.bnet.protocol.EntityId\x12?\n\x0f\x66ield_operation\x18\x02 \x03(\x0b\x32&.bnet.protocol.presence.FieldOperation\x12\x16\n\x07healing\x18\x03 \x01(\x08:\x05\x66\x61lse2[\n\x08presence\x12#.bnet.protocol.channel.ChannelState\x18\x65 \x01(\x0b\x32$.bnet.protocol.presence.ChannelState' , - dependencies=[bnet.attribute_pb2.DESCRIPTOR,bnet.entity_pb2.DESCRIPTOR,]) -_sym_db.RegisterFileDescriptor(DESCRIPTOR) + dependencies=[bnet_dot_attribute__pb2.DESCRIPTOR,bnet_dot_channel__types__pb2.DESCRIPTOR,bnet_dot_entity__pb2.DESCRIPTOR,]) @@ -35,17 +35,17 @@ values=[ _descriptor.EnumValueDescriptor( name='SET', index=0, number=0, - options=None, + serialized_options=None, type=None), _descriptor.EnumValueDescriptor( name='CLEAR', index=1, number=1, - options=None, + serialized_options=None, type=None), ], containing_type=None, - options=None, - serialized_start=489, - serialized_end=524, + serialized_options=None, + serialized_start=515, + serialized_end=550, ) _sym_db.RegisterEnumDescriptor(_FIELDOPERATION_OPERATIONTYPE) @@ -63,34 +63,35 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='stream_id', full_name='bnet.protocol.presence.RichPresence.stream_id', index=1, number=2, type=7, cpp_type=3, label=2, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='index', full_name='bnet.protocol.presence.RichPresence.index', index=2, - number=3, type=13, cpp_type=3, label=1, + number=3, type=13, cpp_type=3, label=2, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], - serialized_start=94, - serialized_end=162, + serialized_start=120, + serialized_end=188, ) @@ -107,41 +108,42 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='group', full_name='bnet.protocol.presence.FieldKey.group', index=1, number=2, type=13, cpp_type=3, label=2, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='field', full_name='bnet.protocol.presence.FieldKey.field', index=2, number=3, type=13, cpp_type=3, label=2, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='index', full_name='bnet.protocol.presence.FieldKey.index', index=3, number=4, type=4, cpp_type=4, label=1, has_default_value=True, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], - serialized_start=164, - serialized_end=239, + serialized_start=190, + serialized_end=265, ) @@ -158,27 +160,28 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='bnet.protocol.presence.Field.value', index=1, number=2, type=11, cpp_type=10, label=2, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], - serialized_start=241, - serialized_end=344, + serialized_start=267, + serialized_end=370, ) @@ -195,14 +198,14 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='operation', full_name='bnet.protocol.presence.FieldOperation.operation', index=1, number=2, type=14, cpp_type=8, label=1, has_default_value=True, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], @@ -210,13 +213,14 @@ enum_types=[ _FIELDOPERATION_OPERATIONTYPE, ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], - serialized_start=347, - serialized_end=524, + serialized_start=373, + serialized_end=550, ) @@ -233,83 +237,94 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='field_operation', full_name='bnet.protocol.presence.ChannelState.field_operation', index=1, number=2, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='healing', full_name='bnet.protocol.presence.ChannelState.healing', index=2, number=3, type=8, cpp_type=7, label=1, has_default_value=True, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ + _descriptor.FieldDescriptor( + name='presence', full_name='bnet.protocol.presence.ChannelState.presence', index=0, + number=101, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=True, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], - serialized_start=527, - serialized_end=674, + serialized_start=553, + serialized_end=793, ) _FIELD.fields_by_name['key'].message_type = _FIELDKEY -_FIELD.fields_by_name['value'].message_type = bnet.attribute_pb2._VARIANT +_FIELD.fields_by_name['value'].message_type = bnet_dot_attribute__pb2._VARIANT _FIELDOPERATION.fields_by_name['field'].message_type = _FIELD _FIELDOPERATION.fields_by_name['operation'].enum_type = _FIELDOPERATION_OPERATIONTYPE _FIELDOPERATION_OPERATIONTYPE.containing_type = _FIELDOPERATION -_CHANNELSTATE.fields_by_name['entity_id'].message_type = bnet.entity_pb2._ENTITYID +_CHANNELSTATE.fields_by_name['entity_id'].message_type = bnet_dot_entity__pb2._ENTITYID _CHANNELSTATE.fields_by_name['field_operation'].message_type = _FIELDOPERATION DESCRIPTOR.message_types_by_name['RichPresence'] = _RICHPRESENCE DESCRIPTOR.message_types_by_name['FieldKey'] = _FIELDKEY DESCRIPTOR.message_types_by_name['Field'] = _FIELD DESCRIPTOR.message_types_by_name['FieldOperation'] = _FIELDOPERATION DESCRIPTOR.message_types_by_name['ChannelState'] = _CHANNELSTATE +_sym_db.RegisterFileDescriptor(DESCRIPTOR) -RichPresence = _reflection.GeneratedProtocolMessageType('RichPresence', (_message.Message,), dict( - DESCRIPTOR = _RICHPRESENCE, - __module__ = 'bnet.presence_types_pb2' +RichPresence = _reflection.GeneratedProtocolMessageType('RichPresence', (_message.Message,), { + 'DESCRIPTOR' : _RICHPRESENCE, + '__module__' : 'bnet.presence_types_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.presence.RichPresence) - )) + }) _sym_db.RegisterMessage(RichPresence) -FieldKey = _reflection.GeneratedProtocolMessageType('FieldKey', (_message.Message,), dict( - DESCRIPTOR = _FIELDKEY, - __module__ = 'bnet.presence_types_pb2' +FieldKey = _reflection.GeneratedProtocolMessageType('FieldKey', (_message.Message,), { + 'DESCRIPTOR' : _FIELDKEY, + '__module__' : 'bnet.presence_types_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.presence.FieldKey) - )) + }) _sym_db.RegisterMessage(FieldKey) -Field = _reflection.GeneratedProtocolMessageType('Field', (_message.Message,), dict( - DESCRIPTOR = _FIELD, - __module__ = 'bnet.presence_types_pb2' +Field = _reflection.GeneratedProtocolMessageType('Field', (_message.Message,), { + 'DESCRIPTOR' : _FIELD, + '__module__' : 'bnet.presence_types_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.presence.Field) - )) + }) _sym_db.RegisterMessage(Field) -FieldOperation = _reflection.GeneratedProtocolMessageType('FieldOperation', (_message.Message,), dict( - DESCRIPTOR = _FIELDOPERATION, - __module__ = 'bnet.presence_types_pb2' +FieldOperation = _reflection.GeneratedProtocolMessageType('FieldOperation', (_message.Message,), { + 'DESCRIPTOR' : _FIELDOPERATION, + '__module__' : 'bnet.presence_types_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.presence.FieldOperation) - )) + }) _sym_db.RegisterMessage(FieldOperation) -ChannelState = _reflection.GeneratedProtocolMessageType('ChannelState', (_message.Message,), dict( - DESCRIPTOR = _CHANNELSTATE, - __module__ = 'bnet.presence_types_pb2' +ChannelState = _reflection.GeneratedProtocolMessageType('ChannelState', (_message.Message,), { + 'DESCRIPTOR' : _CHANNELSTATE, + '__module__' : 'bnet.presence_types_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.presence.ChannelState) - )) + }) _sym_db.RegisterMessage(ChannelState) +_CHANNELSTATE.extensions_by_name['presence'].message_type = _CHANNELSTATE +bnet_dot_channel__types__pb2.ChannelState.RegisterExtension(_CHANNELSTATE.extensions_by_name['presence']) # @@protoc_insertion_point(module_scope) diff --git a/src/bnet/profanity.proto b/src/bnet/profanity.proto new file mode 100644 index 0000000..d3ff548 --- /dev/null +++ b/src/bnet/profanity.proto @@ -0,0 +1,10 @@ +package bnet.protocol.profanity; + +message WordFilter { + required string type = 1; + required string regex = 2; +} + +message WordFilters { + repeated WordFilter filters = 1; +} diff --git a/src/bnet/profanity_pb2.py b/src/bnet/profanity_pb2.py index 71f172c..7dadc96 100644 --- a/src/bnet/profanity_pb2.py +++ b/src/bnet/profanity_pb2.py @@ -1,13 +1,11 @@ +# -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: bnet/profanity.proto -import sys -_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message from google.protobuf import reflection as _reflection from google.protobuf import symbol_database as _symbol_database -from google.protobuf import descriptor_pb2 # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -18,9 +16,10 @@ DESCRIPTOR = _descriptor.FileDescriptor( name='bnet/profanity.proto', package='bnet.protocol.profanity', - serialized_pb=_b('\n\x14\x62net/profanity.proto\x12\x17\x62net.protocol.profanity\")\n\nWordFilter\x12\x0c\n\x04type\x18\x01 \x02(\t\x12\r\n\x05regex\x18\x02 \x02(\t\"C\n\x0bWordFilters\x12\x34\n\x07\x66ilters\x18\x01 \x03(\x0b\x32#.bnet.protocol.profanity.WordFilter') + syntax='proto2', + serialized_options=None, + serialized_pb=b'\n\x14\x62net/profanity.proto\x12\x17\x62net.protocol.profanity\")\n\nWordFilter\x12\x0c\n\x04type\x18\x01 \x02(\t\x12\r\n\x05regex\x18\x02 \x02(\t\"C\n\x0bWordFilters\x12\x34\n\x07\x66ilters\x18\x01 \x03(\x0b\x32#.bnet.protocol.profanity.WordFilter' ) -_sym_db.RegisterFileDescriptor(DESCRIPTOR) @@ -35,25 +34,26 @@ _descriptor.FieldDescriptor( name='type', full_name='bnet.protocol.profanity.WordFilter.type', index=0, number=1, type=9, cpp_type=9, label=2, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='regex', full_name='bnet.protocol.profanity.WordFilter.regex', index=1, number=2, type=9, cpp_type=9, label=2, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -75,15 +75,16 @@ has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -94,19 +95,20 @@ _WORDFILTERS.fields_by_name['filters'].message_type = _WORDFILTER DESCRIPTOR.message_types_by_name['WordFilter'] = _WORDFILTER DESCRIPTOR.message_types_by_name['WordFilters'] = _WORDFILTERS +_sym_db.RegisterFileDescriptor(DESCRIPTOR) -WordFilter = _reflection.GeneratedProtocolMessageType('WordFilter', (_message.Message,), dict( - DESCRIPTOR = _WORDFILTER, - __module__ = 'bnet.profanity_pb2' +WordFilter = _reflection.GeneratedProtocolMessageType('WordFilter', (_message.Message,), { + 'DESCRIPTOR' : _WORDFILTER, + '__module__' : 'bnet.profanity_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.profanity.WordFilter) - )) + }) _sym_db.RegisterMessage(WordFilter) -WordFilters = _reflection.GeneratedProtocolMessageType('WordFilters', (_message.Message,), dict( - DESCRIPTOR = _WORDFILTERS, - __module__ = 'bnet.profanity_pb2' +WordFilters = _reflection.GeneratedProtocolMessageType('WordFilters', (_message.Message,), { + 'DESCRIPTOR' : _WORDFILTERS, + '__module__' : 'bnet.profanity_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.profanity.WordFilters) - )) + }) _sym_db.RegisterMessage(WordFilters) diff --git a/src/bnet/resource_service.proto b/src/bnet/resource_service.proto new file mode 100644 index 0000000..b077d50 --- /dev/null +++ b/src/bnet/resource_service.proto @@ -0,0 +1,7 @@ +package bnet.protocol.resources; + +message ContentHandleRequest { + required fixed32 program_id = 1; + required fixed32 stream_id = 2; + optional fixed32 locale = 3 [default = 1701729619]; +} diff --git a/src/bnet/resource_service_pb2.py b/src/bnet/resource_service_pb2.py index 18e317d..2ff2fdb 100644 --- a/src/bnet/resource_service_pb2.py +++ b/src/bnet/resource_service_pb2.py @@ -1,13 +1,11 @@ +# -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: bnet/resource_service.proto -import sys -_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message from google.protobuf import reflection as _reflection from google.protobuf import symbol_database as _symbol_database -from google.protobuf import descriptor_pb2 # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -18,9 +16,10 @@ DESCRIPTOR = _descriptor.FileDescriptor( name='bnet/resource_service.proto', package='bnet.protocol.resources', - serialized_pb=_b('\n\x1b\x62net/resource_service.proto\x12\x17\x62net.protocol.resources\"Y\n\x14\x43ontentHandleRequest\x12\x12\n\nprogram_id\x18\x01 \x02(\x07\x12\x11\n\tstream_id\x18\x02 \x02(\x07\x12\x1a\n\x06locale\x18\x03 \x01(\x07:\n1701729619') + syntax='proto2', + serialized_options=None, + serialized_pb=b'\n\x1b\x62net/resource_service.proto\x12\x17\x62net.protocol.resources\"Y\n\x14\x43ontentHandleRequest\x12\x12\n\nprogram_id\x18\x01 \x02(\x07\x12\x11\n\tstream_id\x18\x02 \x02(\x07\x12\x1a\n\x06locale\x18\x03 \x01(\x07:\n1701729619' ) -_sym_db.RegisterFileDescriptor(DESCRIPTOR) @@ -38,29 +37,30 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='stream_id', full_name='bnet.protocol.resources.ContentHandleRequest.stream_id', index=1, number=2, type=7, cpp_type=3, label=2, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='locale', full_name='bnet.protocol.resources.ContentHandleRequest.locale', index=2, number=3, type=7, cpp_type=3, label=1, has_default_value=True, default_value=1701729619, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -69,12 +69,13 @@ ) DESCRIPTOR.message_types_by_name['ContentHandleRequest'] = _CONTENTHANDLEREQUEST +_sym_db.RegisterFileDescriptor(DESCRIPTOR) -ContentHandleRequest = _reflection.GeneratedProtocolMessageType('ContentHandleRequest', (_message.Message,), dict( - DESCRIPTOR = _CONTENTHANDLEREQUEST, - __module__ = 'bnet.resource_service_pb2' +ContentHandleRequest = _reflection.GeneratedProtocolMessageType('ContentHandleRequest', (_message.Message,), { + 'DESCRIPTOR' : _CONTENTHANDLEREQUEST, + '__module__' : 'bnet.resource_service_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.resources.ContentHandleRequest) - )) + }) _sym_db.RegisterMessage(ContentHandleRequest) diff --git a/src/bnet/role.proto b/src/bnet/role.proto new file mode 100644 index 0000000..dc6c0f8 --- /dev/null +++ b/src/bnet/role.proto @@ -0,0 +1,34 @@ +package bnet.protocol; +import "bnet/attribute.proto"; + + +message Privilege { + required string name = 1; + required uint32 value = 2; +} + +message RoleSetConfig { + repeated Privilege privilege = 1; + required RoleSet role_set = 2; +} + +message Role { + required uint32 id = 1; + required string name = 2; + repeated string privilege = 3; + repeated uint32 assignable_role = 4 [packed = true]; + optional bool required = 5 [default = false]; + optional bool unique = 6 [default = false]; + optional uint32 relegation_role = 7; + repeated attribute.Attribute attribute = 8; +} + +message RoleSet { + required string program = 1; + required string service = 2; + optional string subtype = 3 [default = "default"]; + repeated Role role = 4; + repeated uint32 default_role = 5 [packed = true]; + optional int32 max_members = 6; + repeated attribute.Attribute attribute = 7; +} diff --git a/src/bnet/role_pb2.py b/src/bnet/role_pb2.py index 5cd44ad..cdbbcf2 100644 --- a/src/bnet/role_pb2.py +++ b/src/bnet/role_pb2.py @@ -1,28 +1,27 @@ +# -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: bnet/role.proto -import sys -_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message from google.protobuf import reflection as _reflection from google.protobuf import symbol_database as _symbol_database -from google.protobuf import descriptor_pb2 # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() -import bnet.attribute_pb2 +from bnet import attribute_pb2 as bnet_dot_attribute__pb2 DESCRIPTOR = _descriptor.FileDescriptor( name='bnet/role.proto', package='bnet.protocol', - serialized_pb=_b('\n\x0f\x62net/role.proto\x12\rbnet.protocol\x1a\x14\x62net/attribute.proto\"(\n\tPrivilege\x12\x0c\n\x04name\x18\x01 \x02(\t\x12\r\n\x05value\x18\x02 \x02(\r\"f\n\rRoleSetConfig\x12+\n\tprivilege\x18\x01 \x03(\x0b\x32\x18.bnet.protocol.Privilege\x12(\n\x08role_set\x18\x02 \x02(\x0b\x32\x16.bnet.protocol.RoleSet\"\xd0\x01\n\x04Role\x12\n\n\x02id\x18\x01 \x02(\r\x12\x0c\n\x04name\x18\x02 \x02(\t\x12\x11\n\tprivilege\x18\x03 \x03(\t\x12\x1b\n\x0f\x61ssignable_role\x18\x04 \x03(\rB\x02\x10\x01\x12\x17\n\x08required\x18\x05 \x01(\x08:\x05\x66\x61lse\x12\x15\n\x06unique\x18\x06 \x01(\x08:\x05\x66\x61lse\x12\x17\n\x0frelegation_role\x18\x07 \x01(\r\x12\x35\n\tattribute\x18\x08 \x03(\x0b\x32\".bnet.protocol.attribute.Attribute\"\xce\x01\n\x07RoleSet\x12\x0f\n\x07program\x18\x01 \x02(\t\x12\x0f\n\x07service\x18\x02 \x02(\t\x12\x18\n\x07subtype\x18\x03 \x01(\t:\x07\x64\x65\x66\x61ult\x12!\n\x04role\x18\x04 \x03(\x0b\x32\x13.bnet.protocol.Role\x12\x18\n\x0c\x64\x65\x66\x61ult_role\x18\x05 \x03(\rB\x02\x10\x01\x12\x13\n\x0bmax_members\x18\x06 \x01(\x05\x12\x35\n\tattribute\x18\x07 \x03(\x0b\x32\".bnet.protocol.attribute.Attribute') + syntax='proto2', + serialized_options=None, + serialized_pb=b'\n\x0f\x62net/role.proto\x12\rbnet.protocol\x1a\x14\x62net/attribute.proto\"(\n\tPrivilege\x12\x0c\n\x04name\x18\x01 \x02(\t\x12\r\n\x05value\x18\x02 \x02(\r\"f\n\rRoleSetConfig\x12+\n\tprivilege\x18\x01 \x03(\x0b\x32\x18.bnet.protocol.Privilege\x12(\n\x08role_set\x18\x02 \x02(\x0b\x32\x16.bnet.protocol.RoleSet\"\xd0\x01\n\x04Role\x12\n\n\x02id\x18\x01 \x02(\r\x12\x0c\n\x04name\x18\x02 \x02(\t\x12\x11\n\tprivilege\x18\x03 \x03(\t\x12\x1b\n\x0f\x61ssignable_role\x18\x04 \x03(\rB\x02\x10\x01\x12\x17\n\x08required\x18\x05 \x01(\x08:\x05\x66\x61lse\x12\x15\n\x06unique\x18\x06 \x01(\x08:\x05\x66\x61lse\x12\x17\n\x0frelegation_role\x18\x07 \x01(\r\x12\x35\n\tattribute\x18\x08 \x03(\x0b\x32\".bnet.protocol.attribute.Attribute\"\xce\x01\n\x07RoleSet\x12\x0f\n\x07program\x18\x01 \x02(\t\x12\x0f\n\x07service\x18\x02 \x02(\t\x12\x18\n\x07subtype\x18\x03 \x01(\t:\x07\x64\x65\x66\x61ult\x12!\n\x04role\x18\x04 \x03(\x0b\x32\x13.bnet.protocol.Role\x12\x18\n\x0c\x64\x65\x66\x61ult_role\x18\x05 \x03(\rB\x02\x10\x01\x12\x13\n\x0bmax_members\x18\x06 \x01(\x05\x12\x35\n\tattribute\x18\x07 \x03(\x0b\x32\".bnet.protocol.attribute.Attribute' , - dependencies=[bnet.attribute_pb2.DESCRIPTOR,]) -_sym_db.RegisterFileDescriptor(DESCRIPTOR) + dependencies=[bnet_dot_attribute__pb2.DESCRIPTOR,]) @@ -37,25 +36,26 @@ _descriptor.FieldDescriptor( name='name', full_name='bnet.protocol.Privilege.name', index=0, number=1, type=9, cpp_type=9, label=2, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='bnet.protocol.Privilege.value', index=1, number=2, type=13, cpp_type=3, label=2, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -77,22 +77,23 @@ has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='role_set', full_name='bnet.protocol.RoleSetConfig.role_set', index=1, number=2, type=11, cpp_type=10, label=2, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -114,64 +115,65 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='name', full_name='bnet.protocol.Role.name', index=1, number=2, type=9, cpp_type=9, label=2, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='privilege', full_name='bnet.protocol.Role.privilege', index=2, number=3, type=9, cpp_type=9, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='assignable_role', full_name='bnet.protocol.Role.assignable_role', index=3, number=4, type=13, cpp_type=3, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001'))), + serialized_options=b'\020\001', file=DESCRIPTOR), _descriptor.FieldDescriptor( name='required', full_name='bnet.protocol.Role.required', index=4, number=5, type=8, cpp_type=7, label=1, has_default_value=True, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='unique', full_name='bnet.protocol.Role.unique', index=5, number=6, type=8, cpp_type=7, label=1, has_default_value=True, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='relegation_role', full_name='bnet.protocol.Role.relegation_role', index=6, number=7, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='attribute', full_name='bnet.protocol.Role.attribute', index=7, number=8, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -190,60 +192,61 @@ _descriptor.FieldDescriptor( name='program', full_name='bnet.protocol.RoleSet.program', index=0, number=1, type=9, cpp_type=9, label=2, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='service', full_name='bnet.protocol.RoleSet.service', index=1, number=2, type=9, cpp_type=9, label=2, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='subtype', full_name='bnet.protocol.RoleSet.subtype', index=2, number=3, type=9, cpp_type=9, label=1, - has_default_value=True, default_value=_b("default").decode('utf-8'), + has_default_value=True, default_value=b"default".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='role', full_name='bnet.protocol.RoleSet.role', index=3, number=4, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='default_role', full_name='bnet.protocol.RoleSet.default_role', index=4, number=5, type=13, cpp_type=3, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001'))), + serialized_options=b'\020\001', file=DESCRIPTOR), _descriptor.FieldDescriptor( name='max_members', full_name='bnet.protocol.RoleSet.max_members', index=5, number=6, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='attribute', full_name='bnet.protocol.RoleSet.attribute', index=6, number=7, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -253,45 +256,44 @@ _ROLESETCONFIG.fields_by_name['privilege'].message_type = _PRIVILEGE _ROLESETCONFIG.fields_by_name['role_set'].message_type = _ROLESET -_ROLE.fields_by_name['attribute'].message_type = bnet.attribute_pb2._ATTRIBUTE +_ROLE.fields_by_name['attribute'].message_type = bnet_dot_attribute__pb2._ATTRIBUTE _ROLESET.fields_by_name['role'].message_type = _ROLE -_ROLESET.fields_by_name['attribute'].message_type = bnet.attribute_pb2._ATTRIBUTE +_ROLESET.fields_by_name['attribute'].message_type = bnet_dot_attribute__pb2._ATTRIBUTE DESCRIPTOR.message_types_by_name['Privilege'] = _PRIVILEGE DESCRIPTOR.message_types_by_name['RoleSetConfig'] = _ROLESETCONFIG DESCRIPTOR.message_types_by_name['Role'] = _ROLE DESCRIPTOR.message_types_by_name['RoleSet'] = _ROLESET +_sym_db.RegisterFileDescriptor(DESCRIPTOR) -Privilege = _reflection.GeneratedProtocolMessageType('Privilege', (_message.Message,), dict( - DESCRIPTOR = _PRIVILEGE, - __module__ = 'bnet.role_pb2' +Privilege = _reflection.GeneratedProtocolMessageType('Privilege', (_message.Message,), { + 'DESCRIPTOR' : _PRIVILEGE, + '__module__' : 'bnet.role_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.Privilege) - )) + }) _sym_db.RegisterMessage(Privilege) -RoleSetConfig = _reflection.GeneratedProtocolMessageType('RoleSetConfig', (_message.Message,), dict( - DESCRIPTOR = _ROLESETCONFIG, - __module__ = 'bnet.role_pb2' +RoleSetConfig = _reflection.GeneratedProtocolMessageType('RoleSetConfig', (_message.Message,), { + 'DESCRIPTOR' : _ROLESETCONFIG, + '__module__' : 'bnet.role_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.RoleSetConfig) - )) + }) _sym_db.RegisterMessage(RoleSetConfig) -Role = _reflection.GeneratedProtocolMessageType('Role', (_message.Message,), dict( - DESCRIPTOR = _ROLE, - __module__ = 'bnet.role_pb2' +Role = _reflection.GeneratedProtocolMessageType('Role', (_message.Message,), { + 'DESCRIPTOR' : _ROLE, + '__module__' : 'bnet.role_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.Role) - )) + }) _sym_db.RegisterMessage(Role) -RoleSet = _reflection.GeneratedProtocolMessageType('RoleSet', (_message.Message,), dict( - DESCRIPTOR = _ROLESET, - __module__ = 'bnet.role_pb2' +RoleSet = _reflection.GeneratedProtocolMessageType('RoleSet', (_message.Message,), { + 'DESCRIPTOR' : _ROLESET, + '__module__' : 'bnet.role_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.RoleSet) - )) + }) _sym_db.RegisterMessage(RoleSet) -_ROLE.fields_by_name['assignable_role'].has_options = True -_ROLE.fields_by_name['assignable_role']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')) -_ROLESET.fields_by_name['default_role'].has_options = True -_ROLESET.fields_by_name['default_role']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001')) +_ROLE.fields_by_name['assignable_role']._options = None +_ROLESET.fields_by_name['default_role']._options = None # @@protoc_insertion_point(module_scope) diff --git a/src/bnet/rpc.proto b/src/bnet/rpc.proto new file mode 100644 index 0000000..d6f7f28 --- /dev/null +++ b/src/bnet/rpc.proto @@ -0,0 +1,40 @@ +package bnet.protocol; + +message NORESPONSE { +} + +message Address { + required string address = 1; + optional uint32 port = 2; +} + +message ProcessId { + required uint32 label = 1; + required uint32 epoch = 2; +} + +message ObjectAddress { + required ProcessId host = 1; + optional uint64 object_id = 2 [default = 0]; +} + +message NoData { +} + +message ErrorInfo { + required ObjectAddress object_address = 1; + required uint32 status = 2; + required uint32 service_hash = 3; + required uint32 method_id = 4; +} + +message Header { + required uint32 service_id = 1; + optional uint32 method_id = 2; + required uint32 token = 3; + optional uint64 object_id = 4 [default = 0]; + optional uint32 size = 5 [default = 0]; + optional uint32 status = 6 [default = 0]; + repeated ErrorInfo error = 7; + optional uint64 timeout = 8; +} diff --git a/src/bnet/rpc_config.proto b/src/bnet/rpc_config.proto new file mode 100644 index 0000000..fb4b11e --- /dev/null +++ b/src/bnet/rpc_config.proto @@ -0,0 +1,23 @@ +package bnet.protocol.config; + +message RPCMethodConfig { + optional string service_name = 1; + optional string method_name = 2; + optional uint32 fixed_call_cost = 3 [default = 1]; + optional uint32 fixed_packet_size = 4 [default = 0]; + optional float variable_multiplier = 5 [default = 0]; + optional float multiplier = 6 [default = 1]; + optional uint32 rate_limit_count = 7; + optional uint32 rate_limit_seconds = 8; + optional uint32 max_packet_size = 9; + optional uint32 max_encoded_size = 10; + optional float timeout = 11; +} + +message RPCMeterConfig { + repeated RPCMethodConfig method = 1; + optional uint32 income_per_second = 2 [default = 1]; + optional uint32 initial_balance = 3; + optional uint32 cap_balance = 4; + optional float startup_period = 5 [default = 0]; +} diff --git a/src/bnet/rpc_config_pb2.py b/src/bnet/rpc_config_pb2.py index 597b47e..a08a25c 100644 --- a/src/bnet/rpc_config_pb2.py +++ b/src/bnet/rpc_config_pb2.py @@ -1,13 +1,11 @@ +# -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: bnet/rpc_config.proto -import sys -_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message from google.protobuf import reflection as _reflection from google.protobuf import symbol_database as _symbol_database -from google.protobuf import descriptor_pb2 # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -18,9 +16,10 @@ DESCRIPTOR = _descriptor.FileDescriptor( name='bnet/rpc_config.proto', package='bnet.protocol.config', - serialized_pb=_b('\n\x15\x62net/rpc_config.proto\x12\x14\x62net.protocol.config\"\xa7\x02\n\x0fRPCMethodConfig\x12\x14\n\x0cservice_name\x18\x01 \x01(\t\x12\x13\n\x0bmethod_name\x18\x02 \x01(\t\x12\x1a\n\x0f\x66ixed_call_cost\x18\x03 \x01(\r:\x01\x31\x12\x1c\n\x11\x66ixed_packet_size\x18\x04 \x01(\r:\x01\x30\x12\x1e\n\x13variable_multiplier\x18\x05 \x01(\x02:\x01\x30\x12\x15\n\nmultiplier\x18\x06 \x01(\x02:\x01\x31\x12\x18\n\x10rate_limit_count\x18\x07 \x01(\r\x12\x1a\n\x12rate_limit_seconds\x18\x08 \x01(\r\x12\x17\n\x0fmax_packet_size\x18\t \x01(\r\x12\x18\n\x10max_encoded_size\x18\n \x01(\r\x12\x0f\n\x07timeout\x18\x0b \x01(\x02\"\xae\x01\n\x0eRPCMeterConfig\x12\x35\n\x06method\x18\x01 \x03(\x0b\x32%.bnet.protocol.config.RPCMethodConfig\x12\x1c\n\x11income_per_second\x18\x02 \x01(\r:\x01\x31\x12\x17\n\x0finitial_balance\x18\x03 \x01(\r\x12\x13\n\x0b\x63\x61p_balance\x18\x04 \x01(\r\x12\x19\n\x0estartup_period\x18\x05 \x01(\x02:\x01\x30') + syntax='proto2', + serialized_options=None, + serialized_pb=b'\n\x15\x62net/rpc_config.proto\x12\x14\x62net.protocol.config\"\xa7\x02\n\x0fRPCMethodConfig\x12\x14\n\x0cservice_name\x18\x01 \x01(\t\x12\x13\n\x0bmethod_name\x18\x02 \x01(\t\x12\x1a\n\x0f\x66ixed_call_cost\x18\x03 \x01(\r:\x01\x31\x12\x1c\n\x11\x66ixed_packet_size\x18\x04 \x01(\r:\x01\x30\x12\x1e\n\x13variable_multiplier\x18\x05 \x01(\x02:\x01\x30\x12\x15\n\nmultiplier\x18\x06 \x01(\x02:\x01\x31\x12\x18\n\x10rate_limit_count\x18\x07 \x01(\r\x12\x1a\n\x12rate_limit_seconds\x18\x08 \x01(\r\x12\x17\n\x0fmax_packet_size\x18\t \x01(\r\x12\x18\n\x10max_encoded_size\x18\n \x01(\r\x12\x0f\n\x07timeout\x18\x0b \x01(\x02\"\xae\x01\n\x0eRPCMeterConfig\x12\x35\n\x06method\x18\x01 \x03(\x0b\x32%.bnet.protocol.config.RPCMethodConfig\x12\x1c\n\x11income_per_second\x18\x02 \x01(\r:\x01\x31\x12\x17\n\x0finitial_balance\x18\x03 \x01(\r\x12\x13\n\x0b\x63\x61p_balance\x18\x04 \x01(\r\x12\x19\n\x0estartup_period\x18\x05 \x01(\x02:\x01\x30' ) -_sym_db.RegisterFileDescriptor(DESCRIPTOR) @@ -35,88 +34,89 @@ _descriptor.FieldDescriptor( name='service_name', full_name='bnet.protocol.config.RPCMethodConfig.service_name', index=0, number=1, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='method_name', full_name='bnet.protocol.config.RPCMethodConfig.method_name', index=1, number=2, type=9, cpp_type=9, label=1, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='fixed_call_cost', full_name='bnet.protocol.config.RPCMethodConfig.fixed_call_cost', index=2, number=3, type=13, cpp_type=3, label=1, has_default_value=True, default_value=1, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='fixed_packet_size', full_name='bnet.protocol.config.RPCMethodConfig.fixed_packet_size', index=3, number=4, type=13, cpp_type=3, label=1, has_default_value=True, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='variable_multiplier', full_name='bnet.protocol.config.RPCMethodConfig.variable_multiplier', index=4, number=5, type=2, cpp_type=6, label=1, - has_default_value=True, default_value=0, + has_default_value=True, default_value=float(0), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='multiplier', full_name='bnet.protocol.config.RPCMethodConfig.multiplier', index=5, number=6, type=2, cpp_type=6, label=1, - has_default_value=True, default_value=1, + has_default_value=True, default_value=float(1), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='rate_limit_count', full_name='bnet.protocol.config.RPCMethodConfig.rate_limit_count', index=6, number=7, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='rate_limit_seconds', full_name='bnet.protocol.config.RPCMethodConfig.rate_limit_seconds', index=7, number=8, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='max_packet_size', full_name='bnet.protocol.config.RPCMethodConfig.max_packet_size', index=8, number=9, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='max_encoded_size', full_name='bnet.protocol.config.RPCMethodConfig.max_encoded_size', index=9, number=10, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='timeout', full_name='bnet.protocol.config.RPCMethodConfig.timeout', index=10, number=11, type=2, cpp_type=6, label=1, - has_default_value=False, default_value=0, + has_default_value=False, default_value=float(0), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -138,43 +138,44 @@ has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='income_per_second', full_name='bnet.protocol.config.RPCMeterConfig.income_per_second', index=1, number=2, type=13, cpp_type=3, label=1, has_default_value=True, default_value=1, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='initial_balance', full_name='bnet.protocol.config.RPCMeterConfig.initial_balance', index=2, number=3, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='cap_balance', full_name='bnet.protocol.config.RPCMeterConfig.cap_balance', index=3, number=4, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='startup_period', full_name='bnet.protocol.config.RPCMeterConfig.startup_period', index=4, number=5, type=2, cpp_type=6, label=1, - has_default_value=True, default_value=0, + has_default_value=True, default_value=float(0), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -185,19 +186,20 @@ _RPCMETERCONFIG.fields_by_name['method'].message_type = _RPCMETHODCONFIG DESCRIPTOR.message_types_by_name['RPCMethodConfig'] = _RPCMETHODCONFIG DESCRIPTOR.message_types_by_name['RPCMeterConfig'] = _RPCMETERCONFIG +_sym_db.RegisterFileDescriptor(DESCRIPTOR) -RPCMethodConfig = _reflection.GeneratedProtocolMessageType('RPCMethodConfig', (_message.Message,), dict( - DESCRIPTOR = _RPCMETHODCONFIG, - __module__ = 'bnet.rpc_config_pb2' +RPCMethodConfig = _reflection.GeneratedProtocolMessageType('RPCMethodConfig', (_message.Message,), { + 'DESCRIPTOR' : _RPCMETHODCONFIG, + '__module__' : 'bnet.rpc_config_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.config.RPCMethodConfig) - )) + }) _sym_db.RegisterMessage(RPCMethodConfig) -RPCMeterConfig = _reflection.GeneratedProtocolMessageType('RPCMeterConfig', (_message.Message,), dict( - DESCRIPTOR = _RPCMETERCONFIG, - __module__ = 'bnet.rpc_config_pb2' +RPCMeterConfig = _reflection.GeneratedProtocolMessageType('RPCMeterConfig', (_message.Message,), { + 'DESCRIPTOR' : _RPCMETERCONFIG, + '__module__' : 'bnet.rpc_config_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.config.RPCMeterConfig) - )) + }) _sym_db.RegisterMessage(RPCMeterConfig) diff --git a/src/bnet/rpc_pb2.py b/src/bnet/rpc_pb2.py index 9ce28fe..1086a8a 100644 --- a/src/bnet/rpc_pb2.py +++ b/src/bnet/rpc_pb2.py @@ -1,13 +1,11 @@ +# -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: bnet/rpc.proto -import sys -_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message from google.protobuf import reflection as _reflection from google.protobuf import symbol_database as _symbol_database -from google.protobuf import descriptor_pb2 # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() @@ -18,9 +16,10 @@ DESCRIPTOR = _descriptor.FileDescriptor( name='bnet/rpc.proto', package='bnet.protocol', - serialized_pb=_b('\n\x0e\x62net/rpc.proto\x12\rbnet.protocol\"\x0c\n\nNORESPONSE\"(\n\x07\x41\x64\x64ress\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x02(\t\x12\x0c\n\x04port\x18\x02 \x01(\r\")\n\tProcessId\x12\r\n\x05label\x18\x01 \x02(\r\x12\r\n\x05\x65poch\x18\x02 \x02(\r\"M\n\rObjectAddress\x12&\n\x04host\x18\x01 \x02(\x0b\x32\x18.bnet.protocol.ProcessId\x12\x14\n\tobject_id\x18\x02 \x01(\x04:\x01\x30\"\x08\n\x06NoData\"z\n\tErrorInfo\x12\x34\n\x0eobject_address\x18\x01 \x02(\x0b\x32\x1c.bnet.protocol.ObjectAddress\x12\x0e\n\x06status\x18\x02 \x02(\r\x12\x14\n\x0cservice_hash\x18\x03 \x02(\r\x12\x11\n\tmethod_id\x18\x04 \x02(\r\"\xb2\x01\n\x06Header\x12\x12\n\nservice_id\x18\x01 \x02(\r\x12\x11\n\tmethod_id\x18\x02 \x01(\r\x12\r\n\x05token\x18\x03 \x02(\r\x12\x14\n\tobject_id\x18\x04 \x01(\x04:\x01\x30\x12\x0f\n\x04size\x18\x05 \x01(\r:\x01\x30\x12\x11\n\x06status\x18\x06 \x01(\r:\x01\x30\x12\'\n\x05\x65rror\x18\x07 \x03(\x0b\x32\x18.bnet.protocol.ErrorInfo\x12\x0f\n\x07timeout\x18\x08 \x01(\x04') + syntax='proto2', + serialized_options=None, + serialized_pb=b'\n\x0e\x62net/rpc.proto\x12\rbnet.protocol\"\x0c\n\nNORESPONSE\"(\n\x07\x41\x64\x64ress\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x02(\t\x12\x0c\n\x04port\x18\x02 \x01(\r\")\n\tProcessId\x12\r\n\x05label\x18\x01 \x02(\r\x12\r\n\x05\x65poch\x18\x02 \x02(\r\"M\n\rObjectAddress\x12&\n\x04host\x18\x01 \x02(\x0b\x32\x18.bnet.protocol.ProcessId\x12\x14\n\tobject_id\x18\x02 \x01(\x04:\x01\x30\"\x08\n\x06NoData\"z\n\tErrorInfo\x12\x34\n\x0eobject_address\x18\x01 \x02(\x0b\x32\x1c.bnet.protocol.ObjectAddress\x12\x0e\n\x06status\x18\x02 \x02(\r\x12\x14\n\x0cservice_hash\x18\x03 \x02(\r\x12\x11\n\tmethod_id\x18\x04 \x02(\r\"\xb2\x01\n\x06Header\x12\x12\n\nservice_id\x18\x01 \x02(\r\x12\x11\n\tmethod_id\x18\x02 \x01(\r\x12\r\n\x05token\x18\x03 \x02(\r\x12\x14\n\tobject_id\x18\x04 \x01(\x04:\x01\x30\x12\x0f\n\x04size\x18\x05 \x01(\r:\x01\x30\x12\x11\n\x06status\x18\x06 \x01(\r:\x01\x30\x12\'\n\x05\x65rror\x18\x07 \x03(\x0b\x32\x18.bnet.protocol.ErrorInfo\x12\x0f\n\x07timeout\x18\x08 \x01(\x04' ) -_sym_db.RegisterFileDescriptor(DESCRIPTOR) @@ -38,8 +37,9 @@ nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -58,25 +58,26 @@ _descriptor.FieldDescriptor( name='address', full_name='bnet.protocol.Address.address', index=0, number=1, type=9, cpp_type=9, label=2, - has_default_value=False, default_value=_b("").decode('utf-8'), + has_default_value=False, default_value=b"".decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='port', full_name='bnet.protocol.Address.port', index=1, number=2, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -98,22 +99,23 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='epoch', full_name='bnet.protocol.ProcessId.epoch', index=1, number=2, type=13, cpp_type=3, label=2, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -135,22 +137,23 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='object_id', full_name='bnet.protocol.ObjectAddress.object_id', index=1, number=2, type=4, cpp_type=4, label=1, has_default_value=True, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -172,8 +175,9 @@ nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -195,36 +199,37 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='status', full_name='bnet.protocol.ErrorInfo.status', index=1, number=2, type=13, cpp_type=3, label=2, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='service_hash', full_name='bnet.protocol.ErrorInfo.service_hash', index=2, number=3, type=13, cpp_type=3, label=2, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='method_id', full_name='bnet.protocol.ErrorInfo.method_id', index=3, number=4, type=13, cpp_type=3, label=2, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -246,64 +251,65 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='method_id', full_name='bnet.protocol.Header.method_id', index=1, number=2, type=13, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='token', full_name='bnet.protocol.Header.token', index=2, number=3, type=13, cpp_type=3, label=2, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='object_id', full_name='bnet.protocol.Header.object_id', index=3, number=4, type=4, cpp_type=4, label=1, has_default_value=True, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='size', full_name='bnet.protocol.Header.size', index=4, number=5, type=13, cpp_type=3, label=1, has_default_value=True, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='status', full_name='bnet.protocol.Header.status', index=5, number=6, type=13, cpp_type=3, label=1, has_default_value=True, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='error', full_name='bnet.protocol.Header.error', index=6, number=7, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='timeout', full_name='bnet.protocol.Header.timeout', index=7, number=8, type=4, cpp_type=4, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -321,54 +327,55 @@ DESCRIPTOR.message_types_by_name['NoData'] = _NODATA DESCRIPTOR.message_types_by_name['ErrorInfo'] = _ERRORINFO DESCRIPTOR.message_types_by_name['Header'] = _HEADER +_sym_db.RegisterFileDescriptor(DESCRIPTOR) -NORESPONSE = _reflection.GeneratedProtocolMessageType('NORESPONSE', (_message.Message,), dict( - DESCRIPTOR = _NORESPONSE, - __module__ = 'bnet.rpc_pb2' +NORESPONSE = _reflection.GeneratedProtocolMessageType('NORESPONSE', (_message.Message,), { + 'DESCRIPTOR' : _NORESPONSE, + '__module__' : 'bnet.rpc_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.NORESPONSE) - )) + }) _sym_db.RegisterMessage(NORESPONSE) -Address = _reflection.GeneratedProtocolMessageType('Address', (_message.Message,), dict( - DESCRIPTOR = _ADDRESS, - __module__ = 'bnet.rpc_pb2' +Address = _reflection.GeneratedProtocolMessageType('Address', (_message.Message,), { + 'DESCRIPTOR' : _ADDRESS, + '__module__' : 'bnet.rpc_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.Address) - )) + }) _sym_db.RegisterMessage(Address) -ProcessId = _reflection.GeneratedProtocolMessageType('ProcessId', (_message.Message,), dict( - DESCRIPTOR = _PROCESSID, - __module__ = 'bnet.rpc_pb2' +ProcessId = _reflection.GeneratedProtocolMessageType('ProcessId', (_message.Message,), { + 'DESCRIPTOR' : _PROCESSID, + '__module__' : 'bnet.rpc_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.ProcessId) - )) + }) _sym_db.RegisterMessage(ProcessId) -ObjectAddress = _reflection.GeneratedProtocolMessageType('ObjectAddress', (_message.Message,), dict( - DESCRIPTOR = _OBJECTADDRESS, - __module__ = 'bnet.rpc_pb2' +ObjectAddress = _reflection.GeneratedProtocolMessageType('ObjectAddress', (_message.Message,), { + 'DESCRIPTOR' : _OBJECTADDRESS, + '__module__' : 'bnet.rpc_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.ObjectAddress) - )) + }) _sym_db.RegisterMessage(ObjectAddress) -NoData = _reflection.GeneratedProtocolMessageType('NoData', (_message.Message,), dict( - DESCRIPTOR = _NODATA, - __module__ = 'bnet.rpc_pb2' +NoData = _reflection.GeneratedProtocolMessageType('NoData', (_message.Message,), { + 'DESCRIPTOR' : _NODATA, + '__module__' : 'bnet.rpc_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.NoData) - )) + }) _sym_db.RegisterMessage(NoData) -ErrorInfo = _reflection.GeneratedProtocolMessageType('ErrorInfo', (_message.Message,), dict( - DESCRIPTOR = _ERRORINFO, - __module__ = 'bnet.rpc_pb2' +ErrorInfo = _reflection.GeneratedProtocolMessageType('ErrorInfo', (_message.Message,), { + 'DESCRIPTOR' : _ERRORINFO, + '__module__' : 'bnet.rpc_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.ErrorInfo) - )) + }) _sym_db.RegisterMessage(ErrorInfo) -Header = _reflection.GeneratedProtocolMessageType('Header', (_message.Message,), dict( - DESCRIPTOR = _HEADER, - __module__ = 'bnet.rpc_pb2' +Header = _reflection.GeneratedProtocolMessageType('Header', (_message.Message,), { + 'DESCRIPTOR' : _HEADER, + '__module__' : 'bnet.rpc_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.Header) - )) + }) _sym_db.RegisterMessage(Header) diff --git a/src/bnet/server_pool_types.proto b/src/bnet/server_pool_types.proto new file mode 100644 index 0000000..cd0bf75 --- /dev/null +++ b/src/bnet/server_pool_types.proto @@ -0,0 +1,28 @@ +package bnet.protocol.server_pool; +import "bnet/attribute.proto"; +import "bnet/rpc.proto"; + + +message GetLoadRequest { +} + +message ServerState { + optional float current_load = 1 [default = 1]; + optional uint32 game_count = 2 [default = 0]; + optional uint32 player_count = 3 [default = 0]; +} + +message ServerInfo { + required ProcessId host = 1; + optional bool replace = 2 [default = false]; + optional ServerState state = 3; + repeated attribute.Attribute attribute = 4; + optional fixed32 program_id = 5; +} + +message PoolStateRequest { +} + +message PoolStateResponse { + repeated ServerInfo info = 1; +} diff --git a/src/bnet/server_pool_types_pb2.py b/src/bnet/server_pool_types_pb2.py index 63bcbe3..4e0a27a 100644 --- a/src/bnet/server_pool_types_pb2.py +++ b/src/bnet/server_pool_types_pb2.py @@ -1,29 +1,28 @@ +# -*- coding: utf-8 -*- # Generated by the protocol buffer compiler. DO NOT EDIT! # source: bnet/server_pool_types.proto -import sys -_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message from google.protobuf import reflection as _reflection from google.protobuf import symbol_database as _symbol_database -from google.protobuf import descriptor_pb2 # @@protoc_insertion_point(imports) _sym_db = _symbol_database.Default() -import bnet.attribute_pb2 -import bnet.rpc_pb2 +from bnet import attribute_pb2 as bnet_dot_attribute__pb2 +from bnet import rpc_pb2 as bnet_dot_rpc__pb2 DESCRIPTOR = _descriptor.FileDescriptor( name='bnet/server_pool_types.proto', package='bnet.protocol.server_pool', - serialized_pb=_b('\n\x1c\x62net/server_pool_types.proto\x12\x19\x62net.protocol.server_pool\x1a\x14\x62net/attribute.proto\x1a\x0e\x62net/rpc.proto\"\x10\n\x0eGetLoadRequest\"V\n\x0bServerState\x12\x17\n\x0c\x63urrent_load\x18\x01 \x01(\x02:\x01\x31\x12\x15\n\ngame_count\x18\x02 \x01(\r:\x01\x30\x12\x17\n\x0cplayer_count\x18\x03 \x01(\r:\x01\x30\"\xce\x01\n\nServerInfo\x12&\n\x04host\x18\x01 \x02(\x0b\x32\x18.bnet.protocol.ProcessId\x12\x16\n\x07replace\x18\x02 \x01(\x08:\x05\x66\x61lse\x12\x35\n\x05state\x18\x03 \x01(\x0b\x32&.bnet.protocol.server_pool.ServerState\x12\x35\n\tattribute\x18\x04 \x03(\x0b\x32\".bnet.protocol.attribute.Attribute\x12\x12\n\nprogram_id\x18\x05 \x01(\x07\"\x12\n\x10PoolStateRequest\"H\n\x11PoolStateResponse\x12\x33\n\x04info\x18\x01 \x03(\x0b\x32%.bnet.protocol.server_pool.ServerInfo') + syntax='proto2', + serialized_options=None, + serialized_pb=b'\n\x1c\x62net/server_pool_types.proto\x12\x19\x62net.protocol.server_pool\x1a\x14\x62net/attribute.proto\x1a\x0e\x62net/rpc.proto\"\x10\n\x0eGetLoadRequest\"V\n\x0bServerState\x12\x17\n\x0c\x63urrent_load\x18\x01 \x01(\x02:\x01\x31\x12\x15\n\ngame_count\x18\x02 \x01(\r:\x01\x30\x12\x17\n\x0cplayer_count\x18\x03 \x01(\r:\x01\x30\"\xce\x01\n\nServerInfo\x12&\n\x04host\x18\x01 \x02(\x0b\x32\x18.bnet.protocol.ProcessId\x12\x16\n\x07replace\x18\x02 \x01(\x08:\x05\x66\x61lse\x12\x35\n\x05state\x18\x03 \x01(\x0b\x32&.bnet.protocol.server_pool.ServerState\x12\x35\n\tattribute\x18\x04 \x03(\x0b\x32\".bnet.protocol.attribute.Attribute\x12\x12\n\nprogram_id\x18\x05 \x01(\x07\"\x12\n\x10PoolStateRequest\"H\n\x11PoolStateResponse\x12\x33\n\x04info\x18\x01 \x03(\x0b\x32%.bnet.protocol.server_pool.ServerInfo' , - dependencies=[bnet.attribute_pb2.DESCRIPTOR,bnet.rpc_pb2.DESCRIPTOR,]) -_sym_db.RegisterFileDescriptor(DESCRIPTOR) + dependencies=[bnet_dot_attribute__pb2.DESCRIPTOR,bnet_dot_rpc__pb2.DESCRIPTOR,]) @@ -41,8 +40,9 @@ nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -61,32 +61,33 @@ _descriptor.FieldDescriptor( name='current_load', full_name='bnet.protocol.server_pool.ServerState.current_load', index=0, number=1, type=2, cpp_type=6, label=1, - has_default_value=True, default_value=1, + has_default_value=True, default_value=float(1), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='game_count', full_name='bnet.protocol.server_pool.ServerState.game_count', index=1, number=2, type=13, cpp_type=3, label=1, has_default_value=True, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='player_count', full_name='bnet.protocol.server_pool.ServerState.player_count', index=2, number=3, type=13, cpp_type=3, label=1, has_default_value=True, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -108,43 +109,44 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='replace', full_name='bnet.protocol.server_pool.ServerInfo.replace', index=1, number=2, type=8, cpp_type=7, label=1, has_default_value=True, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='state', full_name='bnet.protocol.server_pool.ServerInfo.state', index=2, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='attribute', full_name='bnet.protocol.server_pool.ServerInfo.attribute', index=3, number=4, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='program_id', full_name='bnet.protocol.server_pool.ServerInfo.program_id', index=4, number=5, type=7, cpp_type=3, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -166,8 +168,9 @@ nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -189,15 +192,16 @@ has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + serialized_options=None, file=DESCRIPTOR), ], extensions=[ ], nested_types=[], enum_types=[ ], - options=None, + serialized_options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], @@ -205,49 +209,50 @@ serialized_end=504, ) -_SERVERINFO.fields_by_name['host'].message_type = bnet.rpc_pb2._PROCESSID +_SERVERINFO.fields_by_name['host'].message_type = bnet_dot_rpc__pb2._PROCESSID _SERVERINFO.fields_by_name['state'].message_type = _SERVERSTATE -_SERVERINFO.fields_by_name['attribute'].message_type = bnet.attribute_pb2._ATTRIBUTE +_SERVERINFO.fields_by_name['attribute'].message_type = bnet_dot_attribute__pb2._ATTRIBUTE _POOLSTATERESPONSE.fields_by_name['info'].message_type = _SERVERINFO DESCRIPTOR.message_types_by_name['GetLoadRequest'] = _GETLOADREQUEST DESCRIPTOR.message_types_by_name['ServerState'] = _SERVERSTATE DESCRIPTOR.message_types_by_name['ServerInfo'] = _SERVERINFO DESCRIPTOR.message_types_by_name['PoolStateRequest'] = _POOLSTATEREQUEST DESCRIPTOR.message_types_by_name['PoolStateResponse'] = _POOLSTATERESPONSE +_sym_db.RegisterFileDescriptor(DESCRIPTOR) -GetLoadRequest = _reflection.GeneratedProtocolMessageType('GetLoadRequest', (_message.Message,), dict( - DESCRIPTOR = _GETLOADREQUEST, - __module__ = 'bnet.server_pool_types_pb2' +GetLoadRequest = _reflection.GeneratedProtocolMessageType('GetLoadRequest', (_message.Message,), { + 'DESCRIPTOR' : _GETLOADREQUEST, + '__module__' : 'bnet.server_pool_types_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.server_pool.GetLoadRequest) - )) + }) _sym_db.RegisterMessage(GetLoadRequest) -ServerState = _reflection.GeneratedProtocolMessageType('ServerState', (_message.Message,), dict( - DESCRIPTOR = _SERVERSTATE, - __module__ = 'bnet.server_pool_types_pb2' +ServerState = _reflection.GeneratedProtocolMessageType('ServerState', (_message.Message,), { + 'DESCRIPTOR' : _SERVERSTATE, + '__module__' : 'bnet.server_pool_types_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.server_pool.ServerState) - )) + }) _sym_db.RegisterMessage(ServerState) -ServerInfo = _reflection.GeneratedProtocolMessageType('ServerInfo', (_message.Message,), dict( - DESCRIPTOR = _SERVERINFO, - __module__ = 'bnet.server_pool_types_pb2' +ServerInfo = _reflection.GeneratedProtocolMessageType('ServerInfo', (_message.Message,), { + 'DESCRIPTOR' : _SERVERINFO, + '__module__' : 'bnet.server_pool_types_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.server_pool.ServerInfo) - )) + }) _sym_db.RegisterMessage(ServerInfo) -PoolStateRequest = _reflection.GeneratedProtocolMessageType('PoolStateRequest', (_message.Message,), dict( - DESCRIPTOR = _POOLSTATEREQUEST, - __module__ = 'bnet.server_pool_types_pb2' +PoolStateRequest = _reflection.GeneratedProtocolMessageType('PoolStateRequest', (_message.Message,), { + 'DESCRIPTOR' : _POOLSTATEREQUEST, + '__module__' : 'bnet.server_pool_types_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.server_pool.PoolStateRequest) - )) + }) _sym_db.RegisterMessage(PoolStateRequest) -PoolStateResponse = _reflection.GeneratedProtocolMessageType('PoolStateResponse', (_message.Message,), dict( - DESCRIPTOR = _POOLSTATERESPONSE, - __module__ = 'bnet.server_pool_types_pb2' +PoolStateResponse = _reflection.GeneratedProtocolMessageType('PoolStateResponse', (_message.Message,), { + 'DESCRIPTOR' : _POOLSTATERESPONSE, + '__module__' : 'bnet.server_pool_types_pb2' # @@protoc_insertion_point(class_scope:bnet.protocol.server_pool.PoolStateResponse) - )) + }) _sym_db.RegisterMessage(PoolStateResponse) From 3028d822dd69ef98d8c9c7d9534d98c631c27204 Mon Sep 17 00:00:00 2001 From: Alexander Wenzel Date: Wed, 17 Jun 2020 09:50:29 +0200 Subject: [PATCH 02/15] restore and adjust BNetClient; WIP get_user_presence --- requirements/app.txt | 3 +- src/backend.py | 2 +- src/bnet/smth_pb2.py | 170 --------------------- src/bnet_client.py | 350 +++++++++++++++++++++++++++++++++++++++++++ src/plugin.py | 183 ++++++++++++++-------- src/social.py | 46 ++++++ 6 files changed, 516 insertions(+), 238 deletions(-) delete mode 100644 src/bnet/smth_pb2.py create mode 100644 src/bnet_client.py create mode 100644 src/social.py diff --git a/requirements/app.txt b/requirements/app.txt index 623171b..6f6e418 100644 --- a/requirements/app.txt +++ b/requirements/app.txt @@ -4,4 +4,5 @@ psutil==5.6.7 pyobjc-core==5.2; sys_platform == 'darwin' pyobjc-framework-Cocoa==5.2; sys_platform == 'darwin' pyobjc-framework-Quartz==5.2; sys_platform == 'darwin' -protobuf==3.7.1 \ No newline at end of file +protobuf==3.11.3 +fnvhash==0.1.0 \ No newline at end of file diff --git a/src/backend.py b/src/backend.py index f1c6a2b..986bcaa 100644 --- a/src/backend.py +++ b/src/backend.py @@ -41,7 +41,6 @@ async def _authenticated_request(self, method, url, data=None, json=True, header @staticmethod def handle_status_code(status_code): - logging.debug(f'Status code: {status_code}') if status_code == HTTPStatus.UNAUTHORIZED: raise AuthenticationRequired() if status_code == HTTPStatus.FORBIDDEN: @@ -75,6 +74,7 @@ async def do_request(self, method, url, data=None, json=True, headers=None, igno raise NetworkError if not ignore_failure: + logging.debug(f'Request to {url} responsed with status code {response.status_code}') self.handle_status_code(response.status_code) if json: diff --git a/src/bnet/smth_pb2.py b/src/bnet/smth_pb2.py deleted file mode 100644 index b3209dc..0000000 --- a/src/bnet/smth_pb2.py +++ /dev/null @@ -1,170 +0,0 @@ -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: smth.proto - -import sys -_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) -from google.protobuf import descriptor as _descriptor -from google.protobuf import message as _message -from google.protobuf import reflection as _reflection -from google.protobuf import symbol_database as _symbol_database -# @@protoc_insertion_point(imports) - -_sym_db = _symbol_database.Default() - - - - -DESCRIPTOR = _descriptor.FileDescriptor( - name='smth.proto', - package='bnet.protocol', - syntax='proto2', - serialized_options=None, - serialized_pb=_b('\n\nsmth.proto\x12\rbnet.protocol\".\n\rSubSomething1\x12\x1d\n\x15target_account_id_low\x18\x01 \x02(\x07\">\n\rSubSomething2\x12\x15\n\rtarget_id_low\x18\x01 \x02(\x07\x12\n\n\x02\x66\x32\x18\x02 \x02(\x07\x12\n\n\x02\x66\x33\x18\x03 \x02(\x05\"_\n\tSomething\x12(\n\x02\x66\x31\x18\x01 \x02(\x0b\x32\x1c.bnet.protocol.SubSomething1\x12(\n\x02\x66\x32\x18\x02 \x02(\x0b\x32\x1c.bnet.protocol.SubSomething2') -) - - - - -_SUBSOMETHING1 = _descriptor.Descriptor( - name='SubSomething1', - full_name='bnet.protocol.SubSomething1', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='target_account_id_low', full_name='bnet.protocol.SubSomething1.target_account_id_low', index=0, - number=1, type=7, cpp_type=3, label=2, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[ - ], - serialized_start=29, - serialized_end=75, -) - - -_SUBSOMETHING2 = _descriptor.Descriptor( - name='SubSomething2', - full_name='bnet.protocol.SubSomething2', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='target_id_low', full_name='bnet.protocol.SubSomething2.target_id_low', index=0, - number=1, type=7, cpp_type=3, label=2, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='f2', full_name='bnet.protocol.SubSomething2.f2', index=1, - number=2, type=7, cpp_type=3, label=2, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='f3', full_name='bnet.protocol.SubSomething2.f3', index=2, - number=3, type=5, cpp_type=1, label=2, - has_default_value=False, default_value=0, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[ - ], - serialized_start=77, - serialized_end=139, -) - - -_SOMETHING = _descriptor.Descriptor( - name='Something', - full_name='bnet.protocol.Something', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='f1', full_name='bnet.protocol.Something.f1', index=0, - number=1, type=11, cpp_type=10, label=2, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='f2', full_name='bnet.protocol.Something.f2', index=1, - number=2, type=11, cpp_type=10, label=2, - has_default_value=False, default_value=None, - message_type=None, enum_type=None, containing_type=None, - is_extension=False, extension_scope=None, - serialized_options=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto2', - extension_ranges=[], - oneofs=[ - ], - serialized_start=141, - serialized_end=236, -) - -_SOMETHING.fields_by_name['f1'].message_type = _SUBSOMETHING1 -_SOMETHING.fields_by_name['f2'].message_type = _SUBSOMETHING2 -DESCRIPTOR.message_types_by_name['SubSomething1'] = _SUBSOMETHING1 -DESCRIPTOR.message_types_by_name['SubSomething2'] = _SUBSOMETHING2 -DESCRIPTOR.message_types_by_name['Something'] = _SOMETHING -_sym_db.RegisterFileDescriptor(DESCRIPTOR) - -SubSomething1 = _reflection.GeneratedProtocolMessageType('SubSomething1', (_message.Message,), dict( - DESCRIPTOR = _SUBSOMETHING1, - __module__ = 'smth_pb2' - # @@protoc_insertion_point(class_scope:bnet.protocol.SubSomething1) - )) -_sym_db.RegisterMessage(SubSomething1) - -SubSomething2 = _reflection.GeneratedProtocolMessageType('SubSomething2', (_message.Message,), dict( - DESCRIPTOR = _SUBSOMETHING2, - __module__ = 'smth_pb2' - # @@protoc_insertion_point(class_scope:bnet.protocol.SubSomething2) - )) -_sym_db.RegisterMessage(SubSomething2) - -Something = _reflection.GeneratedProtocolMessageType('Something', (_message.Message,), dict( - DESCRIPTOR = _SOMETHING, - __module__ = 'smth_pb2' - # @@protoc_insertion_point(class_scope:bnet.protocol.Something) - )) -_sym_db.RegisterMessage(Something) - - -# @@protoc_insertion_point(module_scope) diff --git a/src/bnet_client.py b/src/bnet_client.py new file mode 100644 index 0000000..48a6ef5 --- /dev/null +++ b/src/bnet_client.py @@ -0,0 +1,350 @@ +import socket +import ssl +from fnvhash import fnv1a_32 +# from bnet.protocol import protocol_pb2 +# from bnet.protocol.authentication import authentication_pb2 +# from bnet.protocol.channel_extracted import channel_extracted_pb2 +# from bnet.protocol.connection import connection_pb2 +# from bnet.protocol.friends import friends_pb2 +# from bnet.protocol.presence import presence_pb2 +from bnet import connection_service_pb2, rpc_pb2, friends_service_pb2, authentication_service_pb2, presence_service_pb2, presence_types_pb2 +import struct +import functools +import logging as log +from requests import utils +from datetime import datetime + + +class BNetClient: + def __init__(self, authentication_client): + self._authentication_client = authentication_client + self._BACKEND_SERVER_HOST = None + self._BACKEND_SERVER_PORT = 1119 + + self._AUTHENTICATION_SERVER_SERVICE = "bnet.protocol.authentication.AuthenticationServer" + self._AUTHENTICATION_CLIENT_SERVICE = "bnet.protocol.authentication.AuthenticationClient" + self._PRESENCE_SERVICE = "bnet.protocol.presence.PresenceService" + self._FRIENDS_SERVICE = "bnet.protocol.friends.FriendsService" + + self._RESPONSE_SERVICE = "response" + self._RESPONSE_SERVICE_ID = 254 + self._CONNECTION_SERVICE = "bnet.protocol.connection.ConnectionService" + self._CONNECTION_SERVICE_ID = 0 + + self._imported_services = ( + self._AUTHENTICATION_SERVER_SERVICE, + self._PRESENCE_SERVICE, + self._FRIENDS_SERVICE, + ) + + self._imported_services_map = { + self._RESPONSE_SERVICE: self._RESPONSE_SERVICE_ID, + self._CONNECTION_SERVICE: self._CONNECTION_SERVICE_ID + } + self._exported_services = ( + self.ExportedService(1, "bnet.protocol.authentication.AuthenticationClient"), + self.ExportedService(5, "bnet.protocol.friends.FriendsNotify")) + + self._exported_services_map = {} + + self._object = 1 + self._token = 0 + self._callbacks = {} + self._account_id = None + self._game_account_id = None + self.connection = None + + self.connect_callback = None + + class ExportedService: + def __init__(self, id, name): + self.name = name + self.id = id + self.hash = fnv1a_32(bytes(name, "UTF-8")) + + def _next_object(self): + self._object += 1 + return self._object + + def _next_token(self): + self._token += 1 + return self._token + + def _set_backend_server_host(self, region): + self._BACKEND_SERVER_HOST = "{}.actual.battle.net".format(region) + + def _send_request(self, service_name, method_id, body, callback=None): + # header = protocol_pb2.Header() + header = rpc_pb2.Header() + + service_id = self._imported_services_map[service_name] + header.service_id = service_id + + if service_id != self._RESPONSE_SERVICE_ID: + header.method_id = method_id + header.token = self._next_token() + else: + header.method_id = 0 + header.token = method_id + + header.size = body.ByteSize() + + if callback: + self._callbacks[header.token] = callback + + log.debug(f"protobuf request: {service_name}::{method_id} token {header.token}") + + self.connection.send(struct.pack("!H", header.ByteSize())) + self.connection.send(header.SerializeToString()) + self.connection.send(body.SerializeToString()) + + def _on_query_game_account_info_response(self, entity_id, account_info, callback, header, body): + if not body: + callback(False, entity_id, account_info) + return + + # packet = presence_pb2.QueryResponse() + packet = presence_service_pb2.QueryResponse() + packet.ParseFromString(body) + # log.debug(f"fetched query_game_account_info_response packet: {packet}") + + for f in packet.field: + if f.key.field == 1 and f.key.group == 2: + account_info["game_account_is_online"] = f.value.bool_value + if f.key.field == 3 and f.key.group == 2: + account_info["program_id"] = f.value.fourcc_value # e.g. "App" or "BSAp" + elif f.key.field == 8 and f.key.group == 2: + rich_presence = presence_types_pb2.RichPresence() + rich_presence.ParseFromString(f.value.message_value) + account_info["rich_presence"] = rich_presence + + callback(True, entity_id, account_info) + + def _on_query_account_info_response(self, entity_id, query_game_account_info, callback, header, body): + if not body: + callback(False, entity_id, {}) + return + + # packet = presence_pb2.QueryResponse() + packet = presence_service_pb2.QueryResponse() + packet.ParseFromString(body) + + # log.debug(f"fetched query_account_info_response packet: {packet}") + + account_info = {} + + for f in packet.field: + if f.key.field == 1 and f.key.group == 1: + account_info["full_name"] = f.value.string_value.encode('utf-8') # e.g. "Firstname Lastname" + elif f.key.field == 3 and f.key.group == 1 and "game_account" not in account_info: + account_info["game_account"] = f.value.entityid_value # e.g. high: 144115197778542960 low: 131237370 + elif f.key.field == 4 and f.key.group == 1: + account_info["battle_tag"] = f.value.string_value # e.g. "Username#1234" + elif f.key.field == 6 and f.key.group == 1: + account_info["last_online"] = datetime.fromtimestamp(f.value.int_value/1000/1000) # e.g. 1584194739362351 (microseconds timestamp) + elif f.key.field == 7 and f.key.group == 1: + account_info["is_away"] = f.value.bool_value + elif f.key.field == 11 and f.key.group == 1: + account_info["is_busy"] = f.value.bool_value + + if not query_game_account_info or "game_account" not in account_info: + callback(True, entity_id, account_info) + return + + # request = presence_pb2.QueryRequest() + request = presence_service_pb2.QueryRequest() + request.entity_id.high = account_info["game_account"].high + request.entity_id.low = account_info["game_account"].low + + for i in [1, 3, 8]: # 1 - is_online, 3 - program_id, 4 - last_online???, 5 - battle_tag, 7 - ???, 8 - rich_presence, 9 - ???, 10 - is_online???, 11 - last_online??? + key = request.key.add() + key.program = 0x424e + key.group = 2 # 2 game account + key.field = i + + # request with key.field = 1 (is online) works for all not-offline friends and always returns true (even if user is away) + # request with key.field = 3 (program_id) works for all not-offline friends and returns e.g. BSAp + # request with key.field = 4 (last_online???) returns e.g. 1584194739362351 + # request with key.field = 7 (???) returns e.g. high: 72057594037927936 low: 101974425 + # request with key.field = 8 (rich_presence) only returns when user is in-game + # request with key.field = 9 (???) return e.g. 1584228809551117 + + self._send_request(self._PRESENCE_SERVICE, 4, request, functools.partial(self._on_query_game_account_info_response, entity_id, account_info, callback)) + + def _on_subscribe_to_presence_response(self, callback, header, body): + log.info(f"fetched presence_response header: {header} -- body: {body}") + if not body: + callback(False, 0, []) + return + + packet = body + # packet = presence_pb2.SubscribeResponse() + packet.ParseFromString(body) + log.info(f"fetched presence_response packet: {packet}") + callback(True, 0, packet) + + def _on_subscribe_to_friends_response(self, callback, header, body): + if not body: + callback(False, []) + return + + # packet = channel_extracted_pb2.SubscribeToFriendsResponse() + packet = friends_service_pb2.SubscribeToFriendsResponse() + packet.ParseFromString(body) + # log.info(f"fetched friends_response packet: {packet}") + callback(True, packet.friends) + + def _on_select_game_account(self, header, body): + self.connect_callback(True) + + def _on_logon_result(self, header, body): + if header.status != 0: + self.connect_callback(False) + return + + # packet = authentication_pb2.LogonResult() + packet = authentication_service_pb2.LogonResult() + packet.ParseFromString(body) + + self._account_id = packet.account + self._game_account_id = packet.game_account[0] + + # request = authentication_service_pb2.SelectGameAccountRequest() + # request.game_account.high = self._game_account_id.high + # request.game_account.low = self._game_account_id.low + # + # self._send_request(self._AUTHENTICATION_SERVER_SERVICE, 6, request, self._on_select_game_account) + + self._send_request(self._AUTHENTICATION_SERVER_SERVICE, 4, self._game_account_id, self._on_select_game_account) + + # def _on_logon_response(self, header, body): + # if header.status != 0: + # self.connect_callback(False) + + def _send_logon_request(self): + # request = authentication_pb2.LogonRequest() + request = authentication_service_pb2.LogonRequest() + #request.program = "App" + request.program = "BSAp" # login in as mobile + request.platform = "Win" + + request.locale = "enUS" + request.version = "9166" + request.application_version = 1 + request.public_computer = False + request.disconnect_on_cookie_fail = False + request.allow_logon_queue_notifications = True + request.cached_web_credentials = str.encode(utils.dict_from_cookiejar(self._authentication_client.auth_data.cookie_jar)["BA-tassadar"]) + + self._send_request(self._AUTHENTICATION_SERVER_SERVICE, 1, request) + + def _on_connect_response(self, header, body): + # response = connection_pb2.ConnectResponse() + response = connection_service_pb2.ConnectResponse() + response.ParseFromString(body) + + self._imported_services_map.update(zip(self._imported_services, response.bind_response.imported_service_id)) + self._exported_services_map[1] = {5: self._on_logon_result} + + self._send_logon_request() + + async def connect(self, callback): + sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + sock.settimeout(10) + + self._set_backend_server_host(self._authentication_client.auth_data.region) + connection = ssl.wrap_socket(sock, ssl_version=ssl.PROTOCOL_TLSv1) + connection.connect((self._BACKEND_SERVER_HOST, self._BACKEND_SERVER_PORT)) + connection.do_handshake() + + self.connect_callback = callback + self.connection = connection + + # request = connection_pb2.ConnectRequest() + request = connection_service_pb2.ConnectRequest() + request.bind_request.imported_service_hash.extend([fnv1a_32(bytes(s, "UTF-8")) for s in self._imported_services]) + # request.bind_request.exported_service.extend([connection_pb2.BoundService(hash=fnv1a_32(bytes(s.name, "UTF-8")), id=s.id ) for s in self._exported_services]) + request.bind_request.exported_service.extend([connection_service_pb2.BoundService(hash=fnv1a_32(bytes(s.name, "UTF-8")), id=s.id ) for s in self._exported_services]) + + self._send_request(self._CONNECTION_SERVICE, 1, request, self._on_connect_response) + + async def process_request(self): + header_len_buf = self.connection.recv(2) + if len(header_len_buf) < 2: + raise Exception("not enough data to read header length") + header_len = struct.unpack("!H", header_len_buf)[0] + header_buf = self.connection.recv(header_len) + if len(header_buf) < header_len: + raise Exception("not enough data to read header data") + + # header = protocol_pb2.Header() + header = rpc_pb2.Header() + header.ParseFromString(header_buf) + + body_len = header.size + if body_len: + body = self.connection.recv(body_len) + if len(body) < body_len: + raise Exception("not enough data to read body data") + else: + body = None + + log.debug(f"protobuf response header: token {header.token} status {header.status} size {header.size}") + + if header.service_id == self._RESPONSE_SERVICE_ID: + if header.token in self._callbacks: + callback = self._callbacks[header.token] + callback(header, body) + del self._callbacks[header.token] + else: + log.debug("unexpected response received", str(header)) + + try: + self._exported_services_map[header.service_id][header.method_id](header, body) + except Exception as e: + log.debug("failed to run service for received header", str(header), e) + + def query_account_info(self, entity_id, callback, query_game_account_info=True): + # request = presence_pb2.QueryRequest() + request = presence_service_pb2.QueryRequest() + request.entity_id.high = entity_id.high + request.entity_id.low = entity_id.low + # 1 - full_name, 3 - game_account, 4 - battle_tag, 6 - last_online, 7 - is_away???, 8 - ???, 11 - is_busy??? + for i in [3, 4, 6, 7, 11]: # 1, 3, 4, 6, 7, 11 + key = request.key.add() + key.program = 0x424e + key.group = 1 # account + key.field = i + + # request with key.field = 1 (full_name) only works for RealId friends, others will return with header.status = 3 and empty body + # request with key.field = 4 (battle_tag) works for all friends + # request with key.field = 3 (game_account) works for all friends, but is only returned when friend is not offline! + # key.field = 3 (game_account) can be returned multiple times! + # e.g. id 436369611 (GamerSide#21802) has 2, id 129118839 (ExPliciT#21888) has 3) + # seems to be for different programs, where user is logged in (e.g. PC, Mobile etc.) + # request with key.field = 6 (last_online) works for all friends + # request with key.field = 7 (is_away) always returns false + # request with key.field = 8 (???) return e.g. 1583607638026991 + # request with key.field = 11 (is_busy) always returns false + + self._send_request(self._PRESENCE_SERVICE, 4, request, functools.partial(self._on_query_account_info_response, entity_id, query_game_account_info, callback)) + + def fetch_friend_presence(self, game_account_id, friend_id, callback): + # request = presence_pb2.SubscribeRequest() + request = presence_service_pb2.SubscribeRequest() + request.agent_id.high = self._account_id.high + request.agent_id.low = self._account_id.low + request.entity_id.high = game_account_id.high + request.entity_id.low = game_account_id.low + request.object_id = self._next_object() + + self._send_request(self._PRESENCE_SERVICE, 1, request, functools.partial(self._on_subscribe_to_presence_response, callback)) + + def fetch_friends_list(self, callback): + # request = friends_pb2.SubscribeToFriendsRequest() + request = friends_service_pb2.SubscribeToFriendsRequest() + request.agent_id.high = self._account_id.high + request.agent_id.low = self._account_id.low + request.object_id = self._next_object() + + self._send_request(self._FRIENDS_SERVICE, 1, request, functools.partial(self._on_subscribe_to_friends_response, callback)) diff --git a/src/plugin.py b/src/plugin.py index 0310c4c..1f0f0aa 100644 --- a/src/plugin.py +++ b/src/plugin.py @@ -9,12 +9,13 @@ import logging as log import subprocess import time +import random import re -from typing import Union, List, Dict +from typing import Any, Union, List, Dict -from galaxy.api.consts import LocalGameState, Platform +from galaxy.api.consts import LocalGameState, Platform, PresenceState from galaxy.api.plugin import Plugin, create_and_run_plugin -from galaxy.api.types import Achievement, Game, LicenseInfo, LocalGame, GameTime, LicenseType +from galaxy.api.types import Achievement, Game, LicenseInfo, LocalGame, UserInfo, UserPresence, GameTime, LicenseType from galaxy.api.errors import ( AuthenticationRequired, BackendTimeout, BackendNotAvailable, BackendError, NetworkError, UnknownError, InvalidCredentials, UnknownBackendResponse @@ -29,6 +30,7 @@ from consts import SYSTEM from consts import Platform as pf from http_client import AuthenticatedHttpClient +from social import SocialFeatures class BNetPlugin(Plugin): @@ -37,6 +39,7 @@ def __init__(self, reader, writer, token): self.local_client = LocalClient(self._update_statuses) self.authentication_client = AuthenticatedHttpClient(self) self.backend_client = BackendClient(self, self.authentication_client) + self.social_features = SocialFeatures(self.authentication_client) self.watched_running_games = set() self.local_games_called = False @@ -262,6 +265,54 @@ async def pass_login_credentials(self, step, credentials, cookies): return self.authentication_client.parse_battletag() + async def get_friends(self): + if not self.authentication_client.is_authenticated(): + raise AuthenticationRequired() + friends_list = await self.social_features.get_friends() + # @todo find another way to get friends name, as friend.battle_tag is always empty + return [UserInfo(user_id=friend.id.low, user_name=friend.battle_tag, avatar_url='', profile_url='') for friend_id, friend in friends_list.items()] + + # async def prepare_user_presence_context(self, user_ids: List[str]) -> Any: + # return None + + async def get_user_presence(self, user_id: str, context: Any) -> UserPresence: + log.debug(f"getting presence for user {user_id}") + friend_presence = await self.social_features.get_friend_presence(user_id) + # user_info = context.get(user_id) + # if user_info is None: + # raise UnknownError( + # "User {} not in friend list (plugin only supports fetching presence for friends)".format(user_id) + # ) + + if friend_presence is None or "game_account_is_online" not in friend_presence: + return UserPresence(presence_state=PresenceState.Offline) + + game_id = None + game_title = None + # if "rich_presence" in friend_presence: + # game_id = None # friend_presence["rich_presence"].program_id # this is not the game_id + # game_title = None + + state = PresenceState.Online + # if user_info.state == EPersonaState.Online: + # state = PresenceState.Online + # elif user_info.state == EPersonaState.Offline: + # state = PresenceState.Offline + # elif user_info.state == EPersonaState.Away: + # state = PresenceState.Away + # elif user_info.state == EPersonaState.Busy: + # state = PresenceState.Away + # else: + # state = PresenceState.Unknown + + return UserPresence( + presence_state=state, + game_id=game_id, # e.g. "5272175" for Overwatch + game_title=game_title, + in_game_status=None, + full_status=None + ) + async def get_owned_games(self): if not self.authentication_client.is_authenticated(): raise AuthenticationRequired() @@ -392,69 +443,69 @@ async def _get_overwatch_time(self) -> Union[None, int]: return int(match.group('h')) * 60 + int(match.group('m')) raise UnknownBackendResponse(f'Unknown Overwatch API playtime format: {qp_time}') - async def _get_wow_achievements(self): - achievements = [] - try: - characters_data = await self.backend_client.get_wow_character_data() - characters_data = characters_data["characters"] - - wow_character_data = await asyncio.gather( - *[ - self.backend_client.get_wow_character_achievements(character["realm"], character["name"]) - for character in characters_data - ], - return_exceptions=True, - ) - - for data in wow_character_data: - if isinstance(data, requests.Timeout) or isinstance(data, requests.ConnectionError): - raise data - - wow_achievement_data = [ - list( - zip( - data["achievements"]["achievementsCompleted"], - data["achievements"]["achievementsCompletedTimestamp"], - ) - ) - for data in wow_character_data - if type(data) is dict - ] - - already_in = set() - - for char_ach in wow_achievement_data: - for ach in char_ach: - if ach[0] not in already_in: - achievements.append(Achievement(achievement_id=ach[0], unlock_time=int(ach[1] / 1000))) - already_in.add(ach[0]) - except (AccessTokenExpired, BackendError) as e: - log.exception(str(e)) - with open('wow.json', 'w') as f: - f.write(json.dumps(achievements, cls=DataclassJSONEncoder)) - return achievements - - async def _get_sc2_achievements(self): - account_data = await self.backend_client.get_sc2_player_data(self.authentication_client.user_details["id"]) - - # TODO what if more sc2 accounts? - assert len(account_data) == 1 - account_data = account_data[0] - - profile_data = await self.backend_client.get_sc2_profile_data( - account_data["regionId"], account_data["realmId"], - account_data["profileId"] - ) - - sc2_achievement_data = [ - Achievement(achievement_id=achievement["achievementId"], unlock_time=achievement["completionDate"]) - for achievement in profile_data["earnedAchievements"] - if achievement["isComplete"] - ] - - with open('sc2.json', 'w') as f: - f.write(json.dumps(sc2_achievement_data, cls=DataclassJSONEncoder)) - return sc2_achievement_data + # async def _get_wow_achievements(self): + # achievements = [] + # try: + # characters_data = await self.backend_client.get_wow_character_data() + # characters_data = characters_data["characters"] + # + # wow_character_data = await asyncio.gather( + # *[ + # self.backend_client.get_wow_character_achievements(character["realm"], character["name"]) + # for character in characters_data + # ], + # return_exceptions=True, + # ) + # + # for data in wow_character_data: + # if isinstance(data, requests.Timeout) or isinstance(data, requests.ConnectionError): + # raise data + # + # wow_achievement_data = [ + # list( + # zip( + # data["achievements"]["achievementsCompleted"], + # data["achievements"]["achievementsCompletedTimestamp"], + # ) + # ) + # for data in wow_character_data + # if type(data) is dict + # ] + # + # already_in = set() + # + # for char_ach in wow_achievement_data: + # for ach in char_ach: + # if ach[0] not in already_in: + # achievements.append(Achievement(achievement_id=ach[0], unlock_time=int(ach[1] / 1000))) + # already_in.add(ach[0]) + # except (AccessTokenExpired, BackendError) as e: + # log.exception(str(e)) + # with open('wow.json', 'w') as f: + # f.write(json.dumps(achievements, cls=DataclassJSONEncoder)) + # return achievements + + # async def _get_sc2_achievements(self): + # account_data = await self.backend_client.get_sc2_player_data(self.authentication_client.user_details["id"]) + # + # # TODO what if more sc2 accounts? + # assert len(account_data) == 1 + # account_data = account_data[0] + # + # profile_data = await self.backend_client.get_sc2_profile_data( + # account_data["regionId"], account_data["realmId"], + # account_data["profileId"] + # ) + # + # sc2_achievement_data = [ + # Achievement(achievement_id=achievement["achievementId"], unlock_time=achievement["completionDate"]) + # for achievement in profile_data["earnedAchievements"] + # if achievement["isComplete"] + # ] + # + # with open('sc2.json', 'w') as f: + # f.write(json.dumps(sc2_achievement_data, cls=DataclassJSONEncoder)) + # return sc2_achievement_data # async def get_unlocked_achievements(self, game_id): # if not self.website_client.is_authenticated(): diff --git a/src/social.py b/src/social.py new file mode 100644 index 0000000..4eae946 --- /dev/null +++ b/src/social.py @@ -0,0 +1,46 @@ +import logging as log +from bnet_client import BNetClient + + +class SocialFeatures(object): + def __init__(self, _authentication_client): + self._authentication_client = _authentication_client + self.bnet_client = BNetClient(self._authentication_client) + self._friends = None + self._friends_presence = {} + + def fetch_friends_list_callback(self, success, friends): + self._friends = {} + if not success: + log.error("failed to fetch friend list") + return + # log.debug(f"fetched friend list: {friends}") + for friend in friends: + self._friends[str(friend.id.low)] = friend + + def fetch_friend_presence_callback(self, success, entity_id, presence): + log.debug(f"fetched friend presence [id = {str(entity_id.low)}]: {presence}") + self._friends_presence[str(entity_id.low)] = presence + return + + def connect_callback(self, success): + if not success: + log.error("failed to connect to battle.net") + return + self.bnet_client.fetch_friends_list(self.fetch_friends_list_callback) + + async def get_friends(self): + self._friends = None + # if self.bnet_client.connection is None: + # await self.bnet_client.connect(self.connect_callback) + await self.bnet_client.connect(self.connect_callback) + while self._friends is None: + await self.bnet_client.process_request() + return self._friends + + async def get_friend_presence(self, user_id): + self._friends_presence[user_id] = None + self.bnet_client.query_account_info(self._friends[user_id].id, self.fetch_friend_presence_callback) + while self._friends_presence[user_id] is None: + await self.bnet_client.process_request() + return self._friends_presence[user_id] From cb8d196f059a17e3633ce7ee958554fd7e38be82 Mon Sep 17 00:00:00 2001 From: Alexander Wenzel Date: Thu, 18 Jun 2020 11:07:42 +0200 Subject: [PATCH 03/15] WIP refactor BNetClient; connect during authenticate; fetch battletag in get_friends --- src/bnet_client.py | 145 +++++++++++++++++++++++++++++---------------- src/http_client.py | 8 ++- src/plugin.py | 15 ++++- src/social.py | 16 +---- 4 files changed, 114 insertions(+), 70 deletions(-) diff --git a/src/bnet_client.py b/src/bnet_client.py index 48a6ef5..01df532 100644 --- a/src/bnet_client.py +++ b/src/bnet_client.py @@ -23,8 +23,12 @@ def __init__(self, authentication_client): self._AUTHENTICATION_SERVER_SERVICE = "bnet.protocol.authentication.AuthenticationServer" self._AUTHENTICATION_CLIENT_SERVICE = "bnet.protocol.authentication.AuthenticationClient" + self._CHALLENGE_SERVICE = "bnet.protocol.challenge.ChallengeService" self._PRESENCE_SERVICE = "bnet.protocol.presence.PresenceService" self._FRIENDS_SERVICE = "bnet.protocol.friends.FriendsService" + self._NOTIFICATION_SERVICE = "bnet.protocol.notification.NotificationService" + self._RESOURCES_SERVICE = "bnet.protocol.resources.Resources" + self._CHANNEL_INVITATION_SERVICE = "bnet.protocol.channel_invitation.ChannelInvitationService" self._RESPONSE_SERVICE = "response" self._RESPONSE_SERVICE_ID = 254 @@ -35,6 +39,7 @@ def __init__(self, authentication_client): self._AUTHENTICATION_SERVER_SERVICE, self._PRESENCE_SERVICE, self._FRIENDS_SERVICE, + self._NOTIFICATION_SERVICE, ) self._imported_services_map = { @@ -43,24 +48,48 @@ def __init__(self, authentication_client): } self._exported_services = ( self.ExportedService(1, "bnet.protocol.authentication.AuthenticationClient"), - self.ExportedService(5, "bnet.protocol.friends.FriendsNotify")) + self.ExportedService(2, "bnet.protocol.challenge.ChallengeNotify"), + self.ExportedService(3, "bnet.protocol.account.AccountNotify"), + self.ExportedService(4, "bnet.protocol.account.PresenceNotify"), + self.ExportedService(5, "bnet.protocol.friends.FriendsNotify"), + self.ExportedService(6, "bnet.protocol.channel.ChannelSubscriber"), + self.ExportedService(7, "bnet.protocol.channel_invitation.ChannelInvitationNotify"), + self.ExportedService(8, "bnet.protocol.connection.ConnectionService"), + self.ExportedService(9, "bnet.protocol.notification.NotificationListener"), + ) + # service_id -> { method_id -> callback } self._exported_services_map = {} + self._exported_services_map[1] = {5: self._on_authentication__logon_result} + # self._exported_services_map[2] = {3: self._on_challenge__challenge_external_request} + # self._exported_services_map[5] = {1: self._on_friends__friend_notification, 3: self._on_friends__invitation_notification} + # self._exported_services_map[6] = {1: self._on_channel__add_notification, 6: self._on_channel__update_channel_state_notification} + # self._exported_services_map[8] = {3: self._on_connection__echo_request, 4: self._on_connection__disconnect_notification} + # self._exported_services_map[9] = {1: self._on_notification__notification} self._object = 1 self._token = 0 - self._callbacks = {} + self._token_callbacks = {} self._account_id = None self._game_account_id = None self.connection = None + self.connected = False - self.connect_callback = None + class BNetService: + def __init__(self, service_name): + self.name = service_name + self.methods = {} class ExportedService: def __init__(self, id, name): - self.name = name self.id = id + self.name = name self.hash = fnv1a_32(bytes(name, "UTF-8")) + self.methods = {} + + class ServiceWrapper: + def __init__(self, callback): + self.callback = callback def _next_object(self): self._object += 1 @@ -68,6 +97,7 @@ def _next_object(self): def _next_token(self): self._token += 1 + self._token = self._token % 512 return self._token def _set_backend_server_host(self, region): @@ -90,7 +120,7 @@ def _send_request(self, service_name, method_id, body, callback=None): header.size = body.ByteSize() if callback: - self._callbacks[header.token] = callback + self._token_callbacks[header.token] = callback log.debug(f"protobuf request: {service_name}::{method_id} token {header.token}") @@ -103,12 +133,12 @@ def _on_query_game_account_info_response(self, entity_id, account_info, callback callback(False, entity_id, account_info) return - # packet = presence_pb2.QueryResponse() - packet = presence_service_pb2.QueryResponse() - packet.ParseFromString(body) - # log.debug(f"fetched query_game_account_info_response packet: {packet}") + # response = presence_pb2.QueryResponse() + response = presence_service_pb2.QueryResponse() + response.ParseFromString(body) + # log.debug(f"fetched query_game_account_info_response packet: {response}") - for f in packet.field: + for f in response.field: if f.key.field == 1 and f.key.group == 2: account_info["game_account_is_online"] = f.value.bool_value if f.key.field == 3 and f.key.group == 2: @@ -125,15 +155,15 @@ def _on_query_account_info_response(self, entity_id, query_game_account_info, ca callback(False, entity_id, {}) return - # packet = presence_pb2.QueryResponse() - packet = presence_service_pb2.QueryResponse() - packet.ParseFromString(body) + # response = presence_pb2.QueryResponse() + response = presence_service_pb2.QueryResponse() + response.ParseFromString(body) - # log.debug(f"fetched query_account_info_response packet: {packet}") + # log.debug(f"fetched query_account_info_response packet: {response}") account_info = {} - for f in packet.field: + for f in response.field: if f.key.field == 1 and f.key.group == 1: account_info["full_name"] = f.value.string_value.encode('utf-8') # e.g. "Firstname Lastname" elif f.key.field == 3 and f.key.group == 1 and "game_account" not in account_info: @@ -177,37 +207,40 @@ def _on_subscribe_to_presence_response(self, callback, header, body): callback(False, 0, []) return - packet = body - # packet = presence_pb2.SubscribeResponse() - packet.ParseFromString(body) - log.info(f"fetched presence_response packet: {packet}") - callback(True, 0, packet) + response = body + # response = presence_pb2.SubscribeResponse() + response.ParseFromString(body) + log.info(f"fetched presence_response packet: {response}") + callback(True, 0, response) def _on_subscribe_to_friends_response(self, callback, header, body): if not body: callback(False, []) return - # packet = channel_extracted_pb2.SubscribeToFriendsResponse() - packet = friends_service_pb2.SubscribeToFriendsResponse() - packet.ParseFromString(body) - # log.info(f"fetched friends_response packet: {packet}") - callback(True, packet.friends) + # response = channel_extracted_pb2.SubscribeToFriendsResponse() + response = friends_service_pb2.SubscribeToFriendsResponse() + response.ParseFromString(body) + log.info(f"fetched friends_response packet: {response}") + callback(True, response.friends) def _on_select_game_account(self, header, body): - self.connect_callback(True) + log.info("successfully connected to battle.net") + self.connected = True + return - def _on_logon_result(self, header, body): + def _on_authentication__logon_result(self, header, body): if header.status != 0: - self.connect_callback(False) - return + log.error("failed to connect to battle.net") + raise Exception("failed to authenticate with battle.net") - # packet = authentication_pb2.LogonResult() - packet = authentication_service_pb2.LogonResult() - packet.ParseFromString(body) + # response = authentication_pb2.LogonResult() + response = authentication_service_pb2.LogonResult() + response.ParseFromString(body) + # log.debug(f"fetched logon_result packet: {response}") - self._account_id = packet.account - self._game_account_id = packet.game_account[0] + self._account_id = response.account + self._game_account_id = response.game_account[0] # request = authentication_service_pb2.SelectGameAccountRequest() # request.game_account.high = self._game_account_id.high @@ -217,17 +250,16 @@ def _on_logon_result(self, header, body): self._send_request(self._AUTHENTICATION_SERVER_SERVICE, 4, self._game_account_id, self._on_select_game_account) - # def _on_logon_response(self, header, body): + # def _on_authentication__logon_response(self, header, body): # if header.status != 0: - # self.connect_callback(False) + # log.error("failed to connect to battle.net") - def _send_logon_request(self): + def logon(self): # request = authentication_pb2.LogonRequest() request = authentication_service_pb2.LogonRequest() - #request.program = "App" + # request.program = "App" request.program = "BSAp" # login in as mobile request.platform = "Win" - request.locale = "enUS" request.version = "9166" request.application_version = 1 @@ -235,20 +267,21 @@ def _send_logon_request(self): request.disconnect_on_cookie_fail = False request.allow_logon_queue_notifications = True request.cached_web_credentials = str.encode(utils.dict_from_cookiejar(self._authentication_client.auth_data.cookie_jar)["BA-tassadar"]) + # request.user_agent = "Battle.net/1.8.2.8839" self._send_request(self._AUTHENTICATION_SERVER_SERVICE, 1, request) - def _on_connect_response(self, header, body): + def _on_connection__connect_response(self, header, body): # response = connection_pb2.ConnectResponse() response = connection_service_pb2.ConnectResponse() response.ParseFromString(body) self._imported_services_map.update(zip(self._imported_services, response.bind_response.imported_service_id)) - self._exported_services_map[1] = {5: self._on_logon_result} + # self._exported_services_map[1] = {5: self._on_authentication__logon_result} - self._send_logon_request() + self.logon() - async def connect(self, callback): + async def connect(self): sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.settimeout(10) @@ -257,7 +290,6 @@ async def connect(self, callback): connection.connect((self._BACKEND_SERVER_HOST, self._BACKEND_SERVER_PORT)) connection.do_handshake() - self.connect_callback = callback self.connection = connection # request = connection_pb2.ConnectRequest() @@ -266,7 +298,16 @@ async def connect(self, callback): # request.bind_request.exported_service.extend([connection_pb2.BoundService(hash=fnv1a_32(bytes(s.name, "UTF-8")), id=s.id ) for s in self._exported_services]) request.bind_request.exported_service.extend([connection_service_pb2.BoundService(hash=fnv1a_32(bytes(s.name, "UTF-8")), id=s.id ) for s in self._exported_services]) - self._send_request(self._CONNECTION_SERVICE, 1, request, self._on_connect_response) + self._send_request(self._CONNECTION_SERVICE, 1, request, self._on_connection__connect_response) + + while self.connected is False: + await self.process_request() + + async def disconnect(self): + if self.connection: + self.connection.close() + self.connection = None + self.connected = False async def process_request(self): header_len_buf = self.connection.recv(2) @@ -292,10 +333,10 @@ async def process_request(self): log.debug(f"protobuf response header: token {header.token} status {header.status} size {header.size}") if header.service_id == self._RESPONSE_SERVICE_ID: - if header.token in self._callbacks: - callback = self._callbacks[header.token] + if header.token in self._token_callbacks: + callback = self._token_callbacks[header.token] callback(header, body) - del self._callbacks[header.token] + del self._token_callbacks[header.token] else: log.debug("unexpected response received", str(header)) @@ -332,8 +373,8 @@ def query_account_info(self, entity_id, callback, query_game_account_info=True): def fetch_friend_presence(self, game_account_id, friend_id, callback): # request = presence_pb2.SubscribeRequest() request = presence_service_pb2.SubscribeRequest() - request.agent_id.high = self._account_id.high - request.agent_id.low = self._account_id.low + # request.agent_id.high = self._account_id.high + # request.agent_id.low = self._account_id.low request.entity_id.high = game_account_id.high request.entity_id.low = game_account_id.low request.object_id = self._next_object() @@ -343,8 +384,8 @@ def fetch_friend_presence(self, game_account_id, friend_id, callback): def fetch_friends_list(self, callback): # request = friends_pb2.SubscribeToFriendsRequest() request = friends_service_pb2.SubscribeToFriendsRequest() - request.agent_id.high = self._account_id.high - request.agent_id.low = self._account_id.low + # request.agent_id.high = self._account_id.high + # request.agent_id.low = self._account_id.low request.object_id = self._next_object() self._send_request(self._FRIENDS_SERVICE, 1, request, functools.partial(self._on_subscribe_to_friends_response, callback)) diff --git a/src/http_client.py b/src/http_client.py index f5d0095..a3d7bd6 100644 --- a/src/http_client.py +++ b/src/http_client.py @@ -115,8 +115,12 @@ def parse_cookies(self, cookies): return requests.cookies.cookiejar_from_dict(new_cookies) def set_credentials(self): - self.creds = {"cookie_jar": pickle.dumps(self.auth_data.cookie_jar).hex(), "access_token": self.auth_data.access_token, - "user_details_cache": self.user_details, "region": self.auth_data.region} + self.creds = { + "cookie_jar": pickle.dumps(self.auth_data.cookie_jar).hex(), + "access_token": self.auth_data.access_token, + "region": self.auth_data.region, + "user_details_cache": self.user_details + } def parse_battletag(self): try: diff --git a/src/plugin.py b/src/plugin.py index 1f0f0aa..a4a15e8 100644 --- a/src/plugin.py +++ b/src/plugin.py @@ -30,6 +30,7 @@ from consts import SYSTEM from consts import Platform as pf from http_client import AuthenticatedHttpClient +from bnet_client import BNetClient from social import SocialFeatures @@ -39,7 +40,8 @@ def __init__(self, reader, writer, token): self.local_client = LocalClient(self._update_statuses) self.authentication_client = AuthenticatedHttpClient(self) self.backend_client = BackendClient(self, self.authentication_client) - self.social_features = SocialFeatures(self.authentication_client) + self.bnet_client = BNetClient(self.authentication_client) + self.social_features = SocialFeatures(self.bnet_client) self.watched_running_games = set() self.local_games_called = False @@ -219,7 +221,9 @@ async def authenticate(self, stored_credentials=None): try: if stored_credentials: auth_data = self.authentication_client.process_stored_credentials(stored_credentials) + try: + await self.bnet_client.connect() await self.authentication_client.create_session() await self.backend_client.refresh_cookies() auth_status = await self.backend_client.validate_access_token(auth_data.access_token) @@ -227,6 +231,7 @@ async def authenticate(self, stored_credentials=None): raise e except Exception: raise InvalidCredentials() + if self.authentication_client.validate_auth_status(auth_status): self.authentication_client.user_details = await self.backend_client.get_user_info() return self.authentication_client.parse_user_details() @@ -248,14 +253,15 @@ async def pass_login_credentials(self, step, credentials, cookies): auth_data = await self.authentication_client.get_auth_data_login(cookie_jar, credentials) try: + await self.bnet_client.connect() await self.authentication_client.create_session() await self.backend_client.refresh_cookies() + auth_status = await self.backend_client.validate_access_token(auth_data.access_token) except (BackendNotAvailable, BackendError, NetworkError, UnknownError, BackendTimeout) as e: raise e except Exception: raise InvalidCredentials() - auth_status = await self.backend_client.validate_access_token(auth_data.access_token) if not ("authorities" in auth_status and "IS_AUTHENTICATED_FULLY" in auth_status["authorities"]): raise InvalidCredentials() @@ -269,7 +275,9 @@ async def get_friends(self): if not self.authentication_client.is_authenticated(): raise AuthenticationRequired() friends_list = await self.social_features.get_friends() - # @todo find another way to get friends name, as friend.battle_tag is always empty + for friend_id, friend in friends_list.items(): + friend_presence = await self.social_features.get_friend_presence(friend_id) + friend.battle_tag = friend_presence["battle_tag"] return [UserInfo(user_id=friend.id.low, user_name=friend.battle_tag, avatar_url='', profile_url='') for friend_id, friend in friends_list.items()] # async def prepare_user_presence_context(self, user_ids: List[str]) -> Any: @@ -538,6 +546,7 @@ async def shutdown_platform_client(self): async def shutdown(self): log.info("Plugin shutdown.") await self.authentication_client.shutdown() + await self.bnet_client.disconnect() def main(): diff --git a/src/social.py b/src/social.py index 4eae946..dfd0e94 100644 --- a/src/social.py +++ b/src/social.py @@ -1,11 +1,9 @@ import logging as log -from bnet_client import BNetClient class SocialFeatures(object): - def __init__(self, _authentication_client): - self._authentication_client = _authentication_client - self.bnet_client = BNetClient(self._authentication_client) + def __init__(self, _bnet_client): + self.bnet_client = _bnet_client self._friends = None self._friends_presence = {} @@ -23,17 +21,9 @@ def fetch_friend_presence_callback(self, success, entity_id, presence): self._friends_presence[str(entity_id.low)] = presence return - def connect_callback(self, success): - if not success: - log.error("failed to connect to battle.net") - return - self.bnet_client.fetch_friends_list(self.fetch_friends_list_callback) - async def get_friends(self): self._friends = None - # if self.bnet_client.connection is None: - # await self.bnet_client.connect(self.connect_callback) - await self.bnet_client.connect(self.connect_callback) + self.bnet_client.fetch_friends_list(self.fetch_friends_list_callback) while self._friends is None: await self.bnet_client.process_request() return self._friends From c9062213802b7e929711daa6e8f601abfe4bb45f Mon Sep 17 00:00:00 2001 From: Alexander Wenzel Date: Thu, 18 Jun 2020 20:48:32 +0200 Subject: [PATCH 04/15] WIP get_user_presence: detect away status, detect user is in-game --- src/bnet_client.py | 95 +++++++++++++++++++++++++++++----------------- src/definitions.py | 4 ++ src/plugin.py | 26 ++++++------- src/social.py | 3 +- 4 files changed, 80 insertions(+), 48 deletions(-) diff --git a/src/bnet_client.py b/src/bnet_client.py index 01df532..3fa1bc8 100644 --- a/src/bnet_client.py +++ b/src/bnet_client.py @@ -139,14 +139,33 @@ def _on_query_game_account_info_response(self, entity_id, account_info, callback # log.debug(f"fetched query_game_account_info_response packet: {response}") for f in response.field: - if f.key.field == 1 and f.key.group == 2: + if f.key.group != 2: + continue + + if f.key.field == 1: account_info["game_account_is_online"] = f.value.bool_value - if f.key.field == 3 and f.key.group == 2: - account_info["program_id"] = f.value.fourcc_value # e.g. "App" or "BSAp" - elif f.key.field == 8 and f.key.group == 2: + elif f.key.field == 2: + account_info["game_account_is_busy"] = f.value.bool_value + elif f.key.field == 3: + account_info["program_id"] = f.value.fourcc_value # e.g. "App", "BSAp" or "Pro" (for Overwatch) + elif f.key.field == 4: + account_info["game_account_last_online"] = datetime.fromtimestamp(f.value.int_value / 1000 / 1000) # e.g. 1584194739362351 (microseconds timestamp) + elif f.key.field == 5: + continue + elif f.key.field == 6: + continue + elif f.key.field == 7: + continue + elif f.key.field == 8: rich_presence = presence_types_pb2.RichPresence() - rich_presence.ParseFromString(f.value.message_value) + rich_presence.ParseFromString(f.value.message_value) # e.g. "\rorP\000\025aorp\030\025" account_info["rich_presence"] = rich_presence + elif f.key.field == 9: + continue + elif f.key.field == 10: + account_info["game_account_is_away"] = f.value.bool_value + elif f.key.field == 11: + continue callback(True, entity_id, account_info) @@ -158,23 +177,27 @@ def _on_query_account_info_response(self, entity_id, query_game_account_info, ca # response = presence_pb2.QueryResponse() response = presence_service_pb2.QueryResponse() response.ParseFromString(body) - # log.debug(f"fetched query_account_info_response packet: {response}") account_info = {} for f in response.field: - if f.key.field == 1 and f.key.group == 1: + if f.key.group != 1: + continue + + if f.key.field == 1: account_info["full_name"] = f.value.string_value.encode('utf-8') # e.g. "Firstname Lastname" - elif f.key.field == 3 and f.key.group == 1 and "game_account" not in account_info: + elif f.key.field == 3 and "game_account" not in account_info: account_info["game_account"] = f.value.entityid_value # e.g. high: 144115197778542960 low: 131237370 - elif f.key.field == 4 and f.key.group == 1: + elif f.key.field == 4: account_info["battle_tag"] = f.value.string_value # e.g. "Username#1234" - elif f.key.field == 6 and f.key.group == 1: + elif f.key.field == 6: account_info["last_online"] = datetime.fromtimestamp(f.value.int_value/1000/1000) # e.g. 1584194739362351 (microseconds timestamp) - elif f.key.field == 7 and f.key.group == 1: + elif f.key.field == 7: account_info["is_away"] = f.value.bool_value - elif f.key.field == 11 and f.key.group == 1: + elif f.key.field == 8: + account_info["away_time"] = f.value.int_value # e.g. 1583607638026991 + elif f.key.field == 11: account_info["is_busy"] = f.value.bool_value if not query_game_account_info or "game_account" not in account_info: @@ -185,19 +208,23 @@ def _on_query_account_info_response(self, entity_id, query_game_account_info, ca request = presence_service_pb2.QueryRequest() request.entity_id.high = account_info["game_account"].high request.entity_id.low = account_info["game_account"].low - - for i in [1, 3, 8]: # 1 - is_online, 3 - program_id, 4 - last_online???, 5 - battle_tag, 7 - ???, 8 - rich_presence, 9 - ???, 10 - is_online???, 11 - last_online??? + for i in [1, 2, 3, 8, 10]: key = request.key.add() key.program = 0x424e key.group = 2 # 2 game account key.field = i - # request with key.field = 1 (is online) works for all not-offline friends and always returns true (even if user is away) - # request with key.field = 3 (program_id) works for all not-offline friends and returns e.g. BSAp - # request with key.field = 4 (last_online???) returns e.g. 1584194739362351 - # request with key.field = 7 (???) returns e.g. high: 72057594037927936 low: 101974425 - # request with key.field = 8 (rich_presence) only returns when user is in-game - # request with key.field = 9 (???) return e.g. 1584228809551117 + # key.field = 1 (is online) works for all not-offline friends and always returns true + # key.field = 2 (is_busy???) + # key.field = 3 (program_id) works for all not-offline friends and returns e.g. "BSAp", "Pro" (for Overwatch) + # key.field = 4 (last_online???) returns e.g. 1584194739362351 + # key.field = 5 (battle_tag???) + # key.field = 6 (account_name???) + # key.field = 7 (account_id???) returns e.g. high: 72057594037927936 low: 101974425 + # key.field = 8 (rich_presence) only returns when user is in-game, e.g. "\rorP\000\025aorp\030\025" + # key.field = 9 (???) returns e.g. 1584228809551117 + # key.field = 10 (is_away???) + # key.field = 11 (last_online???) self._send_request(self._PRESENCE_SERVICE, 4, request, functools.partial(self._on_query_game_account_info_response, entity_id, account_info, callback)) @@ -210,7 +237,8 @@ def _on_subscribe_to_presence_response(self, callback, header, body): response = body # response = presence_pb2.SubscribeResponse() response.ParseFromString(body) - log.info(f"fetched presence_response packet: {response}") + # log.info(f"fetched presence_response packet: {response}") + callback(True, 0, response) def _on_subscribe_to_friends_response(self, callback, header, body): @@ -221,7 +249,8 @@ def _on_subscribe_to_friends_response(self, callback, header, body): # response = channel_extracted_pb2.SubscribeToFriendsResponse() response = friends_service_pb2.SubscribeToFriendsResponse() response.ParseFromString(body) - log.info(f"fetched friends_response packet: {response}") + # log.info(f"fetched friends_response packet: {response}") + callback(True, response.friends) def _on_select_game_account(self, header, body): @@ -350,23 +379,21 @@ def query_account_info(self, entity_id, callback, query_game_account_info=True): request = presence_service_pb2.QueryRequest() request.entity_id.high = entity_id.high request.entity_id.low = entity_id.low - # 1 - full_name, 3 - game_account, 4 - battle_tag, 6 - last_online, 7 - is_away???, 8 - ???, 11 - is_busy??? - for i in [3, 4, 6, 7, 11]: # 1, 3, 4, 6, 7, 11 + for i in [3, 4]: key = request.key.add() key.program = 0x424e key.group = 1 # account key.field = i - # request with key.field = 1 (full_name) only works for RealId friends, others will return with header.status = 3 and empty body - # request with key.field = 4 (battle_tag) works for all friends - # request with key.field = 3 (game_account) works for all friends, but is only returned when friend is not offline! - # key.field = 3 (game_account) can be returned multiple times! - # e.g. id 436369611 (GamerSide#21802) has 2, id 129118839 (ExPliciT#21888) has 3) - # seems to be for different programs, where user is logged in (e.g. PC, Mobile etc.) - # request with key.field = 6 (last_online) works for all friends - # request with key.field = 7 (is_away) always returns false - # request with key.field = 8 (???) return e.g. 1583607638026991 - # request with key.field = 11 (is_busy) always returns false + # key.field = 1 (full_name) only works for RealId friends, others will return with header.status = 3 and empty body + # key.field = 3 (game_account) works for all friends, but is only returned when friend is not offline! + # > can be returned multiple times! + # > seems to be for different programs/games, where user is logged in (e.g. PC, Mobile etc.) + # key.field = 4 (battle_tag) works for all friends, returns e.g. "Username#1234" + # key.field = 6 (last_online) works for all friends, returns e.g. 1592215097253865 + # key.field = 7 (is_away) always returns false + # key.field = 8 (away_time) return e.g. 1583607638026991 + # key.field = 11 (is_busy) always returns false self._send_request(self._PRESENCE_SERVICE, 4, request, functools.partial(self._on_query_account_info_response, entity_id, query_game_account_info, callback)) diff --git a/src/definitions.py b/src/definitions.py index e4b9036..14ffdbf 100644 --- a/src/definitions.py +++ b/src/definitions.py @@ -116,6 +116,10 @@ def __getitem__(self, key: str) -> BlizzardGame: """ return self._games[key] + @property + def games(self): + return [game for game in self._GAMES] + def game_by_title_id(self, title_id: int, cn: bool) -> BlizzardGame: """ :param cn: flag if china game definitions should be search though diff --git a/src/plugin.py b/src/plugin.py index a4a15e8..ca1906f 100644 --- a/src/plugin.py +++ b/src/plugin.py @@ -297,27 +297,27 @@ async def get_user_presence(self, user_id: str, context: Any) -> UserPresence: game_id = None game_title = None + if "program_id" in friend_presence: + for game in Blizzard.games: + if game.family == friend_presence["program_id"]: # can be a game family, e.g. "Pro" for Overwatch + game_id = game.id + game_title = game.name + + in_game_status = None # if "rich_presence" in friend_presence: - # game_id = None # friend_presence["rich_presence"].program_id # this is not the game_id - # game_title = None + # in_game_status = None # friend_presence["rich_presence"] # .program_id .stream_id state = PresenceState.Online - # if user_info.state == EPersonaState.Online: - # state = PresenceState.Online - # elif user_info.state == EPersonaState.Offline: - # state = PresenceState.Offline - # elif user_info.state == EPersonaState.Away: - # state = PresenceState.Away - # elif user_info.state == EPersonaState.Busy: - # state = PresenceState.Away - # else: - # state = PresenceState.Unknown + if "game_account_is_away" in friend_presence and friend_presence["game_account_is_away"]: + state = PresenceState.Away + if "game_account_is_busy" in friend_presence and friend_presence["game_account_is_busy"]: + state = PresenceState.Away return UserPresence( presence_state=state, game_id=game_id, # e.g. "5272175" for Overwatch game_title=game_title, - in_game_status=None, + in_game_status=in_game_status, full_status=None ) diff --git a/src/social.py b/src/social.py index dfd0e94..2e6923a 100644 --- a/src/social.py +++ b/src/social.py @@ -1,4 +1,5 @@ import logging as log +import json class SocialFeatures(object): @@ -17,7 +18,7 @@ def fetch_friends_list_callback(self, success, friends): self._friends[str(friend.id.low)] = friend def fetch_friend_presence_callback(self, success, entity_id, presence): - log.debug(f"fetched friend presence [id = {str(entity_id.low)}]: {presence}") + log.debug(f"fetched friend presence [id = {str(entity_id.low)}]: {json.dumps(presence, default=str)}") self._friends_presence[str(entity_id.low)] = presence return From 8f79afb8d0284e2ea75a9ffbe6016bd67a0a2ee1 Mon Sep 17 00:00:00 2001 From: Alexander Wenzel Date: Fri, 19 Jun 2020 17:56:36 +0200 Subject: [PATCH 05/15] refactor: method names, fetch only battletags in get_friends --- src/bnet_client.py | 133 ++++++++++++++++++++++++--------------------- src/plugin.py | 3 +- src/social.py | 18 ++++-- 3 files changed, 85 insertions(+), 69 deletions(-) diff --git a/src/bnet_client.py b/src/bnet_client.py index 3fa1bc8..e1e5851 100644 --- a/src/bnet_client.py +++ b/src/bnet_client.py @@ -60,7 +60,7 @@ def __init__(self, authentication_client): # service_id -> { method_id -> callback } self._exported_services_map = {} - self._exported_services_map[1] = {5: self._on_authentication__logon_result} + self._exported_services_map[1] = {5: self._on_authentication__logon} # self._exported_services_map[2] = {3: self._on_challenge__challenge_external_request} # self._exported_services_map[5] = {1: self._on_friends__friend_notification, 3: self._on_friends__invitation_notification} # self._exported_services_map[6] = {1: self._on_channel__add_notification, 6: self._on_channel__update_channel_state_notification} @@ -128,7 +128,7 @@ def _send_request(self, service_name, method_id, body, callback=None): self.connection.send(header.SerializeToString()) self.connection.send(body.SerializeToString()) - def _on_query_game_account_info_response(self, entity_id, account_info, callback, header, body): + def _on_presence__query_game_account(self, entity_id, account_info, callback, header, body): if not body: callback(False, entity_id, account_info) return @@ -169,7 +169,7 @@ def _on_query_game_account_info_response(self, entity_id, account_info, callback callback(True, entity_id, account_info) - def _on_query_account_info_response(self, entity_id, query_game_account_info, callback, header, body): + def _on_presence__query_account(self, entity_id, query_game_account_info, callback, header, body): if not body: callback(False, entity_id, {}) return @@ -226,9 +226,9 @@ def _on_query_account_info_response(self, entity_id, query_game_account_info, ca # key.field = 10 (is_away???) # key.field = 11 (last_online???) - self._send_request(self._PRESENCE_SERVICE, 4, request, functools.partial(self._on_query_game_account_info_response, entity_id, account_info, callback)) + self._send_request(self._PRESENCE_SERVICE, 4, request, functools.partial(self._on_presence__query_game_account, entity_id, account_info, callback)) - def _on_subscribe_to_presence_response(self, callback, header, body): + def _on_presence__subscribe(self, callback, header, body): log.info(f"fetched presence_response header: {header} -- body: {body}") if not body: callback(False, 0, []) @@ -241,7 +241,7 @@ def _on_subscribe_to_presence_response(self, callback, header, body): callback(True, 0, response) - def _on_subscribe_to_friends_response(self, callback, header, body): + def _on_friends__subscribe_to_friends(self, callback, header, body): if not body: callback(False, []) return @@ -253,14 +253,12 @@ def _on_subscribe_to_friends_response(self, callback, header, body): callback(True, response.friends) - def _on_select_game_account(self, header, body): + def _on_authentication__select_game_account(self, header, body): log.info("successfully connected to battle.net") self.connected = True - return - def _on_authentication__logon_result(self, header, body): + def _on_authentication__logon(self, header, body): if header.status != 0: - log.error("failed to connect to battle.net") raise Exception("failed to authenticate with battle.net") # response = authentication_pb2.LogonResult() @@ -277,11 +275,53 @@ def _on_authentication__logon_result(self, header, body): # # self._send_request(self._AUTHENTICATION_SERVER_SERVICE, 6, request, self._on_select_game_account) - self._send_request(self._AUTHENTICATION_SERVER_SERVICE, 4, self._game_account_id, self._on_select_game_account) + self._send_request(self._AUTHENTICATION_SERVER_SERVICE, 4, self._game_account_id, self._on_authentication__select_game_account) - # def _on_authentication__logon_response(self, header, body): - # if header.status != 0: - # log.error("failed to connect to battle.net") + def _on_connection__connect_response(self, header, body): + # response = connection_pb2.ConnectResponse() + response = connection_service_pb2.ConnectResponse() + response.ParseFromString(body) + + self._imported_services_map.update(zip(self._imported_services, response.bind_response.imported_service_id)) + # self._exported_services_map[1] = {5: self._on_authentication__logon_result} + + self.logon() + + async def process_response(self): + header_len_buf = self.connection.recv(2) + if len(header_len_buf) < 2: + raise Exception("not enough data to read header length") + header_len = struct.unpack("!H", header_len_buf)[0] + header_buf = self.connection.recv(header_len) + if len(header_buf) < header_len: + raise Exception("not enough data to read header data") + + # header = protocol_pb2.Header() + header = rpc_pb2.Header() + header.ParseFromString(header_buf) + + body_len = header.size + if body_len: + body = self.connection.recv(body_len) + if len(body) < body_len: + raise Exception("not enough data to read body data") + else: + body = None + + log.debug(f"protobuf response header: token {header.token} status {header.status} size {header.size}") + + if header.service_id == self._RESPONSE_SERVICE_ID: + if header.token in self._token_callbacks: + callback = self._token_callbacks[header.token] + callback(header, body) + del self._token_callbacks[header.token] + else: + log.debug("unexpected response received", str(header)) + + try: + self._exported_services_map[header.service_id][header.method_id](header, body) + except Exception as e: + log.debug("failed to run service for received header", str(header), e) def logon(self): # request = authentication_pb2.LogonRequest() @@ -300,16 +340,6 @@ def logon(self): self._send_request(self._AUTHENTICATION_SERVER_SERVICE, 1, request) - def _on_connection__connect_response(self, header, body): - # response = connection_pb2.ConnectResponse() - response = connection_service_pb2.ConnectResponse() - response.ParseFromString(body) - - self._imported_services_map.update(zip(self._imported_services, response.bind_response.imported_service_id)) - # self._exported_services_map[1] = {5: self._on_authentication__logon_result} - - self.logon() - async def connect(self): sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.settimeout(10) @@ -330,7 +360,7 @@ async def connect(self): self._send_request(self._CONNECTION_SERVICE, 1, request, self._on_connection__connect_response) while self.connected is False: - await self.process_request() + await self.process_response() async def disconnect(self): if self.connection: @@ -338,43 +368,20 @@ async def disconnect(self): self.connection = None self.connected = False - async def process_request(self): - header_len_buf = self.connection.recv(2) - if len(header_len_buf) < 2: - raise Exception("not enough data to read header length") - header_len = struct.unpack("!H", header_len_buf)[0] - header_buf = self.connection.recv(header_len) - if len(header_buf) < header_len: - raise Exception("not enough data to read header data") - - # header = protocol_pb2.Header() - header = rpc_pb2.Header() - header.ParseFromString(header_buf) - - body_len = header.size - if body_len: - body = self.connection.recv(body_len) - if len(body) < body_len: - raise Exception("not enough data to read body data") - else: - body = None - - log.debug(f"protobuf response header: token {header.token} status {header.status} size {header.size}") + def fetch_friend_battle_tag(self, entity_id, callback): + # request = presence_pb2.QueryRequest() + request = presence_service_pb2.QueryRequest() + request.entity_id.high = entity_id.high + request.entity_id.low = entity_id.low - if header.service_id == self._RESPONSE_SERVICE_ID: - if header.token in self._token_callbacks: - callback = self._token_callbacks[header.token] - callback(header, body) - del self._token_callbacks[header.token] - else: - log.debug("unexpected response received", str(header)) + key = request.key.add() + key.program = 0x424e + key.group = 1 # account + key.field = 4 # battle_tag - try: - self._exported_services_map[header.service_id][header.method_id](header, body) - except Exception as e: - log.debug("failed to run service for received header", str(header), e) + self._send_request(self._PRESENCE_SERVICE, 4, request, functools.partial(self._on_presence__query_account, entity_id, False, callback)) - def query_account_info(self, entity_id, callback, query_game_account_info=True): + def fetch_friend_presence_details(self, entity_id, callback, query_game_account_info=True): # request = presence_pb2.QueryRequest() request = presence_service_pb2.QueryRequest() request.entity_id.high = entity_id.high @@ -395,9 +402,9 @@ def query_account_info(self, entity_id, callback, query_game_account_info=True): # key.field = 8 (away_time) return e.g. 1583607638026991 # key.field = 11 (is_busy) always returns false - self._send_request(self._PRESENCE_SERVICE, 4, request, functools.partial(self._on_query_account_info_response, entity_id, query_game_account_info, callback)) + self._send_request(self._PRESENCE_SERVICE, 4, request, functools.partial(self._on_presence__query_account, entity_id, query_game_account_info, callback)) - def fetch_friend_presence(self, game_account_id, friend_id, callback): + def fetch_friend_presence(self, game_account_id, friend_id): # request = presence_pb2.SubscribeRequest() request = presence_service_pb2.SubscribeRequest() # request.agent_id.high = self._account_id.high @@ -406,7 +413,7 @@ def fetch_friend_presence(self, game_account_id, friend_id, callback): request.entity_id.low = game_account_id.low request.object_id = self._next_object() - self._send_request(self._PRESENCE_SERVICE, 1, request, functools.partial(self._on_subscribe_to_presence_response, callback)) + self._send_request(self._PRESENCE_SERVICE, 1, request, self._on_presence__subscribe) def fetch_friends_list(self, callback): # request = friends_pb2.SubscribeToFriendsRequest() @@ -415,4 +422,4 @@ def fetch_friends_list(self, callback): # request.agent_id.low = self._account_id.low request.object_id = self._next_object() - self._send_request(self._FRIENDS_SERVICE, 1, request, functools.partial(self._on_subscribe_to_friends_response, callback)) + self._send_request(self._FRIENDS_SERVICE, 1, request, functools.partial(self._on_friends__subscribe_to_friends, callback)) diff --git a/src/plugin.py b/src/plugin.py index ca1906f..fff89c5 100644 --- a/src/plugin.py +++ b/src/plugin.py @@ -276,8 +276,7 @@ async def get_friends(self): raise AuthenticationRequired() friends_list = await self.social_features.get_friends() for friend_id, friend in friends_list.items(): - friend_presence = await self.social_features.get_friend_presence(friend_id) - friend.battle_tag = friend_presence["battle_tag"] + friend.battle_tag = await self.social_features.get_friend_battle_tag(friend_id) return [UserInfo(user_id=friend.id.low, user_name=friend.battle_tag, avatar_url='', profile_url='') for friend_id, friend in friends_list.items()] # async def prepare_user_presence_context(self, user_ids: List[str]) -> Any: diff --git a/src/social.py b/src/social.py index 2e6923a..48c27bc 100644 --- a/src/social.py +++ b/src/social.py @@ -6,6 +6,7 @@ class SocialFeatures(object): def __init__(self, _bnet_client): self.bnet_client = _bnet_client self._friends = None + self._friends_battle_tags = {} self._friends_presence = {} def fetch_friends_list_callback(self, success, friends): @@ -17,21 +18,30 @@ def fetch_friends_list_callback(self, success, friends): for friend in friends: self._friends[str(friend.id.low)] = friend + def fetch_friend_battle_tag_callback(self, success, entity_id, presence): + self._friends_battle_tags[str(entity_id.low)] = presence["battle_tag"] + def fetch_friend_presence_callback(self, success, entity_id, presence): log.debug(f"fetched friend presence [id = {str(entity_id.low)}]: {json.dumps(presence, default=str)}") self._friends_presence[str(entity_id.low)] = presence - return async def get_friends(self): self._friends = None self.bnet_client.fetch_friends_list(self.fetch_friends_list_callback) while self._friends is None: - await self.bnet_client.process_request() + await self.bnet_client.process_response() return self._friends + async def get_friend_battle_tag(self, user_id): + self._friends_battle_tags[user_id] = None + self.bnet_client.fetch_friend_battle_tag(self._friends[user_id].id, self.fetch_friend_battle_tag_callback) + while self._friends_battle_tags[user_id] is None: + await self.bnet_client.process_response() + return self._friends_battle_tags[user_id] + async def get_friend_presence(self, user_id): self._friends_presence[user_id] = None - self.bnet_client.query_account_info(self._friends[user_id].id, self.fetch_friend_presence_callback) + self.bnet_client.fetch_friend_presence_details(self._friends[user_id].id, self.fetch_friend_presence_callback) while self._friends_presence[user_id] is None: - await self.bnet_client.process_request() + await self.bnet_client.process_response() return self._friends_presence[user_id] From d125309fafcd62cec58a1143c3bfab26ee9c8d79 Mon Sep 17 00:00:00 2001 From: Alexander Wenzel Date: Sat, 11 Jul 2020 22:32:43 +0200 Subject: [PATCH 06/15] refactor: clean-up, bnet game_account presence WIP, bnet echo WIP --- src/bnet_client.py | 238 ++++++++++++++++++++++++--------------------- src/plugin.py | 4 +- src/social.py | 8 +- 3 files changed, 131 insertions(+), 119 deletions(-) diff --git a/src/bnet_client.py b/src/bnet_client.py index e1e5851..c888199 100644 --- a/src/bnet_client.py +++ b/src/bnet_client.py @@ -1,19 +1,19 @@ import socket import ssl -from fnvhash import fnv1a_32 -# from bnet.protocol import protocol_pb2 -# from bnet.protocol.authentication import authentication_pb2 -# from bnet.protocol.channel_extracted import channel_extracted_pb2 -# from bnet.protocol.connection import connection_pb2 -# from bnet.protocol.friends import friends_pb2 -# from bnet.protocol.presence import presence_pb2 -from bnet import connection_service_pb2, rpc_pb2, friends_service_pb2, authentication_service_pb2, presence_service_pb2, presence_types_pb2 import struct import functools import logging as log +from fnvhash import fnv1a_32 from requests import utils from datetime import datetime +from galaxy.api.errors import BackendError + +from bnet import ( + connection_service_pb2, rpc_pb2, friends_service_pb2, authentication_service_pb2, presence_service_pb2, + presence_types_pb2, resource_service_pb2, content_handle_pb2 +) + class BNetClient: def __init__(self, authentication_client): @@ -40,6 +40,7 @@ def __init__(self, authentication_client): self._PRESENCE_SERVICE, self._FRIENDS_SERVICE, self._NOTIFICATION_SERVICE, + self._RESOURCES_SERVICE, ) self._imported_services_map = { @@ -58,14 +59,15 @@ def __init__(self, authentication_client): self.ExportedService(9, "bnet.protocol.notification.NotificationListener"), ) - # service_id -> { method_id -> callback } - self._exported_services_map = {} - self._exported_services_map[1] = {5: self._on_authentication__logon} - # self._exported_services_map[2] = {3: self._on_challenge__challenge_external_request} - # self._exported_services_map[5] = {1: self._on_friends__friend_notification, 3: self._on_friends__invitation_notification} - # self._exported_services_map[6] = {1: self._on_channel__add_notification, 6: self._on_channel__update_channel_state_notification} - # self._exported_services_map[8] = {3: self._on_connection__echo_request, 4: self._on_connection__disconnect_notification} - # self._exported_services_map[9] = {1: self._on_notification__notification} + self._exported_services_map = { + # service_id: { method_id: callback } + 1: {5: self._on_authentication__logon}, + # 2: {3: self._on_challenge__challenge_external_request}, + # 5: {1: self._on_friends__friend_notification, 3: self._on_friends__invitation_notification}, + # 6: {1: self._on_channel__add_notification, 6: self._on_channel__update_channel_state_notification}, + 8: {3: self._on_connection__echo_request, 4: self._on_connection__disconnect_notification}, + # 9: {1: self._on_notification__notification}, + } self._object = 1 self._token = 0 @@ -103,14 +105,14 @@ def _next_token(self): def _set_backend_server_host(self, region): self._BACKEND_SERVER_HOST = "{}.actual.battle.net".format(region) - def _send_request(self, service_name, method_id, body, callback=None): - # header = protocol_pb2.Header() - header = rpc_pb2.Header() + def _send_message(self, service_name, method_id, body, callback=None): + if self.connection is None: + raise BackendError("connection to battle.net is closed") - service_id = self._imported_services_map[service_name] - header.service_id = service_id + header = rpc_pb2.Header() + header.service_id = self._imported_services_map[service_name] - if service_id != self._RESPONSE_SERVICE_ID: + if header.service_id != self._RESPONSE_SERVICE_ID: header.method_id = method_id header.token = self._next_token() else: @@ -122,21 +124,28 @@ def _send_request(self, service_name, method_id, body, callback=None): if callback: self._token_callbacks[header.token] = callback - log.debug(f"protobuf request: {service_name}::{method_id} token {header.token}") + log.debug(f"protobuf sending data: service {header.service_id} ({service_name}) method {header.method_id} token {header.token}") self.connection.send(struct.pack("!H", header.ByteSize())) self.connection.send(header.SerializeToString()) self.connection.send(body.SerializeToString()) + # @todo + def _on_resource__content_handle(self, entity_id, account_info, callback, header, body): + response = content_handle_pb2.ContentHandle() + response.ParseFromString(body) + log.debug(f"fetched content:content_handle token: {header.token} body: {response}") + + callback(True, entity_id, account_info) + def _on_presence__query_game_account(self, entity_id, account_info, callback, header, body): if not body: callback(False, entity_id, account_info) return - # response = presence_pb2.QueryResponse() response = presence_service_pb2.QueryResponse() response.ParseFromString(body) - # log.debug(f"fetched query_game_account_info_response packet: {response}") + # log.debug(f"fetched presence:query_response token: {header.token} body: {response}") for f in response.field: if f.key.group != 2: @@ -147,7 +156,7 @@ def _on_presence__query_game_account(self, entity_id, account_info, callback, he elif f.key.field == 2: account_info["game_account_is_busy"] = f.value.bool_value elif f.key.field == 3: - account_info["program_id"] = f.value.fourcc_value # e.g. "App", "BSAp" or "Pro" (for Overwatch) + account_info["game_account_program"] = f.value.fourcc_value # e.g. "App", "BSAp" or "Pro" (for Overwatch) elif f.key.field == 4: account_info["game_account_last_online"] = datetime.fromtimestamp(f.value.int_value / 1000 / 1000) # e.g. 1584194739362351 (microseconds timestamp) elif f.key.field == 5: @@ -159,7 +168,7 @@ def _on_presence__query_game_account(self, entity_id, account_info, callback, he elif f.key.field == 8: rich_presence = presence_types_pb2.RichPresence() rich_presence.ParseFromString(f.value.message_value) # e.g. "\rorP\000\025aorp\030\025" - account_info["rich_presence"] = rich_presence + account_info["game_account_rich_presence"] = rich_presence elif f.key.field == 9: continue elif f.key.field == 10: @@ -167,19 +176,22 @@ def _on_presence__query_game_account(self, entity_id, account_info, callback, he elif f.key.field == 11: continue - callback(True, entity_id, account_info) + if "game_account_rich_presence" not in account_info: + callback(True, entity_id, account_info) + return + + self.fetch_friend_presence_game_presence_details(entity_id, account_info, callback) - def _on_presence__query_account(self, entity_id, query_game_account_info, callback, header, body): + def _on_presence__query_account(self, entity_id, account_info, callback, header, body): if not body: callback(False, entity_id, {}) return - # response = presence_pb2.QueryResponse() response = presence_service_pb2.QueryResponse() response.ParseFromString(body) - # log.debug(f"fetched query_account_info_response packet: {response}") + # log.debug(f"fetched presence:query_response token: {header.token} body: {response}") - account_info = {} + num_game_accounts = 0 for f in response.field: if f.key.group != 1: @@ -187,8 +199,11 @@ def _on_presence__query_account(self, entity_id, query_game_account_info, callba if f.key.field == 1: account_info["full_name"] = f.value.string_value.encode('utf-8') # e.g. "Firstname Lastname" - elif f.key.field == 3 and "game_account" not in account_info: - account_info["game_account"] = f.value.entityid_value # e.g. high: 144115197778542960 low: 131237370 + elif f.key.field == 3: + num_game_accounts += 1 + if f"game_account_{num_game_accounts}" not in account_info: + account_info[f"game_account_{num_game_accounts}"] = {} + account_info[f"game_account_{num_game_accounts}"]["id"] = f.value.entityid_value # e.g. high: 144115197778542960 low: 131237370 elif f.key.field == 4: account_info["battle_tag"] = f.value.string_value # e.g. "Username#1234" elif f.key.field == 6: @@ -200,56 +215,22 @@ def _on_presence__query_account(self, entity_id, query_game_account_info, callba elif f.key.field == 11: account_info["is_busy"] = f.value.bool_value - if not query_game_account_info or "game_account" not in account_info: + if num_game_accounts == 0: callback(True, entity_id, account_info) return - # request = presence_pb2.QueryRequest() - request = presence_service_pb2.QueryRequest() - request.entity_id.high = account_info["game_account"].high - request.entity_id.low = account_info["game_account"].low - for i in [1, 2, 3, 8, 10]: - key = request.key.add() - key.program = 0x424e - key.group = 2 # 2 game account - key.field = i - - # key.field = 1 (is online) works for all not-offline friends and always returns true - # key.field = 2 (is_busy???) - # key.field = 3 (program_id) works for all not-offline friends and returns e.g. "BSAp", "Pro" (for Overwatch) - # key.field = 4 (last_online???) returns e.g. 1584194739362351 - # key.field = 5 (battle_tag???) - # key.field = 6 (account_name???) - # key.field = 7 (account_id???) returns e.g. high: 72057594037927936 low: 101974425 - # key.field = 8 (rich_presence) only returns when user is in-game, e.g. "\rorP\000\025aorp\030\025" - # key.field = 9 (???) returns e.g. 1584228809551117 - # key.field = 10 (is_away???) - # key.field = 11 (last_online???) - - self._send_request(self._PRESENCE_SERVICE, 4, request, functools.partial(self._on_presence__query_game_account, entity_id, account_info, callback)) - - def _on_presence__subscribe(self, callback, header, body): - log.info(f"fetched presence_response header: {header} -- body: {body}") - if not body: - callback(False, 0, []) - return - - response = body - # response = presence_pb2.SubscribeResponse() - response.ParseFromString(body) - # log.info(f"fetched presence_response packet: {response}") - - callback(True, 0, response) + for i in range(num_game_accounts): + game_account_id = account_info[f"game_account_{i + 1}"]["id"] + self.fetch_friend_presence_game_account_details(entity_id, game_account_id, account_info, callback) def _on_friends__subscribe_to_friends(self, callback, header, body): if not body: callback(False, []) return - # response = channel_extracted_pb2.SubscribeToFriendsResponse() response = friends_service_pb2.SubscribeToFriendsResponse() response.ParseFromString(body) - # log.info(f"fetched friends_response packet: {response}") + # log.info(f"fetched friends:subscribe_to_friends_response token: {header.token} body: {response}") callback(True, response.friends) @@ -259,44 +240,58 @@ def _on_authentication__select_game_account(self, header, body): def _on_authentication__logon(self, header, body): if header.status != 0: - raise Exception("failed to authenticate with battle.net") + raise BackendError("failed to authenticate with battle.net") - # response = authentication_pb2.LogonResult() response = authentication_service_pb2.LogonResult() response.ParseFromString(body) - # log.debug(f"fetched logon_result packet: {response}") + # log.debug(f"fetched authentication:logon_result token: {header.token} body: {response}") self._account_id = response.account self._game_account_id = response.game_account[0] - # request = authentication_service_pb2.SelectGameAccountRequest() - # request.game_account.high = self._game_account_id.high - # request.game_account.low = self._game_account_id.low - # - # self._send_request(self._AUTHENTICATION_SERVER_SERVICE, 6, request, self._on_select_game_account) + self._send_message(self._AUTHENTICATION_SERVER_SERVICE, 4, self._game_account_id, self._on_authentication__select_game_account) + + def _on_connection__echo_request(self, header, body): + request = connection_service_pb2.EchoRequest() + request.ParseFromString(body) + log.debug(f"fetched connection:echo_request token: {header.token} body: {request}") - self._send_request(self._AUTHENTICATION_SERVER_SERVICE, 4, self._game_account_id, self._on_authentication__select_game_account) + response = connection_service_pb2.EchoResponse() + response.time = request.time + response.payload = request.payload + + self._send_message(self._RESPONSE_SERVICE, header.token, response) + + def _on_connection__disconnect_notification(self, header, body): + response = connection_service_pb2.DisconnectNotification() + response.ParseFromString(body) + log.debug(f"fetched connection:disconnect_notification token: {header.token} body: {response}") + + # error_code: 3014 + + self.disconnect() def _on_connection__connect_response(self, header, body): - # response = connection_pb2.ConnectResponse() response = connection_service_pb2.ConnectResponse() response.ParseFromString(body) + # log.debug(f"fetched connection:connect_response token: {header.token} body: {response}") self._imported_services_map.update(zip(self._imported_services, response.bind_response.imported_service_id)) - # self._exported_services_map[1] = {5: self._on_authentication__logon_result} self.logon() - async def process_response(self): + async def receive_message(self): + if self.connection is None: + raise BackendError("connection to battle.net is closed") + header_len_buf = self.connection.recv(2) if len(header_len_buf) < 2: - raise Exception("not enough data to read header length") + raise BackendError("not enough data to read header length") header_len = struct.unpack("!H", header_len_buf)[0] header_buf = self.connection.recv(header_len) if len(header_buf) < header_len: - raise Exception("not enough data to read header data") + raise BackendError("not enough data to read header data") - # header = protocol_pb2.Header() header = rpc_pb2.Header() header.ParseFromString(header_buf) @@ -304,12 +299,13 @@ async def process_response(self): if body_len: body = self.connection.recv(body_len) if len(body) < body_len: - raise Exception("not enough data to read body data") + raise BackendError("not enough data to read body data") else: body = None - log.debug(f"protobuf response header: token {header.token} status {header.status} size {header.size}") + log.debug(f"protobuf receiving data: service {header.service_id} method {header.method_id} token {header.token} status {header.status} size {header.size}") + # this is a response to a request from us if header.service_id == self._RESPONSE_SERVICE_ID: if header.token in self._token_callbacks: callback = self._token_callbacks[header.token] @@ -318,13 +314,14 @@ async def process_response(self): else: log.debug("unexpected response received", str(header)) + # server requesting something from us try: - self._exported_services_map[header.service_id][header.method_id](header, body) + callback = self._exported_services_map[header.service_id][header.method_id] + callback(header, body) except Exception as e: log.debug("failed to run service for received header", str(header), e) def logon(self): - # request = authentication_pb2.LogonRequest() request = authentication_service_pb2.LogonRequest() # request.program = "App" request.program = "BSAp" # login in as mobile @@ -338,7 +335,7 @@ def logon(self): request.cached_web_credentials = str.encode(utils.dict_from_cookiejar(self._authentication_client.auth_data.cookie_jar)["BA-tassadar"]) # request.user_agent = "Battle.net/1.8.2.8839" - self._send_request(self._AUTHENTICATION_SERVER_SERVICE, 1, request) + self._send_message(self._AUTHENTICATION_SERVER_SERVICE, 1, request) async def connect(self): sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) @@ -351,25 +348,23 @@ async def connect(self): self.connection = connection - # request = connection_pb2.ConnectRequest() request = connection_service_pb2.ConnectRequest() request.bind_request.imported_service_hash.extend([fnv1a_32(bytes(s, "UTF-8")) for s in self._imported_services]) - # request.bind_request.exported_service.extend([connection_pb2.BoundService(hash=fnv1a_32(bytes(s.name, "UTF-8")), id=s.id ) for s in self._exported_services]) request.bind_request.exported_service.extend([connection_service_pb2.BoundService(hash=fnv1a_32(bytes(s.name, "UTF-8")), id=s.id ) for s in self._exported_services]) - self._send_request(self._CONNECTION_SERVICE, 1, request, self._on_connection__connect_response) + self._send_message(self._CONNECTION_SERVICE, 1, request, self._on_connection__connect_response) while self.connected is False: - await self.process_response() + await self.receive_message() async def disconnect(self): + log.info("disconnected from battle.net") if self.connection: self.connection.close() self.connection = None self.connected = False def fetch_friend_battle_tag(self, entity_id, callback): - # request = presence_pb2.QueryRequest() request = presence_service_pb2.QueryRequest() request.entity_id.high = entity_id.high request.entity_id.low = entity_id.low @@ -379,10 +374,9 @@ def fetch_friend_battle_tag(self, entity_id, callback): key.group = 1 # account key.field = 4 # battle_tag - self._send_request(self._PRESENCE_SERVICE, 4, request, functools.partial(self._on_presence__query_account, entity_id, False, callback)) + self._send_message(self._PRESENCE_SERVICE, 4, request, functools.partial(self._on_presence__query_account, entity_id, {}, callback)) - def fetch_friend_presence_details(self, entity_id, callback, query_game_account_info=True): - # request = presence_pb2.QueryRequest() + def fetch_friend_presence_account_details(self, entity_id, callback): request = presence_service_pb2.QueryRequest() request.entity_id.high = entity_id.high request.entity_id.low = entity_id.low @@ -402,24 +396,42 @@ def fetch_friend_presence_details(self, entity_id, callback, query_game_account_ # key.field = 8 (away_time) return e.g. 1583607638026991 # key.field = 11 (is_busy) always returns false - self._send_request(self._PRESENCE_SERVICE, 4, request, functools.partial(self._on_presence__query_account, entity_id, query_game_account_info, callback)) + self._send_message(self._PRESENCE_SERVICE, 4, request, functools.partial(self._on_presence__query_account, entity_id, {}, callback)) - def fetch_friend_presence(self, game_account_id, friend_id): - # request = presence_pb2.SubscribeRequest() - request = presence_service_pb2.SubscribeRequest() - # request.agent_id.high = self._account_id.high - # request.agent_id.low = self._account_id.low + def fetch_friend_presence_game_account_details(self, entity_id, game_account_id, account_info, callback): + request = presence_service_pb2.QueryRequest() request.entity_id.high = game_account_id.high request.entity_id.low = game_account_id.low - request.object_id = self._next_object() + for i in [1, 2, 3, 10]: # for i in [1, 2, 3, 8, 10]: # with rich_presence + key = request.key.add() + key.program = 0x424e + key.group = 2 # 2 game account + key.field = i + + # key.field = 1 (is online) works for all not-offline friends and always returns true + # key.field = 2 (is_busy???) + # key.field = 3 (program_id) works for all not-offline friends and returns e.g. "BSAp", "Pro" (for Overwatch) + # key.field = 4 (last_online???) returns e.g. 1584194739362351 + # key.field = 5 (battle_tag???) + # key.field = 6 (account_name???) + # key.field = 7 (account_id???) returns e.g. high: 72057594037927936 low: 101974425 + # key.field = 8 (rich_presence) only returns when user is in-game, e.g. "\rorP\000\025aorp\030\025" + # key.field = 9 (???) returns e.g. 1584228809551117 + # key.field = 10 (is_away???) + # key.field = 11 (last_online???) + + self._send_message(self._PRESENCE_SERVICE, 4, request, functools.partial(self._on_presence__query_game_account, entity_id, account_info, callback)) + + def fetch_friend_presence_game_presence_details(self, entity_id, account_info, callback): + request = resource_service_pb2.ContentHandleRequest() + request.program_id = account_info["game_account_rich_presence"].program_id + request.stream_id = account_info["game_account_rich_presence"].stream_id + # message_id = account_info["game_account_rich_presence"].index - self._send_request(self._PRESENCE_SERVICE, 1, request, self._on_presence__subscribe) + self._send_message(self._RESOURCES_SERVICE, 1, request, functools.partial(self._on_resource__content_handle, entity_id, account_info, callback)) def fetch_friends_list(self, callback): - # request = friends_pb2.SubscribeToFriendsRequest() request = friends_service_pb2.SubscribeToFriendsRequest() - # request.agent_id.high = self._account_id.high - # request.agent_id.low = self._account_id.low request.object_id = self._next_object() - self._send_request(self._FRIENDS_SERVICE, 1, request, functools.partial(self._on_friends__subscribe_to_friends, callback)) + self._send_message(self._FRIENDS_SERVICE, 1, request, functools.partial(self._on_friends__subscribe_to_friends, callback)) diff --git a/src/plugin.py b/src/plugin.py index fff89c5..64938e3 100644 --- a/src/plugin.py +++ b/src/plugin.py @@ -296,9 +296,9 @@ async def get_user_presence(self, user_id: str, context: Any) -> UserPresence: game_id = None game_title = None - if "program_id" in friend_presence: + if "game_account_program" in friend_presence: for game in Blizzard.games: - if game.family == friend_presence["program_id"]: # can be a game family, e.g. "Pro" for Overwatch + if game.family == friend_presence["game_account_program"]: # can be a game family, e.g. "Pro" for Overwatch game_id = game.id game_title = game.name diff --git a/src/social.py b/src/social.py index 48c27bc..5fceee6 100644 --- a/src/social.py +++ b/src/social.py @@ -29,19 +29,19 @@ async def get_friends(self): self._friends = None self.bnet_client.fetch_friends_list(self.fetch_friends_list_callback) while self._friends is None: - await self.bnet_client.process_response() + await self.bnet_client.receive_message() return self._friends async def get_friend_battle_tag(self, user_id): self._friends_battle_tags[user_id] = None self.bnet_client.fetch_friend_battle_tag(self._friends[user_id].id, self.fetch_friend_battle_tag_callback) while self._friends_battle_tags[user_id] is None: - await self.bnet_client.process_response() + await self.bnet_client.receive_message() return self._friends_battle_tags[user_id] async def get_friend_presence(self, user_id): self._friends_presence[user_id] = None - self.bnet_client.fetch_friend_presence_details(self._friends[user_id].id, self.fetch_friend_presence_callback) + self.bnet_client.fetch_friend_presence_account_details(self._friends[user_id].id, self.fetch_friend_presence_callback) while self._friends_presence[user_id] is None: - await self.bnet_client.process_response() + await self.bnet_client.receive_message() return self._friends_presence[user_id] From f79847f7b08bbe28396d1c9acf6195e8d8e934d8 Mon Sep 17 00:00:00 2001 From: Alexander Wenzel Date: Sun, 12 Jul 2020 15:17:53 +0200 Subject: [PATCH 07/15] rewrite battle.net socket connection using asyncio.open_connection, replace callbacks with futures --- src/bnet_client.py | 144 ++++++++++++++++++++++++--------------------- src/plugin.py | 20 ++++--- src/social.py | 52 +++++++--------- 3 files changed, 111 insertions(+), 105 deletions(-) diff --git a/src/bnet_client.py b/src/bnet_client.py index c888199..1bccc86 100644 --- a/src/bnet_client.py +++ b/src/bnet_client.py @@ -1,5 +1,4 @@ -import socket -import ssl +import asyncio import struct import functools import logging as log @@ -74,8 +73,9 @@ def __init__(self, authentication_client): self._token_callbacks = {} self._account_id = None self._game_account_id = None - self.connection = None - self.connected = False + self.reader = None + self.writer = None + self.authenticated = False class BNetService: def __init__(self, service_name): @@ -105,8 +105,8 @@ def _next_token(self): def _set_backend_server_host(self, region): self._BACKEND_SERVER_HOST = "{}.actual.battle.net".format(region) - def _send_message(self, service_name, method_id, body, callback=None): - if self.connection is None: + async def _send_message(self, service_name, method_id, body, callback=None): + if self.writer is None: raise BackendError("connection to battle.net is closed") header = rpc_pb2.Header() @@ -126,21 +126,23 @@ def _send_message(self, service_name, method_id, body, callback=None): log.debug(f"protobuf sending data: service {header.service_id} ({service_name}) method {header.method_id} token {header.token}") - self.connection.send(struct.pack("!H", header.ByteSize())) - self.connection.send(header.SerializeToString()) - self.connection.send(body.SerializeToString()) + self.writer.write(struct.pack("!H", header.ByteSize())) + self.writer.write(header.SerializeToString()) + self.writer.write(body.SerializeToString()) + await self.writer.drain() # @todo - def _on_resource__content_handle(self, entity_id, account_info, callback, header, body): + async def _on_resource__content_handle(self, entity_id, account_info, future: asyncio.Future, header, body): response = content_handle_pb2.ContentHandle() response.ParseFromString(body) - log.debug(f"fetched content:content_handle token: {header.token} body: {response}") + # log.debug(f"fetched content:content_handle token: {header.token} body: {response}") - callback(True, entity_id, account_info) + future.set_result(account_info) - def _on_presence__query_game_account(self, entity_id, account_info, callback, header, body): + async def _on_presence__query_game_account(self, entity_id, account_info, future: asyncio.Future, header, body): if not body: - callback(False, entity_id, account_info) + log.warning("failed presence:query_response") + future.set_result(account_info) return response = presence_service_pb2.QueryResponse() @@ -177,14 +179,15 @@ def _on_presence__query_game_account(self, entity_id, account_info, callback, he continue if "game_account_rich_presence" not in account_info: - callback(True, entity_id, account_info) + future.set_result(account_info) return - self.fetch_friend_presence_game_presence_details(entity_id, account_info, callback) + await self.fetch_friend_presence_game_presence_details(entity_id, account_info, future) - def _on_presence__query_account(self, entity_id, account_info, callback, header, body): + async def _on_presence__query_account(self, entity_id, account_info, future: asyncio.Future, header, body): if not body: - callback(False, entity_id, {}) + log.error("failed presence:query_response") + future.set_result({}) return response = presence_service_pb2.QueryResponse() @@ -216,29 +219,31 @@ def _on_presence__query_account(self, entity_id, account_info, callback, header, account_info["is_busy"] = f.value.bool_value if num_game_accounts == 0: - callback(True, entity_id, account_info) + future.set_result(account_info) return for i in range(num_game_accounts): game_account_id = account_info[f"game_account_{i + 1}"]["id"] - self.fetch_friend_presence_game_account_details(entity_id, game_account_id, account_info, callback) + await self.fetch_friend_presence_game_account_details(entity_id, game_account_id, account_info, future) - def _on_friends__subscribe_to_friends(self, callback, header, body): + async def _on_friends__subscribe_to_friends(self, future: asyncio.Future, header, body): if not body: - callback(False, []) + log.error("failed friends:subscribe_to_friends_response") + future.set_result([]) return response = friends_service_pb2.SubscribeToFriendsResponse() response.ParseFromString(body) - # log.info(f"fetched friends:subscribe_to_friends_response token: {header.token} body: {response}") + # log.debug(f"fetched friends:subscribe_to_friends_response token: {header.token} body: {response}") + # log.debug(f"fetched friends:subscribe_to_friends_response token: {header.token}") - callback(True, response.friends) + future.set_result(response.friends) - def _on_authentication__select_game_account(self, header, body): - log.info("successfully connected to battle.net") - self.connected = True + async def _on_authentication__select_game_account(self, header, body): + log.info("successfully authenticated with battle.net") + self.authenticated = True - def _on_authentication__logon(self, header, body): + async def _on_authentication__logon(self, header, body): if header.status != 0: raise BackendError("failed to authenticate with battle.net") @@ -249,9 +254,9 @@ def _on_authentication__logon(self, header, body): self._account_id = response.account self._game_account_id = response.game_account[0] - self._send_message(self._AUTHENTICATION_SERVER_SERVICE, 4, self._game_account_id, self._on_authentication__select_game_account) + await self._send_message(self._AUTHENTICATION_SERVER_SERVICE, 4, self._game_account_id, self._on_authentication__select_game_account) - def _on_connection__echo_request(self, header, body): + async def _on_connection__echo_request(self, header, body): request = connection_service_pb2.EchoRequest() request.ParseFromString(body) log.debug(f"fetched connection:echo_request token: {header.token} body: {request}") @@ -260,35 +265,44 @@ def _on_connection__echo_request(self, header, body): response.time = request.time response.payload = request.payload - self._send_message(self._RESPONSE_SERVICE, header.token, response) + await self._send_message(self._RESPONSE_SERVICE, header.token, response) - def _on_connection__disconnect_notification(self, header, body): + async def _on_connection__disconnect_notification(self, header, body): response = connection_service_pb2.DisconnectNotification() response.ParseFromString(body) log.debug(f"fetched connection:disconnect_notification token: {header.token} body: {response}") # error_code: 3014 - self.disconnect() + await self.disconnect() - def _on_connection__connect_response(self, header, body): + async def _on_connection__connect_response(self, header, body): response = connection_service_pb2.ConnectResponse() response.ParseFromString(body) # log.debug(f"fetched connection:connect_response token: {header.token} body: {response}") self._imported_services_map.update(zip(self._imported_services, response.bind_response.imported_service_id)) - self.logon() + await self.logon() - async def receive_message(self): - if self.connection is None: + async def _watch_receive_message(self): + while True: + try: + await self._receive_message() + except Exception as e: + log.error(f'battle.net socket error: {repr(e)}') + + async def _receive_message(self): + if self.reader is None: raise BackendError("connection to battle.net is closed") - header_len_buf = self.connection.recv(2) + header_len_buf = await self.reader.read(2) + if not header_len_buf: + return if len(header_len_buf) < 2: raise BackendError("not enough data to read header length") header_len = struct.unpack("!H", header_len_buf)[0] - header_buf = self.connection.recv(header_len) + header_buf = await self.reader.read(header_len) if len(header_buf) < header_len: raise BackendError("not enough data to read header data") @@ -297,7 +311,7 @@ async def receive_message(self): body_len = header.size if body_len: - body = self.connection.recv(body_len) + body = await self.reader.read(body_len) if len(body) < body_len: raise BackendError("not enough data to read body data") else: @@ -309,7 +323,7 @@ async def receive_message(self): if header.service_id == self._RESPONSE_SERVICE_ID: if header.token in self._token_callbacks: callback = self._token_callbacks[header.token] - callback(header, body) + await callback(header, body) del self._token_callbacks[header.token] else: log.debug("unexpected response received", str(header)) @@ -317,11 +331,11 @@ async def receive_message(self): # server requesting something from us try: callback = self._exported_services_map[header.service_id][header.method_id] - callback(header, body) + await callback(header, body) except Exception as e: log.debug("failed to run service for received header", str(header), e) - def logon(self): + async def logon(self): request = authentication_service_pb2.LogonRequest() # request.program = "App" request.program = "BSAp" # login in as mobile @@ -335,36 +349,30 @@ def logon(self): request.cached_web_credentials = str.encode(utils.dict_from_cookiejar(self._authentication_client.auth_data.cookie_jar)["BA-tassadar"]) # request.user_agent = "Battle.net/1.8.2.8839" - self._send_message(self._AUTHENTICATION_SERVER_SERVICE, 1, request) + await self._send_message(self._AUTHENTICATION_SERVER_SERVICE, 1, request) async def connect(self): - sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) - sock.settimeout(10) - self._set_backend_server_host(self._authentication_client.auth_data.region) - connection = ssl.wrap_socket(sock, ssl_version=ssl.PROTOCOL_TLSv1) - connection.connect((self._BACKEND_SERVER_HOST, self._BACKEND_SERVER_PORT)) - connection.do_handshake() - self.connection = connection + self.reader, self.writer = await asyncio.open_connection( + self._BACKEND_SERVER_HOST, self._BACKEND_SERVER_PORT, ssl=True + ) request = connection_service_pb2.ConnectRequest() request.bind_request.imported_service_hash.extend([fnv1a_32(bytes(s, "UTF-8")) for s in self._imported_services]) request.bind_request.exported_service.extend([connection_service_pb2.BoundService(hash=fnv1a_32(bytes(s.name, "UTF-8")), id=s.id ) for s in self._exported_services]) - self._send_message(self._CONNECTION_SERVICE, 1, request, self._on_connection__connect_response) + await self._send_message(self._CONNECTION_SERVICE, 1, request, self._on_connection__connect_response) - while self.connected is False: - await self.receive_message() + asyncio.create_task(self._watch_receive_message()) async def disconnect(self): log.info("disconnected from battle.net") - if self.connection: - self.connection.close() - self.connection = None - self.connected = False + if self.writer: + self.writer.close() + self.authenticated = False - def fetch_friend_battle_tag(self, entity_id, callback): + async def fetch_friend_battle_tag(self, entity_id, future: asyncio.Future): request = presence_service_pb2.QueryRequest() request.entity_id.high = entity_id.high request.entity_id.low = entity_id.low @@ -374,9 +382,9 @@ def fetch_friend_battle_tag(self, entity_id, callback): key.group = 1 # account key.field = 4 # battle_tag - self._send_message(self._PRESENCE_SERVICE, 4, request, functools.partial(self._on_presence__query_account, entity_id, {}, callback)) + await self._send_message(self._PRESENCE_SERVICE, 4, request, functools.partial(self._on_presence__query_account, entity_id, {}, future)) - def fetch_friend_presence_account_details(self, entity_id, callback): + async def fetch_friend_presence_account_details(self, entity_id, future: asyncio.Future): request = presence_service_pb2.QueryRequest() request.entity_id.high = entity_id.high request.entity_id.low = entity_id.low @@ -396,9 +404,9 @@ def fetch_friend_presence_account_details(self, entity_id, callback): # key.field = 8 (away_time) return e.g. 1583607638026991 # key.field = 11 (is_busy) always returns false - self._send_message(self._PRESENCE_SERVICE, 4, request, functools.partial(self._on_presence__query_account, entity_id, {}, callback)) + await self._send_message(self._PRESENCE_SERVICE, 4, request, functools.partial(self._on_presence__query_account, entity_id, {}, future)) - def fetch_friend_presence_game_account_details(self, entity_id, game_account_id, account_info, callback): + async def fetch_friend_presence_game_account_details(self, entity_id, game_account_id, account_info, future: asyncio.Future): request = presence_service_pb2.QueryRequest() request.entity_id.high = game_account_id.high request.entity_id.low = game_account_id.low @@ -420,18 +428,18 @@ def fetch_friend_presence_game_account_details(self, entity_id, game_account_id, # key.field = 10 (is_away???) # key.field = 11 (last_online???) - self._send_message(self._PRESENCE_SERVICE, 4, request, functools.partial(self._on_presence__query_game_account, entity_id, account_info, callback)) + await self._send_message(self._PRESENCE_SERVICE, 4, request, functools.partial(self._on_presence__query_game_account, entity_id, account_info, future)) - def fetch_friend_presence_game_presence_details(self, entity_id, account_info, callback): + async def fetch_friend_presence_game_presence_details(self, entity_id, account_info, future: asyncio.Future): request = resource_service_pb2.ContentHandleRequest() request.program_id = account_info["game_account_rich_presence"].program_id request.stream_id = account_info["game_account_rich_presence"].stream_id # message_id = account_info["game_account_rich_presence"].index - self._send_message(self._RESOURCES_SERVICE, 1, request, functools.partial(self._on_resource__content_handle, entity_id, account_info, callback)) + await self._send_message(self._RESOURCES_SERVICE, 1, request, functools.partial(self._on_resource__content_handle, entity_id, account_info, future)) - def fetch_friends_list(self, callback): + async def fetch_friends_list(self, future: asyncio.Future): request = friends_service_pb2.SubscribeToFriendsRequest() request.object_id = self._next_object() - self._send_message(self._FRIENDS_SERVICE, 1, request, functools.partial(self._on_friends__subscribe_to_friends, callback)) + await self._send_message(self._FRIENDS_SERVICE, 1, request, functools.partial(self._on_friends__subscribe_to_friends, future)) diff --git a/src/plugin.py b/src/plugin.py index 64938e3..6a357ef 100644 --- a/src/plugin.py +++ b/src/plugin.py @@ -100,8 +100,8 @@ def _update_statuses(self, refreshed_games, previous_games): self.update_local_game_status(LocalGame(blizz_id, state)) def log_out(self): - if self.backend_client: - asyncio.create_task(self.authentication_client.shutdown()) + asyncio.create_task(self.authentication_client.shutdown()) + asyncio.create_task(self.bnet_client.disconnect()) self.authentication_client.user_details = None async def open_battlenet_browser(self): @@ -229,7 +229,8 @@ async def authenticate(self, stored_credentials=None): auth_status = await self.backend_client.validate_access_token(auth_data.access_token) except (BackendNotAvailable, BackendError, NetworkError, UnknownError, BackendTimeout) as e: raise e - except Exception: + except Exception as e: + log.error(f"authentication exception: {repr(e)}") raise InvalidCredentials() if self.authentication_client.validate_auth_status(auth_status): @@ -259,7 +260,8 @@ async def pass_login_credentials(self, step, credentials, cookies): auth_status = await self.backend_client.validate_access_token(auth_data.access_token) except (BackendNotAvailable, BackendError, NetworkError, UnknownError, BackendTimeout) as e: raise e - except Exception: + except Exception as e: + log.error(f"authentication exception: {repr(e)}") raise InvalidCredentials() if not ("authorities" in auth_status and "IS_AUTHENTICATED_FULLY" in auth_status["authorities"]): @@ -274,16 +276,20 @@ async def pass_login_credentials(self, step, credentials, cookies): async def get_friends(self): if not self.authentication_client.is_authenticated(): raise AuthenticationRequired() + if not self.bnet_client.authenticated: + raise BackendError("not authenticated with battle.net") + friends_list = await self.social_features.get_friends() - for friend_id, friend in friends_list.items(): - friend.battle_tag = await self.social_features.get_friend_battle_tag(friend_id) + return [UserInfo(user_id=friend.id.low, user_name=friend.battle_tag, avatar_url='', profile_url='') for friend_id, friend in friends_list.items()] # async def prepare_user_presence_context(self, user_ids: List[str]) -> Any: # return None async def get_user_presence(self, user_id: str, context: Any) -> UserPresence: - log.debug(f"getting presence for user {user_id}") + if not self.bnet_client.authenticated: + raise BackendError("not authenticated with battle.net") + friend_presence = await self.social_features.get_friend_presence(user_id) # user_info = context.get(user_id) # if user_info is None: diff --git a/src/social.py b/src/social.py index 5fceee6..05d9c61 100644 --- a/src/social.py +++ b/src/social.py @@ -1,3 +1,4 @@ +import asyncio import logging as log import json @@ -5,43 +6,34 @@ class SocialFeatures(object): def __init__(self, _bnet_client): self.bnet_client = _bnet_client - self._friends = None - self._friends_battle_tags = {} + self._friends = {} self._friends_presence = {} - def fetch_friends_list_callback(self, success, friends): + async def get_friends(self): + _friends_future = asyncio.get_running_loop().create_future() + await self.bnet_client.fetch_friends_list(_friends_future) + await _friends_future + self._friends = {} - if not success: - log.error("failed to fetch friend list") - return - # log.debug(f"fetched friend list: {friends}") - for friend in friends: - self._friends[str(friend.id.low)] = friend + for friend in _friends_future.result(): + _friend_battle_tag_future = asyncio.get_running_loop().create_future() + await self.bnet_client.fetch_friend_battle_tag(friend.id, _friend_battle_tag_future) + await _friend_battle_tag_future - def fetch_friend_battle_tag_callback(self, success, entity_id, presence): - self._friends_battle_tags[str(entity_id.low)] = presence["battle_tag"] + friend.battle_tag = _friend_battle_tag_future.result()["battle_tag"] + self._friends[str(friend.id.low)] = friend - def fetch_friend_presence_callback(self, success, entity_id, presence): - log.debug(f"fetched friend presence [id = {str(entity_id.low)}]: {json.dumps(presence, default=str)}") - self._friends_presence[str(entity_id.low)] = presence + log.debug(f"fetched {len(self._friends)} friends") - async def get_friends(self): - self._friends = None - self.bnet_client.fetch_friends_list(self.fetch_friends_list_callback) - while self._friends is None: - await self.bnet_client.receive_message() return self._friends - async def get_friend_battle_tag(self, user_id): - self._friends_battle_tags[user_id] = None - self.bnet_client.fetch_friend_battle_tag(self._friends[user_id].id, self.fetch_friend_battle_tag_callback) - while self._friends_battle_tags[user_id] is None: - await self.bnet_client.receive_message() - return self._friends_battle_tags[user_id] - async def get_friend_presence(self, user_id): - self._friends_presence[user_id] = None - self.bnet_client.fetch_friend_presence_account_details(self._friends[user_id].id, self.fetch_friend_presence_callback) - while self._friends_presence[user_id] is None: - await self.bnet_client.receive_message() + _friend_presence_future = asyncio.get_running_loop().create_future() + await self.bnet_client.fetch_friend_presence_account_details(self._friends[user_id].id, _friend_presence_future) + await _friend_presence_future + + self._friends_presence[user_id] = _friend_presence_future.result() + + log.debug(f"fetched friend presence [id = user_id]: {json.dumps(self._friends_presence[user_id], default=str)}") + return self._friends_presence[user_id] From 4f43411b4232272f32ef9e3d022f69a27ef55fa2 Mon Sep 17 00:00:00 2001 From: Alexander Wenzel Date: Sun, 12 Jul 2020 16:27:37 +0200 Subject: [PATCH 08/15] fix user_presence game_id after rebase --- README.md | 2 +- src/definitions.py | 4 ---- src/plugin.py | 5 +++-- 3 files changed, 4 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index efc75a9..4eb1573 100644 --- a/README.md +++ b/README.md @@ -77,7 +77,7 @@ Build package inv build [--output=] [--ziparchive=] ``` -#### Shortcuts: +### Shortcuts: Build to local plugins folder ```bash diff --git a/src/definitions.py b/src/definitions.py index 14ffdbf..e4b9036 100644 --- a/src/definitions.py +++ b/src/definitions.py @@ -116,10 +116,6 @@ def __getitem__(self, key: str) -> BlizzardGame: """ return self._games[key] - @property - def games(self): - return [game for game in self._GAMES] - def game_by_title_id(self, title_id: int, cn: bool) -> BlizzardGame: """ :param cn: flag if china game definitions should be search though diff --git a/src/plugin.py b/src/plugin.py index 6a357ef..0290b44 100644 --- a/src/plugin.py +++ b/src/plugin.py @@ -303,10 +303,11 @@ async def get_user_presence(self, user_id: str, context: Any) -> UserPresence: game_id = None game_title = None if "game_account_program" in friend_presence: - for game in Blizzard.games: + for game in Blizzard.BATTLENET_GAMES: if game.family == friend_presence["game_account_program"]: # can be a game family, e.g. "Pro" for Overwatch - game_id = game.id + game_id = game.uid game_title = game.name + break in_game_status = None # if "rich_presence" in friend_presence: From 09146eb5adeeca0cdfe16409c82f399923c50b9d Mon Sep 17 00:00:00 2001 From: Alexander Wenzel Date: Mon, 13 Jul 2020 19:55:35 +0200 Subject: [PATCH 09/15] correctly aggregate presence for multiple game_accounts of same user --- src/bnet_client.py | 75 ++++++++++++++++++++-------------------------- src/plugin.py | 35 ++++++++-------------- src/social.py | 18 ++++++++--- 3 files changed, 59 insertions(+), 69 deletions(-) diff --git a/src/bnet_client.py b/src/bnet_client.py index 1bccc86..68b5a67 100644 --- a/src/bnet_client.py +++ b/src/bnet_client.py @@ -132,35 +132,36 @@ async def _send_message(self, service_name, method_id, body, callback=None): await self.writer.drain() # @todo - async def _on_resource__content_handle(self, entity_id, account_info, future: asyncio.Future, header, body): + async def _on_resource__content_handle(self, future: asyncio.Future, header, body): response = content_handle_pb2.ContentHandle() response.ParseFromString(body) # log.debug(f"fetched content:content_handle token: {header.token} body: {response}") - future.set_result(account_info) + future.set_result({}) - async def _on_presence__query_game_account(self, entity_id, account_info, future: asyncio.Future, header, body): + async def _on_presence__query_game_account(self, future: asyncio.Future, header, body): if not body: log.warning("failed presence:query_response") - future.set_result(account_info) + future.set_result({}) return response = presence_service_pb2.QueryResponse() response.ParseFromString(body) # log.debug(f"fetched presence:query_response token: {header.token} body: {response}") + game_account_info = {} for f in response.field: if f.key.group != 2: continue if f.key.field == 1: - account_info["game_account_is_online"] = f.value.bool_value + game_account_info["is_online"] = f.value.bool_value elif f.key.field == 2: - account_info["game_account_is_busy"] = f.value.bool_value + game_account_info["is_busy"] = f.value.bool_value elif f.key.field == 3: - account_info["game_account_program"] = f.value.fourcc_value # e.g. "App", "BSAp" or "Pro" (for Overwatch) + game_account_info["program"] = f.value.fourcc_value # e.g. "App", "BSAp" or "Pro" (for Overwatch) elif f.key.field == 4: - account_info["game_account_last_online"] = datetime.fromtimestamp(f.value.int_value / 1000 / 1000) # e.g. 1584194739362351 (microseconds timestamp) + game_account_info["last_online"] = datetime.fromtimestamp(f.value.int_value / 1000 / 1000) # e.g. 1584194739362351 (microseconds timestamp) elif f.key.field == 5: continue elif f.key.field == 6: @@ -170,21 +171,17 @@ async def _on_presence__query_game_account(self, entity_id, account_info, future elif f.key.field == 8: rich_presence = presence_types_pb2.RichPresence() rich_presence.ParseFromString(f.value.message_value) # e.g. "\rorP\000\025aorp\030\025" - account_info["game_account_rich_presence"] = rich_presence + game_account_info["rich_presence"] = rich_presence elif f.key.field == 9: continue elif f.key.field == 10: - account_info["game_account_is_away"] = f.value.bool_value + game_account_info["is_away"] = f.value.bool_value elif f.key.field == 11: continue - if "game_account_rich_presence" not in account_info: - future.set_result(account_info) - return + future.set_result(game_account_info) - await self.fetch_friend_presence_game_presence_details(entity_id, account_info, future) - - async def _on_presence__query_account(self, entity_id, account_info, future: asyncio.Future, header, body): + async def _on_presence__query_account(self, future: asyncio.Future, header, body): if not body: log.error("failed presence:query_response") future.set_result({}) @@ -194,8 +191,7 @@ async def _on_presence__query_account(self, entity_id, account_info, future: asy response.ParseFromString(body) # log.debug(f"fetched presence:query_response token: {header.token} body: {response}") - num_game_accounts = 0 - + account_info = {} for f in response.field: if f.key.group != 1: continue @@ -203,10 +199,9 @@ async def _on_presence__query_account(self, entity_id, account_info, future: asy if f.key.field == 1: account_info["full_name"] = f.value.string_value.encode('utf-8') # e.g. "Firstname Lastname" elif f.key.field == 3: - num_game_accounts += 1 - if f"game_account_{num_game_accounts}" not in account_info: - account_info[f"game_account_{num_game_accounts}"] = {} - account_info[f"game_account_{num_game_accounts}"]["id"] = f.value.entityid_value # e.g. high: 144115197778542960 low: 131237370 + if "game_accounts" not in account_info: + account_info["game_accounts"] = [] + account_info["game_accounts"].append({"id": f.value.entityid_value}) # e.g. high: 144115197778542960 low: 131237370 elif f.key.field == 4: account_info["battle_tag"] = f.value.string_value # e.g. "Username#1234" elif f.key.field == 6: @@ -218,13 +213,7 @@ async def _on_presence__query_account(self, entity_id, account_info, future: asy elif f.key.field == 11: account_info["is_busy"] = f.value.bool_value - if num_game_accounts == 0: - future.set_result(account_info) - return - - for i in range(num_game_accounts): - game_account_id = account_info[f"game_account_{i + 1}"]["id"] - await self.fetch_friend_presence_game_account_details(entity_id, game_account_id, account_info, future) + future.set_result(account_info) async def _on_friends__subscribe_to_friends(self, future: asyncio.Future, header, body): if not body: @@ -382,12 +371,12 @@ async def fetch_friend_battle_tag(self, entity_id, future: asyncio.Future): key.group = 1 # account key.field = 4 # battle_tag - await self._send_message(self._PRESENCE_SERVICE, 4, request, functools.partial(self._on_presence__query_account, entity_id, {}, future)) + await self._send_message(self._PRESENCE_SERVICE, 4, request, functools.partial(self._on_presence__query_account, future)) - async def fetch_friend_presence_account_details(self, entity_id, future: asyncio.Future): + async def fetch_friend_presence_account_details(self, account_id, future: asyncio.Future): request = presence_service_pb2.QueryRequest() - request.entity_id.high = entity_id.high - request.entity_id.low = entity_id.low + request.entity_id.high = account_id.high + request.entity_id.low = account_id.low for i in [3, 4]: key = request.key.add() key.program = 0x424e @@ -404,9 +393,9 @@ async def fetch_friend_presence_account_details(self, entity_id, future: asyncio # key.field = 8 (away_time) return e.g. 1583607638026991 # key.field = 11 (is_busy) always returns false - await self._send_message(self._PRESENCE_SERVICE, 4, request, functools.partial(self._on_presence__query_account, entity_id, {}, future)) + await self._send_message(self._PRESENCE_SERVICE, 4, request, functools.partial(self._on_presence__query_account, future)) - async def fetch_friend_presence_game_account_details(self, entity_id, game_account_id, account_info, future: asyncio.Future): + async def fetch_friend_presence_game_account_details(self, game_account_id, future: asyncio.Future): request = presence_service_pb2.QueryRequest() request.entity_id.high = game_account_id.high request.entity_id.low = game_account_id.low @@ -416,7 +405,7 @@ async def fetch_friend_presence_game_account_details(self, entity_id, game_accou key.group = 2 # 2 game account key.field = i - # key.field = 1 (is online) works for all not-offline friends and always returns true + # key.field = 1 (is online) works for all not-offline friends and returns true # key.field = 2 (is_busy???) # key.field = 3 (program_id) works for all not-offline friends and returns e.g. "BSAp", "Pro" (for Overwatch) # key.field = 4 (last_online???) returns e.g. 1584194739362351 @@ -425,18 +414,18 @@ async def fetch_friend_presence_game_account_details(self, entity_id, game_accou # key.field = 7 (account_id???) returns e.g. high: 72057594037927936 low: 101974425 # key.field = 8 (rich_presence) only returns when user is in-game, e.g. "\rorP\000\025aorp\030\025" # key.field = 9 (???) returns e.g. 1584228809551117 - # key.field = 10 (is_away???) + # key.field = 10 (is_away) works for all not-offline friends and returns true/false # key.field = 11 (last_online???) - await self._send_message(self._PRESENCE_SERVICE, 4, request, functools.partial(self._on_presence__query_game_account, entity_id, account_info, future)) + await self._send_message(self._PRESENCE_SERVICE, 4, request, functools.partial(self._on_presence__query_game_account, future)) - async def fetch_friend_presence_game_presence_details(self, entity_id, account_info, future: asyncio.Future): + async def fetch_friend_presence_game_presence_details(self, rich_presence, future: asyncio.Future): request = resource_service_pb2.ContentHandleRequest() - request.program_id = account_info["game_account_rich_presence"].program_id - request.stream_id = account_info["game_account_rich_presence"].stream_id - # message_id = account_info["game_account_rich_presence"].index + request.program_id = rich_presence.program_id + request.stream_id = rich_presence.stream_id + # message_id = rich_presence.index - await self._send_message(self._RESOURCES_SERVICE, 1, request, functools.partial(self._on_resource__content_handle, entity_id, account_info, future)) + await self._send_message(self._RESOURCES_SERVICE, 1, request, functools.partial(self._on_resource__content_handle, future)) async def fetch_friends_list(self, future: asyncio.Future): request = friends_service_pb2.SubscribeToFriendsRequest() diff --git a/src/plugin.py b/src/plugin.py index 0290b44..d085b23 100644 --- a/src/plugin.py +++ b/src/plugin.py @@ -291,39 +291,30 @@ async def get_user_presence(self, user_id: str, context: Any) -> UserPresence: raise BackendError("not authenticated with battle.net") friend_presence = await self.social_features.get_friend_presence(user_id) - # user_info = context.get(user_id) - # if user_info is None: - # raise UnknownError( - # "User {} not in friend list (plugin only supports fetching presence for friends)".format(user_id) - # ) - if friend_presence is None or "game_account_is_online" not in friend_presence: + if friend_presence is None or "game_accounts" not in friend_presence: return UserPresence(presence_state=PresenceState.Offline) + # collect relevant info from all game_accounts (program, state) + _programs = [game_account.get('program') for game_account in friend_presence["game_accounts"]] + _away_states = [game_account.get('is_away', False) for game_account in friend_presence["game_accounts"]] + game_id = None game_title = None - if "game_account_program" in friend_presence: - for game in Blizzard.BATTLENET_GAMES: - if game.family == friend_presence["game_account_program"]: # can be a game family, e.g. "Pro" for Overwatch - game_id = game.uid - game_title = game.name - break - - in_game_status = None - # if "rich_presence" in friend_presence: - # in_game_status = None # friend_presence["rich_presence"] # .program_id .stream_id + for game in Blizzard.BATTLENET_GAMES: + if game.family in _programs: # program can be a game family, e.g. "Pro" for Overwatch + game_id = game.uid + game_title = game.name - state = PresenceState.Online - if "game_account_is_away" in friend_presence and friend_presence["game_account_is_away"]: - state = PresenceState.Away - if "game_account_is_busy" in friend_presence and friend_presence["game_account_is_busy"]: - state = PresenceState.Away + state = PresenceState.Away + if False in _away_states: # if one game_account says is_away = False, than the user is online. yeah. + state = PresenceState.Online return UserPresence( presence_state=state, game_id=game_id, # e.g. "5272175" for Overwatch game_title=game_title, - in_game_status=in_game_status, + in_game_status=None, full_status=None ) diff --git a/src/social.py b/src/social.py index 05d9c61..eca5c49 100644 --- a/src/social.py +++ b/src/social.py @@ -7,7 +7,6 @@ class SocialFeatures(object): def __init__(self, _bnet_client): self.bnet_client = _bnet_client self._friends = {} - self._friends_presence = {} async def get_friends(self): _friends_future = asyncio.get_running_loop().create_future() @@ -28,12 +27,23 @@ async def get_friends(self): return self._friends async def get_friend_presence(self, user_id): + if user_id not in self._friends: + return None + _friend_presence_future = asyncio.get_running_loop().create_future() await self.bnet_client.fetch_friend_presence_account_details(self._friends[user_id].id, _friend_presence_future) await _friend_presence_future - self._friends_presence[user_id] = _friend_presence_future.result() + account_info = _friend_presence_future.result() + + if "game_accounts" in account_info: + for game_account in account_info["game_accounts"]: + _game_account_future = asyncio.get_running_loop().create_future() + await self.bnet_client.fetch_friend_presence_game_account_details(game_account["id"], _game_account_future) + await _game_account_future + + game_account.update(_game_account_future.result()) - log.debug(f"fetched friend presence [id = user_id]: {json.dumps(self._friends_presence[user_id], default=str)}") + log.debug(f"fetched friend presence ({user_id}): {json.dumps(account_info, default=str)}") - return self._friends_presence[user_id] + return account_info From d6df4939bd3540789aab361d48965a7d9796f0d4 Mon Sep 17 00:00:00 2001 From: Alexander Wenzel Date: Tue, 14 Jul 2020 23:25:58 +0200 Subject: [PATCH 10/15] fix Readme merge error --- README.md | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/README.md b/README.md index 4eb1573..beee0a1 100644 --- a/README.md +++ b/README.md @@ -102,15 +102,3 @@ Proto source: https://github.com/HearthSim/hsproto/tree/proto2/proto/bnet ### Log files location - Windows: `%programdata%\GOG.com\Galaxy\logs\plugin-battlenet-*.log` - MacOS: `/Users/Shared/GOG.com/Galaxy/Logs/plugin-battlenet-*.log` - -## -If you have classic blizzard games which are not properly detected as installed or don't launch when clicking 'play' -please provide the name and values of the games key under - -```Computer\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\``` - -registry path. - -If on MAC please provide the games bundle_id which can be found by calling - -```/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -dump | grep {game_name}``` From dd1d917d3f97db813ec0813e645e8611bd22c25f Mon Sep 17 00:00:00 2001 From: Alexander Wenzel Date: Sat, 18 Jul 2020 13:47:39 +0200 Subject: [PATCH 11/15] code review: remove unused code, minor changes --- src/bnet_client.py | 20 ++------------------ src/plugin.py | 9 ++------- 2 files changed, 4 insertions(+), 25 deletions(-) diff --git a/src/bnet_client.py b/src/bnet_client.py index 68b5a67..2ba4571 100644 --- a/src/bnet_client.py +++ b/src/bnet_client.py @@ -9,8 +9,8 @@ from galaxy.api.errors import BackendError from bnet import ( - connection_service_pb2, rpc_pb2, friends_service_pb2, authentication_service_pb2, presence_service_pb2, - presence_types_pb2, resource_service_pb2, content_handle_pb2 + connection_service_pb2, rpc_pb2, friends_service_pb2, authentication_service_pb2, + presence_service_pb2, presence_types_pb2 ) @@ -131,14 +131,6 @@ async def _send_message(self, service_name, method_id, body, callback=None): self.writer.write(body.SerializeToString()) await self.writer.drain() - # @todo - async def _on_resource__content_handle(self, future: asyncio.Future, header, body): - response = content_handle_pb2.ContentHandle() - response.ParseFromString(body) - # log.debug(f"fetched content:content_handle token: {header.token} body: {response}") - - future.set_result({}) - async def _on_presence__query_game_account(self, future: asyncio.Future, header, body): if not body: log.warning("failed presence:query_response") @@ -419,14 +411,6 @@ async def fetch_friend_presence_game_account_details(self, game_account_id, futu await self._send_message(self._PRESENCE_SERVICE, 4, request, functools.partial(self._on_presence__query_game_account, future)) - async def fetch_friend_presence_game_presence_details(self, rich_presence, future: asyncio.Future): - request = resource_service_pb2.ContentHandleRequest() - request.program_id = rich_presence.program_id - request.stream_id = rich_presence.stream_id - # message_id = rich_presence.index - - await self._send_message(self._RESOURCES_SERVICE, 1, request, functools.partial(self._on_resource__content_handle, future)) - async def fetch_friends_list(self, future: asyncio.Future): request = friends_service_pb2.SubscribeToFriendsRequest() request.object_id = self._next_object() diff --git a/src/plugin.py b/src/plugin.py index d085b23..c3bdc88 100644 --- a/src/plugin.py +++ b/src/plugin.py @@ -99,11 +99,6 @@ def _update_statuses(self, refreshed_games, previous_games): state = LocalGameState.None_ self.update_local_game_status(LocalGame(blizz_id, state)) - def log_out(self): - asyncio.create_task(self.authentication_client.shutdown()) - asyncio.create_task(self.bnet_client.disconnect()) - self.authentication_client.user_details = None - async def open_battlenet_browser(self): url = self.authentication_client.blizzard_battlenet_download_url log.info(f'Opening battle.net website: {url}') @@ -281,7 +276,7 @@ async def get_friends(self): friends_list = await self.social_features.get_friends() - return [UserInfo(user_id=friend.id.low, user_name=friend.battle_tag, avatar_url='', profile_url='') for friend_id, friend in friends_list.items()] + return [UserInfo(user_id=friend.id.low, user_name=friend.battle_tag, avatar_url=None, profile_url=None) for friend_id, friend in friends_list.items()] # async def prepare_user_presence_context(self, user_ids: List[str]) -> Any: # return None @@ -312,7 +307,7 @@ async def get_user_presence(self, user_id: str, context: Any) -> UserPresence: return UserPresence( presence_state=state, - game_id=game_id, # e.g. "5272175" for Overwatch + game_id=game_id, # e.g. "prometheus" for Overwatch game_title=game_title, in_game_status=None, full_status=None From f9e86873806a2eff8fc0ba0b7e863f57f55a6f47 Mon Sep 17 00:00:00 2001 From: Alexander Wenzel Date: Sat, 18 Jul 2020 15:03:03 +0200 Subject: [PATCH 12/15] code review: adjust logging --- src/bnet_client.py | 36 +++++++++++++++++++++++++----------- 1 file changed, 25 insertions(+), 11 deletions(-) diff --git a/src/bnet_client.py b/src/bnet_client.py index 2ba4571..ead4165 100644 --- a/src/bnet_client.py +++ b/src/bnet_client.py @@ -1,18 +1,23 @@ import asyncio import struct import functools -import logging as log +import logging from fnvhash import fnv1a_32 from requests import utils from datetime import datetime from galaxy.api.errors import BackendError +from google.protobuf.message import Message +from google.protobuf.text_format import MessageToString from bnet import ( connection_service_pb2, rpc_pb2, friends_service_pb2, authentication_service_pb2, presence_service_pb2, presence_types_pb2 ) +log = logging.getLogger(__name__) +log.setLevel = logging.INFO + class BNetClient: def __init__(self, authentication_client): @@ -105,6 +110,9 @@ def _next_token(self): def _set_backend_server_host(self, region): self._BACKEND_SERVER_HOST = "{}.actual.battle.net".format(region) + def _log_received_message(self, name, header, message: Message): + log.debug(f"fetched {name} token: {header.token} body: {MessageToString(message, as_one_line=True)}") + async def _send_message(self, service_name, method_id, body, callback=None): if self.writer is None: raise BackendError("connection to battle.net is closed") @@ -139,7 +147,8 @@ async def _on_presence__query_game_account(self, future: asyncio.Future, header, response = presence_service_pb2.QueryResponse() response.ParseFromString(body) - # log.debug(f"fetched presence:query_response token: {header.token} body: {response}") + + self._log_received_message("presence:query_response", header, response) game_account_info = {} for f in response.field: @@ -181,7 +190,8 @@ async def _on_presence__query_account(self, future: asyncio.Future, header, body response = presence_service_pb2.QueryResponse() response.ParseFromString(body) - # log.debug(f"fetched presence:query_response token: {header.token} body: {response}") + + self._log_received_message("presence:query_response", header, response) account_info = {} for f in response.field: @@ -215,8 +225,8 @@ async def _on_friends__subscribe_to_friends(self, future: asyncio.Future, header response = friends_service_pb2.SubscribeToFriendsResponse() response.ParseFromString(body) - # log.debug(f"fetched friends:subscribe_to_friends_response token: {header.token} body: {response}") - # log.debug(f"fetched friends:subscribe_to_friends_response token: {header.token}") + + self._log_received_message("friends:subscribe_to_friends_response", header, response) future.set_result(response.friends) @@ -230,7 +240,8 @@ async def _on_authentication__logon(self, header, body): response = authentication_service_pb2.LogonResult() response.ParseFromString(body) - # log.debug(f"fetched authentication:logon_result token: {header.token} body: {response}") + + self._log_received_message("authentication:logon_result", header, response) self._account_id = response.account self._game_account_id = response.game_account[0] @@ -240,7 +251,8 @@ async def _on_authentication__logon(self, header, body): async def _on_connection__echo_request(self, header, body): request = connection_service_pb2.EchoRequest() request.ParseFromString(body) - log.debug(f"fetched connection:echo_request token: {header.token} body: {request}") + + self._log_received_message("connection:echo_request", header, request) response = connection_service_pb2.EchoResponse() response.time = request.time @@ -251,7 +263,8 @@ async def _on_connection__echo_request(self, header, body): async def _on_connection__disconnect_notification(self, header, body): response = connection_service_pb2.DisconnectNotification() response.ParseFromString(body) - log.debug(f"fetched connection:disconnect_notification token: {header.token} body: {response}") + + self._log_received_message("connection:disconnect_notification", header, response) # error_code: 3014 @@ -260,7 +273,8 @@ async def _on_connection__disconnect_notification(self, header, body): async def _on_connection__connect_response(self, header, body): response = connection_service_pb2.ConnectResponse() response.ParseFromString(body) - # log.debug(f"fetched connection:connect_response token: {header.token} body: {response}") + + self._log_received_message("connection:connect_response", header, response) self._imported_services_map.update(zip(self._imported_services, response.bind_response.imported_service_id)) @@ -307,14 +321,14 @@ async def _receive_message(self): await callback(header, body) del self._token_callbacks[header.token] else: - log.debug("unexpected response received", str(header)) + log.warning("unexpected response received", str(header)) # server requesting something from us try: callback = self._exported_services_map[header.service_id][header.method_id] await callback(header, body) except Exception as e: - log.debug("failed to run service for received header", str(header), e) + log.warning("failed to run service for received header", str(header), e) async def logon(self): request = authentication_service_pb2.LogonRequest() From 199197b0c3f70ea988bd4c4c53707e75c0f1876e Mon Sep 17 00:00:00 2001 From: Alexander Wenzel Date: Fri, 24 Jul 2020 21:56:17 +0200 Subject: [PATCH 13/15] code review: create classes for values returned in futures --- src/bnet_client.py | 208 +++++++++++++++++++++------------------------ src/definitions.py | 30 ++++++- src/plugin.py | 11 ++- src/social.py | 44 +++++----- 4 files changed, 156 insertions(+), 137 deletions(-) diff --git a/src/bnet_client.py b/src/bnet_client.py index ead4165..95cec86 100644 --- a/src/bnet_client.py +++ b/src/bnet_client.py @@ -1,18 +1,21 @@ import asyncio -import struct import functools import logging -from fnvhash import fnv1a_32 -from requests import utils -from datetime import datetime +import struct +from typing import List +from fnvhash import fnv1a_32 from galaxy.api.errors import BackendError from google.protobuf.message import Message from google.protobuf.text_format import MessageToString +from requests import utils from bnet import ( - connection_service_pb2, rpc_pb2, friends_service_pb2, authentication_service_pb2, - presence_service_pb2, presence_types_pb2 + authentication_service_pb2, + connection_service_pb2, + friends_service_pb2, friends_types_pb2, + presence_service_pb2, presence_types_pb2, + rpc_pb2, ) log = logging.getLogger(__name__) @@ -98,6 +101,67 @@ class ServiceWrapper: def __init__(self, callback): self.callback = callback + class AccountInfo: + def __init__(self, fields: List[presence_types_pb2.Field]): + self.battle_tag = None + self.full_name = None + self.game_account_ids = [] + + for f in fields: + if f.key.group != 1: + continue + + # LIST OF POSSIBLE KEYS / VALUES: + # key.field = 1 (full_name: value.string_value) only works for RealId friends, others will FAIL WITH ERROR, return e.g. "Firstname Lastname" + # key.field = 2 (???: value.string_value) only returns for some friends, returns "" + # key.field = 3 (game_account_id: value.entityid_value) only returns for online friends, returns e.g. high: 144115197778542960 low: 116591225 + # > can be returned multiple times for different apps/games, where user is logged in (e.g. PC, Mobile etc.) + # key.field = 4 (battle_tag: value.string_value) returns e.g. "Username#1234" + # key.field = 5 (???: value.int_value) only returns for some friends, returns e.g. 1591116989396775 (microseconds timestamp) + # key.field = 6 (???: value.int_value) returns e.g. 1592215097253865 (microseconds timestamp) + # key.field = 7 (???: value.bool_value) returns false + # key.field = 8 (???: value.int_value) return e.g. 1583607638026991 (microseconds timestamp) + # key.field = 9 FAILS WITH ERROR + # key.field = 10 FAILS WITH ERROR + # key.field = 11 (???: value.bool_value) returns false + + if f.key.field == 1: + self.full_name = f.value.string_value.encode('utf-8') # e.g. "Firstname Lastname" + if f.key.field == 3: + self.game_account_ids.append(f.value.entityid_value) # e.g. high: 144115197778542960 low: 131237370 + if f.key.field == 4: + self.battle_tag = f.value.string_value # e.g. "Username#1234" + + class GameAccountInfo: + def __init__(self, fields: List[presence_types_pb2.Field]): + self.program = None + self.rich_presence = None + self.is_away = None + + for f in fields: + if f.key.group != 2: + continue + + # LIST OF POSSIBLE KEYS / VALUES: + # key.field = 1 (is online: value.bool_value) returns true + # key.field = 2 (???: value.int_value) only returns for certain games (S2, ...), returns e.g. 0 + # key.field = 3 (program: value.fourcc_value) returns e.g. "BSAp", "Pro" (for Overwatch) + # key.field = 4 (???: value.int_value) returns e.g. 1584194739362351 (microseconds timestamp) + # key.field = 5 (battle_tag: value.string_value) returns e.g. "Username#1234" + # key.field = 6 FAILS WITH ERROR + # key.field = 7 (account_id: value.entityid_value) returns e.g. high: 72057594037927936 low: 101974425 + # key.field = 8 (rich_presence: value.message_value) only returns when user is in-game, returns e.g. "\rorP\000\025aorp\030\025" or ""\r2S\000\000\025SRPR\030\000"" + # key.field = 9 (???: value.int_value) returns e.g. 1584228809551117 (microseconds timestamp) + # key.field = 10 (is_away: value.bool_value) returns true/false + # key.field = 11 (???: value.int_value) returns e.g. 1595601904845128 (microseconds timestamp) + + if f.key.field == 3: + self.program = f.value.fourcc_value # e.g. "App", "BSAp" or "Pro" (for Overwatch) + if f.key.field == 8: + self.rich_presence = presence_types_pb2.RichPresence().ParseFromString(f.value.message_value) # e.g. "\rorP\000\025aorp\030\025" + if f.key.field == 10: + self.is_away = f.value.bool_value + def _next_object(self): self._object += 1 return self._object @@ -139,10 +203,10 @@ async def _send_message(self, service_name, method_id, body, callback=None): self.writer.write(body.SerializeToString()) await self.writer.drain() - async def _on_presence__query_game_account(self, future: asyncio.Future, header, body): + async def _on_presence__query_game_account(self, future: 'asyncio.Future[GameAccountInfo]', header, body): if not body: log.warning("failed presence:query_response") - future.set_result({}) + future.set_result(self.GameAccountInfo([])) return response = presence_service_pb2.QueryResponse() @@ -150,42 +214,12 @@ async def _on_presence__query_game_account(self, future: asyncio.Future, header, self._log_received_message("presence:query_response", header, response) - game_account_info = {} - for f in response.field: - if f.key.group != 2: - continue - - if f.key.field == 1: - game_account_info["is_online"] = f.value.bool_value - elif f.key.field == 2: - game_account_info["is_busy"] = f.value.bool_value - elif f.key.field == 3: - game_account_info["program"] = f.value.fourcc_value # e.g. "App", "BSAp" or "Pro" (for Overwatch) - elif f.key.field == 4: - game_account_info["last_online"] = datetime.fromtimestamp(f.value.int_value / 1000 / 1000) # e.g. 1584194739362351 (microseconds timestamp) - elif f.key.field == 5: - continue - elif f.key.field == 6: - continue - elif f.key.field == 7: - continue - elif f.key.field == 8: - rich_presence = presence_types_pb2.RichPresence() - rich_presence.ParseFromString(f.value.message_value) # e.g. "\rorP\000\025aorp\030\025" - game_account_info["rich_presence"] = rich_presence - elif f.key.field == 9: - continue - elif f.key.field == 10: - game_account_info["is_away"] = f.value.bool_value - elif f.key.field == 11: - continue - - future.set_result(game_account_info) - - async def _on_presence__query_account(self, future: asyncio.Future, header, body): + future.set_result(self.GameAccountInfo(response.field)) + + async def _on_presence__query_account(self, future: 'asyncio.Future[AccountInfo]', header, body): if not body: log.error("failed presence:query_response") - future.set_result({}) + future.set_result(self.AccountInfo([])) return response = presence_service_pb2.QueryResponse() @@ -193,31 +227,9 @@ async def _on_presence__query_account(self, future: asyncio.Future, header, body self._log_received_message("presence:query_response", header, response) - account_info = {} - for f in response.field: - if f.key.group != 1: - continue - - if f.key.field == 1: - account_info["full_name"] = f.value.string_value.encode('utf-8') # e.g. "Firstname Lastname" - elif f.key.field == 3: - if "game_accounts" not in account_info: - account_info["game_accounts"] = [] - account_info["game_accounts"].append({"id": f.value.entityid_value}) # e.g. high: 144115197778542960 low: 131237370 - elif f.key.field == 4: - account_info["battle_tag"] = f.value.string_value # e.g. "Username#1234" - elif f.key.field == 6: - account_info["last_online"] = datetime.fromtimestamp(f.value.int_value/1000/1000) # e.g. 1584194739362351 (microseconds timestamp) - elif f.key.field == 7: - account_info["is_away"] = f.value.bool_value - elif f.key.field == 8: - account_info["away_time"] = f.value.int_value # e.g. 1583607638026991 - elif f.key.field == 11: - account_info["is_busy"] = f.value.bool_value - - future.set_result(account_info) - - async def _on_friends__subscribe_to_friends(self, future: asyncio.Future, header, body): + future.set_result(self.AccountInfo(response.field)) + + async def _on_friends__subscribe_to_friends(self, future: 'asyncio.Future[List[friends_types_pb2.Friend]]', header, body): if not body: log.error("failed friends:subscribe_to_friends_response") future.set_result([]) @@ -332,8 +344,8 @@ async def _receive_message(self): async def logon(self): request = authentication_service_pb2.LogonRequest() - # request.program = "App" - request.program = "BSAp" # login in as mobile + # request.program = "App" # Battle.net Desktop App, using this would logout of running Battle.net App + request.program = "BSAp" # Battle.net Mobile App request.platform = "Win" request.locale = "enUS" request.version = "9166" @@ -367,65 +379,43 @@ async def disconnect(self): self.writer.close() self.authenticated = False - async def fetch_friend_battle_tag(self, entity_id, future: asyncio.Future): + async def fetch_friend_battle_tag(self, entity_id, future: 'asyncio.Future[AccountInfo]'): request = presence_service_pb2.QueryRequest() request.entity_id.high = entity_id.high request.entity_id.low = entity_id.low - - key = request.key.add() - key.program = 0x424e - key.group = 1 # account - key.field = 4 # battle_tag + for i in [4]: # for possible values see self.AccountInfo + key = request.key.add() + key.program = 0x424e # hex code for "BN" + key.group = 1 # account + key.field = i await self._send_message(self._PRESENCE_SERVICE, 4, request, functools.partial(self._on_presence__query_account, future)) - async def fetch_friend_presence_account_details(self, account_id, future: asyncio.Future): + async def fetch_friend_presence_account_details(self, entity_id, future: 'asyncio.Future[AccountInfo]'): request = presence_service_pb2.QueryRequest() - request.entity_id.high = account_id.high - request.entity_id.low = account_id.low - for i in [3, 4]: + request.entity_id.high = entity_id.high + request.entity_id.low = entity_id.low + for i in [3]: # for possible values see self.AccountInfo key = request.key.add() - key.program = 0x424e + key.program = 0x424e # hex code for "BN" key.group = 1 # account key.field = i - # key.field = 1 (full_name) only works for RealId friends, others will return with header.status = 3 and empty body - # key.field = 3 (game_account) works for all friends, but is only returned when friend is not offline! - # > can be returned multiple times! - # > seems to be for different programs/games, where user is logged in (e.g. PC, Mobile etc.) - # key.field = 4 (battle_tag) works for all friends, returns e.g. "Username#1234" - # key.field = 6 (last_online) works for all friends, returns e.g. 1592215097253865 - # key.field = 7 (is_away) always returns false - # key.field = 8 (away_time) return e.g. 1583607638026991 - # key.field = 11 (is_busy) always returns false - await self._send_message(self._PRESENCE_SERVICE, 4, request, functools.partial(self._on_presence__query_account, future)) - async def fetch_friend_presence_game_account_details(self, game_account_id, future: asyncio.Future): + async def fetch_friend_presence_game_account_details(self, entity_id, future: 'asyncio.Future[GameAccountInfo]'): request = presence_service_pb2.QueryRequest() - request.entity_id.high = game_account_id.high - request.entity_id.low = game_account_id.low - for i in [1, 2, 3, 10]: # for i in [1, 2, 3, 8, 10]: # with rich_presence + request.entity_id.high = entity_id.high + request.entity_id.low = entity_id.low + for i in [3, 10]: # for possible values see self.GameAccountInfo key = request.key.add() - key.program = 0x424e - key.group = 2 # 2 game account + key.program = 0x424e # hex code for "BN" + key.group = 2 # game account key.field = i - # key.field = 1 (is online) works for all not-offline friends and returns true - # key.field = 2 (is_busy???) - # key.field = 3 (program_id) works for all not-offline friends and returns e.g. "BSAp", "Pro" (for Overwatch) - # key.field = 4 (last_online???) returns e.g. 1584194739362351 - # key.field = 5 (battle_tag???) - # key.field = 6 (account_name???) - # key.field = 7 (account_id???) returns e.g. high: 72057594037927936 low: 101974425 - # key.field = 8 (rich_presence) only returns when user is in-game, e.g. "\rorP\000\025aorp\030\025" - # key.field = 9 (???) returns e.g. 1584228809551117 - # key.field = 10 (is_away) works for all not-offline friends and returns true/false - # key.field = 11 (last_online???) - await self._send_message(self._PRESENCE_SERVICE, 4, request, functools.partial(self._on_presence__query_game_account, future)) - async def fetch_friends_list(self, future: asyncio.Future): + async def fetch_friends_list(self, future: 'asyncio.Future[List[friends_types_pb2.Friend]]'): request = friends_service_pb2.SubscribeToFriendsRequest() request.object_id = self._next_object() diff --git a/src/definitions.py b/src/definitions.py index e4b9036..627e21f 100644 --- a/src/definitions.py +++ b/src/definitions.py @@ -1,7 +1,8 @@ import dataclasses as dc import json +from typing import Optional, List + import requests -from typing import Optional, Dict, List class DataclassJSONEncoder(json.JSONEncoder): @@ -55,6 +56,33 @@ class ProductDbInfo(object): playable: bool = False +@dc.dataclass(frozen=True) +class EntityId(object): + high: int + low: int + + +@dc.dataclass +class Friend(object): + uid: str = dc.field(init=False) + entity_id: EntityId + battle_tag: str + + def __post_init__(self): + self.uid = str(self.entity_id.low) + + +@dc.dataclass +class FriendPresence(object): + uid: str = dc.field(init=False) + entity_id: EntityId + is_away: bool + program: str + + def __post_init__(self): + self.uid = str(self.entity_id.low) + + class Singleton(type): _instances = {} # type: ignore diff --git a/src/plugin.py b/src/plugin.py index c3bdc88..f990856 100644 --- a/src/plugin.py +++ b/src/plugin.py @@ -276,7 +276,7 @@ async def get_friends(self): friends_list = await self.social_features.get_friends() - return [UserInfo(user_id=friend.id.low, user_name=friend.battle_tag, avatar_url=None, profile_url=None) for friend_id, friend in friends_list.items()] + return [UserInfo(user_id=friend.uid, user_name=friend.battle_tag, avatar_url=None, profile_url=None) for friend_id, friend in friends_list.items()] # async def prepare_user_presence_context(self, user_ids: List[str]) -> Any: # return None @@ -285,14 +285,13 @@ async def get_user_presence(self, user_id: str, context: Any) -> UserPresence: if not self.bnet_client.authenticated: raise BackendError("not authenticated with battle.net") - friend_presence = await self.social_features.get_friend_presence(user_id) + friend_presences = await self.social_features.get_friend_presences(user_id) - if friend_presence is None or "game_accounts" not in friend_presence: + if not friend_presences: return UserPresence(presence_state=PresenceState.Offline) - # collect relevant info from all game_accounts (program, state) - _programs = [game_account.get('program') for game_account in friend_presence["game_accounts"]] - _away_states = [game_account.get('is_away', False) for game_account in friend_presence["game_accounts"]] + _programs = [presence.program for presence in friend_presences] + _away_states = [presence.is_away for presence in friend_presences] game_id = None game_title = None diff --git a/src/social.py b/src/social.py index eca5c49..11e08c2 100644 --- a/src/social.py +++ b/src/social.py @@ -1,14 +1,17 @@ import asyncio -import logging as log import json +import logging as log +from typing import Dict, List + +from definitions import EntityId, Friend, FriendPresence class SocialFeatures(object): def __init__(self, _bnet_client): self.bnet_client = _bnet_client - self._friends = {} + self._friends: Dict[str, Friend] = {} - async def get_friends(self): + async def get_friends(self) -> Dict[str, Friend]: _friends_future = asyncio.get_running_loop().create_future() await self.bnet_client.fetch_friends_list(_friends_future) await _friends_future @@ -19,31 +22,30 @@ async def get_friends(self): await self.bnet_client.fetch_friend_battle_tag(friend.id, _friend_battle_tag_future) await _friend_battle_tag_future - friend.battle_tag = _friend_battle_tag_future.result()["battle_tag"] - self._friends[str(friend.id.low)] = friend + _friend = Friend(EntityId(friend.id.high, friend.id.low), _friend_battle_tag_future.result().battle_tag) + self._friends[_friend.uid] = _friend - log.debug(f"fetched {len(self._friends)} friends") + log.debug(f"fetched {len(self._friends)} friends: {json.dumps(self._friends, default=str)}") return self._friends - async def get_friend_presence(self, user_id): + async def get_friend_presences(self, user_id) -> List[FriendPresence]: if user_id not in self._friends: - return None - - _friend_presence_future = asyncio.get_running_loop().create_future() - await self.bnet_client.fetch_friend_presence_account_details(self._friends[user_id].id, _friend_presence_future) - await _friend_presence_future + return [] - account_info = _friend_presence_future.result() + _account_future = asyncio.get_running_loop().create_future() + await self.bnet_client.fetch_friend_presence_account_details(self._friends[user_id].entity_id, _account_future) + await _account_future - if "game_accounts" in account_info: - for game_account in account_info["game_accounts"]: - _game_account_future = asyncio.get_running_loop().create_future() - await self.bnet_client.fetch_friend_presence_game_account_details(game_account["id"], _game_account_future) - await _game_account_future + _friend_presences = [] + for game_account_id in _account_future.result().game_account_ids: + _game_account_future = asyncio.get_running_loop().create_future() + await self.bnet_client.fetch_friend_presence_game_account_details(game_account_id, _game_account_future) + await _game_account_future - game_account.update(_game_account_future.result()) + _friend_presence = FriendPresence(EntityId(game_account_id.high, game_account_id.low), _game_account_future.result().is_away, _game_account_future.result().program) + _friend_presences.append(_friend_presence) - log.debug(f"fetched friend presence ({user_id}): {json.dumps(account_info, default=str)}") + log.debug(f"fetched friend presence ({user_id}): {json.dumps(_friend_presences, default=str)}") - return account_info + return _friend_presences From 660f009fdc5090751510451cdb64667c6681f72f Mon Sep 17 00:00:00 2001 From: Alexander Wenzel Date: Fri, 24 Jul 2020 21:58:48 +0200 Subject: [PATCH 14/15] add timeouts for futures, fix endless loop after disconnect --- src/bnet_client.py | 7 +++---- src/social.py | 8 ++++---- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/src/bnet_client.py b/src/bnet_client.py index 95cec86..078a69a 100644 --- a/src/bnet_client.py +++ b/src/bnet_client.py @@ -294,10 +294,7 @@ async def _on_connection__connect_response(self, header, body): async def _watch_receive_message(self): while True: - try: - await self._receive_message() - except Exception as e: - log.error(f'battle.net socket error: {repr(e)}') + await self._receive_message() async def _receive_message(self): if self.reader is None: @@ -377,6 +374,8 @@ async def disconnect(self): log.info("disconnected from battle.net") if self.writer: self.writer.close() + self.writer = None + self.reader = None self.authenticated = False async def fetch_friend_battle_tag(self, entity_id, future: 'asyncio.Future[AccountInfo]'): diff --git a/src/social.py b/src/social.py index 11e08c2..9816f04 100644 --- a/src/social.py +++ b/src/social.py @@ -14,13 +14,13 @@ def __init__(self, _bnet_client): async def get_friends(self) -> Dict[str, Friend]: _friends_future = asyncio.get_running_loop().create_future() await self.bnet_client.fetch_friends_list(_friends_future) - await _friends_future + await asyncio.wait_for(_friends_future, timeout=2) self._friends = {} for friend in _friends_future.result(): _friend_battle_tag_future = asyncio.get_running_loop().create_future() await self.bnet_client.fetch_friend_battle_tag(friend.id, _friend_battle_tag_future) - await _friend_battle_tag_future + await asyncio.wait_for(_friend_battle_tag_future, timeout=2) _friend = Friend(EntityId(friend.id.high, friend.id.low), _friend_battle_tag_future.result().battle_tag) self._friends[_friend.uid] = _friend @@ -35,13 +35,13 @@ async def get_friend_presences(self, user_id) -> List[FriendPresence]: _account_future = asyncio.get_running_loop().create_future() await self.bnet_client.fetch_friend_presence_account_details(self._friends[user_id].entity_id, _account_future) - await _account_future + await asyncio.wait_for(_account_future, timeout=2) _friend_presences = [] for game_account_id in _account_future.result().game_account_ids: _game_account_future = asyncio.get_running_loop().create_future() await self.bnet_client.fetch_friend_presence_game_account_details(game_account_id, _game_account_future) - await _game_account_future + await asyncio.wait_for(_game_account_future, timeout=2) _friend_presence = FriendPresence(EntityId(game_account_id.high, game_account_id.low), _game_account_future.result().is_away, _game_account_future.result().program) _friend_presences.append(_friend_presence) From ccdfa18501e57c3333a13bf062a4b64b37d2364a Mon Sep 17 00:00:00 2001 From: Alexander Wenzel Date: Mon, 27 Jul 2020 08:59:20 +0200 Subject: [PATCH 15/15] code review: constants, types --- src/bnet_client.py | 91 ++++++++++++++++++++++++++-------------------- 1 file changed, 51 insertions(+), 40 deletions(-) diff --git a/src/bnet_client.py b/src/bnet_client.py index 078a69a..e898fa8 100644 --- a/src/bnet_client.py +++ b/src/bnet_client.py @@ -13,6 +13,7 @@ from bnet import ( authentication_service_pb2, connection_service_pb2, + entity_pb2, friends_service_pb2, friends_types_pb2, presence_service_pb2, presence_types_pb2, rpc_pb2, @@ -102,64 +103,74 @@ def __init__(self, callback): self.callback = callback class AccountInfo: + GROUP = 1 + FIELD_FULL_NAME = 1 + FIELD_GAME_ACCOUNT_ID = 3 + FIELD_BATTLE_TAG = 4 + def __init__(self, fields: List[presence_types_pb2.Field]): self.battle_tag = None self.full_name = None - self.game_account_ids = [] + self.game_account_ids: List[entity_pb2.EntityId] = [] for f in fields: - if f.key.group != 1: + if f.key.group != self.GROUP: continue # LIST OF POSSIBLE KEYS / VALUES: - # key.field = 1 (full_name: value.string_value) only works for RealId friends, others will FAIL WITH ERROR, return e.g. "Firstname Lastname" - # key.field = 2 (???: value.string_value) only returns for some friends, returns "" - # key.field = 3 (game_account_id: value.entityid_value) only returns for online friends, returns e.g. high: 144115197778542960 low: 116591225 - # > can be returned multiple times for different apps/games, where user is logged in (e.g. PC, Mobile etc.) - # key.field = 4 (battle_tag: value.string_value) returns e.g. "Username#1234" - # key.field = 5 (???: value.int_value) only returns for some friends, returns e.g. 1591116989396775 (microseconds timestamp) - # key.field = 6 (???: value.int_value) returns e.g. 1592215097253865 (microseconds timestamp) - # key.field = 7 (???: value.bool_value) returns false - # key.field = 8 (???: value.int_value) return e.g. 1583607638026991 (microseconds timestamp) - # key.field = 9 FAILS WITH ERROR - # key.field = 10 FAILS WITH ERROR - # key.field = 11 (???: value.bool_value) returns false - - if f.key.field == 1: + # 1: full_name (string_value) only works for RealId friends, others will FAIL WITH ERROR, return e.g. "Firstname Lastname" + # 2: ??? (string_value) only returns for some friends, returns "" + # 3: game_account_id (entityid_value) only returns for online friends, returns e.g. high: 144115197778542960 low: 116591225 + # > can be returned multiple times for different apps/games, where user is logged in (e.g. PC, Mobile etc.) + # 4: battle_tag (string_value) returns e.g. "Username#1234" + # 5: ??? (int_value) only returns for some friends, returns e.g. 1591116989396775 (microseconds timestamp) + # 6: ??? (int_value) returns e.g. 1592215097253865 (microseconds timestamp) + # 7: ??? (bool_value) returns false + # 8: ??? (int_value) return e.g. 1583607638026991 (microseconds timestamp) + # 9: FAILS WITH ERROR + # 10: FAILS WITH ERROR + # 11: ??? (bool_value) returns false + + if f.key.field == self.FIELD_FULL_NAME: self.full_name = f.value.string_value.encode('utf-8') # e.g. "Firstname Lastname" - if f.key.field == 3: + if f.key.field == self.FIELD_GAME_ACCOUNT_ID: self.game_account_ids.append(f.value.entityid_value) # e.g. high: 144115197778542960 low: 131237370 - if f.key.field == 4: + if f.key.field == self.FIELD_BATTLE_TAG: self.battle_tag = f.value.string_value # e.g. "Username#1234" class GameAccountInfo: + GROUP = 2 + FIELD_PROGRAM = 3 + FIELD_RICH_PRESENCE = 8 + FIELD_IS_AWAY = 10 + def __init__(self, fields: List[presence_types_pb2.Field]): self.program = None self.rich_presence = None self.is_away = None for f in fields: - if f.key.group != 2: + if f.key.group != self.GROUP: continue # LIST OF POSSIBLE KEYS / VALUES: - # key.field = 1 (is online: value.bool_value) returns true - # key.field = 2 (???: value.int_value) only returns for certain games (S2, ...), returns e.g. 0 - # key.field = 3 (program: value.fourcc_value) returns e.g. "BSAp", "Pro" (for Overwatch) - # key.field = 4 (???: value.int_value) returns e.g. 1584194739362351 (microseconds timestamp) - # key.field = 5 (battle_tag: value.string_value) returns e.g. "Username#1234" - # key.field = 6 FAILS WITH ERROR - # key.field = 7 (account_id: value.entityid_value) returns e.g. high: 72057594037927936 low: 101974425 - # key.field = 8 (rich_presence: value.message_value) only returns when user is in-game, returns e.g. "\rorP\000\025aorp\030\025" or ""\r2S\000\000\025SRPR\030\000"" - # key.field = 9 (???: value.int_value) returns e.g. 1584228809551117 (microseconds timestamp) - # key.field = 10 (is_away: value.bool_value) returns true/false - # key.field = 11 (???: value.int_value) returns e.g. 1595601904845128 (microseconds timestamp) - - if f.key.field == 3: + # 1: is online (bool_value) returns true + # 2: ??? (int_value) only returns for certain games (S2, ...), returns e.g. 0 + # 3: program (fourcc_value) returns e.g. "BSAp", "Pro" (for Overwatch) + # 4: ??? (int_value) returns e.g. 1584194739362351 (microseconds timestamp) + # 5: battle_tag (string_value) returns e.g. "Username#1234" + # 6: AILS WITH ERROR + # 7: account_id (entityid_value) returns e.g. high: 72057594037927936 low: 101974425 + # 8: rich_presence (message_value) only returns when user is in-game, returns e.g. "\rorP\000\025aorp\030\025" or ""\r2S\000\000\025SRPR\030\000"" + # 9: ??? (int_value) returns e.g. 1584228809551117 (microseconds timestamp) + # 10: is_away (bool_value) returns true/false + # 11: ??? (int_value) returns e.g. 1595601904845128 (microseconds timestamp) + + if f.key.field == self.FIELD_PROGRAM: self.program = f.value.fourcc_value # e.g. "App", "BSAp" or "Pro" (for Overwatch) - if f.key.field == 8: + if f.key.field == self.FIELD_RICH_PRESENCE: self.rich_presence = presence_types_pb2.RichPresence().ParseFromString(f.value.message_value) # e.g. "\rorP\000\025aorp\030\025" - if f.key.field == 10: + if f.key.field == self.FIELD_RICH_PRESENCE: self.is_away = f.value.bool_value def _next_object(self): @@ -382,10 +393,10 @@ async def fetch_friend_battle_tag(self, entity_id, future: 'asyncio.Future[Accou request = presence_service_pb2.QueryRequest() request.entity_id.high = entity_id.high request.entity_id.low = entity_id.low - for i in [4]: # for possible values see self.AccountInfo + for i in [self.AccountInfo.FIELD_BATTLE_TAG]: # for possible values see self.AccountInfo key = request.key.add() key.program = 0x424e # hex code for "BN" - key.group = 1 # account + key.group = self.AccountInfo.GROUP key.field = i await self._send_message(self._PRESENCE_SERVICE, 4, request, functools.partial(self._on_presence__query_account, future)) @@ -394,10 +405,10 @@ async def fetch_friend_presence_account_details(self, entity_id, future: 'asynci request = presence_service_pb2.QueryRequest() request.entity_id.high = entity_id.high request.entity_id.low = entity_id.low - for i in [3]: # for possible values see self.AccountInfo + for i in [self.AccountInfo.FIELD_GAME_ACCOUNT_ID]: # for possible values see self.AccountInfo key = request.key.add() key.program = 0x424e # hex code for "BN" - key.group = 1 # account + key.group = self.AccountInfo.GROUP key.field = i await self._send_message(self._PRESENCE_SERVICE, 4, request, functools.partial(self._on_presence__query_account, future)) @@ -406,10 +417,10 @@ async def fetch_friend_presence_game_account_details(self, entity_id, future: 'a request = presence_service_pb2.QueryRequest() request.entity_id.high = entity_id.high request.entity_id.low = entity_id.low - for i in [3, 10]: # for possible values see self.GameAccountInfo + for i in [self.GameAccountInfo.FIELD_PROGRAM, self.GameAccountInfo.FIELD_IS_AWAY]: # for possible values see self.GameAccountInfo key = request.key.add() key.program = 0x424e # hex code for "BN" - key.group = 2 # game account + key.group = self.GameAccountInfo.GROUP key.field = i await self._send_message(self._PRESENCE_SERVICE, 4, request, functools.partial(self._on_presence__query_game_account, future))