X-Git-Url: http://git.maemo.org/git/?a=blobdiff_plain;f=DBBackends%2FRtcomEventLoggerComponents%2FTriggerDisabler.h;fp=DBBackends%2FRtcomEventLoggerComponents%2FTriggerDisabler.h;h=fe26af9d5c08060c599fd9d225a99596ea0c96b1;hb=d270693d12f8d9c45d08c4f6f4f4151e4edf0f87;hp=0000000000000000000000000000000000000000;hpb=09cf284409d11f5269cbc106429046f993bffa68;p=qwerkisync diff --git a/DBBackends/RtcomEventLoggerComponents/TriggerDisabler.h b/DBBackends/RtcomEventLoggerComponents/TriggerDisabler.h new file mode 100644 index 0000000..fe26af9 --- /dev/null +++ b/DBBackends/RtcomEventLoggerComponents/TriggerDisabler.h @@ -0,0 +1,62 @@ +/* + * Copyright (C) 2011, Jamie Thompson + * + * This program 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; either + * version 3 of the License, or (at your option) any later version. + * + * This program 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 this program; If not, see + * . + */ + +#ifndef DBBACKENDS_RTCOMEVENTLOGGERCOMPONENTS_TRIGGERDISABLER_H +#define DBBACKENDS_RTCOMEVENTLOGGERCOMPONENTS_TRIGGERDISABLER_H + +class Settings; + +#include +class QSqlDatabase; +#include + +namespace DBBackends +{ + namespace RtcomEventLoggerComponents + { + class TriggerDisabler + { + public: + TriggerDisabler(const Settings &settings); + ~TriggerDisabler(); + + void Reenable(); + + protected: + const Settings &CurrentSettings() const { return m_Settings; } + + const QHash &Triggers() const { return m_Triggers; } + + const bool Reenabled() const { return m_Reenabled; } + + void RestoreTriggers(QSqlDatabase &db); + void UpdateGroupCache(QSqlDatabase &db); + + private: + const Settings &m_Settings; + + QHash &Triggers() { return m_Triggers; } + QHash m_Triggers; + + void Reenabled(bool reenabled) { m_Reenabled = reenabled; } + bool m_Reenabled; + }; + } +} + +#endif // DBBACKENDS_RTCOMEVENTLOGGERCOMPONENTS_TRIGGERDISABLER_H