pluc merged into gephex--main--0.5

Georg Seidel <[email protected]>
Newsgroups gmane.comp.video.gephex.devel
Message-ID <[email protected]>
Pluc (and with it gidlc) are 90% done. They handle "self contained" 
plugins with links and units that
are either implemented in C or C++.

Self contained means that all used link types are defined in the plugin 
itself. So to really start porting
units handling of not self contained plugins must be implemented (I'm 
thinking about one common
 directory where every plugin puts it's interface files s.t. the other 
plugins can use them).

Here is a rough description of the commands that pluc knows so far.
The calling syntax is

   > pluc <cmd> [<options>] <plugin_spec>

Some commands are:

   setup-plugin:  equivalent to calling pluc with "create-am", 
"create-ifs" and "create-skeleton"
       This command creates the automake file and the skeleton code for 
a new plugin
       from it's specification files.
       You must provide the --gidlc option (see create-skeleton).

   create-am: creates the Makefile.am for this plugin
        by default it will not overwrite an existing Makefile.am, use 
--force to do this

   create-skeleton: creates skeleton code for each unit and link
        results in one .h file and one .c  or .cpp file per unit/link
        does  not overwrite existing files.
        You must tell pluc where the gidlc binary is located with the 
"--gidlc=..." option.
        That's because pluc uses gidlc for the actual code generation, 
it calls gidlc twice
        for every link/unit.

    create-ifs: creates all unit, link, unitfactory and linkfactory 
interfaces for the plugin

    create-export-(header|code): creates the api that is visible from 
outside the plugin
          (i.e. the dock, board, unboard, undock functions).
          The output files are named <plugin_name>_export.(c|h).


Note that I did not test the created skeleton code yet. Probably it 
still contains some bugs
but is nevertheless useful as a starting point.
Note also that the cpp skeleton code for plugins is really quite 
minimal, the unit developer
can really  focus on the update method.

Regards,

georg
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.