mirror of
https://github.com/Fishwaldo/qt-openzwave.git
synced 2025-03-15 19:41:24 +00:00
Binary Resource File for the ozw config database
This commit is contained in:
parent
dc22344089
commit
8eb82faeef
5 changed files with 54 additions and 15 deletions
|
@ -35,6 +35,7 @@ COPY --from=builder /usr/local/lib/libqt* /usr/local/lib/
|
|||
COPY --from=builder /usr/local/lib*/libopenzwave* /usr/local/lib/
|
||||
COPY --from=builder /usr/lib/*/libQt5Mqtt* /usr/local/lib/
|
||||
COPY --from=builder /opt/qt-openzwave/tools/* /usr/local/bin/
|
||||
COPY --from=builder /usr/share/OpenZWave/qt-openzwavedatabase.rcc /usr/share/OpenZWave/
|
||||
RUN mkdir -p /opt/ozw/config/crashes/
|
||||
ENV LD_LIBRARY_PATH="/usr/local/lib:/usr/local/lib64:$LD_LIBRARY_PATH"
|
||||
ENV USBPATH="/dev/ttyUSB0"
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
#define QTOPENZWAVEDATABASE_H
|
||||
#include <QDir>
|
||||
|
||||
bool initConfigDatabase(QStringList paths);
|
||||
bool copyConfigDatabase(QDir configpath);
|
||||
|
||||
#endif // QTOPENZWAVEDATABASE_H
|
||||
|
|
|
@ -8,15 +8,16 @@ CONFIG += silent file_copies resources_big
|
|||
|
||||
!versionAtLeast(QT_VERSION, 5.11.2):error("Use at least Qt version 5.11.2")
|
||||
|
||||
ozwconfig.target=config/qrc_ozwconfig.cpp
|
||||
ozwconfig.commands=cp -R ../../open-zwave/config config/ && cd config && $$[QT_INSTALL_BINS]/rcc -project -o ozwconfig.qrc && $$[QT_INSTALL_BINS]/rcc --name="ozwconfig" --root="/config/" ozwconfig.qrc -o qrc_ozwconfig.cpp
|
||||
ozwconfig.target=qt-openzwavedatabase.rcc
|
||||
ozwconfig.commands=cp -R ../../open-zwave/config config/ && cd config && $$[QT_INSTALL_BINS]/rcc -project -o ozwconfig.qrc && $$[QT_INSTALL_BINS]/rcc --name="ozwconfig" --root="/config/" ozwconfig.qrc --binary -o ../qt-openzwavedatabase.rcc
|
||||
ozwconfigdb.path = $$[QT_INSTALL_PREFIX]/share/OpenZWave/
|
||||
ozwconfigdb.files=qt-openzwavedatabase.rcc
|
||||
|
||||
!win32 {
|
||||
QMAKE_EXTRA_TARGETS += ozwconfig
|
||||
PRE_TARGETDEPS += config/qrc_ozwconfig.cpp
|
||||
SOURCES += config/qrc_ozwconfig.cpp \
|
||||
source/qt-openzwavedatabase.cpp
|
||||
|
||||
PRE_TARGETDEPS += qt-openzwavedatabase.rcc
|
||||
SOURCES += source/qt-openzwavedatabase.cpp
|
||||
INSTALLS += ozwconfigdb
|
||||
macx {
|
||||
QMAKE_LFLAGS_SONAME = -Wl,-install_name,@rpath/
|
||||
}
|
||||
|
|
|
@ -1,7 +1,43 @@
|
|||
#include <QDirIterator>
|
||||
#include <QDebug>
|
||||
#include <QResource>
|
||||
#include <QStandardPaths>
|
||||
#include "qt-openzwave/qt-openzwavedatabase.h"
|
||||
|
||||
bool initConfigDatabase(QStringList path) {
|
||||
for (int i = 0; i < path.size(); ++i) {
|
||||
QString test = path.at(i);
|
||||
test.append("/qt-openzwavedatabase.rcc");
|
||||
qDebug() << "Testing " << test;
|
||||
if (QResource::registerResource(test)) {
|
||||
qInfo() << "Found qt-openzwavedatabase.rcc at " << test;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
if (QResource::registerResource("qt-openzwavedatabase/qt-openzwavedatabase.rcc")) {
|
||||
qInfo() << "Found qt-openzwavedatabase.rcc at qt-openzwavedatabase/qt-openzwavedatabase.rcc";
|
||||
return true;
|
||||
}
|
||||
if (QResource::registerResource("./qt-openzwavedatabase.rcc")) {
|
||||
qInfo() << "Found qt-openzwavedatabase.rcc at ./qt-openzwavedatabase.rcc";
|
||||
return true;
|
||||
}
|
||||
|
||||
for (int i = 0; i < QStandardPaths::standardLocations(QStandardPaths::GenericDataLocation).size(); ++i) {
|
||||
QString test = QStandardPaths::standardLocations(QStandardPaths::GenericDataLocation).at(i);
|
||||
test.append("/OpenZWave/qt-openzwavedatabase.rcc");
|
||||
qDebug() << "Testing Standard Paths" << test;
|
||||
if (QResource::registerResource(test)) {
|
||||
qInfo() << "Found qt-openzwavedatabase.rcc at " << test;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
|
||||
}
|
||||
|
||||
|
||||
bool copyConfigDatabase(QDir configpath)
|
||||
{
|
||||
QDirIterator it(":/config/", QStringList() << "*.xml" << "*.png" << "*.xsd", QDir::NoFilter, QDirIterator::Subdirectories);
|
||||
|
|
|
@ -219,7 +219,6 @@ int main(int argc, char *argv[])
|
|||
PossibleDBPaths << parser.value(userDir);
|
||||
PossibleDBPaths << "./config/";
|
||||
PossibleDBPaths << QDir::toNativeSeparators("../../../config/");
|
||||
// PossibleDBPaths << settings.value("openzwave/UserPath", QDir::toNativeSeparators("../../../config/")).toString().append("/");
|
||||
PossibleDBPaths << QStandardPaths::standardLocations(QStandardPaths::AppDataLocation);
|
||||
|
||||
foreach(path, PossibleDBPaths) {
|
||||
|
@ -235,20 +234,21 @@ int main(int argc, char *argv[])
|
|||
}
|
||||
}
|
||||
|
||||
// if (userPath.isEmpty()) {
|
||||
// fputs(qPrintable("userPath is Not Set or Missing\n"), stderr);
|
||||
// exit(-1);
|
||||
// }
|
||||
|
||||
if (dbPath.isEmpty()) {
|
||||
copyConfigDatabase(QFileInfo("./").absoluteFilePath().append("/"));
|
||||
dbPath = "./config/";
|
||||
userPath = "./config/";
|
||||
if (initConfigDatabase(PossibleDBPaths)) {
|
||||
copyConfigDatabase(QFileInfo("./").absoluteFilePath().append("/"));
|
||||
dbPath = "./config/";
|
||||
userPath = "./config/";
|
||||
} else {
|
||||
qWarning() << "Cant find qt-openzwavedatabase.rcc";
|
||||
}
|
||||
}
|
||||
qDebug() << "DBPath: " << dbPath;
|
||||
qDebug() << "userPath: " << userPath;
|
||||
|
||||
QSettings settings(userPath.append("/ozwdaemon.ini"), QSettings::IniFormat);
|
||||
|
||||
exit(-1);
|
||||
|
||||
#ifdef HAVE_MQTT
|
||||
if (parser.isSet(MQTTServer)) {
|
||||
|
|
Loading…
Add table
Reference in a new issue