GNU project  -  FREE project  -  Savannah @ GNU Free Software Foundation
The FREE project
home | users | developers | writings | download | connections


On this page

What it does
ClientProtocol.java
Comms.java
freeawt.jar
Frames
FClient.java
TCPClient.java
TimeOutThread.jar
VoteFrame.jar


In this section

Section Index

Internationalisation Team
Test Team

ERServer details
FreeClient details
Free.AWT details
Free.DBPool details
Free.util details
PollManager details
RTServer details
JavaDoc Documentation




developers supported by:
Swing Digital


systems:


donate to the project:
 

FREECLIENT

Here we will cover what the GNU.FREE Client-end software does and also provide a brief overview of its classes.

What it does

FreeClient provides a graphical interface via AWT to guide a user through the voting process. This starts with a brief explanation of why GNU.FREE is safe to use before the user is authorised, and thus the software communicates with ERServer.

Then the voting screen is presented, the user makes their choice and is asked to confirm before the vote is sent to RTServer and the program ends. The program could be in a batch file to run again once it quits to make it ready for the next voter.

ClientProtocol.java

This contains the logic for dealing with the packets sent by servers to the client in repsonse to it's sending a packet. It operates on a) the type of packet, and then b) the data in the packet.

Comms.java

Stores some key constants such as the addresses of servers. It is responsible for building packets and sending them to the correct server while dealing with any error conditions. As a consequence it spins off threads for every communications to keep the rest of the system responsive.

freeawt.jar

Contains files supporting the AWT GUI.

FCFrame2.java, FCFrame3.java, FCFrame4.java

Standard AWT-based frames for leading the user through authentication and introducing them to the GNU.FREE system.

FClient.java

The main class, which must be executed for the program to launch. It creates the splash screen, initialises classes and loads the GUI.

TCPClient.java

A threaded class for connecting to servers so that the client can then send and receive packets.

TimeOutThread.java

An extremely simple thread that is started when Comms.java starts a communication. It waits a time set by FClient.timeOutTime before cancelling the transmission. If the communication was successful then the thread is stopped before this timeout can occur.

VoteFrame.java

AWT-based frame where the user chooses which option to vote for. They can then watch the progress of their vote before it is confirmed as having been received and they can end their session.


- Dev Home -

Contact - by Jason Kitcat - j-dom portal

© 2000 - 2003 FREE e-democracy project

Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.