internal void OnRequestReceived(Client client, RPCMethodId methodId, object arg)
        {
            switch (methodId)
            {
            case RPCMethodId.SetProfile:
                server.SetProfile((ProfileUpdate)arg);
                break;

            case RPCMethodId.SetAutoSelect:
                server.SetAutoSelect((AutoSelectUpdate)arg);
                break;

            case RPCMethodId.AddQueue:
                server.AddQueue((AddQueueRequest)arg);
                break;

            case RPCMethodId.ChangeItem:
                server.ChangeItem((ChangeItemData)arg);
                break;

            case RPCMethodId.PauseEncode:
                server.PauseEncode((PauseRequest)arg);
                break;

            case RPCMethodId.CancelAddQueue:
                server.CancelAddQueue();
                break;

            case RPCMethodId.CancelSleep:
                server.CancelSleep();
                break;

            case RPCMethodId.SetCommonData:
                server.SetCommonData((CommonData)arg);
                break;

            case RPCMethodId.SetServiceSetting:
                server.SetServiceSetting((ServiceSettingUpdate)arg);
                break;

            case RPCMethodId.AddDrcsMap:
                server.AddDrcsMap((DrcsImage)arg);
                break;

            case RPCMethodId.EndServer:
                server.EndServer();
                break;

            case RPCMethodId.Request:
                server.Request((ServerRequest)arg);
                break;

            case RPCMethodId.RequestLogFile:
                server.RequestLogFile((LogFileRequest)arg);
                break;

            case RPCMethodId.RequestLogoData:
                server.RequestLogoData((string)arg);
                break;

            case RPCMethodId.RequestDrcsImages:
                server.RequestDrcsImages();
                break;
            }
        }