21
21
#ifndef VCARDFACTORY_H
22
22
#define VCARDFACTORY_H
27
#include "xmpp_vcard.h"
28
#include "xmpp_tasks.h"
26
#include <QStringList>
30
34
using namespace XMPP;
36
class VCardFactory : public QObject
35
// call this, when you need a cached vCard
36
static const VCard *vcard(const Jid &);
38
// call this when you need to update vCard in cache
39
static void setVCard(const Jid &, const VCard &);
41
// call this when you need to retrieve fresh vCard from server (and store it in cache afterwards)
42
static JT_VCard *getVCard(const Jid &, Task *rootTask, const QObject *, const char *slot, bool cacheVCard = true);
44
// Register for updates to vcard changes
45
static void registerVCardChanged(const QObject*, const char* slot);
41
static VCardFactory* instance();
42
const VCard *vcard(const Jid &);
43
void setVCard(const Jid &, const VCard &);
44
JT_VCard *getVCard(const Jid &, Task *rootTask, const QObject *, const char *slot, bool cacheVCard = true);
47
void vcardChanged(const Jid&);
50
void checkLimit(QString jid, VCard *vcard);
59
static VCardFactory* instance_;
61
QStringList vcardList_;
62
QMap<QString,VCard*> vcardDict_;