1 /***************************************************************************
2 * Copyright (C) 2004 by Kita Developers *
3 * ikemo@users.sourceforge.jp *
5 * This program is free software; you can redistribute it and/or modify *
6 * it under the terms of the GNU General Public License as published by *
7 * the Free Software Foundation; either version 2 of the License, or *
8 * (at your option) any later version. *
9 ***************************************************************************/
11 #include "boarddata.h"
15 /*---------------------------------------------------------*/
19 BoardData::BoardData(const QString& boardName,
20 const QString& hostname,
21 const QString& rootPath,
22 const QString& delimiter,
23 const QString& bbsPath,
26 : m_boardName(boardName), m_readIdx(false), m_rootPath(rootPath),
27 m_delimiter(delimiter), m_bbsPath(bbsPath), m_ext(ext), m_type(boardtype)
29 /* set hostname and create URL of board */
30 setHostName(hostname);
32 /* create default key */
33 QStringList keyHosts(m_hostname);
36 /* reset SETTING.TXT */
37 setSettingLoaded(false);
40 BoardData::~BoardData()
45 void BoardData::setHostName(const QString& hostName)
47 m_hostname = hostName;
49 /* m_basePath = (hostname)/(rootPath)/(bbsPath)/ */
50 m_basePath = m_hostname + m_rootPath + m_bbsPath + '/';
54 case Board_MachiBBS: /* m_cgiBasePath = (hostname)/(rootPath)/(delimiter)?BBS=(bbsPath) */
55 m_cgiBasePath = m_hostname + m_rootPath + m_delimiter + "?BBS=" + m_bbsPath.mid(1);
58 /* m_cgiBasePath = (hostname)/(rootPath)/(delimiter)/(bbsPath)/ */
60 m_cgiBasePath = m_hostname + m_rootPath + m_delimiter + m_bbsPath + '/';
66 /*---------------------------*/
70 bool BoardData::readIdx() const
76 void BoardData::setReadIdx(bool idx)
82 const QString& BoardData::boardName() const
88 const QString& BoardData::hostName() const
94 const QString& BoardData::rootPath() const
100 const QString& BoardData::delimiter() const
106 const QString& BoardData::bbsPath() const
112 const QString& BoardData::ext() const
118 int BoardData::type() const
124 const QString& BoardData::basePath() const
130 const QString& BoardData::cgiBasePath() const
132 return m_cgiBasePath;
136 /*---------------------------*/
140 const QString BoardData::settingUrl() const
142 return m_basePath + "SETTING.TXT";
146 bool BoardData::settingLoaded() const
148 return m_settingLoaded;
152 const QString& BoardData::defaultName() const
154 return m_defaultName;
158 int BoardData::lineNum() const
164 int BoardData::msgCount() const
170 const KUrl& BoardData::titleImgUrl() const
172 return m_titleImgUrl;
176 void BoardData::setSettingLoaded(bool set)
178 m_settingLoaded = set;
180 m_defaultName.clear();
183 m_titleImgUrl.clear();
188 void BoardData::setDefaultName(const QString& newName)
190 m_defaultName = newName;
194 void BoardData::setLineNum(int newLine)
200 void BoardData::setMsgCount(int msgCount)
202 m_msgCount = msgCount;
206 void BoardData::setTitleImgUrl(const KUrl& url)
212 /*---------------------------*/
215 /* create keys of DB */ /* public */
216 void BoardData::createKeys(const QStringList& keyHostList)
219 m_keyBasePathList.clear();
220 m_keyCgiBasePathList.clear();
221 m_keyHostList.clear();
223 m_keyHostList = keyHostList;
225 /* m_basePath = (hostname)/(rootPath)/(bbsPath)/ */
226 for (int i = 0; i < m_keyHostList.count(); ++i) {
227 if (m_keyHostList[ i ].length() > 0)
228 m_keyBasePathList += m_keyHostList[ i ] + m_rootPath + m_bbsPath + '/';
233 case Board_MachiBBS: /* m_cgiBasePath = (hostname)/(rootPath)/(delimiter)?BBS=(bbsPath) */
234 for (int i = 0; i < m_keyHostList.count(); ++i)
235 m_keyCgiBasePathList += m_keyHostList[ i ] + m_rootPath + m_delimiter
236 + "?BBS=" + m_bbsPath.mid(1);
239 /* m_cgiBasePath = (hostname)/(rootPath)/(delimiter)/(bbsPath)/ */
241 for (int i = 0; i < m_keyHostList.count(); ++i)
242 m_keyCgiBasePathList += m_keyHostList[ i ] + m_rootPath + m_delimiter + m_bbsPath + '/';
248 const QStringList& BoardData::keyHostList() const
250 return m_keyHostList;
254 const QStringList& BoardData::keyBasePathList() const
256 return m_keyBasePathList;
260 const QStringList& BoardData::keyCgiBasePathList() const
262 return m_keyCgiBasePathList;