mirror of
https://github.com/Fishwaldo/qt-openzwave.git
synced 2025-07-13 00:28:22 +00:00
333 lines
11 KiB
C++
333 lines
11 KiB
C++
#include <QAbstractItemModelReplica>
|
|
|
|
#include "qt-openzwave/qtozwoptions.h"
|
|
#include "qtozwoptions_p.h"
|
|
#include "qtozw_logging.h"
|
|
|
|
#define CONNECT_DPTR(x) if (this->m_connectionType == connectionType::Local) { \
|
|
QObject::connect(this->d_ptr_internal, &QTOZWOptions_Internal::x, this, &QTOZWOptions::x);\
|
|
} else { \
|
|
QObject::connect(this->d_ptr_replica, &QTOZWOptionsReplica::x, this, &QTOZWOptions::x); \
|
|
};
|
|
|
|
#define CONNECT_DPTR1(x, y) if (this->m_connectionType == connectionType::Local) { \
|
|
QObject::connect(this->d_ptr_internal, &QTOZWOptions_Internal::x, this, &QTOZWOptions::y);\
|
|
} else { \
|
|
QObject::connect(this->d_ptr_replica, &QTOZWOptionsReplica::x, this, &QTOZWOptions::y); \
|
|
};
|
|
|
|
#define CALL_DPTR(x) if (this->m_connectionType == QTOZWOptions::connectionType::Local) this->d_ptr_internal->x; else this->d_ptr_replica->x;
|
|
#define CALL_DPTR_PROP(x) if (this->m_connectionType == QTOZWOptions::connectionType::Local) return this->d_ptr_internal->x; else return this->d_ptr_replica->x;
|
|
#define CALL_DPTR_PROP_SET(x) if (this->m_connectionType == QTOZWOptions::connectionType::Local) { \
|
|
this->d_ptr_internal->setProperty(#x, x); \
|
|
} else { \
|
|
this->d_ptr_replica->setProperty(#x, x); \
|
|
}
|
|
#define CALL_DPTR_PROP_SET_TYPE(x, y) if (this->m_connectionType == QTOZWOptions::connectionType::Local) { \
|
|
this->d_ptr_internal->setProperty(#x, QVariant::fromValue<y>(x)); \
|
|
} else { \
|
|
this->d_ptr_replica->setProperty(#x, QVariant::fromValue<y>(x)); \
|
|
}
|
|
#define CALL_DPTR_METHOD_RTN(x, y) if (this->m_connectionType == QTOZWOptions::connectionType::Local) \
|
|
return this->d_ptr_internal->x; \
|
|
else { \
|
|
QRemoteObjectPendingReply<y> res = this->d_ptr_replica->x; \
|
|
res.waitForFinished(); \
|
|
return res.returnValue(); \
|
|
}
|
|
|
|
|
|
|
|
|
|
QTOZWOptions::QTOZWOptions(connectionType type, QObject *parent)
|
|
: QObject(parent),
|
|
m_connectionType(type)
|
|
{
|
|
if (type == QTOZWOptions::connectionType::Local) {
|
|
this->m_connectionType = connectionType::Local;
|
|
this->d_ptr_internal = new QTOZWOptions_Internal(this);
|
|
connectSignals();
|
|
} else if (type == connectionType::Remote) {
|
|
qDebug() << "Nothing to do till we connect";
|
|
}
|
|
}
|
|
|
|
bool QTOZWOptions::initilizeBase() {
|
|
return true;
|
|
}
|
|
|
|
bool QTOZWOptions::initilizeSource(QRemoteObjectHost *m_sourceNode) {
|
|
initilizeBase();
|
|
if (m_sourceNode) {
|
|
m_sourceNode->enableRemoting<QTOZWOptionsSourceAPI>(this->d_ptr_internal);
|
|
}
|
|
return true;
|
|
}
|
|
|
|
bool QTOZWOptions::initilizeReplica(QRemoteObjectNode *m_replicaNode) {
|
|
initilizeBase();
|
|
this->m_connectionType = connectionType::Remote;
|
|
this->d_ptr_replica = m_replicaNode->acquire<QTOZWOptionsReplica>("QTOZWOptions");
|
|
QObject::connect(this->d_ptr_replica, &QTOZWOptionsReplica::stateChanged, this, &QTOZWOptions::onOptionStateChange);
|
|
connectSignals();
|
|
return true;
|
|
}
|
|
|
|
void QTOZWOptions::connectSignals() {
|
|
CONNECT_DPTR(ConfigPathChanged);
|
|
CONNECT_DPTR(UserPathChanged);
|
|
CONNECT_DPTR(LoggingChanged);
|
|
CONNECT_DPTR(LogFileNameChanged);
|
|
CONNECT_DPTR(AppendLogFileChanged);
|
|
CONNECT_DPTR(ConsoleOutputChanged);
|
|
CONNECT_DPTR(SaveLogLevelChanged);
|
|
CONNECT_DPTR(QueueLogLevelChanged);
|
|
CONNECT_DPTR(DumpTriggerLevelChanged);
|
|
CONNECT_DPTR(AssociateChanged);
|
|
CONNECT_DPTR(ExcludeChanged);
|
|
CONNECT_DPTR(IncludeChanged);
|
|
CONNECT_DPTR(NotifyTransactionsChanged);
|
|
CONNECT_DPTR(InterfaceChanged);
|
|
CONNECT_DPTR(SaveConfigurationChanged);
|
|
CONNECT_DPTR(DriverMaxAttemptsChanged);
|
|
CONNECT_DPTR(PollIntervalChanged);
|
|
CONNECT_DPTR(IntervalBetweenPollsChanged);
|
|
CONNECT_DPTR(SuppressValueRefreshChanged);
|
|
CONNECT_DPTR(PerformReturnRoutesChanged);
|
|
CONNECT_DPTR(NetworkKeyChanged);
|
|
CONNECT_DPTR(RefreshAllUserCodesChanged);
|
|
CONNECT_DPTR(RetryTimeoutChanged);
|
|
CONNECT_DPTR(EnableSISChanged);
|
|
CONNECT_DPTR(AssumeAwakeChanged);
|
|
CONNECT_DPTR(NotifyOnDriverUnloadChanged);
|
|
CONNECT_DPTR(SecurityStrategyChanged);
|
|
CONNECT_DPTR(CustomSecuredCCChanged);
|
|
CONNECT_DPTR(EnforceSecureReceptionChanged);
|
|
CONNECT_DPTR(AutoUpdateConfigFileChanged);
|
|
CONNECT_DPTR(ReloadAfterUpdateChanged);
|
|
CONNECT_DPTR(LanguageChanged);
|
|
CONNECT_DPTR(IncludeInstanceLabelsChanged);
|
|
// CONNECT_DPTR(error);
|
|
}
|
|
|
|
QString QTOZWOptions::ConfigPath() const {
|
|
CALL_DPTR_PROP(ConfigPath());
|
|
}
|
|
QString QTOZWOptions::UserPath() const {
|
|
CALL_DPTR_PROP(UserPath());
|
|
}
|
|
bool QTOZWOptions::Logging() const {
|
|
CALL_DPTR_PROP(Logging());
|
|
}
|
|
QString QTOZWOptions::LogFileName() const {
|
|
CALL_DPTR_PROP(LogFileName());
|
|
}
|
|
bool QTOZWOptions::AppendLogFile() const {
|
|
CALL_DPTR_PROP(AppendLogFile());
|
|
}
|
|
bool QTOZWOptions::ConsoleOutput() const {
|
|
CALL_DPTR_PROP(ConsoleOutput());
|
|
}
|
|
OptionList QTOZWOptions::SaveLogLevel() const {
|
|
CALL_DPTR_PROP(SaveLogLevel());
|
|
}
|
|
OptionList QTOZWOptions::QueueLogLevel() const {
|
|
CALL_DPTR_PROP(QueueLogLevel());
|
|
}
|
|
OptionList QTOZWOptions::DumpTriggerLevel() const {
|
|
CALL_DPTR_PROP(DumpTriggerLevel());
|
|
}
|
|
bool QTOZWOptions::Associate() const {
|
|
CALL_DPTR_PROP(Associate());
|
|
}
|
|
QString QTOZWOptions::Exclude() const {
|
|
CALL_DPTR_PROP(Exclude());
|
|
}
|
|
QString QTOZWOptions::Include() const {
|
|
CALL_DPTR_PROP(Include());
|
|
}
|
|
bool QTOZWOptions::NotifyTransactions() const {
|
|
CALL_DPTR_PROP(NotifyTransactions());
|
|
}
|
|
QString QTOZWOptions::Interface() const {
|
|
CALL_DPTR_PROP(Interface());
|
|
}
|
|
bool QTOZWOptions::SaveConfiguration() const {
|
|
CALL_DPTR_PROP(SaveConfiguration());
|
|
}
|
|
qint32 QTOZWOptions::DriverMaxAttempts() const {
|
|
CALL_DPTR_PROP(DriverMaxAttempts());
|
|
}
|
|
qint32 QTOZWOptions::PollInterval() const {
|
|
CALL_DPTR_PROP(PollInterval());
|
|
}
|
|
bool QTOZWOptions::SuppressValueRefresh() const {
|
|
CALL_DPTR_PROP(SuppressValueRefresh());
|
|
}
|
|
bool QTOZWOptions::IntervalBetweenPolls() const {
|
|
CALL_DPTR_PROP(IntervalBetweenPolls());
|
|
}
|
|
bool QTOZWOptions::PerformReturnRoutes() const {
|
|
CALL_DPTR_PROP(PerformReturnRoutes());
|
|
}
|
|
QString QTOZWOptions::NetworkKey() const {
|
|
CALL_DPTR_PROP(NetworkKey());
|
|
}
|
|
bool QTOZWOptions::RefreshAllUserCodes() const {
|
|
CALL_DPTR_PROP(RefreshAllUserCodes());
|
|
}
|
|
qint32 QTOZWOptions::RetryTimeout() const {
|
|
CALL_DPTR_PROP(RetryTimeout());
|
|
}
|
|
bool QTOZWOptions::EnableSIS() const {
|
|
CALL_DPTR_PROP(EnableSIS());
|
|
}
|
|
bool QTOZWOptions::AssumeAwake() const {
|
|
CALL_DPTR_PROP(AssumeAwake());
|
|
}
|
|
bool QTOZWOptions::NotifyOnDriverUnload() const {
|
|
CALL_DPTR_PROP(NotifyTransactions());
|
|
}
|
|
OptionList QTOZWOptions::SecurityStrategy() const {
|
|
CALL_DPTR_PROP(SecurityStrategy());
|
|
}
|
|
QString QTOZWOptions::CustomSecuredCC() const {
|
|
CALL_DPTR_PROP(CustomSecuredCC());
|
|
}
|
|
bool QTOZWOptions::EnforceSecureReception() const {
|
|
CALL_DPTR_PROP(EnforceSecureReception());
|
|
}
|
|
bool QTOZWOptions::AutoUpdateConfigFile() const {
|
|
CALL_DPTR_PROP(AutoUpdateConfigFile());
|
|
}
|
|
OptionList QTOZWOptions::ReloadAfterUpdate() const {
|
|
CALL_DPTR_PROP(ReloadAfterUpdate());
|
|
}
|
|
QString QTOZWOptions::Language() const {
|
|
CALL_DPTR_PROP(Language());
|
|
}
|
|
bool QTOZWOptions::IncludeInstanceLabels() const {
|
|
CALL_DPTR_PROP(IncludeInstanceLabels());
|
|
}
|
|
void QTOZWOptions::setConfigPath(QString ConfigPath) {
|
|
CALL_DPTR_PROP_SET(ConfigPath);
|
|
}
|
|
void QTOZWOptions::setUserPath(QString UserPath) {
|
|
CALL_DPTR_PROP_SET(UserPath);
|
|
}
|
|
void QTOZWOptions::setLogging(bool Logging) {
|
|
CALL_DPTR_PROP_SET(Logging);
|
|
}
|
|
void QTOZWOptions::setLogFileName(QString LogFileName) {
|
|
CALL_DPTR_PROP_SET(LogFileName);
|
|
}
|
|
void QTOZWOptions::setAppendLogFile(bool AppendLogFile) {
|
|
CALL_DPTR_PROP_SET(AppendLogFile);
|
|
}
|
|
void QTOZWOptions::setConsoleOutput(bool ConsoleOutput) {
|
|
CALL_DPTR_PROP_SET(ConsoleOutput);
|
|
}
|
|
void QTOZWOptions::setSaveLogLevel(OptionList SaveLogLevel) {
|
|
CALL_DPTR_PROP_SET_TYPE(SaveLogLevel, OptionList);
|
|
}
|
|
void QTOZWOptions::setQueueLogLevel(OptionList QueueLogLevel) {
|
|
CALL_DPTR_PROP_SET_TYPE(QueueLogLevel, OptionList);
|
|
}
|
|
void QTOZWOptions::setDumpTriggerLevel(OptionList DumpTriggerLevel) {
|
|
CALL_DPTR_PROP_SET_TYPE(DumpTriggerLevel, OptionList);
|
|
}
|
|
void QTOZWOptions::setAssociate(bool Associate) {
|
|
CALL_DPTR_PROP_SET(Associate);
|
|
}
|
|
void QTOZWOptions::setExclude(QString Exclude) {
|
|
CALL_DPTR_PROP_SET(Exclude);
|
|
}
|
|
void QTOZWOptions::setInclude(QString Include) {
|
|
CALL_DPTR_PROP_SET(Include);
|
|
}
|
|
void QTOZWOptions::setNotifyTransactions(bool NotifyTransactions) {
|
|
CALL_DPTR_PROP_SET(NotifyTransactions);
|
|
}
|
|
void QTOZWOptions::setInterface(QString Interface) {
|
|
CALL_DPTR_PROP_SET(Interface);
|
|
}
|
|
void QTOZWOptions::setSaveConfiguration(bool SaveConfiguration) {
|
|
CALL_DPTR_PROP_SET(SaveConfiguration);
|
|
}
|
|
void QTOZWOptions::setDriverMaxAttempts(qint32 DriverMaxAttempts) {
|
|
CALL_DPTR_PROP_SET(DriverMaxAttempts);
|
|
}
|
|
void QTOZWOptions::setPollInterval(qint32 PollInterval) {
|
|
CALL_DPTR_PROP_SET(PollInterval);
|
|
}
|
|
void QTOZWOptions::setIntervalBetweenPolls(bool IntervalBetweenPolls) {
|
|
CALL_DPTR_PROP_SET(IntervalBetweenPolls);
|
|
}
|
|
void QTOZWOptions::setSuppressValueRefresh(bool SuppressValueRefresh) {
|
|
CALL_DPTR_PROP_SET(SuppressValueRefresh);
|
|
}
|
|
void QTOZWOptions::setPerformReturnRoutes(bool PerformReturnRoutes) {
|
|
CALL_DPTR_PROP_SET(PerformReturnRoutes);
|
|
}
|
|
void QTOZWOptions::setNetworkKey(QString NetworkKey) {
|
|
CALL_DPTR_PROP_SET(NetworkKey);
|
|
}
|
|
void QTOZWOptions::setRefreshAllUserCodes(bool RefreshAllUserCodes) {
|
|
CALL_DPTR_PROP_SET(RefreshAllUserCodes);
|
|
}
|
|
void QTOZWOptions::setRetryTimeout(qint32 RetryTimeout) {
|
|
CALL_DPTR_PROP_SET(RetryTimeout);
|
|
}
|
|
void QTOZWOptions::setEnableSIS(bool EnableSIS) {
|
|
CALL_DPTR_PROP_SET(EnableSIS);
|
|
}
|
|
void QTOZWOptions::setAssumeAwake(bool AssumeAwake) {
|
|
CALL_DPTR_PROP_SET(AssumeAwake);
|
|
}
|
|
void QTOZWOptions::setNotifyOnDriverUnload(bool NotifyOnDriverUnload) {
|
|
CALL_DPTR_PROP_SET(NotifyOnDriverUnload);
|
|
}
|
|
void QTOZWOptions::setSecurityStrategy(OptionList SecurityStrategy) {
|
|
CALL_DPTR_PROP_SET_TYPE(SecurityStrategy, OptionList);
|
|
}
|
|
void QTOZWOptions::setCustomSecuredCC(QString CustomSecuredCC) {
|
|
CALL_DPTR_PROP_SET(CustomSecuredCC);
|
|
}
|
|
void QTOZWOptions::setEnforceSecureReception(bool EnforceSecureReception) {
|
|
CALL_DPTR_PROP_SET(EnforceSecureReception);
|
|
}
|
|
void QTOZWOptions::setAutoUpdateConfigFile(bool AutoUpdateConfigFile) {
|
|
CALL_DPTR_PROP_SET(AutoUpdateConfigFile);
|
|
}
|
|
void QTOZWOptions::setReloadAfterUpdate(OptionList ReloadAfterUpdate) {
|
|
CALL_DPTR_PROP_SET_TYPE(ReloadAfterUpdate, OptionList);
|
|
}
|
|
void QTOZWOptions::setLanguage(QString Language) {
|
|
CALL_DPTR_PROP_SET(Language);
|
|
}
|
|
void QTOZWOptions::setIncludeInstanceLabels(bool IncludeInstanceLabels) {
|
|
CALL_DPTR_PROP_SET(IncludeInstanceLabels);
|
|
}
|
|
|
|
bool QTOZWOptions::AddOptionBool(QString option, bool value) {
|
|
CALL_DPTR_METHOD_RTN(AddOptionBool(option, value), bool);
|
|
}
|
|
bool QTOZWOptions::AddOptionInt(QString option, qint32 value) {
|
|
CALL_DPTR_METHOD_RTN(AddOptionInt(option, value), bool)
|
|
}
|
|
bool QTOZWOptions::AddOptionString(QString option, QString value) {
|
|
CALL_DPTR_METHOD_RTN(AddOptionString(option, value), bool)
|
|
}
|
|
bool QTOZWOptions::GetOptionAsBool(QString option) {
|
|
CALL_DPTR_METHOD_RTN(GetOptionAsBool(option), bool);
|
|
}
|
|
qint32 QTOZWOptions::GetOptionAsInt(QString option) {
|
|
CALL_DPTR_METHOD_RTN(GetOptionAsInt(option), qint32);
|
|
}
|
|
QString QTOZWOptions::GetOptionAsString(QString option) {
|
|
CALL_DPTR_METHOD_RTN(GetOptionAsString(option), QString);
|
|
}
|
|
|
|
bool QTOZWOptions::isLocked() {
|
|
CALL_DPTR_METHOD_RTN(isLocked(), bool);
|
|
}
|