|

Go to the SourceForge project home page







|

The HeavyMole architectureGo to documentation index
Table of contents
The general architecture of HeavyMole is as follows:

- Basics: objects not specific to HeavyMole
- HeavyMole API: main objects composing a HeavyMole node
- GUI: a graphical user interface
The two lowest layers can be reused if you want to write a new user interface, and they
should thus be portable on all platforms.

Basics:
- LibThread: a simple multi-platorm thread package with synchronisation primitives
- LibUtils: some useful basic objects
- LibTCP: TCP server and client
- LibUDP: UDP node
HeavyMole API:
- LibHMBase: basic heavymole objects
- LibHMD: connection with central servers
- hmd: central servers
- LibHMCP: heavymole communication protocol (search engine)
- LibHMFTP: heavymole file transfer protocol
- LibHMChat: heavymole chat protocol
- LibHM: upper layer, containing one manager for each functionnality
- QueryManager (search)
- ChatManager (chat)
- FTPManager (explorer)
- TransferManager (downloads & uploads)
The libraries LibHMBase, LibHMD, LibHMCP, LibHMFTP and LibHMChat compose the core HeavyMole protocol and could be reused for all HeavyMole implementations.
Graphical User Interface:
- HM_GUI: written with Gtkmm, a C++ wrapper over GTK+.
http://heavymole.sourceforge.net - This page was last updated on November, 5th 2003
|