adding basic structure of time management to the api
This commit is contained in:
parent
ccdc2bd18e
commit
80e7d289f7
5
guh.pri
5
guh.pri
@ -14,13 +14,16 @@ QT+= network
|
|||||||
QMAKE_CXXFLAGS += -Werror -std=c++11 -g
|
QMAKE_CXXFLAGS += -Werror -std=c++11 -g
|
||||||
QMAKE_LFLAGS += -std=c++11
|
QMAKE_LFLAGS += -std=c++11
|
||||||
|
|
||||||
|
top_srcdir=$$PWD
|
||||||
|
top_builddir=$$shadowed($$PWD)
|
||||||
|
|
||||||
# Check for Bluetoot LE support (Qt >= 5.4)
|
# Check for Bluetoot LE support (Qt >= 5.4)
|
||||||
equals(QT_MAJOR_VERSION, 5):greaterThan(QT_MINOR_VERSION, 3) {
|
equals(QT_MAJOR_VERSION, 5):greaterThan(QT_MINOR_VERSION, 3) {
|
||||||
QT += bluetooth
|
QT += bluetooth
|
||||||
DEFINES += BLUETOOTH_LE
|
DEFINES += BLUETOOTH_LE
|
||||||
}
|
}
|
||||||
|
|
||||||
# Enable coverage option
|
# Enable coverage option
|
||||||
coverage {
|
coverage {
|
||||||
OBJECTS_DIR =
|
OBJECTS_DIR =
|
||||||
MOC_DIR =
|
MOC_DIR =
|
||||||
|
|||||||
7
guh.pro
7
guh.pro
@ -46,11 +46,12 @@ coverage {
|
|||||||
}
|
}
|
||||||
|
|
||||||
# Build tests
|
# Build tests
|
||||||
!disabletesting {
|
disabletesting {
|
||||||
|
message("Building guh without tests")
|
||||||
|
} else {
|
||||||
message("Building guh with tests")
|
message("Building guh with tests")
|
||||||
SUBDIRS += tests
|
SUBDIRS += tests
|
||||||
} else {
|
DEFINES += TESTING_ENABLED
|
||||||
message("Building guh without tests")
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# Bluetooth LE support
|
# Bluetooth LE support
|
||||||
|
|||||||
@ -917,6 +917,11 @@ DeviceManager::DeviceError DeviceManager::executeAction(const Action &action)
|
|||||||
return DeviceErrorDeviceNotFound;
|
return DeviceErrorDeviceNotFound;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void DeviceManager::timeTick()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
void DeviceManager::loadPlugins()
|
void DeviceManager::loadPlugins()
|
||||||
{
|
{
|
||||||
foreach (const QString &path, pluginSearchDirs()) {
|
foreach (const QString &path, pluginSearchDirs()) {
|
||||||
|
|||||||
@ -153,6 +153,7 @@ signals:
|
|||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
DeviceError executeAction(const Action &action);
|
DeviceError executeAction(const Action &action);
|
||||||
|
void timeTick();
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void loadPlugins();
|
void loadPlugins();
|
||||||
|
|||||||
@ -361,6 +361,12 @@ RuleEngine *GuhCore::ruleEngine() const
|
|||||||
GuhCore::GuhCore(QObject *parent) :
|
GuhCore::GuhCore(QObject *parent) :
|
||||||
QObject(parent)
|
QObject(parent)
|
||||||
{
|
{
|
||||||
|
qCDebug(dcApplication) << "Creating centralized timer";
|
||||||
|
m_guhTimer = new QTimer(this);
|
||||||
|
m_guhTimer->setInterval(1000);
|
||||||
|
m_guhTimer->setSingleShot(false);
|
||||||
|
m_currentDateTime = QDateTime::currentDateTime();
|
||||||
|
|
||||||
qCDebug(dcApplication) << "Creating Log Engine";
|
qCDebug(dcApplication) << "Creating Log Engine";
|
||||||
m_logger = new LogEngine(this);
|
m_logger = new LogEngine(this);
|
||||||
|
|
||||||
@ -388,7 +394,10 @@ GuhCore::GuhCore(QObject *parent) :
|
|||||||
connect(m_ruleEngine, &RuleEngine::ruleRemoved, this, &GuhCore::ruleRemoved);
|
connect(m_ruleEngine, &RuleEngine::ruleRemoved, this, &GuhCore::ruleRemoved);
|
||||||
connect(m_ruleEngine, &RuleEngine::ruleConfigurationChanged, this, &GuhCore::ruleConfigurationChanged);
|
connect(m_ruleEngine, &RuleEngine::ruleConfigurationChanged, this, &GuhCore::ruleConfigurationChanged);
|
||||||
|
|
||||||
|
connect(m_guhTimer, &QTimer::timeout, this, &GuhCore::guhTimeout);
|
||||||
|
|
||||||
m_logger->logSystemEvent(true);
|
m_logger->logSystemEvent(true);
|
||||||
|
m_guhTimer->start();
|
||||||
}
|
}
|
||||||
|
|
||||||
/*! Connected to the DeviceManager's emitEvent signal. Events received in
|
/*! Connected to the DeviceManager's emitEvent signal. Events received in
|
||||||
@ -449,6 +458,19 @@ void GuhCore::gotEvent(const Event &event)
|
|||||||
executeRuleActions(actions);
|
executeRuleActions(actions);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void GuhCore::guhTimeout()
|
||||||
|
{
|
||||||
|
m_deviceManager->timeTick();
|
||||||
|
|
||||||
|
// Minute based time -> only evaluate time based rules if the minute changed
|
||||||
|
if (m_currentDateTime.time().minute() != QDateTime::currentDateTime().time().minute()) {
|
||||||
|
qCDebug(dcApplication) << "Guh time changed" << QDateTime::currentDateTime().time().toString("hh:mm:ss");
|
||||||
|
m_currentDateTime = QDateTime::currentDateTime();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
/*! Return the instance of the log engine */
|
/*! Return the instance of the log engine */
|
||||||
LogEngine* GuhCore::logEngine() const
|
LogEngine* GuhCore::logEngine() const
|
||||||
{
|
{
|
||||||
|
|||||||
@ -33,7 +33,7 @@
|
|||||||
#include "servermanager.h"
|
#include "servermanager.h"
|
||||||
|
|
||||||
#include <QObject>
|
#include <QObject>
|
||||||
#include <QDebug>
|
#include <QDateTime>
|
||||||
|
|
||||||
class Device;
|
class Device;
|
||||||
|
|
||||||
@ -99,8 +99,13 @@ private:
|
|||||||
|
|
||||||
QHash<ActionId, Action> m_pendingActions;
|
QHash<ActionId, Action> m_pendingActions;
|
||||||
|
|
||||||
|
QTimer *m_guhTimer;
|
||||||
|
QDateTime m_currentDateTime;
|
||||||
|
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void gotEvent(const Event &event);
|
void gotEvent(const Event &event);
|
||||||
|
void guhTimeout();
|
||||||
void actionExecutionFinished(const ActionId &id, DeviceManager::DeviceError status);
|
void actionExecutionFinished(const ActionId &id, DeviceManager::DeviceError status);
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|||||||
@ -80,6 +80,7 @@ QVariantList JsonTypes::s_loggingError;
|
|||||||
QVariantList JsonTypes::s_loggingSource;
|
QVariantList JsonTypes::s_loggingSource;
|
||||||
QVariantList JsonTypes::s_loggingLevel;
|
QVariantList JsonTypes::s_loggingLevel;
|
||||||
QVariantList JsonTypes::s_loggingEventType;
|
QVariantList JsonTypes::s_loggingEventType;
|
||||||
|
QVariantList JsonTypes::s_repeatingMode;
|
||||||
|
|
||||||
QVariantMap JsonTypes::s_paramType;
|
QVariantMap JsonTypes::s_paramType;
|
||||||
QVariantMap JsonTypes::s_param;
|
QVariantMap JsonTypes::s_param;
|
||||||
@ -103,6 +104,11 @@ QVariantMap JsonTypes::s_deviceDescriptor;
|
|||||||
QVariantMap JsonTypes::s_rule;
|
QVariantMap JsonTypes::s_rule;
|
||||||
QVariantMap JsonTypes::s_ruleDescription;
|
QVariantMap JsonTypes::s_ruleDescription;
|
||||||
QVariantMap JsonTypes::s_logEntry;
|
QVariantMap JsonTypes::s_logEntry;
|
||||||
|
QVariantMap JsonTypes::s_timeDescriptor;
|
||||||
|
QVariantMap JsonTypes::s_calendarItem;
|
||||||
|
QVariantMap JsonTypes::s_timeEventItem;
|
||||||
|
QVariantMap JsonTypes::s_repeatingOption;
|
||||||
|
|
||||||
|
|
||||||
void JsonTypes::init()
|
void JsonTypes::init()
|
||||||
{
|
{
|
||||||
@ -123,6 +129,7 @@ void JsonTypes::init()
|
|||||||
s_loggingSource = enumToStrings(Logging::staticMetaObject, "LoggingSource");
|
s_loggingSource = enumToStrings(Logging::staticMetaObject, "LoggingSource");
|
||||||
s_loggingLevel = enumToStrings(Logging::staticMetaObject, "LoggingLevel");
|
s_loggingLevel = enumToStrings(Logging::staticMetaObject, "LoggingLevel");
|
||||||
s_loggingEventType = enumToStrings(Logging::staticMetaObject, "LoggingEventType");
|
s_loggingEventType = enumToStrings(Logging::staticMetaObject, "LoggingEventType");
|
||||||
|
s_repeatingMode = enumToStrings(RepeatingOption::staticMetaObject, "RepeatingMode");
|
||||||
|
|
||||||
// ParamType
|
// ParamType
|
||||||
s_paramType.insert("name", basicTypeToString(String));
|
s_paramType.insert("name", basicTypeToString(String));
|
||||||
@ -140,7 +147,7 @@ void JsonTypes::init()
|
|||||||
s_param.insert("value", basicTypeRef());
|
s_param.insert("value", basicTypeRef());
|
||||||
|
|
||||||
// RuleAction
|
// RuleAction
|
||||||
s_ruleAction.insert("actionTypeId", basicTypeToString(Uuid));
|
s_ruleAction.insert(" actionTypeId", basicTypeToString(Uuid));
|
||||||
s_ruleAction.insert("deviceId", basicTypeToString(Uuid));
|
s_ruleAction.insert("deviceId", basicTypeToString(Uuid));
|
||||||
s_ruleAction.insert("o:ruleActionParams", QVariantList() << ruleActionParamRef());
|
s_ruleAction.insert("o:ruleActionParams", QVariantList() << ruleActionParamRef());
|
||||||
|
|
||||||
@ -318,6 +325,7 @@ QVariantMap JsonTypes::allTypes()
|
|||||||
allTypes.insert("LoggingLevel", loggingLevel());
|
allTypes.insert("LoggingLevel", loggingLevel());
|
||||||
allTypes.insert("LoggingSource", loggingSource());
|
allTypes.insert("LoggingSource", loggingSource());
|
||||||
allTypes.insert("LoggingEventType", loggingEventType());
|
allTypes.insert("LoggingEventType", loggingEventType());
|
||||||
|
allTypes.insert("RepeatingMode", repeatingMode());
|
||||||
|
|
||||||
allTypes.insert("StateType", stateTypeDescription());
|
allTypes.insert("StateType", stateTypeDescription());
|
||||||
allTypes.insert("StateDescriptor", stateDescriptorDescription());
|
allTypes.insert("StateDescriptor", stateDescriptorDescription());
|
||||||
@ -340,6 +348,11 @@ QVariantMap JsonTypes::allTypes()
|
|||||||
allTypes.insert("Rule", ruleDescription());
|
allTypes.insert("Rule", ruleDescription());
|
||||||
allTypes.insert("RuleDescription", ruleDescriptionDescription());
|
allTypes.insert("RuleDescription", ruleDescriptionDescription());
|
||||||
allTypes.insert("LogEntry", logEntryDescription());
|
allTypes.insert("LogEntry", logEntryDescription());
|
||||||
|
allTypes.insert("TimeDescriptor", timeDescriptorDescription());
|
||||||
|
allTypes.insert("CalendarItem", calendarItemDescription());
|
||||||
|
allTypes.insert("TimeEventItem", timeEventItemDescription());
|
||||||
|
allTypes.insert("RepeatingOption", repeatingOptionDescription());
|
||||||
|
|
||||||
return allTypes;
|
return allTypes;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -39,6 +39,11 @@
|
|||||||
#include "logging/logentry.h"
|
#include "logging/logentry.h"
|
||||||
#include "logging/logfilter.h"
|
#include "logging/logfilter.h"
|
||||||
|
|
||||||
|
#include "time/calendaritem.h"
|
||||||
|
#include "time/repeatingoption.h"
|
||||||
|
#include "time/timedescriptor.h"
|
||||||
|
#include "time/timeeventitem.h"
|
||||||
|
|
||||||
#include <QObject>
|
#include <QObject>
|
||||||
|
|
||||||
#include <QVariantMap>
|
#include <QVariantMap>
|
||||||
@ -115,6 +120,7 @@ public:
|
|||||||
DECLARE_TYPE(loggingSource, "LoggingSource", Logging, LoggingSource)
|
DECLARE_TYPE(loggingSource, "LoggingSource", Logging, LoggingSource)
|
||||||
DECLARE_TYPE(loggingLevel, "LoggingLevel", Logging, LoggingLevel)
|
DECLARE_TYPE(loggingLevel, "LoggingLevel", Logging, LoggingLevel)
|
||||||
DECLARE_TYPE(loggingEventType, "LoggingEventType", Logging, LoggingEventType)
|
DECLARE_TYPE(loggingEventType, "LoggingEventType", Logging, LoggingEventType)
|
||||||
|
DECLARE_TYPE(repeatingMode, "RepeatingMode", RepeatingOption, RepeatingMode)
|
||||||
|
|
||||||
DECLARE_OBJECT(paramType, "ParamType")
|
DECLARE_OBJECT(paramType, "ParamType")
|
||||||
DECLARE_OBJECT(param, "Param")
|
DECLARE_OBJECT(param, "Param")
|
||||||
@ -138,8 +144,12 @@ public:
|
|||||||
DECLARE_OBJECT(rule, "Rule")
|
DECLARE_OBJECT(rule, "Rule")
|
||||||
DECLARE_OBJECT(ruleDescription, "RuleDescription")
|
DECLARE_OBJECT(ruleDescription, "RuleDescription")
|
||||||
DECLARE_OBJECT(logEntry, "LogEntry")
|
DECLARE_OBJECT(logEntry, "LogEntry")
|
||||||
|
DECLARE_OBJECT(timeDescriptor, "TimeDescriptor")
|
||||||
|
DECLARE_OBJECT(calendarItem, "CalendarItem")
|
||||||
|
DECLARE_OBJECT(timeEventItem, "TimeEventItem")
|
||||||
|
DECLARE_OBJECT(repeatingOption, "RepeatingOption")
|
||||||
|
|
||||||
// pack types
|
// pack types
|
||||||
static QVariantMap packEventType(const EventType &eventType);
|
static QVariantMap packEventType(const EventType &eventType);
|
||||||
static QVariantMap packEvent(const Event &event);
|
static QVariantMap packEvent(const Event &event);
|
||||||
static QVariantMap packEventDescriptor(const EventDescriptor &event);
|
static QVariantMap packEventDescriptor(const EventDescriptor &event);
|
||||||
|
|||||||
@ -37,6 +37,10 @@ SOURCES += $$top_srcdir/server/guhcore.cpp \
|
|||||||
$$top_srcdir/server/rest/logsresource.cpp \
|
$$top_srcdir/server/rest/logsresource.cpp \
|
||||||
$$top_srcdir/server/rest/pluginsresource.cpp \
|
$$top_srcdir/server/rest/pluginsresource.cpp \
|
||||||
$$top_srcdir/server/rest/rulesresource.cpp \
|
$$top_srcdir/server/rest/rulesresource.cpp \
|
||||||
|
$$top_srcdir/server/time/timedescriptor.cpp \
|
||||||
|
$$top_srcdir/server/time/calendaritem.cpp \
|
||||||
|
$$top_srcdir/server/time/repeatingoption.cpp \
|
||||||
|
$$top_srcdir/server/time/timeeventitem.cpp \
|
||||||
|
|
||||||
|
|
||||||
HEADERS += $$top_srcdir/server/guhcore.h \
|
HEADERS += $$top_srcdir/server/guhcore.h \
|
||||||
@ -70,5 +74,9 @@ HEADERS += $$top_srcdir/server/guhcore.h \
|
|||||||
$$top_srcdir/server/rest/logsresource.h \
|
$$top_srcdir/server/rest/logsresource.h \
|
||||||
$$top_srcdir/server/rest/pluginsresource.h \
|
$$top_srcdir/server/rest/pluginsresource.h \
|
||||||
$$top_srcdir/server/rest/rulesresource.h \
|
$$top_srcdir/server/rest/rulesresource.h \
|
||||||
|
$$top_srcdir/server/time/timedescriptor.h \
|
||||||
|
$$top_srcdir/server/time/calendaritem.h \
|
||||||
|
$$top_srcdir/server/time/repeatingoption.h \
|
||||||
|
$$top_srcdir/server/time/timeeventitem.h \
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
42
server/time/calendaritem.cpp
Normal file
42
server/time/calendaritem.cpp
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
||||||
|
* *
|
||||||
|
* Copyright (C) 2016 Simon Stuerz <simon.stuerz@guh.guru> *
|
||||||
|
* *
|
||||||
|
* This file is part of guh. *
|
||||||
|
* *
|
||||||
|
* Guh is free software: you can redistribute it and/or modify *
|
||||||
|
* it under the terms of the GNU General Public License as published by *
|
||||||
|
* the Free Software Foundation, version 2 of the License. *
|
||||||
|
* *
|
||||||
|
* Guh is distributed in the hope that it will be useful, *
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
||||||
|
* GNU General Public License for more details. *
|
||||||
|
* *
|
||||||
|
* You should have received a copy of the GNU General Public License *
|
||||||
|
* along with guh. If not, see <http://www.gnu.org/licenses/>. *
|
||||||
|
* *
|
||||||
|
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
||||||
|
|
||||||
|
#include "calendaritem.h"
|
||||||
|
|
||||||
|
namespace guhserver {
|
||||||
|
|
||||||
|
CalendarItem::CalendarItem(const QTime startTime, const QTime duration) :
|
||||||
|
m_startTime(startTime),
|
||||||
|
m_duration(duration)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
QTime CalendarItem::startTime() const
|
||||||
|
{
|
||||||
|
return m_startTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
QTime CalendarItem::duration() const
|
||||||
|
{
|
||||||
|
return m_duration;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
44
server/time/calendaritem.h
Normal file
44
server/time/calendaritem.h
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
||||||
|
* *
|
||||||
|
* Copyright (C) 2016 Simon Stuerz <simon.stuerz@guh.guru> *
|
||||||
|
* *
|
||||||
|
* This file is part of guh. *
|
||||||
|
* *
|
||||||
|
* Guh is free software: you can redistribute it and/or modify *
|
||||||
|
* it under the terms of the GNU General Public License as published by *
|
||||||
|
* the Free Software Foundation, version 2 of the License. *
|
||||||
|
* *
|
||||||
|
* Guh is distributed in the hope that it will be useful, *
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
||||||
|
* GNU General Public License for more details. *
|
||||||
|
* *
|
||||||
|
* You should have received a copy of the GNU General Public License *
|
||||||
|
* along with guh. If not, see <http://www.gnu.org/licenses/>. *
|
||||||
|
* *
|
||||||
|
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
||||||
|
|
||||||
|
#ifndef CALENDARITEM_H
|
||||||
|
#define CALENDARITEM_H
|
||||||
|
|
||||||
|
#include <QTime>
|
||||||
|
|
||||||
|
namespace guhserver {
|
||||||
|
|
||||||
|
class CalendarItem
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
CalendarItem(const QTime startTime, const QTime duration);
|
||||||
|
|
||||||
|
QTime startTime() const;
|
||||||
|
QTime duration() const;
|
||||||
|
|
||||||
|
private:
|
||||||
|
QTime m_startTime;
|
||||||
|
QTime m_duration;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif // CALENDARITEM_H
|
||||||
30
server/time/repeatingoption.cpp
Normal file
30
server/time/repeatingoption.cpp
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
||||||
|
* *
|
||||||
|
* Copyright (C) 2016 Simon Stuerz <simon.stuerz@guh.guru> *
|
||||||
|
* *
|
||||||
|
* This file is part of guh. *
|
||||||
|
* *
|
||||||
|
* Guh is free software: you can redistribute it and/or modify *
|
||||||
|
* it under the terms of the GNU General Public License as published by *
|
||||||
|
* the Free Software Foundation, version 2 of the License. *
|
||||||
|
* *
|
||||||
|
* Guh is distributed in the hope that it will be useful, *
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
||||||
|
* GNU General Public License for more details. *
|
||||||
|
* *
|
||||||
|
* You should have received a copy of the GNU General Public License *
|
||||||
|
* along with guh. If not, see <http://www.gnu.org/licenses/>. *
|
||||||
|
* *
|
||||||
|
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
||||||
|
|
||||||
|
#include "repeatingoption.h"
|
||||||
|
|
||||||
|
namespace guhserver {
|
||||||
|
|
||||||
|
RepeatingOption::RepeatingOption()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
51
server/time/repeatingoption.h
Normal file
51
server/time/repeatingoption.h
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
||||||
|
* *
|
||||||
|
* Copyright (C) 2016 Simon Stuerz <simon.stuerz@guh.guru> *
|
||||||
|
* *
|
||||||
|
* This file is part of guh. *
|
||||||
|
* *
|
||||||
|
* Guh is free software: you can redistribute it and/or modify *
|
||||||
|
* it under the terms of the GNU General Public License as published by *
|
||||||
|
* the Free Software Foundation, version 2 of the License. *
|
||||||
|
* *
|
||||||
|
* Guh is distributed in the hope that it will be useful, *
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
||||||
|
* GNU General Public License for more details. *
|
||||||
|
* *
|
||||||
|
* You should have received a copy of the GNU General Public License *
|
||||||
|
* along with guh. If not, see <http://www.gnu.org/licenses/>. *
|
||||||
|
* *
|
||||||
|
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
||||||
|
|
||||||
|
#ifndef REPEATINGOPTION_H
|
||||||
|
#define REPEATINGOPTION_H
|
||||||
|
|
||||||
|
#include <QMetaType>
|
||||||
|
|
||||||
|
namespace guhserver {
|
||||||
|
|
||||||
|
class RepeatingOption
|
||||||
|
{
|
||||||
|
Q_GADGET
|
||||||
|
Q_ENUMS(RepeatingMode)
|
||||||
|
|
||||||
|
public:
|
||||||
|
enum RepeatingMode {
|
||||||
|
RepeatingModeNone,
|
||||||
|
RepeatingModeHourly,
|
||||||
|
RepeatingModeDaily,
|
||||||
|
RepeatingModeWeekly,
|
||||||
|
RepeatingModeMonthly
|
||||||
|
};
|
||||||
|
|
||||||
|
RepeatingOption();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif // REPEATINGOPTION_H
|
||||||
30
server/time/timedescriptor.cpp
Normal file
30
server/time/timedescriptor.cpp
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
||||||
|
* *
|
||||||
|
* Copyright (C) 2016 Simon Stuerz <simon.stuerz@guh.guru> *
|
||||||
|
* *
|
||||||
|
* This file is part of guh. *
|
||||||
|
* *
|
||||||
|
* Guh is free software: you can redistribute it and/or modify *
|
||||||
|
* it under the terms of the GNU General Public License as published by *
|
||||||
|
* the Free Software Foundation, version 2 of the License. *
|
||||||
|
* *
|
||||||
|
* Guh is distributed in the hope that it will be useful, *
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
||||||
|
* GNU General Public License for more details. *
|
||||||
|
* *
|
||||||
|
* You should have received a copy of the GNU General Public License *
|
||||||
|
* along with guh. If not, see <http://www.gnu.org/licenses/>. *
|
||||||
|
* *
|
||||||
|
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
||||||
|
|
||||||
|
#include "timedescriptor.h"
|
||||||
|
|
||||||
|
namespace guhserver {
|
||||||
|
|
||||||
|
TimeDescriptor::TimeDescriptor()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
35
server/time/timedescriptor.h
Normal file
35
server/time/timedescriptor.h
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
||||||
|
* *
|
||||||
|
* Copyright (C) 2016 Simon Stuerz <simon.stuerz@guh.guru> *
|
||||||
|
* *
|
||||||
|
* This file is part of guh. *
|
||||||
|
* *
|
||||||
|
* Guh is free software: you can redistribute it and/or modify *
|
||||||
|
* it under the terms of the GNU General Public License as published by *
|
||||||
|
* the Free Software Foundation, version 2 of the License. *
|
||||||
|
* *
|
||||||
|
* Guh is distributed in the hope that it will be useful, *
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
||||||
|
* GNU General Public License for more details. *
|
||||||
|
* *
|
||||||
|
* You should have received a copy of the GNU General Public License *
|
||||||
|
* along with guh. If not, see <http://www.gnu.org/licenses/>. *
|
||||||
|
* *
|
||||||
|
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
||||||
|
|
||||||
|
#ifndef TIMEDESCRIPTOR_H
|
||||||
|
#define TIMEDESCRIPTOR_H
|
||||||
|
|
||||||
|
namespace guhserver {
|
||||||
|
|
||||||
|
class TimeDescriptor
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
explicit TimeDescriptor();
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif // TIMEDESCRIPTOR_H
|
||||||
30
server/time/timeeventitem.cpp
Normal file
30
server/time/timeeventitem.cpp
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
||||||
|
* *
|
||||||
|
* Copyright (C) 2016 Simon Stuerz <simon.stuerz@guh.guru> *
|
||||||
|
* *
|
||||||
|
* This file is part of guh. *
|
||||||
|
* *
|
||||||
|
* Guh is free software: you can redistribute it and/or modify *
|
||||||
|
* it under the terms of the GNU General Public License as published by *
|
||||||
|
* the Free Software Foundation, version 2 of the License. *
|
||||||
|
* *
|
||||||
|
* Guh is distributed in the hope that it will be useful, *
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
||||||
|
* GNU General Public License for more details. *
|
||||||
|
* *
|
||||||
|
* You should have received a copy of the GNU General Public License *
|
||||||
|
* along with guh. If not, see <http://www.gnu.org/licenses/>. *
|
||||||
|
* *
|
||||||
|
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
||||||
|
|
||||||
|
#include "timeeventitem.h"
|
||||||
|
|
||||||
|
namespace guhserver {
|
||||||
|
|
||||||
|
TimeEventItem::TimeEventItem()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
35
server/time/timeeventitem.h
Normal file
35
server/time/timeeventitem.h
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
||||||
|
* *
|
||||||
|
* Copyright (C) 2016 Simon Stuerz <simon.stuerz@guh.guru> *
|
||||||
|
* *
|
||||||
|
* This file is part of guh. *
|
||||||
|
* *
|
||||||
|
* Guh is free software: you can redistribute it and/or modify *
|
||||||
|
* it under the terms of the GNU General Public License as published by *
|
||||||
|
* the Free Software Foundation, version 2 of the License. *
|
||||||
|
* *
|
||||||
|
* Guh is distributed in the hope that it will be useful, *
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
||||||
|
* GNU General Public License for more details. *
|
||||||
|
* *
|
||||||
|
* You should have received a copy of the GNU General Public License *
|
||||||
|
* along with guh. If not, see <http://www.gnu.org/licenses/>. *
|
||||||
|
* *
|
||||||
|
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
||||||
|
|
||||||
|
#ifndef TIMEEVENTITEM_H
|
||||||
|
#define TIMEEVENTITEM_H
|
||||||
|
|
||||||
|
namespace guhserver {
|
||||||
|
|
||||||
|
class TimeEventItem
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
TimeEventItem();
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif // TIMEEVENTITEM_H
|
||||||
Reference in New Issue
Block a user