private void GetAccountStateCallback(RPCContext context)
 {
     if ((context == null) || (context.Payload == null))
     {
         base.ApiLog.LogWarning("GetAccountLevelInfo invalid context!");
     }
     else
     {
         BattleNetErrors status = (BattleNetErrors)context.Header.Status;
         if (status != BattleNetErrors.ERROR_OK)
         {
             object[] args = new object[] { status.ToString() };
             base.ApiLog.LogError("GetAccountLevelInfo failed with error={0}", args);
         }
         else
         {
             GetAccountStateResponse response = GetAccountStateResponse.ParseFrom(context.Payload);
             if ((response == null) || !response.IsInitialized)
             {
                 base.ApiLog.LogWarning("GetAccountStateCallback unable to parse response!");
             }
             else if (!response.HasState || !response.State.HasAccountLevelInfo)
             {
                 base.ApiLog.LogWarning("GetAccountStateCallback response has no data!");
             }
             else
             {
                 GetAccountStateRequest request = (GetAccountStateRequest)context.Request;
                 if ((request != null) && (request.EntityId == base.m_battleNet.AccountId))
                 {
                     AccountLevelInfo accountLevelInfo = response.State.AccountLevelInfo;
                     this.m_preferredRegion = accountLevelInfo.PreferredRegion;
                     this.m_accountCountry  = accountLevelInfo.Country;
                     object[] objArray2 = new object[] { this.m_preferredRegion };
                     base.ApiLog.LogDebug("Region (preferred): {0}", objArray2);
                     object[] objArray3 = new object[] { this.m_accountCountry };
                     base.ApiLog.LogDebug("Country (account): {0}", objArray3);
                     if (accountLevelInfo.LicensesList.Count > 0)
                     {
                         this.m_licenses.Clear();
                         object[] objArray4 = new object[] { accountLevelInfo.LicensesList.Count };
                         base.ApiLog.LogDebug("Found {0} licenses.", objArray4);
                         for (int i = 0; i < accountLevelInfo.LicensesList.Count; i++)
                         {
                             AccountLicense item = accountLevelInfo.LicensesList[i];
                             this.m_licenses.Add(item);
                             object[] objArray5 = new object[] { item.Id };
                             base.ApiLog.LogDebug("Adding license id={0}", objArray5);
                         }
                     }
                     else
                     {
                         base.ApiLog.LogWarning("No licenses found!");
                     }
                 }
                 base.ApiLog.LogDebug("GetAccountLevelInfo, status=" + status.ToString());
             }
         }
     }
 }
        private void GetAccountStateCallback(RPCContext context)
        {
            if (context == null || context.Payload == null)
            {
                base.ApiLog.LogWarning("GetAccountLevelInfo invalid context!");
                return;
            }
            BattleNetErrors status = (BattleNetErrors)context.Header.Status;

            if (status != BattleNetErrors.ERROR_OK)
            {
                base.ApiLog.LogError("GetAccountLevelInfo failed with error={0}", new object[] { status.ToString() });
                return;
            }
            GetAccountStateResponse getAccountStateResponse = GetAccountStateResponse.ParseFrom(context.Payload);

            if (getAccountStateResponse == null || !getAccountStateResponse.IsInitialized)
            {
                base.ApiLog.LogWarning("GetAccountStateCallback unable to parse response!");
                return;
            }
            if (!getAccountStateResponse.HasState || !getAccountStateResponse.State.HasAccountLevelInfo)
            {
                base.ApiLog.LogWarning("GetAccountStateCallback response has no data!");
                return;
            }
            GetAccountStateRequest request = (GetAccountStateRequest)context.Request;

            if (request != null && request.EntityId == this.m_battleNet.AccountId)
            {
                AccountLevelInfo accountLevelInfo = getAccountStateResponse.State.AccountLevelInfo;
                this.m_preferredRegion = accountLevelInfo.PreferredRegion;
                this.m_accountCountry  = accountLevelInfo.Country;
                base.ApiLog.LogDebug("Region (preferred): {0}", new object[] { this.m_preferredRegion });
                base.ApiLog.LogDebug("Country (account): {0}", new object[] { this.m_accountCountry });
                if (accountLevelInfo.LicensesList.Count <= 0)
                {
                    base.ApiLog.LogWarning("No licenses found!");
                }
                else
                {
                    this.m_licenses.Clear();
                    base.ApiLog.LogDebug("Found {0} licenses.", new object[] { accountLevelInfo.LicensesList.Count });
                    for (int i = 0; i < accountLevelInfo.LicensesList.Count; i++)
                    {
                        AccountLicense item = accountLevelInfo.LicensesList[i];
                        this.m_licenses.Add(item);
                        base.ApiLog.LogDebug("Adding license id={0}", new object[] { item.Id });
                    }
                }
            }
            base.ApiLog.LogDebug(string.Concat("GetAccountLevelInfo, status=", status.ToString()));
        }
