00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #ifndef VCARDMANAGER_H__
00015 #define VCARDMANAGER_H__
00016
00017 #include "gloox.h"
00018 #include "iqhandler.h"
00019
00020 namespace gloox
00021 {
00022
00023 class ClientBase;
00024 class Disco;
00025 class VCard;
00026 class VCardHandler;
00027
00099 class GLOOX_API VCardManager : public IqHandler
00100 {
00101 public:
00105 VCardManager( ClientBase *parent, Disco *disco );
00106
00110 virtual ~VCardManager();
00111
00118 void fetchVCard( const JID& jid, VCardHandler *vch );
00119
00128 void storeVCard( const VCard *vcard, VCardHandler *vch );
00129
00137 void cancelVCardOperations( VCardHandler *vch );
00138
00139
00140 virtual bool handleIq( Stanza *stanza );
00141
00142
00143 virtual bool handleIqID( Stanza *stanza, int context );
00144
00145 private:
00146 typedef std::map<std::string, VCardHandler*> TrackMap;
00147 ClientBase *m_parent;
00148 TrackMap m_trackMap;
00149
00150 };
00151
00152 }
00153
00154 #endif // VCARDMANAGER_H__