gloox
1.0
|
00001 /* 00002 Copyright (c) 2006-2009 by Jakob Schroeter <js@camaya.net> 00003 This file is part of the gloox library. http://camaya.net/gloox 00004 00005 This software is distributed under a license. The full license 00006 agreement can be found in the file LICENSE in this distribution. 00007 This software may not be copied, modified, sold or distributed 00008 other than expressed in the named license agreement. 00009 00010 This software is distributed without any warranty. 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 VCard; 00025 class VCardHandler; 00026 00100 class GLOOX_API VCardManager : public IqHandler 00101 { 00102 public: 00107 VCardManager( ClientBase* parent ); 00108 00112 virtual ~VCardManager(); 00113 00120 void fetchVCard( const JID& jid, VCardHandler* vch ); 00121 00130 void storeVCard( VCard* vcard, VCardHandler* vch ); 00131 00139 void cancelVCardOperations( VCardHandler* vch ); 00140 00141 // reimplemented from IqHandler. 00142 virtual bool handleIq( const IQ& iq ) { (void)iq; return false; } 00143 00144 // reimplemented from IqHandler. 00145 virtual void handleIqID( const IQ& iq, int context ); 00146 00147 private: 00148 typedef std::map<std::string, VCardHandler*> TrackMap; 00149 ClientBase* m_parent; 00150 TrackMap m_trackMap; 00151 00152 }; 00153 00154 } 00155 00156 #endif // VCARDMANAGER_H__