From bcb704366cb5e333a626c18c308c7e0448a8e69f Mon Sep 17 00:00:00 2001 From: toma Date: Wed, 25 Nov 2009 17:56:58 +0000 Subject: Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. BUG:215923 git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdenetwork@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da --- ksirc/messageReceiver.cpp | 73 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 ksirc/messageReceiver.cpp (limited to 'ksirc/messageReceiver.cpp') diff --git a/ksirc/messageReceiver.cpp b/ksirc/messageReceiver.cpp new file mode 100644 index 00000000..f2ac6ee0 --- /dev/null +++ b/ksirc/messageReceiver.cpp @@ -0,0 +1,73 @@ +#include "messageReceiver.h" + +#include +#include +#include +#include +#include + +KSircMessageReceiver::KSircMessageReceiver( KSircProcess * _proc ) +{ + proc = _proc; + broadcast = TRUE; +} + +KSircMessageReceiver::~KSircMessageReceiver() +{ +} + +void KSircMessageReceiver::setBroadcast(bool bd) +{ + broadcast = bd; +} + +bool KSircMessageReceiver::getBroadcast() +{ + return broadcast; +} + +filterRuleList *KSircMessageReceiver::defaultRules() +{ + return new filterRuleList(); +} + +UnicodeMessageReceiver::UnicodeMessageReceiver( KSircProcess *process ) + : KSircMessageReceiver( process ), m_encoder( 0 ) +{ +} + +void UnicodeMessageReceiver::sirc_receive( QCString str, bool broadcast ) +{ + assert( encoder() ); + //kdDebug(5008) << "Encoder: " << encoder()->name() << endl; + //kdDebug(5008) << "It gives us: " << encoder()->toUnicode( str ).utf8() << endl; + sirc_receive( encoder()->toUnicode( str ), broadcast ); +} + +void UnicodeMessageReceiver::setEncoding( const QString &encoding ) +{ + m_encoding = encoding; + m_encoder = 0; +} + +QString UnicodeMessageReceiver::encoding() const +{ + if ( m_encoding.isEmpty() ) + return QTextCodec::codecForLocale()->mimeName(); + return m_encoding; +} + +QTextCodec *UnicodeMessageReceiver::encoder() const +{ + if ( m_encoding.isEmpty() ) { + return QTextCodec::codecForLocale(); + } + + if ( !m_encoder ) { + const_cast( this )->m_encoder = KGlobal::charsets()->codecForName( m_encoding ); + assert( m_encoder ); + } + + return m_encoder; +} + -- cgit v1.2.1