shim.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #ifndef SHIM_H__
00014 #define SHIM_H__
00015
00016 #include "stanzaextension.h"
00017 #include "macros.h"
00018
00019 #include <map>
00020 #include <string>
00021
00022 namespace gloox
00023 {
00024
00025 class Tag;
00026
00035 class GLOOX_API SHIM : public StanzaExtension
00036 {
00037 public:
00041 typedef std::map<std::string, std::string> HeaderList;
00042
00047 SHIM( const HeaderList& hl );
00048
00053 SHIM( const Tag* tag = 0 );
00054
00059 const HeaderList& headers() const { return m_headers; }
00060
00064 virtual ~SHIM();
00065
00066
00067 virtual const std::string& filterString() const;
00068
00069
00070 virtual StanzaExtension* newInstance( const Tag* tag ) const
00071 {
00072 return new SHIM( tag );
00073 }
00074
00075
00076 virtual Tag* tag() const;
00077
00078
00079 virtual StanzaExtension* clone() const
00080 {
00081 return new SHIM( *this );
00082 }
00083
00084 private:
00085 HeaderList m_headers;
00086
00087 };
00088
00089 }
00090
00091 #endif // SHIM_H__