gloox 1.0

pubsubitem.h

00001 /*
00002   Copyright (c) 2005-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 PUBSUBITEM_H__
00015 #define PUBSUBITEM_H__
00016 
00017 #include "gloox.h"
00018 
00019 #include <string>
00020 
00021 namespace gloox
00022 {
00023 
00024   class Tag;
00025 
00026   namespace PubSub
00027   {
00028 
00037     class GLOOX_API Item
00038     {
00039       public:
00043         Item();
00044 
00049         Item( const Tag* tag );
00050 
00055         Item( const Item& item );
00056 
00060         ~Item();
00061 
00066         const Tag* payload() const { return m_payload; }
00067 
00072         const std::string& id() const { return m_id; }
00073 
00078         Tag* tag() const;
00079 
00080       private:
00081         Tag* m_payload;
00082         std::string m_id;
00083 
00084     };
00085 
00086   }
00087 
00088 }
00089 
00090 #endif // PUBSUBITEM_H__