mirror of
https://github.com/mudita/MuditaOS.git
synced 2026-01-03 11:28:48 -05:00
41 lines
1.2 KiB
C++
41 lines
1.2 KiB
C++
// Copyright (c) 2017-2021, Mudita Sp. z.o.o. All rights reserved.
|
|
// For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md
|
|
|
|
#pragma once
|
|
|
|
#include <cstdint>
|
|
#include <string>
|
|
|
|
namespace gui
|
|
{
|
|
class LockBox
|
|
{
|
|
public:
|
|
enum class InputActionType
|
|
{
|
|
ProvideInput,
|
|
ProvideNewInput,
|
|
ConfirmNewInput
|
|
};
|
|
|
|
enum class InputErrorType
|
|
{
|
|
InvalidInput,
|
|
NewInputConfirmFailed,
|
|
};
|
|
|
|
virtual void popChar(unsigned int charNum) = 0;
|
|
virtual void putChar(unsigned int charNum) = 0;
|
|
virtual void update(unsigned int inputFilled) = 0;
|
|
virtual void clear() = 0;
|
|
|
|
virtual void setVisibleStateInputRequired(InputActionType type) = 0;
|
|
virtual void setVisibleStateInputInvalid(InputErrorType type, unsigned int value) = 0;
|
|
virtual void setVisibleStateBlocked(const std::string &formattedTime) = 0;
|
|
virtual void setVisibleStateError(unsigned int errorCode) = 0;
|
|
|
|
virtual void buildLockBox(unsigned int inputSize) = 0;
|
|
virtual ~LockBox() = default;
|
|
};
|
|
} // namespace gui
|