OSDN Git Service

refactoring.
authorikemo <ikemo@56b19765-1e22-0410-a548-a0f45d66c51a>
Fri, 2 Jan 2004 10:44:16 +0000 (10:44 +0000)
committerikemo <ikemo@56b19765-1e22-0410-a548-a0f45d66c51a>
Fri, 2 Jan 2004 10:44:16 +0000 (10:44 +0000)
git-svn-id: svn+ssh://svn.sourceforge.jp/svnroot/kita/kita/trunk@766 56b19765-1e22-0410-a548-a0f45d66c51a

kita/src/libkita/thread.cpp
kita/src/libkita/thread.h

index 95e6a01..e9f9bd1 100644 (file)
@@ -29,7 +29,7 @@
 
 using namespace Kita;
 
-ThreadFactory* ThreadFactory::instance = 0;
+QDict<Thread>* 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<Thread>();
+    }
+
+    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>();
+    }
+
+    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"
index d3080b9..9f9ef59 100644 (file)
@@ -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<Thread> m_dict;
-
-        ThreadFactory() {};
-        ~ThreadFactory() {};
+        static QDict<Thread>* m_threadDict;
     };
 
     class ThreadXmlParser : public QXmlDefaultHandler