00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #include "nickname.h"
00014 #include "tag.h"
00015
00016 namespace gloox
00017 {
00018
00019 Nickname::Nickname( const Tag* tag )
00020 : StanzaExtension( ExtNickname )
00021 {
00022 if( tag )
00023 m_nick = tag->cdata();
00024 }
00025
00026 const std::string& Nickname::filterString() const
00027 {
00028 static const std::string filter =
00029 "/presence/nick[@xmlns='" + XMLNS_NICKNAME + "']"
00030 "|/message/nick[@xmlns='" + XMLNS_NICKNAME + "']";
00031 return filter;
00032 }
00033
00034 Tag* Nickname::tag() const
00035 {
00036 if( m_nick.empty() )
00037 return 0;
00038
00039 Tag* n = new Tag( "nick", XMLNS, XMLNS_NICKNAME );
00040 n->setCData( m_nick );
00041 return n;
00042 }
00043
00044 }