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