diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..f87d466 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,14 @@ +cmake_minimum_required(VERSION 3.14) +project(cpp-opds) + +set(CMAKE_CXX_STANDARD 17) + +find_package(Qt6 REQUIRED COMPONENTS Core Sql Network) + +add_executable(cpp-opds + src/main.cpp + src/backend.cpp +) + +target_include_directories(cpp-opds PRIVATE include) +target_link_libraries(cpp-opds Qt6::Core Qt6::Sql Qt6::Network) diff --git a/include/backend.cpp b/include/backend.cpp new file mode 100644 index 0000000..d9a9fac --- /dev/null +++ b/include/backend.cpp @@ -0,0 +1,18 @@ +#include "backend.h" +#include + +Backend::Backend(QObject *parent) : QObject(parent) +{ + // Используем SQLite по умолчанию, для PostgreSQL потребуется изменить параметры подключения + db = QSqlDatabase::addDatabase("QSQLITE"); + db.setDatabaseName("opds.db"); + + if (!db.open()) { + qDebug() << "Error: Unable to open database"; + } +} + +void Backend::start() +{ + qDebug() << "Backend started."; +} diff --git a/include/backend.h b/include/backend.h new file mode 100644 index 0000000..aaffb6b --- /dev/null +++ b/include/backend.h @@ -0,0 +1,19 @@ +#ifndef BACKEND_H +#define BACKEND_H + +#include +#include + +class Backend : public QObject +{ + Q_OBJECT + +public: + explicit Backend(QObject *parent = nullptr); + void start(); + +private: + QSqlDatabase db; +}; + +#endif // BACKEND_H diff --git a/src/main.cpp b/src/main.cpp new file mode 100644 index 0000000..f3b64db --- /dev/null +++ b/src/main.cpp @@ -0,0 +1,12 @@ +#include +#include "backend.h" + +int main(int argc, char *argv[]) +{ + QCoreApplication a(argc, argv); + + Backend backend; + backend.start(); + + return a.exec(); +}