﻿id,summary,reporter,owner,description,type,status,priority,milestone,component,version,severity,resolution,keywords,cc,blockedby,blocking,changelog
319,Complete overhaul of global configuration implementation,damato,,"== Phenomenon ==
The current configuration soley relies on a global ""struct Config"" structure which is directly accessed from throughout the whole YAM source code. This has several drawbacks and should be completely changed.

== Background analysis ==
First of all the current configuration source code (including the GUI part) should be changed into an internal MUI custom class (using GenClasses). Then struct Config should be abadoned and instead accessor and mutator functions be added to retrieve and set the values of a certain config option (e.g. via string-based config option names). Furthermore, the configuration structure should carry information about the type (boolean, integer, string, etc.) of the variable so that the Load and Save config function can interate through this structure getting rid of the tons of ""else if()"" branches currently implemented in YAM_COs.c. 

== Implementation recommendation ==
Take care of:
- Custom classes
- Hash tables uses
- Black box approach",task,new,normal,YAM 2.9,configuration,,major,,,,,142,
