Herecast

An open infrastructure for WiFi location-based services

Source Code

This document is intended to be a brief overview of the organization of the source code. This document will be expanded as required.

The application is written in C++. The Pocket PC version uses eMbedded Visual C++ 4.0, which is available as a free download from Microsoft. You also need the Software Development Kit for Windows Mobile 2003-based Pocket PCs. The Windows XP editition uses the free Visual C++ Express 2005 with the Windows Platform SDK. The setup packages are created with PocketSetupCreator on CE; NSIS on XP. I sometimes also use this CE Debugger.

SourceForge.net Logo
The source code is available via Subversion from SourceForge, and is covered under the GNU General Public License (GPL.)

The Pocket PC and Windows XP versions both compile from essentially the same source code. It has not been necessary to create a separate branch for each operating system. Almost everything that can be done on CE can be done on XP as well (although the converse is not true; for example, while CE has basic STL classes like string and map, it does not have strstreams.)

Projects

HerecastLib

The Herecast library contains most of the code for the applications; the Scanner and Today Item projects are basically just front-ends to the same thing. The library includes the dialog box resources, icons, etc. It has several modules, which are described in th e following sections.

Utils

Contains utility functions for creating windows, accessing the Windows registry, and so on.

WiFi

Functions for interfacing with the 802.11 network card, and working with the information that is retrieved.

APDB

Data structures for using the Herecast access point database. This large module is further divided into several types of objects.