2.2 KiB
Saver
Это программа для логирования сообщений
Сборка
Запустите в корне make
Использование
./app <log_file> <base_importance>
Существует 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). Также он занимет главный поток выполнения программы, поэтому неявно управляет временем жизни программы.