diff options
author | Kevin Smith <git@kismith.co.uk> | 2009-08-01 17:21:06 (GMT) |
---|---|---|
committer | Kevin Smith <git@kismith.co.uk> | 2009-08-01 17:21:06 (GMT) |
commit | 9e3d7f4183f515a4d768be8166936340dee5a9b9 (patch) | |
tree | 1238b84a06e67b493b781259b80e770f5f3e2e41 /Swiften/Roster/SetAvatar.h | |
parent | c3b4fc7dcf8475e4dcf7b42b496e332df4a4f7b1 (diff) | |
download | swift-contrib-9e3d7f4183f515a4d768be8166936340dee5a9b9.zip swift-contrib-9e3d7f4183f515a4d768be8166936340dee5a9b9.tar.bz2 |
Roster now includes avatars.
Diffstat (limited to 'Swiften/Roster/SetAvatar.h')
-rw-r--r-- | Swiften/Roster/SetAvatar.h | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/Swiften/Roster/SetAvatar.h b/Swiften/Roster/SetAvatar.h new file mode 100644 index 0000000..7bc9c37 --- /dev/null +++ b/Swiften/Roster/SetAvatar.h @@ -0,0 +1,33 @@ +#ifndef SWIFTEN_SetAvatar_H +#define SWIFTEN_SetAvatar_H + +#include "Swiften/Elements/Presence.h" +#include "Swiften/JID/JID.h" +#include "Swiften/Roster/RosterItemOperation.h" +#include "Swiften/Roster/ContactRosterItem.h" + +namespace Swift { + +class RosterItem; + +class SetAvatar : public RosterItemOperation { + public: + SetAvatar(const JID& jid, const String& path, JID::CompareType compareType = JID::WithoutResource) : jid_(jid), path_(path), compareType_(compareType) { + } + + virtual void operator() (RosterItem* item) const { + ContactRosterItem* contact = dynamic_cast<ContactRosterItem*>(item); + if (contact && contact->getJID().equals(jid_, compareType_)) { + contact->setAvatarPath(path_); + } + } + + private: + JID jid_; + String path_; + JID::CompareType compareType_; +}; + +} +#endif + |