1 /***************************************************************************
3 * Copyright (C) 2006 David Brodsky *
5 * This program is free software; you can redistribute it and/or *
6 * modify it under the terms of the GNU General Public License as *
7 * published by the Free Software Foundation and appearing *
8 * in the file LICENSE.GPL included in the packaging of this file. *
10 * This program is distributed in the hope that it will be useful, *
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
13 * General Public License for more details. *
15 ***************************************************************************/
17 #ifndef _main_mainmodule_h
18 #define _main_mainmodule_h
20 #include <tairon/core/module.h>
32 }; // namespace Tairon
40 class HashCheckerThread
;
46 /** \brief Main BitTorrent client module.
48 class MainModule
: public Tairon::Core::Module
51 /** Constructs a MainModule object.
55 /** Destroys the object.
59 /** Runs the application. Called when all modules has been loaded.
64 /** Thread for hash checking.
66 HashCheckerThread
*hashCheckerThread
;
68 /** Bandwidth limiting.
70 Tairon::Net::LimitManager
*limitManager
;
72 /** Main program's thread.
74 MainThread
*mainThread
;
76 /** Manager of torrents.
78 TorrentManager
*torrentManager
;
80 /** Server incoming connections.
82 TorrentServer
*torrentServer
;
84 /** Manager of factories that creates tracker clients.
86 TrackerManager
*trackerManager
;
91 }; // namespace Tairent
95 // vim: ai sw=4 ts=4 noet fdm=marker