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

Attachment: pgppb6CGhRwWb.pgp
Description: PGP signature


_______________________________________________
geda-dev mailing list
[email protected]
http://www.seul.org/cgi-bin/mailman/listinfo/geda-dev

Reply via email to