database.hpp 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. #pragma once
  2. #include "entities.hpp"
  3. #include <sqlite3.h>
  4. #include <string>
  5. #include <iostream>
  6. #include <array>
  7. #include <glibmm/ustring.h>
  8. namespace db {
  9. // Путь к базе данных
  10. static std::string db_path;
  11. // Записывает путь к базе данных в db_path
  12. void databaseInit(std::string filename);
  13. // Открывает подключение к БД
  14. int databaseOpen();
  15. // Закрывает подключение к БД
  16. void databaseClose();
  17. // Создаёт необходимые таблицы
  18. void createTables();
  19. // Получает видео по его youtube id. Возвращает true, если видео было
  20. // найдено
  21. bool getVideoByYTID(std::string yt_id, video* output);
  22. // Получает автора видео по его youtube id. Возвращает true, если автор был
  23. // найден
  24. bool getAuthorByYTID(std::string yt_id, author* output);
  25. // Добавляет видео в базу данных. Заполняет свойство id при добавлении
  26. void addVideo(video* v);
  27. // Добавляет видео в базу данных
  28. void addAuthor(author* a);
  29. }