1 /**************************************************************************
2 * Copyright (C) 2003 by Hideki Ikemoto , (c)2004 by 421 *
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 ***************************************************************************/
14 #include <qvaluelist.h>
31 typedef QValueList<DatInfo*> DatInfoList;
35 static DatInfoList m_datInfo;
36 static QMutex m_mutex;
40 static DatInfo* getDatInfoPointer( const KURL& url );
41 static void deleteDatInfo( const KURL& url );
44 static bool updateCache( const KURL& url , const QObject* parent );
45 static int getResponseCode( const KURL& url );
46 static int getServerTime( const KURL& url );
47 static bool deleteCache( const KURL& url );
48 static bool isLoadingNow( const KURL& url );
49 static void stopLoading( const KURL& url );
53 static void lock ( const KURL& url );
54 static void unlock( const KURL& url );
57 static const QString& getRawDat( const KURL& url );
58 static const QString& getDat( const KURL& url, int num );
59 static const QString& getId( const KURL& url, int num );
60 static const QString& getName( const KURL& url, int num );
61 static const QString& getBody( const KURL& url, int num );
62 static QString getPlainName( const KURL& url, int num );
63 static QString getPlainBody( const KURL& url, int num );
64 static QString getPlainTitle( const KURL& url, int num );
66 static const QString threadURL( const KURL& url );
67 static const QString& threadName( const KURL& url ); /* = subject of thread */
68 static const QString threadID( const KURL& url );
70 static const QString boardURL( const KURL& url );
71 static const QString boardRoot( const KURL& url );
72 static const QString& boardName( const KURL& url );
73 static const QString boardID( const KURL& url );
75 static const QString getCachePath( const KURL& url );
76 static const QString getCacheIndexPath( const KURL& url );
79 static QString getHtml( const KURL& url, int startnum, int endnum );
80 static QString getHtmlByID( const KURL& url, const QString& strid, int &count );
81 static QString getTreeByRes( const KURL& url, const int rootnum, int &count );
82 static QString getTreeByResReverse( const KURL& url, const int rootnum, int &count );
85 static bool getDomElement( const KURL& url, int num, DOM::HTMLDocument& hdoc, DOM::Element& retelm );
88 static int getResNum( const KURL& url );
89 static int getReadNum( const KURL& url );
90 static int getKokoyonNum( const KURL& url );
91 static void setKokoyonNum( const KURL& url, int num );
92 static int getDatSize( const KURL& url );
93 static int getNumByID( const KURL& url, const QString& strid );
95 /* another information */
96 static bool is2chThread( const KURL& url );
97 static bool isResValid( const KURL& url , int num );
98 static bool isBroken( const KURL& url );
99 static bool isResBroken( const KURL& url , int num );
100 static bool checkID( const KURL& url, const QString& strid, int num );
101 static bool checkWord( const KURL& url, QStringList& stlist, int num, bool checkOR );
102 static bool isMarked( const KURL& url, int num );
103 static void setMark( const KURL& url, int num, bool mark );
107 static bool checkAbone( const KURL& url, int num );
108 static void resetAbone( const KURL& url );
110 /* obsolete. Don't use them. */
111 static const QString thread_url( const KURL& url ) { return threadURL( url );}
112 static const QString& thread_name( const KURL& url ) { return threadName( url );}
113 static const QString thread_datID( const KURL& url ) { return threadID( url );}
114 static const QString thread_boardURL( const KURL& url ) { return boardURL( url );}
115 static const QString& thread_boardName( const KURL& url ) { return boardName( url );}
116 static const QString thread_boardID( const KURL& url ) { return boardID( url );}
120 static DatInfo* getDatInfo( const KURL& url );
121 static void deleteDatInfoPrivate( const KURL& url );