示例#1
0
        /// <summary>
        /// Process an incoming <see cref="DataPacket"/> from SNAC family 0x0001
        /// </summary>
        /// <param name="dp">A <see cref="DataPacket"/> received by the server</param>
        public void ProcessIncomingPacket(csammisrun.OscarLib.Utility.DataPacket dp)
        {
            switch (dp.SNAC.FamilySubtypeID)
            {
            case BOS_SNAC_ERROR:
                SNACFunctions.ProcessErrorNotification(dp);
                break;

            case BOS_SUPPORTED_FAMILIES:
                ProcessServicesList(dp);
                break;

            case BOS_NEW_SERVICE:
                ProcessNewServiceResponse(dp);
                break;

            case BOS_RATE_LIMIT_INFORMATION:
                ProcessRateLimitations(dp);
                break;

            case BOS_FAMILY_VERSIONS_RESPONSE:
                ProcessVersionsListAndGetRateLimits(dp);
                break;

            case BOS_RATE_CHANGE_NOTIFICATION:
                ProcessRateChange(dp);
                break;

            case BOS_PAUSE_CONNECTION_REQUEST:
                ProcessPauseRequest(dp);
                break;

            case BOS_RESUME_CONNECTION:
                ProcessResumeRequest(dp);
                break;

            case BOS_OWN_ONLINE_INFORMATION:
                ProcessOwnInformation(dp);
                break;

            case BOS_SERVER_MIGRATION_NOTICE:
                ProcessMigrationNotice(dp);
                break;

            case BOS_PROCESS_EXTENDED_STATUS:
                ProcessExtendedStatus(dp);
                break;

            case BOS_CLIENT_VERIFICATION_REQUEST:
                ProcessVerificationRequest(dp);
                break;
            }
        }
示例#2
0
        public void ProcessIncomingPacket(Utility.DataPacket dp)
        {
            switch ((UsageStatsService)dp.SNAC.FamilySubtypeID)
            {
            case UsageStatsService.ClientServerError:
                SNACFunctions.ProcessErrorNotification(dp);
                break;

            case UsageStatsService.SetMinimumInterval:
                ProcessReportInterval(dp);
                break;

            case UsageStatsService.UsageReportAck:
                ProcessReportAck(dp);
                break;

            default:
                break;
            }
        }