/* wrapper/plugin-parse.h -- parse rvs plugin config files system depends: Copyright (C) 2009 Luke Shumaker This file is part of rvs. rvs 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, or (at your option) any later version. rvs 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 rvs; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #ifndef FILE_plugin_depend_h_SEEN #define FILE_plugin_depend_h_SEEN #include "plugins.h" #include "plugin-find.h" /* translates a string in format `plugin/command' into a pointer to the command DON'T plan on using the string again, it will be mutilated! (so we go ahead and free() it and set the pointer to NULL) */ extern struct plugin_command * plugin_depend_parse (char **string, struct plugin *plugins, struct plugin_command *root); /* used by plugin_depend_add */ extern void _plugin_depend_add (struct plugin_command *prev, struct plugin_command *next); /* plugin_depend_add(depend,depender) */ extern void plugin_depend_add (struct plugin_command *depend, struct plugin_command *depender); /* take care of depends for `command' */ extern void plugin_depend_command (struct plugin_command *command, struct plugin *plugins, struct plugin_command *root, int ind); /* take care of commands for a `plugin', and those after it (linked list) */ extern void plugin_depend_plugin_all (struct plugin *plugin, struct plugin *plugins, struct plugin_command *root); /* take care of all depends */ extern struct plugin_command * plugin_depend_all (struct plugin *plugins); extern void _plugin_depend_list (struct plugin_command_list *commands, struct plugin *plugins, struct plugin_command *root,int ind); extern struct plugin_command * plugin_depend_list (struct plugin_command_list *commands, struct plugin *plugins); #endif