summaryrefslogtreecommitdiffstats
path: root/kopete/protocols/yahoo/libkyahoo/yahoobuddyiconloader.h
diff options
context:
space:
mode:
authortoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
committertoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
commitbcb704366cb5e333a626c18c308c7e0448a8e69f (patch)
treef0d6ab7d78ecdd9207cf46536376b44b91a1ca71 /kopete/protocols/yahoo/libkyahoo/yahoobuddyiconloader.h
downloadtdenetwork-bcb704366cb5e333a626c18c308c7e0448a8e69f.tar.gz
tdenetwork-bcb704366cb5e333a626c18c308c7e0448a8e69f.zip
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923 git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdenetwork@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'kopete/protocols/yahoo/libkyahoo/yahoobuddyiconloader.h')
-rw-r--r--kopete/protocols/yahoo/libkyahoo/yahoobuddyiconloader.h77
1 files changed, 77 insertions, 0 deletions
diff --git a/kopete/protocols/yahoo/libkyahoo/yahoobuddyiconloader.h b/kopete/protocols/yahoo/libkyahoo/yahoobuddyiconloader.h
new file mode 100644
index 00000000..c1a943c2
--- /dev/null
+++ b/kopete/protocols/yahoo/libkyahoo/yahoobuddyiconloader.h
@@ -0,0 +1,77 @@
+/*
+ yahoobuddyiconloader.h - Fetches YahooBuddyIcons
+
+ Copyright (c) 2005 by André Duffeck <andre@duffeck.de>
+
+ *************************************************************************
+ * *
+ * 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 of the License, or *
+ * (at your option) any later version. *
+ * *
+ *************************************************************************
+*/
+
+#ifndef YAHOOBUDDYICONLOADER_
+#define YAHOOBUDDYICONLOADER_
+
+// QT Includes
+#include <qobject.h>
+#include <qstring.h>
+#include <qmap.h>
+
+// KDE Includes
+#include <kurl.h>
+
+class KTempFile;
+class Client;
+namespace KIO {
+ class Job;
+ class TransferJob;
+}
+
+struct IconLoadJob {
+ KURL url;
+ QString who;
+ int checksum;
+ KTempFile *file;
+};
+
+/**
+ * @author André Duffeck
+ *
+ * This class handles the download of a Buddy icon.
+ * If the download was succesfull it emits a signal with a pointer
+ * to the temporary file, the icon was stored at
+ */
+class YahooBuddyIconLoader : public QObject
+{
+ Q_OBJECT
+public:
+ YahooBuddyIconLoader( Client *c );
+ ~YahooBuddyIconLoader();
+
+ /**
+ * Add a BuddyIcon for download.
+ */
+ void fetchBuddyIcon( const QString &who, KURL url, int checksum );
+
+signals:
+ /**
+ * The account can connect to this signal and append the icon
+ * stored in 'file' to the apropriate contact
+ */
+ void fetchedBuddyIcon( const QString &who, KTempFile *file, int checksum );
+
+private slots:
+ void slotData( KIO::Job *job, const QByteArray &data );
+ void slotComplete( KIO::Job *job );
+
+private:
+ typedef QMap< KIO::TransferJob *, IconLoadJob > TransferJobMap;
+ TransferJobMap m_jobs;
+ Client *m_client;
+};
+
+#endif