Global command plugin interface.
Global commands are commands that work almost anywhere on the system. Although it's no rule of thumb, commands that start with a slash (/) are global commands.Megistos implements a dynamic plugin system for global commands. We used to put everything in this source file, which made things inelegant, big and ugly. Now, GCS (global command service) plugins can be compiled as dynamically loaded shared objects (DLLs in the DOS/Windows world, SOs in the UNIX world) and loaded at runtime. This way, commands are implemented by the modules that contribute them. I can't even begin to list the advantages of this scheme.
To see a simple example of a global command handler, please see the Cookie module and file gcs_cookie.c in particular. A more complete collection is in file gcs_builtin.c in the LIB directory.
This header file defines functions used by the global command manager. You don't need to know about this API, unless you want to add a global command handler for your module only.
Original banner, legalese and change history follow.
***************************************************************************** ** ** ** FILE: globalcmd.h ** ** AUTHORS: Alexios ** ** REVISION: A, July 94 ** ** PURPOSE: Interface to globalcmd.c ** ** NOTES: ** ** LEGALESE: ** ** ** ** This program is free software; you can redistribute it and/or modify ** ** it under the terms of the GNU General Public License as published by ** ** the Free Software Foundation; either version 2 of the License, or (at ** ** your option) any later version. ** ** ** ** This program is distributed in the hope that it will be useful, but ** ** WITHOUT ANY WARRANTY; without even the implied warranty of ** ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ** ** General Public License for more details. ** ** ** ** You should have received a copy of the GNU General Public License ** ** along with this program; if not, write to the Free Software ** ** Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ** ** ** ***************************************************************************** * * $Id: globalcmd.h,v 1.3 2001/04/22 14:49:04 alexios Exp $ * * $Log: globalcmd.h,v $ * Revision 1.3 2001/04/22 14:49:04 alexios * Merged in leftover 0.99.2 changes and additional bug fixes. * * Revision 0.2 1997/11/06 20:03:39 alexios * Added GPL legalese to the top of this file. * * Revision 0.1 1997/08/26 15:48:53 alexios * First registered revision. Adequate. * * *