Putting it all Together

Here is a diagram showing the relations of all the planned/started pieces of Guifications3.

Libraries

The Guifications3 Framework is built around a single library, gflib, as well as a few specialized libraries.

gflib is the heart and soul of Guifications3. It contains all of the abstract classes and base behavior for everything.

gflib-ui? provides some additional classes and behavior definitions that are necessary and/or useful for user interfaces, be they plain text, "graphical" text with libraries such as curses or ncurses, graphical interfaces with GUI toolkit libraries, etc.

gflib-gtk is a user interface implementation for The GIMP Toolkit. It maps the user interface abstracted parts of gflib-ui? to the corresponding parts in The GIMP Toolkit, as well as some convienence functionality.

Applications

The Guifications3 Framework wouldn't be worthwhile without some applications that utilized it.

guifications-gtk is the default user interface for Guifications3. It presents a user interface to configuring guifications-daemon and displays notifications.

guifications-daemon is the brains behind Guifications3. It manages all feeds, preferences, and is responsible for dispatching notifications.

Connection Plugins

A connection plugin is a gflib-plugin that enables some sort of IPC between gflib and another application. All connection plugins must keep all behavior transparent on the gflib side. What this means is that all objects and methods must be in the hierarchy of GObjects implemented in gflib.

gflib-dbus is the default local connection method for Guifications3. It provides both client and server connections and is completely transparent to users.

gflib-xmlrpc is the default remote connection method for Guifications3. It is still extremely early in development.

Language Bindings

Language bindings are a way of accessing and using gflib in programming languages other than the C language.

gflib-java is a JNI wrapper around gflib. These bindings are currently early in development.

gflibmm is the set of C++ bindings for gflib. These bindings are currently early in development.

gflib-sharp? is the set of .NET bindings for gflib. These are early in development and use the gapi parser to get automatically generated.

gflib-xpcom is the set of XPCOM bindings for gflib. These are not even started yet, but are a hard requirement for mozilla-guifications.

Guifications Daemon Plugins

The plugins mentioned here tie into the guifications-daemon and provide additional functionality.

guifications-daemon-notify? is a planned connection library to make guifications-daemon replace the notification-daemon from the Galago project. The idea is to glue the two together by talking libnotify on one end and gflib on the other.

gflib-growl is a planned connection library to make Guifications interoperable with Growl. The idea here, is again like guifications-daemon-notify?, where one side talks Growl and the other gflib.

guifications-daemon-web? provides a web interface to the Guifications daemon for configuration, information, and notifications.

guifications-daemon-mpris? provides an interface between the Guifications daemon and media applications supporting the MPRIS specification.

guifications-daemon-fuse? provides an interface between the Guifications daemon and FUSE, providing a filesystem that allows configuration and notification.

Plugins

The plugins mentioned here are meant to tie another application into Guifications3. The plugin uses gflib and a connection plugin to talk to the guifications-daemon. Once the plugin establishes a connection to the GuificationsDaemon it will then register its feed and its events to the daemon.

purple-guifications? is a libpurple plugin that propagates events like sign on, sign off, etc. to guifications-daemon. In short it provides just the basics of what Guifications 2 does and leaves the rest to the Guifications Framework.

mozilla-guifications is a planned plugin for the Mozilla line of applications. Its goal is to provide notifications for events like new mail arrived, file finished downloading, and so on.

xmms-guifications is a planned plugin for XMMS that will provide notifications for events, such as song changed, song paused, etc.


Pages linking to PuttingItAllTogether:


Last Modified on Mon Dec 24 21:17:02 2007 by jbailey (6 months ago)