Added `void *closure' argument.
2000-11-27 Martin Baulig <martin@home-of-linux.org> * include/glibtop/glibtop-backend-info.h (glibtop_backend_close_func_t): Added `void *closure' argument. * include/glibtop/call-vector.h: Changed the second argument of all function in the call vector from `glibtop_backend *' to `void *closure'.
This commit is contained in:
committed by
Martin Baulig
parent
8a78a93e0c
commit
478be2d170
@@ -44,6 +44,8 @@ struct _glibtop_backend_private
|
||||
{
|
||||
const glibtop_backend_info *info;
|
||||
|
||||
void *closure_data;
|
||||
|
||||
glibtop_server *server;
|
||||
glibtop_backend_module *module;
|
||||
};
|
||||
@@ -260,3 +262,19 @@ glibtop_backend_get_server (glibtop_backend *backend)
|
||||
return backend->_priv->server;
|
||||
}
|
||||
|
||||
void *
|
||||
glibtop_backend_get_closure_data (glibtop_backend *backend)
|
||||
{
|
||||
g_return_val_if_fail (GLIBTOP_IS_BACKEND (backend), NULL);
|
||||
|
||||
return backend->_priv->closure_data;
|
||||
}
|
||||
|
||||
void
|
||||
glibtop_backend_set_closure_data (glibtop_backend *backend, void *closure)
|
||||
{
|
||||
g_return_if_fail (GLIBTOP_IS_BACKEND (backend));
|
||||
g_return_if_fail (backend->_priv->closure_data == NULL);
|
||||
|
||||
backend->_priv->closure_data = closure;
|
||||
}
|
||||
|
||||
10
lib/lib.pl
10
lib/lib.pl
@@ -179,23 +179,23 @@ sub output {
|
||||
("\t}\n\n");
|
||||
|
||||
$sysdeps_code .= sprintf
|
||||
("\tfor (list = client->_priv->backend_list; list; list = list->next) {\n\t\tglibtop_backend *backend = list->data;\n\t\tglibtop_call_vector *call_vector;\n\n\t\tcall_vector = glibtop_backend_get_call_vector (backend);\n\n\t\tif (call_vector && call_vector->%s) {\n\t\t\tglibtop_server *server = glibtop_backend_get_server (backend);\n\n", $feature);
|
||||
("\tfor (list = client->_priv->backend_list; list; list = list->next) {\n\t\tglibtop_backend *backend = list->data;\n\t\tglibtop_call_vector *call_vector;\n\n\t\tcall_vector = glibtop_backend_get_call_vector (backend);\n\n\t\tif (call_vector && call_vector->%s) {\n\t\t\tglibtop_server *server = glibtop_backend_get_server (backend);\n\t\t\tvoid *closure = glibtop_backend_get_closure_data (backend);\n\n", $feature);
|
||||
|
||||
if ($line_fields[3] eq '') {
|
||||
$sysdeps_code .= sprintf
|
||||
("\t\t\tretval = call_vector->%s (server, backend%s);\n",
|
||||
("\t\t\tretval = call_vector->%s (server, closure%s);\n",
|
||||
$feature, $call_param);
|
||||
} elsif ($line_fields[3] eq 'array') {
|
||||
$sysdeps_code .= sprintf
|
||||
("\t\t\tretval = call_vector->%s (server, backend, array%s);\n",
|
||||
("\t\t\tretval = call_vector->%s (server, closure, array%s);\n",
|
||||
$feature, $call_param);
|
||||
} elsif ($line_fields[3] =~ /^array/) {
|
||||
$sysdeps_code .= sprintf
|
||||
("\t\t\tretval = call_vector->%s (server, backend, array, buf%s);\n",
|
||||
("\t\t\tretval = call_vector->%s (server, closure, array, buf%s);\n",
|
||||
$feature, $call_param);
|
||||
} else {
|
||||
$sysdeps_code .= sprintf
|
||||
("\t\t\tretval = call_vector->%s (server, backend, buf%s);\n",
|
||||
("\t\t\tretval = call_vector->%s (server, closure, buf%s);\n",
|
||||
$feature, $call_param);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user