From 6f1e34ed10da5c0e76e9bee17fc0d1623790ac97 Mon Sep 17 00:00:00 2001 From: ikemo Date: Fri, 2 Jan 2004 10:44:16 +0000 Subject: [PATCH] refactoring. git-svn-id: svn+ssh://svn.sourceforge.jp/svnroot/kita/kita/trunk@766 56b19765-1e22-0410-a548-a0f45d66c51a --- kita/src/libkita/thread.cpp | 54 +++++++++++++++++++++++++++------------------ kita/src/libkita/thread.h | 17 +++----------- 2 files changed, 36 insertions(+), 35 deletions(-) diff --git a/kita/src/libkita/thread.cpp b/kita/src/libkita/thread.cpp index 95e6a01..e9f9bd1 100644 --- a/kita/src/libkita/thread.cpp +++ b/kita/src/libkita/thread.cpp @@ -29,7 +29,7 @@ using namespace Kita; -ThreadFactory* ThreadFactory::instance = 0; +QDict* Thread::m_threadDict = 0; Thread::Thread() {} @@ -127,6 +127,38 @@ Thread Thread::fromXml( const QString& xml ) return thread; } +Thread* Thread::getByURL( const QString& datURL ) +{ + if ( m_threadDict == 0 ) { + m_threadDict = new QDict(); + } + + if ( m_threadDict->find( datURL ) ) { + return m_threadDict->find( datURL ); + } + + Thread* newThread = new Thread( datURL ); + m_threadDict->insert( datURL, newThread ); + + return newThread; +} + +void Thread::setName( const QString& datURL, const QString& threadName ) +{ + if ( datURL.isNull() ) { + return; + } + + if ( m_threadDict == 0 ) { + m_threadDict = new QDict(); + } + + Thread* newThread = new Thread( datURL, threadName ); + m_threadDict->replace( datURL, newThread ); + + return; +} + ThreadXmlParser::ThreadXmlParser() : m_boardParser( 0 ), m_inBoard( false ), m_isValid( false ), m_inThread( false ) {}; @@ -288,24 +320,4 @@ int ThreadAccess::serverTime() } } -void ThreadFactory::insertThread( Thread& thread ) -{ - if ( ! instance ) { - instance = new ThreadFactory(); - } - - Thread* new_thread = new Thread( thread.datURL(), thread.name() ); - KitaThreadInfo::setResNum( thread.datURL(), thread.resNum() ); - instance->m_dict.insert( thread.datURL(), new_thread ); -} - -Thread* ThreadFactory::getThread( QString& datURL ) -{ - if ( ! instance ) { - instance = new ThreadFactory(); - } - - return instance->m_dict[ datURL ]; -} - #include "thread.moc" diff --git a/kita/src/libkita/thread.h b/kita/src/libkita/thread.h index d3080b9..9f9ef59 100644 --- a/kita/src/libkita/thread.h +++ b/kita/src/libkita/thread.h @@ -51,23 +51,12 @@ namespace Kita const QString toXmlFragment() const; static Thread fromXml( const QString& xml ); + static Thread* getByURL( const QString& datURL ); + static void setName( const QString& datURL, const QString& threadName ); private: QString m_datURL; QString m_threadName; - }; - - class ThreadFactory - { - public: - static void insertThread( Thread& thread ); - static Thread* getThread( QString& datURL ); - - private: - static ThreadFactory* instance; - QDict m_dict; - - ThreadFactory() {}; - ~ThreadFactory() {}; + static QDict* m_threadDict; }; class ThreadXmlParser : public QXmlDefaultHandler -- 2.11.0