2006-12-10 05:33:38 +08:00
|
|
|
# GIMP - The GNU Image Manipulation Program
|
1999-05-04 03:22:58 +08:00
|
|
|
# Copyright (C) 1995 Spencer Kimball and Peter Mattis
|
|
|
|
|
2009-01-18 06:28:01 +08:00
|
|
|
# This program is free software: you can redistribute it and/or modify
|
1999-05-04 03:22:58 +08:00
|
|
|
# it under the terms of the GNU General Public License as published by
|
2009-01-18 06:28:01 +08:00
|
|
|
# the Free Software Foundation; either version 3 of the License, or
|
1999-05-04 03:22:58 +08:00
|
|
|
# (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
|
2018-07-12 05:27:07 +08:00
|
|
|
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
1999-05-04 03:22:58 +08:00
|
|
|
|
|
|
|
# "Perlized" from C source by Manish Singh <yosh@gimp.org>
|
|
|
|
|
|
|
|
sub plugins_query {
|
2017-04-04 19:09:42 +08:00
|
|
|
$blurb = 'Queries the plug-in database for its contents.';
|
|
|
|
$help = 'This procedure queries the contents of the plug-in database.';
|
1999-05-04 03:22:58 +08:00
|
|
|
|
2006-03-15 05:35:50 +08:00
|
|
|
&andy_pdb_misc('1998');
|
1999-05-04 03:22:58 +08:00
|
|
|
|
|
|
|
@inargs = (
|
2007-04-27 03:10:23 +08:00
|
|
|
{ name => 'search_string', type => 'string', no_validate => 1,
|
2006-03-22 17:58:08 +08:00
|
|
|
desc => 'If not an empty string then use this as a search pattern' }
|
1999-05-04 03:22:58 +08:00
|
|
|
);
|
|
|
|
|
|
|
|
@outargs = (
|
2019-08-01 18:24:51 +08:00
|
|
|
{ name => 'menu_path', type => 'stringarray', wrap => 1,
|
2017-04-04 19:09:42 +08:00
|
|
|
desc => 'The menu path of the plug-in',
|
2006-03-18 22:43:11 +08:00
|
|
|
array => { name => 'num_plugins',
|
2017-04-04 19:09:42 +08:00
|
|
|
desc => 'The number of plug-ins' } },
|
1999-05-04 03:22:58 +08:00
|
|
|
{ name => 'plugin_accelerator', type => 'stringarray',
|
|
|
|
desc => 'String representing keyboard accelerator (could be empty
|
2006-03-18 22:43:11 +08:00
|
|
|
string)',
|
|
|
|
array => { name => 'num_plugins', no_declare => 1,
|
2017-04-04 19:09:42 +08:00
|
|
|
desc => 'The number of plug-ins' } },
|
1999-05-04 03:22:58 +08:00
|
|
|
{ name => 'plugin_location', type => 'stringarray',
|
2017-04-04 19:09:42 +08:00
|
|
|
desc => 'Location of the plug-in program',
|
2006-03-18 22:43:11 +08:00
|
|
|
array => { name => 'num_plugins', no_declare => 1,
|
2017-04-04 19:09:42 +08:00
|
|
|
desc => 'The number of plug-ins' } },
|
1999-05-04 03:22:58 +08:00
|
|
|
{ name => 'plugin_image_type', type => 'stringarray',
|
2017-04-04 19:09:42 +08:00
|
|
|
desc => 'Type of image that this plug-in will work on',
|
2006-03-18 22:43:11 +08:00
|
|
|
array => { name => 'num_plugins', no_declare => 1,
|
2017-04-04 19:09:42 +08:00
|
|
|
desc => 'The number of plug-ins' } },
|
1999-05-04 03:22:58 +08:00
|
|
|
{ name => 'plugin_install_time', type => 'int32array',
|
2017-04-04 19:09:42 +08:00
|
|
|
desc => 'Time that the plug-in was installed',
|
2006-03-18 22:43:11 +08:00
|
|
|
array => { name => 'num_plugins', no_declare => 1,
|
2017-04-04 19:09:42 +08:00
|
|
|
desc => 'The number of plug-ins' } },
|
1999-05-04 03:22:58 +08:00
|
|
|
{ name => 'plugin_real_name', type => 'stringarray',
|
2017-04-04 19:09:42 +08:00
|
|
|
desc => 'The internal name of the plug-in',
|
2006-03-18 22:43:11 +08:00
|
|
|
array => { name => 'num_plugins', no_declare => 1,
|
2017-04-04 19:09:42 +08:00
|
|
|
desc => 'The number of plug-ins' } }
|
1999-05-04 03:22:58 +08:00
|
|
|
);
|
|
|
|
|
|
|
|
%invoke = (
|
|
|
|
code => <<'CODE'
|
|
|
|
{
|
2006-04-29 06:26:51 +08:00
|
|
|
num_plugins = gimp_plug_in_manager_query (gimp->plug_in_manager,
|
|
|
|
search_string,
|
|
|
|
&menu_path,
|
|
|
|
&plugin_accelerator,
|
|
|
|
&plugin_location,
|
|
|
|
&plugin_image_type,
|
|
|
|
&plugin_real_name,
|
|
|
|
&plugin_install_time);
|
1999-05-04 03:22:58 +08:00
|
|
|
}
|
|
|
|
CODE
|
|
|
|
);
|
|
|
|
}
|
|
|
|
|
2000-05-31 21:24:14 +08:00
|
|
|
sub plugin_domain_register {
|
|
|
|
$blurb = 'Registers a textdomain for localisation.';
|
2000-02-24 02:07:53 +08:00
|
|
|
|
|
|
|
$help = <<'HELP';
|
|
|
|
This procedure adds a textdomain to the list of domains Gimp searches
|
|
|
|
for strings when translating its menu entries. There is no need to
|
|
|
|
call this function for plug-ins that have their strings included in
|
2008-12-16 19:43:32 +08:00
|
|
|
the 'gimp-std-plugins' domain as that is used by default. If the compiled
|
2000-02-24 02:07:53 +08:00
|
|
|
message catalog is not in the standard location, you may specify an
|
|
|
|
absolute path to another location. This procedure can only be called
|
2000-05-31 14:15:06 +08:00
|
|
|
in the query function of a plug-in and it has to be called before any
|
2000-02-24 02:07:53 +08:00
|
|
|
procedure is installed.
|
|
|
|
HELP
|
|
|
|
|
2006-03-15 05:35:50 +08:00
|
|
|
&neo_pdb_misc('2000');
|
2000-02-24 02:07:53 +08:00
|
|
|
|
|
|
|
@inargs = (
|
2019-08-01 18:24:51 +08:00
|
|
|
{ name => 'domain_name', type => 'string', wrap => 1,
|
2003-08-20 03:08:11 +08:00
|
|
|
desc => 'The name of the textdomain (must be unique)' },
|
2007-04-27 03:10:23 +08:00
|
|
|
{ name => 'domain_path', type => 'string', no_validate => 1,
|
2003-08-20 03:08:11 +08:00
|
|
|
desc => 'The absolute path to the compiled message catalog (may be
|
2006-03-22 17:58:08 +08:00
|
|
|
NULL)' }
|
2000-02-24 02:07:53 +08:00
|
|
|
);
|
2003-01-20 20:17:32 +08:00
|
|
|
|
2000-02-24 02:07:53 +08:00
|
|
|
%invoke = (
|
2006-03-22 17:58:08 +08:00
|
|
|
code => <<'CODE'
|
2000-02-24 02:07:53 +08:00
|
|
|
{
|
2006-05-04 02:05:06 +08:00
|
|
|
GimpPlugIn *plug_in = gimp->plug_in_manager->current_plug_in;
|
2006-04-29 06:26:51 +08:00
|
|
|
|
2006-05-03 02:27:31 +08:00
|
|
|
if (plug_in && plug_in->call_mode == GIMP_PLUG_IN_CALL_QUERY)
|
2000-02-24 02:07:53 +08:00
|
|
|
{
|
2007-02-19 09:16:05 +08:00
|
|
|
gimp_plug_in_def_set_locale_domain (plug_in->plug_in_def,
|
|
|
|
domain_name, domain_path);
|
2000-02-24 02:07:53 +08:00
|
|
|
}
|
2004-07-16 22:43:56 +08:00
|
|
|
else
|
2008-04-04 18:53:50 +08:00
|
|
|
{
|
|
|
|
success = FALSE;
|
|
|
|
}
|
2000-02-24 02:07:53 +08:00
|
|
|
}
|
|
|
|
CODE
|
|
|
|
);
|
|
|
|
}
|
|
|
|
|
2000-05-31 21:24:14 +08:00
|
|
|
sub plugin_help_register {
|
|
|
|
$blurb = "Register a help path for a plug-in.";
|
|
|
|
|
|
|
|
$help = <<HELP;
|
2008-12-16 19:43:32 +08:00
|
|
|
|
|
|
|
This procedure registers user documentation for the calling plug-in
|
|
|
|
with the GIMP help system. The domain_uri parameter points to the root
|
|
|
|
directory where the plug-in help is installed. For each supported
|
|
|
|
language there should be a file called 'gimp-help.xml' that maps the
|
|
|
|
help IDs to the actual help files.
|
2000-05-31 21:24:14 +08:00
|
|
|
HELP
|
|
|
|
|
2006-03-15 05:35:50 +08:00
|
|
|
&mitch_pdb_misc('2000');
|
2000-05-31 21:24:14 +08:00
|
|
|
|
|
|
|
@inargs = (
|
2019-08-01 18:24:51 +08:00
|
|
|
{ name => 'domain_name', type => 'string', wrap => 1,
|
2004-05-20 09:13:14 +08:00
|
|
|
desc => "The XML namespace of the plug-in's help pages" },
|
2003-08-29 02:49:11 +08:00
|
|
|
{ name => 'domain_uri', type => 'string',
|
2004-05-20 09:13:14 +08:00
|
|
|
desc => "The root URI of the plug-in's help pages" }
|
2000-05-31 21:24:14 +08:00
|
|
|
);
|
|
|
|
|
|
|
|
%invoke = (
|
2006-03-22 17:58:08 +08:00
|
|
|
code => <<'CODE'
|
2000-05-31 21:24:14 +08:00
|
|
|
{
|
2006-05-04 02:05:06 +08:00
|
|
|
GimpPlugIn *plug_in = gimp->plug_in_manager->current_plug_in;
|
2006-04-29 06:26:51 +08:00
|
|
|
|
2006-05-03 02:27:31 +08:00
|
|
|
if (plug_in && plug_in->call_mode == GIMP_PLUG_IN_CALL_QUERY)
|
2000-05-31 21:24:14 +08:00
|
|
|
{
|
2007-02-19 09:16:05 +08:00
|
|
|
gimp_plug_in_def_set_help_domain (plug_in->plug_in_def,
|
|
|
|
domain_name, domain_uri);
|
2000-05-31 21:24:14 +08:00
|
|
|
}
|
2004-07-16 22:43:56 +08:00
|
|
|
else
|
2008-04-04 18:53:50 +08:00
|
|
|
{
|
|
|
|
success = FALSE;
|
|
|
|
}
|
2000-05-31 21:24:14 +08:00
|
|
|
}
|
|
|
|
CODE
|
|
|
|
);
|
|
|
|
}
|
2000-02-24 02:07:53 +08:00
|
|
|
|
2004-05-06 22:23:21 +08:00
|
|
|
sub plugin_menu_register {
|
2004-05-06 21:51:56 +08:00
|
|
|
$blurb = "Register an additional menu path for a plug-in procedure.";
|
|
|
|
|
|
|
|
$help = <<HELP;
|
|
|
|
This procedure installs an additional menu entry for the given procedure.
|
|
|
|
HELP
|
|
|
|
|
2006-03-15 05:35:50 +08:00
|
|
|
&mitch_pdb_misc('2004', '2.2');
|
2004-05-06 21:51:56 +08:00
|
|
|
|
|
|
|
@inargs = (
|
2019-08-01 18:24:51 +08:00
|
|
|
{ name => 'procedure_name', type => 'string', wrap => 1, non_empty => 1,
|
2004-05-06 21:51:56 +08:00
|
|
|
desc => 'The procedure for which to install the menu path' },
|
|
|
|
{ name => 'menu_path', type => 'string',
|
2004-05-20 09:13:14 +08:00
|
|
|
desc => "The procedure's additional menu path" }
|
2004-05-06 21:51:56 +08:00
|
|
|
);
|
|
|
|
|
|
|
|
%invoke = (
|
2006-03-22 17:58:08 +08:00
|
|
|
code => <<'CODE'
|
2004-05-06 21:51:56 +08:00
|
|
|
{
|
2006-05-04 02:05:06 +08:00
|
|
|
GimpPlugIn *plug_in = gimp->plug_in_manager->current_plug_in;
|
2006-04-29 06:26:51 +08:00
|
|
|
|
|
|
|
if (plug_in)
|
2004-05-06 21:51:56 +08:00
|
|
|
{
|
2006-01-12 03:41:25 +08:00
|
|
|
gchar *canonical = gimp_canonicalize_identifier (procedure_name);
|
2006-05-04 02:05:06 +08:00
|
|
|
success = gimp_plug_in_menu_register (plug_in, canonical, menu_path);
|
2005-08-03 06:52:23 +08:00
|
|
|
g_free (canonical);
|
2004-05-06 21:51:56 +08:00
|
|
|
}
|
2004-07-16 22:43:56 +08:00
|
|
|
else
|
2006-01-12 03:41:25 +08:00
|
|
|
{
|
|
|
|
success = FALSE;
|
|
|
|
}
|
2004-05-06 21:51:56 +08:00
|
|
|
}
|
|
|
|
CODE
|
|
|
|
);
|
|
|
|
}
|
|
|
|
|
2005-03-25 00:08:04 +08:00
|
|
|
sub plugin_menu_branch_register {
|
|
|
|
$blurb = "Register a sub-menu.";
|
|
|
|
|
|
|
|
$help = <<HELP;
|
2007-11-06 17:21:32 +08:00
|
|
|
This procedure installs a sub-menu which does not belong to any procedure.
|
|
|
|
The menu-name should be the untranslated menu label. GIMP will look up the
|
|
|
|
translation in the textdomain registered for the plug-in.
|
2005-03-25 00:08:04 +08:00
|
|
|
HELP
|
|
|
|
|
2006-03-15 05:35:50 +08:00
|
|
|
&mitch_pdb_misc('2005', '2.4');
|
2005-03-25 00:08:04 +08:00
|
|
|
|
|
|
|
@inargs = (
|
2019-08-01 18:24:51 +08:00
|
|
|
{ name => 'menu_path', type => 'string', wrap => 1,
|
2005-03-25 00:08:04 +08:00
|
|
|
desc => "The sub-menu's menu path" },
|
|
|
|
{ name => 'menu_name', type => 'string',
|
|
|
|
desc => 'The name of the sub-menu' }
|
|
|
|
);
|
|
|
|
|
|
|
|
%invoke = (
|
2006-03-22 17:58:08 +08:00
|
|
|
code => <<'CODE'
|
2005-03-25 00:08:04 +08:00
|
|
|
{
|
2006-05-04 02:05:06 +08:00
|
|
|
GimpPlugIn *plug_in = gimp->plug_in_manager->current_plug_in;
|
2006-04-29 06:26:51 +08:00
|
|
|
|
|
|
|
if (plug_in)
|
2005-03-25 00:08:04 +08:00
|
|
|
{
|
2006-04-29 06:26:51 +08:00
|
|
|
gimp_plug_in_manager_add_menu_branch (gimp->plug_in_manager,
|
2014-07-09 03:09:35 +08:00
|
|
|
plug_in->file, menu_path, menu_name);
|
2005-03-25 00:08:04 +08:00
|
|
|
}
|
|
|
|
else
|
2008-04-04 18:53:50 +08:00
|
|
|
{
|
|
|
|
success = FALSE;
|
|
|
|
}
|
2005-03-25 00:08:04 +08:00
|
|
|
}
|
|
|
|
CODE
|
|
|
|
);
|
|
|
|
}
|
|
|
|
|
2004-05-19 05:19:43 +08:00
|
|
|
sub plugin_icon_register {
|
|
|
|
$blurb = "Register an icon for a plug-in procedure.";
|
|
|
|
|
|
|
|
$help = <<HELP;
|
|
|
|
This procedure installs an icon for the given procedure.
|
|
|
|
HELP
|
|
|
|
|
2006-03-15 05:35:50 +08:00
|
|
|
&mitch_pdb_misc('2004', '2.2');
|
2004-05-19 05:19:43 +08:00
|
|
|
|
|
|
|
@inargs = (
|
2007-04-25 22:23:05 +08:00
|
|
|
{ name => 'procedure_name', type => 'string', wrap => 1, non_empty => 1,
|
2004-05-19 05:19:43 +08:00
|
|
|
desc => 'The procedure for which to install the icon' },
|
|
|
|
{ name => 'icon_type', type => 'enum GimpIconType',
|
2006-05-19 01:25:15 +08:00
|
|
|
desc => 'The type of the icon' },
|
2004-05-19 05:19:43 +08:00
|
|
|
{ name => 'icon_data', type => 'int8array',
|
2006-03-22 17:58:08 +08:00
|
|
|
desc => "The procedure's icon. The format depends on the
|
|
|
|
'icon_type' parameter",
|
2006-03-25 06:49:20 +08:00
|
|
|
array => { name => 'icon_data_length', type => '1 <= int32',
|
2006-05-19 01:25:15 +08:00
|
|
|
desc => "The length of 'icon-data'" } }
|
2004-05-19 05:19:43 +08:00
|
|
|
);
|
|
|
|
|
|
|
|
%invoke = (
|
2006-03-22 17:58:08 +08:00
|
|
|
code => <<'CODE'
|
2004-05-19 05:19:43 +08:00
|
|
|
{
|
2006-05-04 02:05:06 +08:00
|
|
|
GimpPlugIn *plug_in = gimp->plug_in_manager->current_plug_in;
|
2006-04-29 06:26:51 +08:00
|
|
|
|
2006-05-03 02:27:31 +08:00
|
|
|
if (plug_in && plug_in->call_mode == GIMP_PLUG_IN_CALL_QUERY)
|
2004-05-19 05:19:43 +08:00
|
|
|
{
|
2006-04-05 16:38:33 +08:00
|
|
|
GimpPlugInProcedure *proc;
|
|
|
|
gchar *canonical;
|
2005-08-03 06:52:23 +08:00
|
|
|
|
|
|
|
canonical = gimp_canonicalize_identifier (procedure_name);
|
2004-05-19 05:19:43 +08:00
|
|
|
|
2006-04-29 06:26:51 +08:00
|
|
|
proc = gimp_plug_in_procedure_find (plug_in->plug_in_def->procedures,
|
2006-04-05 16:38:33 +08:00
|
|
|
canonical);
|
2005-08-03 06:52:23 +08:00
|
|
|
|
|
|
|
g_free (canonical);
|
2004-05-19 05:19:43 +08:00
|
|
|
|
2006-04-05 16:38:33 +08:00
|
|
|
if (proc)
|
|
|
|
gimp_plug_in_procedure_set_icon (proc, icon_type,
|
|
|
|
icon_data, icon_data_length);
|
2005-05-05 02:53:58 +08:00
|
|
|
else
|
2004-05-19 05:19:43 +08:00
|
|
|
success = FALSE;
|
|
|
|
}
|
2004-07-16 22:43:56 +08:00
|
|
|
else
|
2008-04-04 18:53:50 +08:00
|
|
|
{
|
|
|
|
success = FALSE;
|
|
|
|
}
|
2004-05-19 05:19:43 +08:00
|
|
|
}
|
|
|
|
CODE
|
|
|
|
);
|
|
|
|
}
|
|
|
|
|
2008-08-19 06:54:26 +08:00
|
|
|
sub plugin_set_pdb_error_handler {
|
|
|
|
$blurb = "Sets an error handler for procedure calls.";
|
|
|
|
|
|
|
|
$help = <<HELP;
|
|
|
|
This procedure changes the way that errors in procedure calls are
|
|
|
|
handled. By default GIMP will raise an error dialog if a procedure
|
|
|
|
call made by a plug-in fails. Using this procedure the plug-in can
|
|
|
|
change this behavior. If the error handler is set to
|
|
|
|
%GIMP_PDB_ERROR_HANDLER_PLUGIN, then the plug-in is responsible for
|
|
|
|
calling gimp_get_pdb_error() and handling the error whenever one if
|
|
|
|
its procedure calls fails. It can do this by displaying the error
|
|
|
|
message or by forwarding it in its own return values.
|
|
|
|
HELP
|
|
|
|
|
|
|
|
&neo_pdb_misc('2008', '2.6');
|
|
|
|
|
|
|
|
@inargs = (
|
2019-08-07 17:01:53 +08:00
|
|
|
{ name => 'handler', type => 'enum GimpPDBErrorHandler', wrap => 1,
|
2008-08-19 06:54:26 +08:00
|
|
|
desc => "Who is responsible for handling procedure call errors" }
|
|
|
|
);
|
|
|
|
|
|
|
|
%invoke = (
|
|
|
|
code => <<'CODE'
|
|
|
|
{
|
|
|
|
GimpPlugIn *plug_in = gimp->plug_in_manager->current_plug_in;
|
|
|
|
|
|
|
|
if (plug_in)
|
|
|
|
{
|
|
|
|
gimp_plug_in_set_error_handler (plug_in, handler);
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
success = FALSE;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
CODE
|
|
|
|
);
|
|
|
|
}
|
|
|
|
|
|
|
|
sub plugin_get_pdb_error_handler {
|
|
|
|
$blurb = "Retrieves the active error handler for procedure calls.";
|
|
|
|
|
|
|
|
$help = <<HELP;
|
|
|
|
This procedure retrieves the currently active error handler for
|
|
|
|
procedure calls made by the calling plug-in. See
|
|
|
|
gimp_plugin_set_pdb_error_handler() for details.
|
|
|
|
HELP
|
|
|
|
|
|
|
|
&neo_pdb_misc('2008', '2.6');
|
|
|
|
|
|
|
|
@outargs = (
|
2019-08-07 17:01:53 +08:00
|
|
|
{ name => 'handler', type => 'enum GimpPDBErrorHandler', wrap => 1,
|
2008-08-19 06:54:26 +08:00
|
|
|
desc => "Who is responsible for handling procedure call errors" }
|
|
|
|
);
|
|
|
|
|
|
|
|
%invoke = (
|
|
|
|
code => <<'CODE'
|
|
|
|
{
|
|
|
|
GimpPlugIn *plug_in = gimp->plug_in_manager->current_plug_in;
|
|
|
|
|
|
|
|
if (plug_in)
|
|
|
|
{
|
|
|
|
handler = gimp_plug_in_get_error_handler (plug_in);
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
success = FALSE;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
CODE
|
|
|
|
);
|
|
|
|
}
|
2000-02-24 02:07:53 +08:00
|
|
|
|
2006-06-14 16:32:08 +08:00
|
|
|
@headers = qw(<string.h>
|
|
|
|
<stdlib.h>
|
|
|
|
"libgimpbase/gimpbase.h"
|
|
|
|
"core/gimp.h"
|
2006-05-04 02:05:06 +08:00
|
|
|
"plug-in/gimpplugin.h"
|
2007-02-19 09:16:05 +08:00
|
|
|
"plug-in/gimpplugindef.h"
|
2006-04-29 06:26:51 +08:00
|
|
|
"plug-in/gimppluginmanager.h"
|
|
|
|
"plug-in/gimppluginmanager-menu-branch.h"
|
|
|
|
"plug-in/gimppluginmanager-query.h"
|
2007-02-19 09:16:05 +08:00
|
|
|
"plug-in/gimppluginprocedure.h");
|
2001-12-01 08:14:14 +08:00
|
|
|
|
2004-08-28 04:06:17 +08:00
|
|
|
@procs = qw(plugins_query
|
2008-02-08 01:08:54 +08:00
|
|
|
plugin_domain_register
|
|
|
|
plugin_help_register
|
|
|
|
plugin_menu_branch_register
|
2019-08-01 18:24:51 +08:00
|
|
|
plugin_menu_register
|
2008-08-19 06:54:26 +08:00
|
|
|
plugin_icon_register
|
|
|
|
plugin_set_pdb_error_handler
|
2019-07-20 07:53:31 +08:00
|
|
|
plugin_get_pdb_error_handler);
|
2006-03-24 05:17:16 +08:00
|
|
|
|
2019-07-20 07:53:31 +08:00
|
|
|
%exports = (app => [@procs], lib => [@procs[1,2,3,4,5,6,7]]);
|
1999-05-04 03:22:58 +08:00
|
|
|
|
|
|
|
$desc = 'Plug-in';
|
|
|
|
|
|
|
|
1;
|