Exemple #1
0
        // FinalizeOld(u32)
        public ResultCode FinalizeOld(ServiceCtx context)
        {
            MultiMediaOperationType operationType = (MultiMediaOperationType)context.RequestData.ReadUInt32();

            Logger.PrintStub(LogClass.ServiceMm, new { operationType });

            lock (_sessionListLock)
            {
                _sessionList.Remove(GetSessionByType(operationType));
            }

            return(ResultCode.Success);
        }
Exemple #2
0
        // Initialize(u32, u32, u32) -> u32
        public ResultCode Initialize(ServiceCtx context)
        {
            MultiMediaOperationType operationType = (MultiMediaOperationType)context.RequestData.ReadUInt32();
            int  fgmId            = context.RequestData.ReadInt32();
            bool isAutoClearEvent = context.RequestData.ReadInt32() != 0;

            Logger.Stub?.PrintStub(LogClass.ServiceMm, new { operationType, fgmId, isAutoClearEvent });

            uint id = Register(operationType, fgmId, isAutoClearEvent);

            context.ResponseData.Write(id);

            return(ResultCode.Success);
        }
Exemple #3
0
        // SetAndWaitOld(u32, u32, u32)
        public ResultCode SetAndWaitOld(ServiceCtx context)
        {
            MultiMediaOperationType operationType = (MultiMediaOperationType)context.RequestData.ReadUInt32();
            uint value   = context.RequestData.ReadUInt32();
            int  timeout = context.RequestData.ReadInt32();

            Logger.Stub?.PrintStub(LogClass.ServiceMm, new { operationType, value, timeout });

            lock (_sessionListLock)
            {
                GetSessionByType(operationType)?.SetAndWait(value, timeout);
            }

            return(ResultCode.Success);
        }
Exemple #4
0
        // 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);
        }