Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | Related Pages

delayeddelivery.h

00001 /*
00002   Copyright (c) 2006-2008 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 DELAYEDDELIVERY_H__
00015 #define DELAYEDDELIVERY_H__
00016 
00017 #include "gloox.h"
00018 #include "jid.h"
00019 #include "stanzaextension.h"
00020 
00021 #include <string>
00022 
00023 namespace gloox
00024 {
00025 
00026   class Tag;
00027 
00038   class GLOOX_API DelayedDelivery : public StanzaExtension
00039   {
00040 
00041     public:
00048       DelayedDelivery( const JID& from, const std::string stamp,
00049                        const std::string& reason = "" );
00050 
00055       DelayedDelivery( const Tag* tag = 0 );
00056 
00060       virtual ~DelayedDelivery();
00061 
00068       const std::string& stamp() const { return m_stamp; }
00069 
00074       void setStamp( const std::string& stamp ) { m_stamp = stamp; }
00075 
00083       const JID& from() const { return m_from; }
00084 
00089       void setFrom( const JID& from ) { m_from = from; }
00090 
00095       const std::string& reason() const { return m_reason; }
00096 
00101       void setReason( const std::string& reason ) { m_reason = reason; }
00102 
00103       // reimplemented from StanzaExtension
00104       virtual const std::string& filterString() const;
00105 
00106       // reimplemented from StanzaExtension
00107       virtual StanzaExtension* newInstance( const Tag* tag ) const
00108       {
00109         return new DelayedDelivery( tag );
00110       }
00111 
00112       // reimplemented from StanzaExtension
00113       virtual Tag* tag() const;
00114 
00115     private:
00116       JID m_from;
00117       std::string m_stamp;
00118       std::string m_reason;
00119       bool m_valid;
00120   };
00121 
00122 }
00123 
00124 #endif // DELAYEDDELIVERY_H__

Generated on Tue Apr 22 15:10:10 2008 for gloox by  doxygen 1.4.1