|
CodeArchitecture
About | v0.14 | v0.20 | v0.30 | v0.40 | WishList | RoadMap | CodeArchitecture The code is now split into several files, I know, having all in one place makes it easy to run, but from coding perspective it's a real nightmare. So, now functionality has been grouped into different modules. Because I'm mainly developping on OSX and Linux, the redesign is also aimed at having the application run on multiple platforms. osal moduleThis is an Operating System Abstraction Layer. Every derived class has its own implementation of generic methods that are used elsewhere in the code. Any os function that differs accross the supported platforms should be implemented here. datatypes moduleThis module contains 'simple' classes, that is:
dataprovider moduleThis module is the real-time data provider for the application. It provides the application with time and position information. It is basically an abstraction layer on top of the GPS api. For specific platforms, derived classes have been created to be instantiated by the main program. The following classes exist:
datastorage moduleThis module handles persistant storage of waypoints, tracks, maps and config data. For specific platforms, derived classes have been created that are to be instantiated by the main program. It has the following classes:
views modulesThe following view modules still need to be consolidated. Much of the S60views and wxviews code overlap, and should be merged. These modules contain the controller/view part of the system.
|