KVIrc 5.2.4
Developer APIs
KviSharedFilesManager.h
Go to the documentation of this file.
1#ifndef _KVI_FILETRADER_H_
2#define _KVI_FILETRADER_H_
3//=============================================================================
4//
5// File : KviSharedFilesManager.h
6// Creation date : Wed Aug 27 2000 10:28:51 CEST by Szymon Stefanek
7//
8// This file is part of the KVIrc IRC client distribution
9// Copyright (C) 2000-2010 Szymon Stefanek (pragma at kvirc dot net)
10//
11// This program is FREE software. You can redistribute it and/or
12// modify it under the terms of the GNU General Public License
13// as published by the Free Software Foundation; either version 2
14// of the License, or (at your option) any later version.
15//
16// This program is distributed in the HOPE that it will be USEFUL,
17// but WITHOUT ANY WARRANTY; without even the implied warranty of
18// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
19// See the GNU General Public License for more details.
20//
21// You should have received a copy of the GNU General Public License
22// along with this program. If not, write to the Free Software Foundation,
23// Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
24//
25//=============================================================================
26
27#include "kvi_settings.h"
28#include "KviPointerHashTable.h"
29#include "KviSharedFile.h"
30
31#include <QObject>
32
33class KviIrcMask;
34class QString;
35class QTimer;
36
37class KVILIB_API KviSharedFilesManager : public QObject
38{
39 Q_OBJECT
40public:
43
44private:
47
48public:
49 void addSharedFile(KviSharedFile * f);
50 KviSharedFile * addSharedFile(const QString & szName, const QString & szAbsPath, const QString & szMask, int timeoutInSecs);
51 KviSharedFile * lookupSharedFile(const QString & szName, KviIrcMask * mask, unsigned int uFileSize = 0);
52 bool removeSharedFile(const QString & szName, const QString & szMask, unsigned int uFileSize);
53 bool removeSharedFile(const QString & szName, KviSharedFile * off);
54 void load(const QString & filename);
55 void save(const QString & filename);
56 void clear();
58private:
59 void doInsert(KviSharedFileList * l, KviSharedFile * o);
60private slots:
61 void cleanup();
62signals:
63 void sharedFilesChanged(); // emitted when the list is cleared at once
66};
67
68#endif //_KVI_FILETRADER_H_
Pointer Hash Table.
btnDict clear()
Irc user mask handling.
Definition KviIrcMask.h:48
A fast pointer hash table implementation.
Definition KviPointerHashTable.h:450
A template double linked list of pointers.
Definition KviPointerList.h:371
Definition KviSharedFile.h:38
Definition KviSharedFilesManager.h:38
KviPointerHashTable< QString, KviSharedFileList > * sharedFileListDict()
Definition KviSharedFilesManager.h:57
QTimer * m_pCleanupTimer
Definition KviSharedFilesManager.h:45
void sharedFileRemoved(KviSharedFile *f)
KviPointerHashTable< QString, KviSharedFileList > * m_pSharedListDict
Definition KviSharedFilesManager.h:46
void sharedFileAdded(KviSharedFile *f)
#define l
Definition detector.cpp:77
#define f
Definition detector.cpp:71
#define o
Definition detector.cpp:80
This file contains compile time settings.
#define KVILIB_API
Definition kvi_settings.h:124