The Scoundrel Project - System Design
Main | Start
 About
What it is
Long description
Screenshots
Help | Troubleshoot
Help Forum
FAQ
 Get it
Main | What's new?
Tech-preview 2
Source | Browse
Required Libs | JCL
 Get involved
Main | Plan
Project Dashboard
System Design | Forum
Networks | Forum
Filters | Forum
Bugtracking
 Stay updated
 

Scoundrel consists of several classes and units and I'll try to outline them here so that you can get a better overview of the system and don't have to read every line of code before understanding how it all fits together.

Ok, we have a couple of main parts. These are:

  • The GUI.
  • The P2P-abstract base classes
  • The Napster implementation of these classes
  • The TMusicQuery-class
  • The THTMLQueryFilter-class.

Scoundrel is intended to work like this:

  1. Scoundrel starts.
  2. Scoundrel discovers a set of TP2PNetwork-implementations (through the TP2PNetworkManagerFactory-class), enabling it to connect to some P2P-services.
  3. Scoundrel discovers a set of filter-dll's, enabling it to filter out query information from web-pages.
  4. The user browses the web, finds query-containing web-pages, tells Scoundrel to Get'em.
  5. Scoundrel connects to the different P2P-networks found during step 2 and issues a set of queries. It then downloads the found results.

Ideally, the TP2PNetwork-implementations should be stored in a dll to enable dynamic loading of them (and updating of them too, without re-downloading the entire application). However, there has been some problems with instantiating TFrames from a dll so this has not been implemented yet. Read more about the networks.

The Filters are however stored in dll's and it is already possible to create your own filter dll and ship it. The filter interface is pretty simple and has been frozen. Read more about filters.

I'll write more about the system design when I have the time. Right now I don't.

Get ModelMaker and generate some overview UML if you want a kickstart introduction to the system design.


Post feedback in one of the forums.
{counter}