Files
MuditaOS/module-apps/apps-common/locks/widgets/LockBox.hpp
Piotr Tański 90e7a48198 [EGD-7362] Merge release/0.76.1 into master
Merge release/0.76.1 into master.
2021-09-02 11:12:59 +02:00

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