[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

gEDA-user: [RFC 2/6] Plugin system



Currently, Scheme is the only available extension language for
gEDA. However, in future it may be desirable to extend gEDA apps in
other languages, including possibly as native code loaded from .so
files.

Furthermore, if configuration files are no longer executable (see
previous e-mail), some mechanism must be provided for users to configure
gEDA to load their custom Scheme code. For instance, the attribute
autoplacement code might use such a plugin mechanism.

I propose:

1. In their configuration files, users specify plugins to load using a
   string of the form:

          <plugin-type>:<type-specific-part>

   For instance, to load a plugin written in Scheme, the <plugin-type>
   might be "scheme" and the <type-specific-part> might be the name of
   the Scheme file to load, without the ".scm" suffix.

2. For security, gEDA should only look for plugins in predefined
   directories:

          $HOME/.gEDA/plugins         # Or a similar user directory
          $PREFIX/share/gEDA/plugins  # Or a similar system directory

   Although users might wish to configure gEDA to look elsewhere for
   plugins, care must be taken to ensure that there is no way to exploit
   this. For instance, gEDA might forbid the plugin search path from
   being modified in project configuration files.


                               Peter

-- 
Peter Brett

Electronic Systems Engineer
Integral Informatics Ltd


_______________________________________________
geda-user mailing list
geda-user@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user