From 005f6241f5ab588fb955b87947715fc0e4f53f05 Mon Sep 17 00:00:00 2001 From: Grant Date: Wed, 13 Nov 2019 23:16:02 -0800 Subject: [PATCH] Add Database Connection --- CMakeLists.txt | 10 ++++++---- FaultFinder.cpp | 2 +- FaultManager.cpp | 24 +++++++++++++++++++++++- FaultManager.hpp | 10 ++++++++-- StreamManager.cpp | 1 - 5 files changed, 38 insertions(+), 9 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 9c0f897..641ee8a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -5,7 +5,7 @@ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake) find_package( OpenCV REQUIRED ) find_package( Ebus REQUIRED ) -find_package( Qt5 COMPONENTS Widgets Network DBus REQUIRED ) +find_package( Qt5 COMPONENTS Widgets Network DBus Sql REQUIRED ) set(CMAKE_AUTOMOC ON) @@ -13,12 +13,12 @@ set(prog_SRCS DBus.xml) qt5_generate_dbus_interface(ConfigManager.hpp DBus.xml OPTIONS -A - ) +) qt5_add_dbus_adaptor(prog_SRCS ${CMAKE_CURRENT_BINARY_DIR}/DBus.xml ConfigManager.hpp ConfigManager - ) +) include_directories( ${OpenCV_INCLUDE_DIRS} @@ -26,6 +26,7 @@ include_directories( ${Qt5Widgets_INCLUDE_DIRS} ${Qt5Network_INCLUDE_DIRS} ${Qt5DBus_INCLUDE_DIRS} + ${Qt5Sql_INCLUDE_DIRS} ) add_executable( FaultFinder @@ -45,4 +46,5 @@ target_link_libraries( FaultFinder ${Qt5Widgets_LIBRARIES} ${Qt5Network_LIBRARIES} ${Qt5DBus_LIBRARIES} - ) \ No newline at end of file + ${Qt5Sql_LIBRARIES} +) \ No newline at end of file diff --git a/FaultFinder.cpp b/FaultFinder.cpp index 3b70eb8..71f8bec 100644 --- a/FaultFinder.cpp +++ b/FaultFinder.cpp @@ -10,5 +10,5 @@ FaultFinder::FaultFinder(QObject *parent) : QObject(parent) FaultFinder::~FaultFinder() { - + } \ No newline at end of file diff --git a/FaultManager.cpp b/FaultManager.cpp index a85c8e2..c1b3181 100644 --- a/FaultManager.cpp +++ b/FaultManager.cpp @@ -2,10 +2,32 @@ FaultManager::FaultManager(QObject *parent) : QObject(parent) { + db = QSqlDatabase::addDatabase("QMYSQL"); + db.setHostName("localhost"); + db.setDatabaseName("FaultDatabase"); + db.setUserName("user"); + db.setPassword("faultfinder"); + bool success = db.open(); + if (!success) { + qCritical() << "Failed to open database connection."; + exit(15); + } } FaultManager::~FaultManager() { - + db.close(); +} + +void FaultManager::SaveImage() +{ + QSqlQuery query; + // Get GPS Location + + // Save Image to Filesystem + //QSaveFile + + // Save to Database + query.exec("INSERT"); } \ No newline at end of file diff --git a/FaultManager.hpp b/FaultManager.hpp index 0462ed1..446361c 100644 --- a/FaultManager.hpp +++ b/FaultManager.hpp @@ -2,16 +2,22 @@ #define FAULT_MANAGER_H #include +#include +#include +#include +#include class FaultManager: public QObject { Q_OBJECT; public: - FaultManager(QObject *parent); virtual ~FaultManager(); - void Handle(); + void SaveImage(); + +private: + QSqlDatabase db; }; diff --git a/StreamManager.cpp b/StreamManager.cpp index 8050621..504a80c 100644 --- a/StreamManager.cpp +++ b/StreamManager.cpp @@ -28,7 +28,6 @@ StreamManager::StreamManager(QObject *parent) : QObject(parent) StartStream(); ImageThread = new StreamReader(Device, Stream, Pipeline); - ImageThread->start(QThread::TimeCriticalPriority); }