Commander Activation changes.




I have made some changes to how DebuggerCommanders are located and loaded.

First of all, I have partially implemented the readdir() solution we 
discussed earlier.  Backends now install a .commander file that contains 
the following information:
	* name          : The name that clients will use to identify the 
                          commander.
	* display-name  : A human-readable name for the commander.
	* description   : A short description of the commander.
	* goad-id       : The goad-id of the server to be activated when 
                          the commander is invoked.
	* mime-types    : Mime types of executables that the debugger supports.
	* languages     : Languages that the debugger supports.

The file is in a simple XML format.  I haven't implemented the parser for the
last two items yet.

In order to better support pluggable backends, I have made some changes to how
commanders are activated.  

Instead of one large commander-factory, each commander will implement its
own factory.  I have moved the commander-factory directory BACK into ggdb.
It is now used only for ggdb.

debugger_commander_client_new_from_factory() now searches the installed
commanders, and activates the correct server.  This method performs the
task we had originally set aside for commander-factory.  This is done in
8 lines of code, so I don't think a separate server is necessary.

We should now be ready to implement multiple commanders.

Cheers,
-dave




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