Hi folks, Bit of an update on this. Ales & Peter C. rightly pointed out that any changes to libgeda need to be done by refactoring rather than rewriting. I'm therefore proposing the following as initial steps:
1. Mark application-specific API elements in libgeda as deprecated, and phase
out their use. gschem, gnetlist & gattrib are the worst offenders here,
particularly w.r.t. the w_current structure.
2. Rename all public API elements to use the prefix "geda_" (or "GEDA_" for
constants & macros). This would be a good time to implement a clearer
naming convention for functions & structures too (glib/gtk's might be a
good model).
3. Create "private" header files in libgeda's src/ directory (these will
*not* be installed to /usr/include). Identify declarations & definitions
that should only be used internally and remove them from the public
headers.
The first of these three steps will be the most difficult, but please do make
it a priority. At some point I will try and make detailed list of what needs
moving out.
A suggested first step for application maintainers is to introduce an
application context structure that holds the things like dialog box pointers
that are currently stuffed into w_current.
Please now tell me how this could be done better!
Thanks,
Peter :)
--
Fisher Society committee http://tinyurl.com/o39w2
CUSBC novices, match and league secretary http://tinyurl.com/mwrc9
CU Spaceflight http://tinyurl.com/ognu2
v3sw6YChw7$ln3pr6$ck3ma8u7+Lw3+2m0l7Ci6e4+8t4Gb8en6g6Pa2Xs5Mr4p4
hackerkey.com peter-b.co.uk
pgppb6CGhRwWb.pgp
Description: PGP signature
_______________________________________________ geda-dev mailing list [email protected] http://www.seul.org/cgi-bin/mailman/listinfo/geda-dev
