Add missing #include to src/main/torrentclient.h.
[tairent.git] / src / main / mainmodule.h
blob90924ec971f3a78b261df95f6358401c75767189
1 /***************************************************************************
2 * *
3 * Copyright (C) 2006-2007 David Brodsky *
4 * *
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. *
9 * *
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. *
14 * *
15 ***************************************************************************/
17 #ifndef _main_mainmodule_h
18 #define _main_mainmodule_h
20 #include <tairon/core/module.h>
22 namespace Tairon
25 namespace Net
28 class LimitManager;
30 }; // namespace Net
32 }; // namespace Tairon
34 namespace Tairent
37 namespace Main
40 class HashCheckerThread;
41 class MainThread;
42 class TorrentManager;
43 class TorrentServer;
44 class TrackerManager;
46 /** \brief Main BitTorrent client module.
48 class MainModule : public Tairon::Core::Module
50 public:
51 /** Constructs a MainModule object.
53 MainModule();
55 /** Destroys the object.
57 virtual ~MainModule();
59 private:
60 /** Runs the application. Called when all modules has been loaded.
62 void initialized();
64 private:
65 /** Thread for hash checking.
67 HashCheckerThread *hashCheckerThread;
69 /** Bandwidth limiting.
71 Tairon::Net::LimitManager *limitManager;
73 /** Main program's thread.
75 MainThread *mainThread;
77 /** Manager of torrents.
79 TorrentManager *torrentManager;
81 /** Server incoming connections.
83 TorrentServer *torrentServer;
85 /** Manager of factories that creates tracker clients.
87 TrackerManager *trackerManager;
90 }; // namespace Main
92 }; // namespace Tairent
94 #endif
96 // vim: ai sw=4 ts=4 noet fdm=marker