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

jingledescription.h

00001 /*
00002   Copyright (c) 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 JINGLEDESCRIPTION_H__
00015 #define JINGLEDESCRIPTION_H__
00016 
00017 
00018 #include "jingleplugin.h"
00019 #include "gloox.h"
00020 
00021 namespace gloox
00022 {
00023 
00024   class Tag;
00025 
00026   namespace Jingle
00027   {
00028 
00039     class Description : public Plugin
00040     {
00041       public:
00049         class Payload
00050         {
00051           public:
00060             Payload( const StringMap& attribs, const StringMap& parameters )
00061               : m_attribs( attribs ), m_parameters( parameters )
00062             {}
00063 
00067             ~Payload() {}
00068 
00074             Tag* tag() const;
00075 
00076           private:
00077             StringMap m_attribs;
00078             StringMap m_parameters;
00079 
00080         };
00081 
00085         typedef std::list<const Description::Payload*> PayloadList;
00086 
00092         Description( const PayloadList& payload )
00093           : m_payload( payload )
00094         {}
00095 
00099         virtual ~Description();
00100 
00101         // reimplemented from Plugin
00102         virtual const std::string& filterString() const;
00103 
00104         // reimplemented from Plugin
00105         virtual Tag* tag() const;
00106 
00107       protected:
00112         virtual const std::string& xmlns() const = 0;
00113 
00114       private:
00115         PayloadList m_payload;
00116 
00117     };
00118 
00119   }
00120 
00121 }
00122 
00123 #endif // JINGLEDESCRIPTION_H__

Generated on Mon Jun 23 10:50:18 2008 for gloox by  doxygen 1.4.1