Example #3
0
        BattlenetRpcErrorCode HandleGetAccountState(GetAccountStateRequest request, GetAccountStateResponse response)
        {
            if (!authed)
            {
                return(BattlenetRpcErrorCode.Denied);
            }

            if (request.Options.FieldPrivacyInfo)
            {
                response.State                        = new AccountState();
                response.State.PrivacyInfo            = new PrivacyInfo();
                response.State.PrivacyInfo.IsUsingRid = false;
                response.State.PrivacyInfo.IsVisibleForViewFriends  = false;
                response.State.PrivacyInfo.IsHiddenFromFriendFinder = true;

                response.Tags = new AccountFieldTags();
                response.Tags.PrivacyInfoTag = 0xD7CA834D;
            }

            return(BattlenetRpcErrorCode.Ok);
        }
Example #4
0
        public static void HandleGetAccountStateRequest(AuthSession session, GetAccountStateRequest getAccountStateRequest)
        {
            GetAccountStateResponse getAccountStateResponse = new GetAccountStateResponse();

            while (true)
            {
IL_6C:
                uint arg_54_0 = 2075659893u;
                while (true)
                {
                    uint num;
                    switch ((num = (arg_54_0 ^ 1809695806u)) % 3u)
                    {
                    case 0u:
                        goto IL_6C;

                    case 1u:
                        getAccountStateResponse.State = new AccountState
                        {
                            PrivacyInfo = new PrivacyInfo
                            {
                                IsHiddenFromFriendFinder = true,
                                IsUsingRid = true
                            }
                        };
                        getAccountStateResponse.Tags = new AccountFieldTags
                        {
                            PrivacyInfoTag = 3620373325u
                        };
                        arg_54_0 = (num * 1819771145u ^ 3782781945u);
                        continue;
                    }
                    goto Block_1;
                }
            }
Block_1:
            session.Send(getAccountStateResponse);
        }
Example #5
0
 BattlenetRpcErrorCode HandleGetAccountState(GetAccountStateRequest request, GetAccountStateResponse response)
 {
     return(_session.HandleGetAccountState(request, response));
 }
