summaryrefslogtreecommitdiffstats
path: root/src/calendarhandler.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/calendarhandler.h')
-rw-r--r--src/calendarhandler.h57
1 files changed, 57 insertions, 0 deletions
diff --git a/src/calendarhandler.h b/src/calendarhandler.h
new file mode 100644
index 0000000..5e01b62
--- /dev/null
+++ b/src/calendarhandler.h
@@ -0,0 +1,57 @@
+/***************************************************************************
+ copyright : (C) 2005-2006 by Robby Stephenson
+ email : robby@periapsis.org
+ ***************************************************************************/
+
+/***************************************************************************
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of version 2 of the GNU General Public License as *
+ * published by the Free Software Foundation; *
+ * *
+ ***************************************************************************/
+
+#ifndef TELLICO_CALENDARHANDLER_H
+#define TELLICO_CALENDARHANDLER_H
+
+#include <config.h>
+#include "borrower.h"
+
+#include <kdeversion.h>
+
+// libkcal is not binary compatible between versions
+// for now, just support KDE 3.4 and higher
+#if defined(HAVE_KCAL) && KDE_IS_VERSION(3,3,90)
+#define USE_KCAL
+#endif
+
+namespace KCal {
+ class CalendarResources;
+ class Todo;
+}
+
+namespace Tellico {
+
+/**
+ * @author Robby Stephenson
+ */
+class CalendarHandler {
+public:
+ static void addLoans(Data::LoanVec loans);
+ static void modifyLoans(Data::LoanVec loans);
+ static void removeLoans(Data::LoanVec loans);
+
+private:
+ static QString timezone();
+
+#ifdef USE_KCAL
+ // helper function
+ static void addLoans(Data::LoanVec loans, KCal::CalendarResources* resources);
+ static bool checkCalendar(KCal::CalendarResources* resources);
+ static void populateTodo(KCal::Todo* todo, Data::LoanPtr loan);
+#endif
+};
+
+} // end namespace
+
+#endif