summaryrefslogtreecommitdiffstats
path: root/kipi-plugins/sync/sinks.h
diff options
context:
space:
mode:
Diffstat (limited to 'kipi-plugins/sync/sinks.h')
-rw-r--r--kipi-plugins/sync/sinks.h81
1 files changed, 81 insertions, 0 deletions
diff --git a/kipi-plugins/sync/sinks.h b/kipi-plugins/sync/sinks.h
new file mode 100644
index 0000000..21d70fa
--- /dev/null
+++ b/kipi-plugins/sync/sinks.h
@@ -0,0 +1,81 @@
+/* ============================================================
+ * File : sinks.h
+ * Author: Colin Guthrie <kde@colin.guthr.ie>
+ * Date : 2007-01-14
+ *
+ * Copyright 2007 by Colin Guthrie <kde@colin.guthr.ie>
+ *
+ * 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 2, 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.
+ * ============================================================ */
+
+#ifndef SINKS_H
+#define SINKS_H
+
+#include <qptrlist.h>
+#include <qlistview.h>
+
+// Some sinks may wish to make use of the Wallet to store sensitive
+// information so we manage it here.
+namespace KWallet
+{
+class Wallet;
+}
+
+namespace KIPISyncPlugin
+{
+
+// Forward Declarations
+class Sink;
+
+/* Simple Stub Class to allow easy access to Sinks from GUI elements */
+class SinkQListViewItem : public QListViewItem
+{
+
+public:
+ SinkQListViewItem(Sink* pSink, QListView* pParent);
+
+ Sink* GetSink();
+ void Refresh();
+
+private:
+ Sink* mpSink;
+
+};
+
+
+typedef QPtrList<Sink> SinkPtrList;
+
+/* Container class for all Sinks */
+class Sinks
+{
+
+public:
+ Sinks();
+ ~Sinks();
+
+ Sink* Add(QString type, QString name);
+ void Remove(Sink* pSink);
+ void Save();
+ void asQListView(QListView* pListView);
+
+private:
+ void Load();
+
+ KWallet::Wallet* mpWallet;
+
+ SinkPtrList mSinks;
+ unsigned int mMaxSinkId;
+};
+
+
+}
+
+#endif /* SINKS_H */