GHX 2
Module programming guide


This is a brief description of how to program a plugin for GHX 2.

A plugin for GHX 2 is a shared library (.so) dynamically loaded by GHX at the start time (currently, GHX doesn't allow you to insert or remove a plugin while running).

3 kinds of plugins are available:

Replace internal function (RIF) plugin

You can't replace GHX functions as you want. GHX allows you to replace only few functions:

Currently, only these functions can be replaced inside GHX but new ones come in the future.

Sometimes, plugins must more than one entry point. For instance, to replace the agreement window, you must provide not 1 but 3 entry point, read RELATIONS.txt or module.h for more information.

Add command (ANCOC) plugin

you can develop plugin adding a new possibilities to GHX 2 using GHX core. There is nearly no limitation to your imagination. This is the list of currently available plugins.

Soon, the file browser becomes an add command plugin.

Mixed mode plugin

Mixed mode module inserts a button in the command bar and also replace GHX internal functions. The only available plugin is the public chat plugin. If no plugin is inserted to support public chat, GHX discards public chat incoming message. If a plugin is available, a click on the command bar button opens the public chat window and when a public chat message arrives, GHX calls the plugin display function to update the window.

How to create a GHX2 plugin

To develop a plugin for GHX2, you need:

Currently, GHX2 doesn't allow to plug or unplug a module while running so I have not yet program the module_exit function but you must support this for the future.


Go to previous page, Table of content, next page


Copyright© 1998-2001, www@a2pb.gotdns.org