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