private uint Register(MultiMediaOperationType type, int fgmId, bool isAutoClearEvent) { lock (_sessionListLock) { // Nintendo ignore the fgm id as the other interfaces were deprecated. MultiMediaSession session = new MultiMediaSession(_uniqueId++, type, isAutoClearEvent); _sessionList.Add(session); return(session.Id); } }
// GetOld(u32) -> u32 public ResultCode GetOld(ServiceCtx context) { MultiMediaOperationType operationType = (MultiMediaOperationType)context.RequestData.ReadUInt32(); Logger.Stub?.PrintStub(LogClass.ServiceMm, new { operationType }); lock (_sessionListLock) { MultiMediaSession session = GetSessionByType(operationType); uint currentValue = session == null ? 0 : session.CurrentValue; context.ResponseData.Write(currentValue); } return(ResultCode.Success); }
// Get(u32) -> u32 public ResultCode Get(ServiceCtx context) { uint id = context.RequestData.ReadUInt32(); Logger.Stub?.PrintStub(LogClass.ServiceMm, new { id }); lock (_sessionListLock) { MultiMediaSession session = GetSessionById(id); uint currentValue = session == null ? 0 : session.CurrentValue; context.ResponseData.Write(currentValue); } return(ResultCode.Success); }