~aleteoryx/muditaos

muditaos/module-apps/apps-common/locks/widgets/Lock.cpp -rw-r--r-- 1.1 KiB
a405cad6Aleteoryx trim readme 7 days ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
// Copyright (c) 2017-2024, Mudita Sp. z.o.o. All rights reserved.
// For licensing, see https://github.com/mudita/MuditaOS/blob/master/LICENSE.md

#include "Lock.hpp"

namespace locks
{
    void Lock::consumeState() noexcept
    {
        if (lockState == LockState::InputInvalid) {
            lockState = LockState::InputRequired;
        }
        else if (lockState == LockState::NewInputInvalid) {
            lockState = LockState::NewInputRequired;
        }
        else if (lockState == LockState::NewInputConfirmRequired) {
            lockState = LockState::NewInputRequired;
        }
    }

    void Lock::putNextChar(unsigned c)
    {
        if (maxInputSize > inputValue.size()) {
            inputValue.push_back(c);
        }
    }

    void Lock::popChar()
    {
        if (!inputValue.empty()) {
            inputValue.pop_back();
        }
    }

    void Lock::clearAttempt() noexcept
    {
        inputValue.clear();
    }

    void Lock::setNextUnlockAttemptFormattedTime(const std::string &time)
    {
        nextUnlockAttemptFormattedTime = time;
    }
} // namespace locks