Example #6
0
        public override void CallServerMethod(uint token, uint methodId, CodedInputStream stream)
        {
            switch (methodId)
            {
            case 12:
            {
                GameAccountHandle request = new GameAccountHandle();
                request.MergeFrom(stream);

                GameAccountBlob       response = new GameAccountBlob();
                BattlenetRpcErrorCode status   = HandleGetGameAccountBlob(request, response);
                Log.outDebug(LogFilter.ServiceProtobuf, "{0} Client called server method AccountService.GetGameAccountBlob(GameAccountHandle: {1}) returned GameAccountBlob: {2} status: {3}.",
                             GetCallerInfo(), request.ToString(), response.ToString(), status);
                if (status == 0)
                {
                    SendResponse(token, response);
                }
                else
                {
                    SendResponse(token, status);
                }
                break;
            }

            case 13:
            {
                GetAccountRequest request = new GetAccountRequest();
                request.MergeFrom(stream);

                GetAccountResponse    response = new GetAccountResponse();
                BattlenetRpcErrorCode status   = HandleGetAccount(request, response);
                Log.outDebug(LogFilter.ServiceProtobuf, "{0} Client called server method AccountService.GetAccount(GetAccountRequest: {1}) returned GetAccountResponse: {2} status: {3}.",
                             GetCallerInfo(), request.ToString(), response.ToString(), status);
                if (status == 0)
                {
                    SendResponse(token, response);
                }
                else
                {
                    SendResponse(token, status);
                }
                break;
            }

            case 14:
            {
                CreateGameAccountRequest request = new CreateGameAccountRequest();
                request.MergeFrom(stream);

                GameAccountHandle     response = new GameAccountHandle();
                BattlenetRpcErrorCode status   = HandleCreateGameAccount(request, response);
                Log.outDebug(LogFilter.ServiceProtobuf, "{0} Client called server method AccountService.CreateGameAccount(CreateGameAccountRequest: {1}) returned GameAccountHandle: {2} status: {3}.",
                             GetCallerInfo(), request.ToString(), response.ToString(), status);
                if (status == 0)
                {
                    SendResponse(token, response);
                }
                else
                {
                    SendResponse(token, status);
                }
                break;
            }

            case 15:
            {
                IsIgrAddressRequest request = new IsIgrAddressRequest();
                request.MergeFrom(stream);

                NoData response = new NoData();
                BattlenetRpcErrorCode status = HandleIsIgrAddress(request, response);
                Log.outDebug(LogFilter.ServiceProtobuf, "{0} Client called server method AccountService.IsIgrAddress(IsIgrAddressRequest: {1}) returned bgs.protocol.NoData: {2} status: {3}.",
                             GetCallerInfo(), request.ToString(), response.ToString(), status);
                if (status == 0)
                {
                    SendResponse(token, response);
                }
                else
                {
                    SendResponse(token, status);
                }
                break;
            }

            case 20:
            {
                CacheExpireRequest request = new CacheExpireRequest();
                request.MergeFrom(stream);

                BattlenetRpcErrorCode status = HandleCacheExpire(request);
                Log.outDebug(LogFilter.ServiceProtobuf, "{0} Client called server method AccountService.CacheExpire(CacheExpireRequest: {1}) status: {2}.",
                             GetCallerInfo(), request.ToString(), status);
                if (status != 0)
                {
                    SendResponse(token, status);
                }
                break;
            }

            case 21:
            {
                CredentialUpdateRequest request = new CredentialUpdateRequest();
                request.MergeFrom(stream);

                CredentialUpdateResponse response = new CredentialUpdateResponse();
                BattlenetRpcErrorCode    status   = HandleCredentialUpdate(request, response);
                Log.outDebug(LogFilter.ServiceProtobuf, "{0} Client called server method AccountService.CredentialUpdate(CredentialUpdateRequest: {1}) returned CredentialUpdateResponse: {2} status: {3}.",
                             GetCallerInfo(), request.ToString(), response.ToString(), status);
                if (status == 0)
                {
                    SendResponse(token, response);
                }
                else
                {
                    SendResponse(token, status);
                }
                break;
            }

            case 25:
            {
                SubscriptionUpdateRequest request = new SubscriptionUpdateRequest();
                request.MergeFrom(stream);


                SubscriptionUpdateResponse response = new SubscriptionUpdateResponse();
                BattlenetRpcErrorCode      status   = HandleSubscribe(request, response);
                Log.outDebug(LogFilter.ServiceProtobuf, "{0} Client called server method AccountService.Subscribe(SubscriptionUpdateRequest: {1}) returned SubscriptionUpdateResponse: {2} status: {3}.",
                             GetCallerInfo(), request.ToString(), response.ToString(), status);
                if (status == 0)
                {
                    SendResponse(token, response);
                }
                else
                {
                    SendResponse(token, status);
                }
                break;
            }

            case 26:
            {
                SubscriptionUpdateRequest request = new SubscriptionUpdateRequest();
                request.MergeFrom(stream);

                NoData response = new NoData();
                BattlenetRpcErrorCode status = HandleUnsubscribe(request, response);
                Log.outDebug(LogFilter.ServiceProtobuf, "{0} Client called server method AccountService.Unsubscribe(SubscriptionUpdateRequest: {1}) returned bgs.protocol.NoData: {2} status: {3}.",
                             GetCallerInfo(), request.ToString(), response.ToString(), status);
                if (status == 0)
                {
                    SendResponse(token, response);
                }
                else
                {
                    SendResponse(token, status);
                }
                break;
            }

            case 30:
            {
                GetAccountStateRequest request = new GetAccountStateRequest();
                request.MergeFrom(stream);

                GetAccountStateResponse response = new GetAccountStateResponse();
                BattlenetRpcErrorCode   status   = HandleGetAccountState(request, response);
                Log.outDebug(LogFilter.ServiceProtobuf, "{0} Client called server method AccountService.GetAccountState(GetAccountStateRequest: {1}) returned GetAccountStateResponse: {2} status: {3}.",
                             GetCallerInfo(), request.ToString(), response.ToString(), status);
                if (status == 0)
                {
                    SendResponse(token, response);
                }
                else
                {
                    SendResponse(token, status);
                }
                break;
            }

            case 31:
            {
                GetGameAccountStateRequest request = new GetGameAccountStateRequest();
                request.MergeFrom(stream);

                GetGameAccountStateResponse response = new GetGameAccountStateResponse();
                BattlenetRpcErrorCode       status   = HandleGetGameAccountState(request, response);
                Log.outDebug(LogFilter.ServiceProtobuf, "{0} Client called server method AccountService.GetGameAccountState(GetGameAccountStateRequest: {1}) returned GetGameAccountStateResponse: {2} status: {3}.",
                             GetCallerInfo(), request.ToString(), response.ToString(), status);
                if (status == 0)
                {
                    SendResponse(token, response);
                }
                else
                {
                    SendResponse(token, status);
                }
                break;
            }

            case 32:
            {
                GetLicensesRequest request = new GetLicensesRequest();
                request.MergeFrom(stream);

                GetLicensesResponse   response = new GetLicensesResponse();
                BattlenetRpcErrorCode status   = HandleGetLicenses(request, response);
                Log.outDebug(LogFilter.ServiceProtobuf, "{0} Client called server method AccountService.GetLicenses(GetLicensesRequest: {1}) returned GetLicensesResponse: {2} status: {3}.",
                             GetCallerInfo(), request.ToString(), response.ToString(), status);
                if (status == 0)
                {
                    SendResponse(token, response);
                }
                else
                {
                    SendResponse(token, status);
                }
                break;
            }

            case 33:
            {
                GetGameTimeRemainingInfoRequest request = new GetGameTimeRemainingInfoRequest();
                request.MergeFrom(stream);

                GetGameTimeRemainingInfoResponse response = new GetGameTimeRemainingInfoResponse();
                BattlenetRpcErrorCode            status   = HandleGetGameTimeRemainingInfo(request, response);
                Log.outDebug(LogFilter.ServiceProtobuf, "{0} Client called server method AccountService.GetGameTimeRemainingInfo(GetGameTimeRemainingInfoRequest: {1}) returned GetGameTimeRemainingInfoResponse: {2} status: {3}.",
                             GetCallerInfo(), request.ToString(), response.ToString(), status);
                if (status == 0)
                {
                    SendResponse(token, response);
                }
                else
                {
                    SendResponse(token, status);
                }
                break;
            }

            case 34:
            {
                GetGameSessionInfoRequest request = new GetGameSessionInfoRequest();
                request.MergeFrom(stream);

                GetGameSessionInfoResponse response = new GetGameSessionInfoResponse();
                BattlenetRpcErrorCode      status   = HandleGetGameSessionInfo(request, response);
                Log.outDebug(LogFilter.ServiceProtobuf, "{0} Client called server method AccountService.GetGameSessionInfo(GetGameSessionInfoRequest: {1}) returned GetGameSessionInfoResponse: {2} status: {3}.",
                             GetCallerInfo(), request.ToString(), response.ToString(), status);
                if (status == 0)
                {
                    SendResponse(token, response);
                }
                else
                {
                    SendResponse(token, status);
                }
                break;
            }

            case 35:
            {
                GetCAISInfoRequest request = new GetCAISInfoRequest();
                request.MergeFrom(stream);

                GetCAISInfoResponse   response = new GetCAISInfoResponse();
                BattlenetRpcErrorCode status   = HandleGetCAISInfo(request, response);
                Log.outDebug(LogFilter.ServiceProtobuf, "{0} Client called server method AccountService.GetCAISInfo(GetCAISInfoRequest: {1}) returned GetCAISInfoResponse: {2} status: {3}.",
                             GetCallerInfo(), request.ToString(), response.ToString(), status);
                if (status == 0)
                {
                    SendResponse(token, response);
                }
                else
                {
                    SendResponse(token, status);
                }
                break;
            }

            case 36:
            {
                ForwardCacheExpireRequest request = new ForwardCacheExpireRequest();
                request.MergeFrom(stream);

                NoData response = new NoData();
                BattlenetRpcErrorCode status = HandleForwardCacheExpire(request, response);
                Log.outDebug(LogFilter.ServiceProtobuf, "{0} Client called server method AccountService.ForwardCacheExpire(ForwardCacheExpireRequest: {1}) returned bgs.protocol.NoData: {2} status: {3}.",
                             GetCallerInfo(), request.ToString(), response.ToString(), status);
                if (status == 0)
                {
                    SendResponse(token, response);
                }
                else
                {
                    SendResponse(token, status);
                }
                break;
            }

            case 37:
            {
                GetAuthorizedDataRequest request = new GetAuthorizedDataRequest();
                request.MergeFrom(stream);

                GetAuthorizedDataResponse response = new GetAuthorizedDataResponse();
                BattlenetRpcErrorCode     status   = HandleGetAuthorizedData(request, response);
                Log.outDebug(LogFilter.ServiceProtobuf, "{0} Client called server method AccountService.GetAuthorizedData(GetAuthorizedDataRequest: {1}) returned GetAuthorizedDataResponse: {2} status: {3}.",
                             GetCallerInfo(), request.ToString(), response.ToString(), status);
                if (status == 0)
                {
                    SendResponse(token, response);
                }
                else
                {
                    SendResponse(token, status);
                }
                break;
            }

            case 38:
            {
                AccountFlagUpdateRequest request = new AccountFlagUpdateRequest();
                request.MergeFrom(stream);

                BattlenetRpcErrorCode status = HandleAccountFlagUpdate(request);
                Log.outDebug(LogFilter.ServiceProtobuf, "{0} Client called server method AccountService.AccountFlagUpdate(AccountFlagUpdateRequest: {1}) status: {2}.",
                             GetCallerInfo(), request.ToString(), status);
                if (status != 0)
                {
                    SendResponse(token, status);
                }
                break;
            }

            case 39:
            {
                GameAccountFlagUpdateRequest request = new GameAccountFlagUpdateRequest();
                request.MergeFrom(stream);

                BattlenetRpcErrorCode status = HandleGameAccountFlagUpdate(request);
                Log.outDebug(LogFilter.ServiceProtobuf, "{0} Client called server method AccountService.GameAccountFlagUpdate(GameAccountFlagUpdateRequest: {1}) status: {2}.",
                             GetCallerInfo(), request.ToString(), status);
                if (status != 0)
                {
                    SendResponse(token, status);
                }
                break;
            }

            /* case 40:
             *   {
             *       UpdateParentalControlsAndCAISRequest request = new UpdateParentalControlsAndCAISRequest();
             *       request.MergeFrom(stream);
             *
             *       NoData response = new NoData();
             *       BattlenetRpcErrorCode status = HandleUpdateParentalControlsAndCAIS(request, response);
             *       Log.outDebug(LogFilter.ServiceProtobuf, "{0} Client called server method AccountService.UpdateParentalControlsAndCAIS(UpdateParentalControlsAndCAISRequest: {1}) returned bgs.protocol.NoData: {2} status: {3}.",
             *         GetCallerInfo(), request.ToString(), response.ToString(), status);
             *       if (status == 0)
             *           SendResponse(token, response);
             *       else
             *           SendResponse(token, status);
             *       break;
             *   }
             * case 41:
             *   {
             *       CreateGameAccountRequest request = new CreateGameAccountRequest();
             *       request.MergeFrom(stream);
             *
             *       CreateGameAccountResponse response = new CreateGameAccountResponse();
             *       BattlenetRpcErrorCode status = HandleCreateGameAccount2(request, response);
             *       Log.outDebug(LogFilter.ServiceProtobuf, "{0} Client called server method AccountService.CreateGameAccount2(CreateGameAccountRequest: {1}) returned CreateGameAccountResponse: {2} status: {3}.",
             *         GetCallerInfo(), request.ToString(), response.ToString(), status);
             *       if (status == 0)
             *           SendResponse(token, response);
             *       else
             *           SendResponse(token, status);
             *       break;
             *   }
             * case 42:
             *   {
             *       GetGameAccountRequest request = new GetGameAccountRequest();
             *       request.MergeFrom(stream);
             *
             *       GetGameAccountResponse response = new GetGameAccountResponse();
             *       BattlenetRpcErrorCode status = HandleGetGameAccount(request, response);
             *       Log.outDebug(LogFilter.ServiceProtobuf, "{0} Client called server method AccountService.GetGameAccount(GetGameAccountRequest: {1}) returned GetGameAccountResponse: {2} status: {3}.",
             *         GetCallerInfo(), request.ToString(), response.ToString(), status);
             *       if (status == 0)
             *           SendResponse(token, &response);
             *       else
             *           SendResponse(token, status);
             *       break;
             *   }
             * case 43:
             *   {
             *       QueueDeductRecordRequest request = new QueueDeductRecordRequest();
             *       request.MergeFrom(stream);
             *
             *       NoData response = new NoData();
             *       BattlenetRpcErrorCode status = HandleQueueDeductRecord(request, response);
             *       Log.outDebug(LogFilter.ServiceProtobuf, "{0} Client called server method AccountService.QueueDeductRecord(QueueDeductRecordRequest: {1}) returned bgs.protocol.NoData: {2} status: {3}.",
             *         GetCallerInfo(), request.ToString(), response.ToString(), status);
             *       if (status == 0)
             *           SendResponse(token, response);
             *       else
             *           SendResponse(token, status);
             *       break;
             *   }*/
            default:
                Log.outError(LogFilter.ServiceProtobuf, "Bad method id {0}.", methodId);
                SendResponse(token, BattlenetRpcErrorCode.RpcInvalidMethod);
                break;
            }
        }
