(libIDL2.info.gz) Example
Info Catalog
(libIDL2.info.gz) Overview
(libIDL2.info.gz) Top
(libIDL2.info.gz) Reference
2 Usage
*******
The following C program using libIDL will parse an IDL file and print
the Repository IDs of the interfaces in the IDL module.
#include <assert.h>
#include <stdio.h>
#include <stdlib.h>
#include <libIDL/IDL.h>
gboolean
print_repo_id (IDL_tree_func_data *tfd, gpointer user_data)
{
char *repo_id = NULL;
if (IDL_NODE_TYPE (tfd->tree) == IDLN_INTERFACE)
repo_id = IDL_IDENT_REPO_ID (IDL_INTERFACE (tfd->tree).ident);
if (repo_id)
printf ("%s\n", repo_id);
return TRUE;
}
int
main (int argc, char *argv[])
{
IDL_tree tree;
IDL_ns ns;
char *fn;
int rv;
if (argc < 2) {
fprintf (stderr, "usage: %s <file>\n", argv[0]);
exit (1);
}
fn = argv[1];
rv = IDL_parse_filename (fn, NULL, NULL, &tree, &ns, 0, IDL_WARNING1);
if (rv == IDL_ERROR || rv < 0) {
if (rv < 0)
perror (fn);
exit (1);
}
IDL_tree_walk_in_order (tree, print_repo_id, NULL);
IDL_ns_free (ns);
IDL_tree_free (tree);
return 0;
}
Info Catalog
(libIDL2.info.gz) Overview
(libIDL2.info.gz) Top
(libIDL2.info.gz) Reference
automatically generated byinfo2html