gloox 1.0

vcardupdate.h

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 VCARDUPDATE_H__
00015 #define VCARDUPDATE_H__
00016 
00017 #include "gloox.h"
00018 #include "stanzaextension.h"
00019 
00020 #include <string>
00021 
00022 namespace gloox
00023 {
00024 
00025   class Tag;
00026 
00035   class GLOOX_API VCardUpdate : public StanzaExtension
00036   {
00037     public:
00041       VCardUpdate();
00042 
00047       VCardUpdate( const std::string& hash );
00048 
00054       VCardUpdate( const Tag* tag );
00055 
00059       virtual ~VCardUpdate();
00060 
00065       const std::string& hash() const { return m_hash; }
00066 
00067       // reimplemented from StanzaExtension
00068       virtual const std::string& filterString() const;
00069 
00070       // reimplemented from StanzaExtension
00071       virtual StanzaExtension* newInstance( const Tag* tag ) const
00072       {
00073         return new VCardUpdate( tag );
00074       }
00075 
00076       // reimplemented from StanzaExtension
00077       Tag* tag() const;
00078 
00079       // reimplemented from StanzaExtension
00080       virtual StanzaExtension* clone() const
00081       {
00082         return new VCardUpdate( *this );
00083       }
00084 
00085     private:
00086       std::string m_hash;
00087       bool m_notReady;
00088       bool m_noImage;
00089       bool m_valid;
00090 
00091   };
00092 
00093 }
00094 
00095 #endif // VCARDUPDATE_H__