Пример #1
0
static int
gsf_list_props (int argc, char **argv)
{
	GsfInfile *infile;
	GsfDocMetaData *meta_data;
	char const *filename;
	GSList *names = NULL;

	if (argc != 1)
		return 1;

	filename = argv[0];
	infile = open_archive (filename);
	if (!infile)
		return 1;

	meta_data = get_meta_data (infile, filename);
	gsf_doc_meta_data_foreach (meta_data, cb_collect_names, &names);
	names = g_slist_sort (names, (GCompareFunc)strcmp);
	g_slist_foreach (names, (GFunc)cb_print_names, NULL);
	g_slist_free (names);

	g_object_unref (meta_data);
	g_object_unref (infile);
	return 0;
}
Пример #2
0
static void
collect_metadata(ChupaMetadata *metadata, GODoc *document)
{
    GsfDocMetaData *work_book_metadata;

    work_book_metadata = go_doc_get_meta_data(document);
    gsf_doc_meta_data_foreach(work_book_metadata, cb_metadata_foreach,
                              metadata);
}
Пример #3
0
static void print_summary_stream (GsfInfile * msole,
				  const char * file_name,
				  const char * stream_name,
				  GHashTable * human_readable_names)
{
  GsfInput * stream = gsf_infile_child_by_name (msole, stream_name);
  if (stream != NULL) {
    GsfDocMetaData *meta_data = gsf_doc_meta_data_new ();
    GError    *err = NULL;    

    err = gsf_msole_metadata_read (stream, meta_data);
    if (err != NULL) {
      g_warning ("Error getting metadata for %s->%s: %s", 
		 file_name, stream_name, err->message);
      g_error_free (err);
      err = NULL;
    } else
      gsf_doc_meta_data_foreach (meta_data,
				 (GHFunc) cb_print_property, human_readable_names);
    
    g_object_unref (meta_data);
    g_object_unref (G_OBJECT (stream));
  }
}
Пример #4
0
/**
 * gsf_doc_meta_dump:
 * @meta: #GsfDocMetaData
 *
 * A debugging utility to dump the content of @meta via g_print
 **/
void
gsf_doc_meta_dump (GsfDocMetaData const *meta)
{
	gsf_doc_meta_data_foreach (meta,
		(GHFunc) cb_print_property, NULL);
}