public static IList<string> GetPlugins(API api, bool showFullPath)
{
SortedList<string, string> plugins = new SortedList<string, string>();
IntPtr pluginList = gvplugin_list(_context, api, showFullPath ? ":" : "");
foreach (string nextPlugin in Marshal.PtrToStringAnsi(pluginList).Split(new char[]{' '}, StringSplitOptions.RemoveEmptyEntries))
{
int lastColon = nextPlugin.LastIndexOf(':');
string plugin = nextPlugin.Substring(0, lastColon == -1 ? nextPlugin.Length : lastColon);
plugins[plugin] = plugin;
}
free(pluginList);
return plugins.Keys;
}