OSDN Git Service

use pointer
authorikemo <ikemo@56b19765-1e22-0410-a548-a0f45d66c51a>
Mon, 15 Dec 2003 12:56:47 +0000 (12:56 +0000)
committerikemo <ikemo@56b19765-1e22-0410-a548-a0f45d66c51a>
Mon, 15 Dec 2003 12:56:47 +0000 (12:56 +0000)
git-svn-id: svn+ssh://svn.sourceforge.jp/svnroot/kita/kita/trunk@677 56b19765-1e22-0410-a548-a0f45d66c51a

kita/src/libkita/board.cpp
kita/src/libkita/board.h
kita/src/libkita/tests/boardtest.cpp
kita/src/libkita/tests/boardtest.h
kita/src/libkita/thread.cpp

index 1a989ba..775464d 100644 (file)
@@ -123,9 +123,9 @@ const QString Board::toXmlFragment() const
   return ret;
 }
 
-Board Board::fromXml( const QString& xml )
+Board* Board::fromXml( const QString& xml )
 {
-  Board board;
+  Board* board;
 
   BoardXmlParser parser;
   QXmlSimpleReader reader;
@@ -137,6 +137,7 @@ Board Board::fromXml( const QString& xml )
   if( parser.isValid() ) {
     board = parser.getBoard();
   } else {
+    board = new Board();
     kdError() << "inValid" << endl;
   }
   return board;
@@ -213,7 +214,7 @@ bool BoardXmlParser::endElement( const QString&, const QString& localName, const
 {
   if( localName == "board" ) {
     m_inBoard = false;
-    m_board = Kita::Board( m_urlStr, m_nameStr );
+    m_board = new Kita::Board( m_urlStr, m_nameStr );
     m_isValid = true;
     // create board;
   } else if( localName == "url" ) {
index 50d8854..85c8d24 100644 (file)
@@ -42,7 +42,7 @@ namespace Kita {
     const QPtrList<Thread> getThreadList() const;
 
     const QString toXmlFragment() const;
-    static Board fromXml( const QString& xml );
+    static Board* fromXml( const QString& xml );
 
     // Factory method
     static Board* getByURL( const QString& boardURL );
@@ -62,7 +62,7 @@ namespace Kita {
     QString m_urlStr;
 
     QString m_characters;
-    Board m_board;
+    Board* m_board;
     bool m_inBoard;
     bool m_isValid;
   public:
@@ -72,7 +72,7 @@ namespace Kita {
     bool endElement( const QString& namespaceURI, const QString& localName, const QString& qName );
     bool characters( const QString& ch );
     bool isValid() const { return m_isValid; }
-    Board getBoard() const { return m_board; }
+    Board* getBoard() const { return m_board; }
   };
 };
 
index 8a010bd..72e9827 100644 (file)
@@ -45,8 +45,8 @@ void BoardTest::testID()
     CPPUNIT_ASSERT_EQUAL( QString( "unix" ), m_share2->id() );
     CPPUNIT_ASSERT_EQUAL( QString( "unix" ), m_share3->id() );
     CPPUNIT_ASSERT_EQUAL( QString::null, m_null->id() );
-    CPPUNIT_ASSERT_EQUAL( QString( "linux" ), m_fromxml.id() );
-    CPPUNIT_ASSERT_EQUAL( QString( "linux" ), m_fromxml2.id() );
+    CPPUNIT_ASSERT_EQUAL( QString( "linux" ), m_fromxml->id() );
+    CPPUNIT_ASSERT_EQUAL( QString( "linux" ), m_fromxml2->id() );
 }
 
 void BoardTest::testName()
@@ -56,8 +56,8 @@ void BoardTest::testName()
     CPPUNIT_ASSERT_EQUAL( QString( "U**x" ), m_share2->name() );
     CPPUNIT_ASSERT_EQUAL( QString( "Unix" ), m_share3->name() );
     CPPUNIT_ASSERT_EQUAL( QString::null, m_null->name() );
-    CPPUNIT_ASSERT_EQUAL( QString( "Linux" ), m_fromxml.name() );
-    CPPUNIT_ASSERT_EQUAL( QString( "Linux" ), m_fromxml2.name() );
+    CPPUNIT_ASSERT_EQUAL( QString( "Linux" ), m_fromxml->name() );
+    CPPUNIT_ASSERT_EQUAL( QString( "Linux" ), m_fromxml2->name() );
 }
 
 void BoardTest::testSubjectTxtURL()
@@ -72,9 +72,9 @@ void BoardTest::testSubjectTxtURL()
                           m_share3->subjectTxtURL().url() );
     CPPUNIT_ASSERT_EQUAL( QString::null, m_null->subjectTxtURL().url() );
     CPPUNIT_ASSERT_EQUAL( QString( "http://pc.2ch.net/linux/subject.txt" ),
-                          m_fromxml.subjectTxtURL().url() );
+                          m_fromxml->subjectTxtURL().url() );
     CPPUNIT_ASSERT_EQUAL( QString( "http://pc.2ch.net/linux/subject.txt" ),
-                          m_fromxml2.subjectTxtURL().url() );
+                          m_fromxml2->subjectTxtURL().url() );
 }
 
 void BoardTest::testURL()
@@ -89,7 +89,7 @@ void BoardTest::testURL()
                           m_share3->url() );
     CPPUNIT_ASSERT_EQUAL( QString::null, m_null->url() );
     CPPUNIT_ASSERT_EQUAL( QString( "http://pc.2ch.net/linux/"),
-                          m_fromxml.url() );
+                          m_fromxml->url() );
     CPPUNIT_ASSERT_EQUAL( QString( "http://pc.2ch.net/linux/"),
-                          m_fromxml2.url() );
+                          m_fromxml2->url() );
 }
index 5afc75a..f89dbc4 100644 (file)
@@ -25,7 +25,7 @@ class BoardTest : public CppUnit::TestFixture {
     CPPUNIT_TEST_SUITE_END();
 
     Kita::Board *m_normal, *m_share1, *m_share2, *m_share3, *m_null;
-    Kita::Board m_fromxml, m_fromxml2; // FIXME: should use pointer.
+    Kita::Board *m_fromxml, *m_fromxml2;
 public:
     void setUp();
     void tearDown();
index bf17450..2caf13b 100644 (file)
@@ -174,8 +174,8 @@ bool ThreadXmlParser::endElement( const QString& namespaceURI, const QString& lo
   if( localName == "board" ) {
     m_inBoard = false;
     m_boardParser->endElement( namespaceURI, localName, qName );
-    Board board = m_boardParser->getBoard();
-    m_board = new Board( board.url(), board.name() );
+    Board* board = m_boardParser->getBoard();
+    m_board = new Board( board->url(), board->name() );
 
     delete m_boardParser;
     m_boardParser = 0;