void *im_map_packages( im_list_map_fn fn, void *a )
This function applies the argument function fn
to every package
in the database, starting with the most recently added package. As with
im_list_map()
, the argument function should return NULL
to continue searching, or non-NULL
to terminate the search
early. im_map_packages()
returns NULL
if fn
returned
NULL
for all arguments. The extra argument a
is carried around
by VIPS for your use.
For example, this fragment of code prints the names of all loaded packages
to fd
:
static void * print_package_name( im_package *pack, FILE *fp ) { (void) fprintf( fp, "package: \"%s\"\n", pack->name ); /* Continue search. */ return( NULL ); } static void print_packages( FILE *fp ) { (void) im_map_packages( (im_list_map_fn) print_package_name, fp ); }
VIPS defines three convenience functions based on im_map_packages()
which simplify searching for specific functions:
im_function * im_find_function( char *name ) im_package * im_find_package( char *name ) im_package * im_package_of_function( char *name )