# Saver Это программа для логирования сообщений # Сборка Запустите в корне make # Использование ```bash ./app ``` Существует 3 уровня важности: - Low - Middle - High Далее программа будет поочерёдно просить ввести сообщение и его важность. Если ничего не вводить или ввести не коректно в поле важности то будет присовено значение base_importance. Если важность сообщения ниже base_importance, то оно записывается в журнал не будет. # src/Saver Модуль библиотеки. ISaver - header-only интерфейс библиотеки. Он нужен как API для работы с библиотекой. Saver - наследник ISaver, реализующий сохранение сообщений. SaverBuilder.cpp - здесь реализована внешняя функция создающая только один Saver, при этом передаёт право владения им, это значит вызывающий дожен следить за удалением Saver перед освоюождением библиотеки. # app Модуль приложения main.cpp - точка входа в программу. Создаёт и запускает компоненты приложения. SaveThread - наследник ISaveThread. Реализует отдельный поток для сохранения сообщений. Сообщения перед сохранением помещаются в очередь. ISaveThread - интерфейс SaveThread. UserInput - Класс реализующий UI. Принимает сообщение и его важность от пользователя и передаёт в ISaveThread (Сыллку на SaveThread). Также он занимет главный поток выполнения программы, поэтому неявно управляет временем жизни программы.