Example #7
0
        public override void CallServerMethod(uint token, uint methodId, CodedInputStream stream)
        {
            switch (methodId)
            {
            case 13:
            {
                ResolveAccountRequest request = new ResolveAccountRequest();
                request.MergeFrom(stream);

                ResolveAccountResponse response = new ResolveAccountResponse();
                BattlenetRpcErrorCode  status   = HandleResolveAccount(request, response);
                Log.outDebug(LogFilter.ServiceProtobuf, "{0} Client called server method AccountService.GetAccount(GetAccountRequest: {1}) returned GetAccountResponse: {2} status: {3}.",
                             GetCallerInfo(), request.ToString(), response.ToString(), status);
                if (status == 0)
                {
                    SendResponse(token, response);
                }
                else
                {
                    SendResponse(token, status);
                }
                break;
            }

            case 15:
            {
                IsIgrAddressRequest request = new IsIgrAddressRequest();
                request.MergeFrom(stream);

                NoData response = new NoData();
                BattlenetRpcErrorCode status = HandleIsIgrAddress(request, response);
                Log.outDebug(LogFilter.ServiceProtobuf, "{0} Client called server method AccountService.IsIgrAddress(IsIgrAddressRequest: {1}) returned bgs.protocol.NoData: {2} status: {3}.",
                             GetCallerInfo(), request.ToString(), response.ToString(), status);
                if (status == 0)
                {
                    SendResponse(token, response);
                }
                else
                {
                    SendResponse(token, status);
                }
                break;
            }

            case 25:
            {
                SubscriptionUpdateRequest request = new SubscriptionUpdateRequest();
                request.MergeFrom(stream);

                SubscriptionUpdateResponse response = new SubscriptionUpdateResponse();
                BattlenetRpcErrorCode      status   = HandleSubscribe(request, response);
                Log.outDebug(LogFilter.ServiceProtobuf, "{0} Client called server method AccountService.Subscribe(SubscriptionUpdateRequest: {1}) returned SubscriptionUpdateResponse: {2} status: {3}.",
                             GetCallerInfo(), request.ToString(), response.ToString(), status);
                if (status == 0)
                {
                    SendResponse(token, response);
                }
                else
                {
                    SendResponse(token, status);
                }
                break;
            }

            case 26:
            {
                SubscriptionUpdateRequest request = new SubscriptionUpdateRequest();
                request.MergeFrom(stream);

                NoData response = new NoData();
                BattlenetRpcErrorCode status = HandleUnsubscribe(request, response);
                Log.outDebug(LogFilter.ServiceProtobuf, "{0} Client called server method AccountService.Unsubscribe(SubscriptionUpdateRequest: {1}) returned bgs.protocol.NoData: {2} status: {3}.",
                             GetCallerInfo(), request.ToString(), response.ToString(), status);
                if (status == 0)
                {
                    SendResponse(token, response);
                }
                else
                {
                    SendResponse(token, status);
                }
                break;
            }

            case 30:
            {
                GetAccountStateRequest request = new GetAccountStateRequest();
                request.MergeFrom(stream);

                GetAccountStateResponse response = new GetAccountStateResponse();
                BattlenetRpcErrorCode   status   = HandleGetAccountState(request, response);
                Log.outDebug(LogFilter.ServiceProtobuf, "{0} Client called server method AccountService.GetAccountState(GetAccountStateRequest: {1}) returned GetAccountStateResponse: {2} status: {3}.",
                             GetCallerInfo(), request.ToString(), response.ToString(), status);
                if (status == 0)
                {
                    SendResponse(token, response);
                }
                else
                {
                    SendResponse(token, status);
                }
                break;
            }

            case 31:
            {
                GetGameAccountStateRequest request = new GetGameAccountStateRequest();
                request.MergeFrom(stream);

                GetGameAccountStateResponse response = new GetGameAccountStateResponse();
                BattlenetRpcErrorCode       status   = HandleGetGameAccountState(request, response);
                Log.outDebug(LogFilter.ServiceProtobuf, "{0} Client called server method AccountService.GetGameAccountState(GetGameAccountStateRequest: {1}) returned GetGameAccountStateResponse: {2} status: {3}.",
                             GetCallerInfo(), request.ToString(), response.ToString(), status);
                if (status == 0)
                {
                    SendResponse(token, response);
                }
                else
                {
                    SendResponse(token, status);
                }
                break;
            }

            case 32:
            {
                GetLicensesRequest request = new GetLicensesRequest();
                request.MergeFrom(stream);

                GetLicensesResponse   response = new GetLicensesResponse();
                BattlenetRpcErrorCode status   = HandleGetLicenses(request, response);
                Log.outDebug(LogFilter.ServiceProtobuf, "{0} Client called server method AccountService.GetLicenses(GetLicensesRequest: {1}) returned GetLicensesResponse: {2} status: {3}.",
                             GetCallerInfo(), request.ToString(), response.ToString(), status);
                if (status == 0)
                {
                    SendResponse(token, response);
                }
                else
                {
                    SendResponse(token, status);
                }
                break;
            }

            case 33:
            {
                GetGameTimeRemainingInfoRequest request = new GetGameTimeRemainingInfoRequest();
                request.MergeFrom(stream);

                GetGameTimeRemainingInfoResponse response = new GetGameTimeRemainingInfoResponse();
                BattlenetRpcErrorCode            status   = HandleGetGameTimeRemainingInfo(request, response);
                Log.outDebug(LogFilter.ServiceProtobuf, "{0} Client called server method AccountService.GetGameTimeRemainingInfo(GetGameTimeRemainingInfoRequest: {1}) returned GetGameTimeRemainingInfoResponse: {2} status: {3}.",
                             GetCallerInfo(), request.ToString(), response.ToString(), status);
                if (status == 0)
                {
                    SendResponse(token, response);
                }
                else
                {
                    SendResponse(token, status);
                }
                break;
            }

            case 34:
            {
                GetGameSessionInfoRequest request = new GetGameSessionInfoRequest();
                request.MergeFrom(stream);

                GetGameSessionInfoResponse response = new GetGameSessionInfoResponse();
                BattlenetRpcErrorCode      status   = HandleGetGameSessionInfo(request, response);
                Log.outDebug(LogFilter.ServiceProtobuf, "{0} Client called server method AccountService.GetGameSessionInfo(GetGameSessionInfoRequest: {1}) returned GetGameSessionInfoResponse: {2} status: {3}.",
                             GetCallerInfo(), request.ToString(), response.ToString(), status);
                if (status == 0)
                {
                    SendResponse(token, response);
                }
                else
                {
                    SendResponse(token, status);
                }
                break;
            }

            case 35:
            {
                GetCAISInfoRequest request = new GetCAISInfoRequest();
                request.MergeFrom(stream);

                GetCAISInfoResponse   response = new GetCAISInfoResponse();
                BattlenetRpcErrorCode status   = HandleGetCAISInfo(request, response);
                Log.outDebug(LogFilter.ServiceProtobuf, "{0} Client called server method AccountService.GetCAISInfo(GetCAISInfoRequest: {1}) returned GetCAISInfoResponse: {2} status: {3}.",
                             GetCallerInfo(), request.ToString(), response.ToString(), status);
                if (status == 0)
                {
                    SendResponse(token, response);
                }
                else
                {
                    SendResponse(token, status);
                }
                break;
            }

            case 37:
            {
                GetAuthorizedDataRequest request = new GetAuthorizedDataRequest();
                request.MergeFrom(stream);

                GetAuthorizedDataResponse response = new GetAuthorizedDataResponse();
                BattlenetRpcErrorCode     status   = HandleGetAuthorizedData(request, response);
                Log.outDebug(LogFilter.ServiceProtobuf, "{0} Client called server method AccountService.GetAuthorizedData(GetAuthorizedDataRequest: {1}) returned GetAuthorizedDataResponse: {2} status: {3}.",
                             GetCallerInfo(), request.ToString(), response.ToString(), status);
                if (status == 0)
                {
                    SendResponse(token, response);
                }
                else
                {
                    SendResponse(token, status);
                }
                break;
            }

            default:
                Log.outError(LogFilter.ServiceProtobuf, "Bad method id {0}.", methodId);
                SendResponse(token, BattlenetRpcErrorCode.RpcInvalidMethod);
                break;
            }
        }