Commit 60fdc9b9 authored by Carlos Garnacho's avatar Carlos Garnacho

libtracker-extract: Make it completely private

This library has some rough spots, mainly around:

1) Usefulness: The library is not specially useful outside of
   tracker. In the source tree we already have plenty of extract
   modules that handle most popular file formats. Future-wise, if
   a brand new file format earns popularity, we'll want it in the
   tracker tree, and not as an external module. So neither
   implementing minor third party out-of-tree modules nor offering
   the possibility to reimplement a type Tracker knows well is a
   compelling thing to support.

2) Maintainability: The API is highly inconsistent, hardly
   introspectable and with little forward-compatibility thinking.

So in short, libtracker-extract is something we want to keep under
the rug, only available to tracker-miner-fs and tracker-extract.
parent f9a4a0f5
......@@ -2512,7 +2512,6 @@ AC_CONFIG_FILES([
data/miners/Makefile
data/ontologies/Makefile
data/tracker-sparql.pc
data/tracker-extract.pc
data/tracker-miner.pc
docs/Makefile
docs/design/Makefile
......@@ -2520,8 +2519,6 @@ AC_CONFIG_FILES([
docs/reference/Makefile
docs/reference/libtracker-sparql/Makefile
docs/reference/libtracker-sparql/version.xml
docs/reference/libtracker-extract/Makefile
docs/reference/libtracker-extract/version.xml
docs/reference/libtracker-miner/Makefile
docs/reference/libtracker-miner/version.xml
docs/reference/ontology/Makefile
......
......@@ -45,15 +45,11 @@ endif
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = \
tracker-sparql-$(TRACKER_API_VERSION).pc \
tracker-extract-$(TRACKER_API_VERSION).pc \
tracker-miner-$(TRACKER_API_VERSION).pc
tracker-sparql-$(TRACKER_API_VERSION).pc: tracker-sparql.pc
cp $< $@
tracker-extract-$(TRACKER_API_VERSION).pc: tracker-extract.pc
cp $< $@
tracker-miner-$(TRACKER_API_VERSION).pc: tracker-miner.pc
cp $< $@
......
prefix=@prefix@
exec_prefix=@exec_prefix@
libdir=@libdir@
includedir=@includedir@
Name: tracker-extract
Description: Tracker : A library to develop metadata extractors for 3rd party file types.
Version: @VERSION@
Requires: glib-2.0 tracker-sparql-@TRACKER_API_VERSION@
Libs: -L${libdir} -ltracker-extract-@TRACKER_API_VERSION@
Cflags: -I${includedir}/tracker-@TRACKER_API_VERSION@
......@@ -2,7 +2,6 @@ include $(top_srcdir)/Makefile.decl
SUBDIRS = \
libtracker-sparql \
libtracker-extract \
libtracker-miner
if ENABLE_GTK_DOC
......
include $(top_srcdir)/Makefile.decl
AUTOMAKE_OPTIONS = 1.6
# The name of the module.
DOC_MODULE = libtracker-extract
# The top-level SGML file.
DOC_MAIN_SGML_FILE = libtracker-extract-docs.sgml
# Extra options to supply to gtkdoc-scan
SCAN_OPTIONS=--deprecated-guards="TRACKER_DISABLE_DEPRECATED"
# Extra options to pass to gtkdoc-scangobj
# SCANGOBJ_OPTIONS=--type-init-func="gtk_type_init(0)"
# The directory containing the source code. Relative to $(srcdir)
DOC_SOURCE_DIR = ../../../src/libtracker-extract
# Used for dependencies
HFILE_GLOB = $(top_srcdir)/src/libtracker-extract/*.h
CFILE_GLOB = $(top_srcdir)/src/libtracker-extract/*.c
# Header files to ignore when scanning
IGNORE_HFILES =
# CFLAGS and LDFLAGS for compiling scan program. Only needed
# if $(DOC_MODULE).types is non-empty.
AM_CPPFLAGS = \
-DTRACKER_COMPILATION \
-I$(top_srcdir)/src \
$(LIBTRACKER_EXTRACT_CFLAGS)
GTKDOC_LIBS = \
$(top_builddir)/src/libtracker-extract/libtracker-extract-@TRACKER_API_VERSION@.la \
$(top_builddir)/src/libtracker-common/libtracker-common.la \
$(LIBTRACKER_EXTRACT_LIBS)
# Extra options to supply to gtkdoc-mkdb
MKDB_OPTIONS = --sgml-mode --output-format=xml
# Extra options to supply to gtkdoc-mkhtml
MKHTML_OPTIONS=--path="$(abs_builddir)"
# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE)
content_files = version.xml overview.sgml
expand_content_files =
# Images to copy into HTML directory
HTML_IMAGES =
# Extra options to supply to gtkdoc-fixref
FIXXREF_OPTIONS =
include $(top_srcdir)/gtk-doc.make
# Other files to distribute
EXTRA_DIST += version.xml.in
<?xml version="1.0"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
<!ENTITY % local.common.attrib "xmlns:xi CDATA #FIXED 'http://www.w3.org/2003/XInclude'">
<!ENTITY version SYSTEM "version.xml">
]>
<book id="index">
<bookinfo>
<title>Tracker Extract Library Reference Manual</title>
<releaseinfo>
for libtracker-extract &version;.
The latest version of this documentation can be found on-line at
<ulink role="online-location" url="http://library.gnome.org/devel/libtracker-extract/unstable/">
http://library.gnome.org/devel/libtracker-extract/unstable
</ulink>.
</releaseinfo>
</bookinfo>
<!-- The Library Overview -->
<xi:include href="overview.sgml"/>
<!-- The API Reference -->
<part id="libtracker-extract-reference">
<title>Reference</title>
<partintro>
<para>
This section provides the detailed API of the Tracker Extract library.
</para>
</partintro>
<chapter>
<title>Core API</title>
<xi:include href="xml/tracker-data.xml"/>
<xi:include href="xml/tracker-extract-info.xml"/>
<xi:include href="xml/tracker-utils.xml"/>
</chapter>
<chapter>
<title>Common Embedded Support API</title>
<xi:include href="xml/tracker-xmp.xml"/>
<xi:include href="xml/tracker-iptc.xml"/>
<xi:include href="xml/tracker-exif.xml"/>
</chapter>
<xi:include href="xml/annotation-glossary.xml"><xi:fallback /></xi:include>
</part>
</book>
<SECTION>
<FILE>tracker-module-manager</FILE>
TrackerExtractInitFunc
TrackerExtractMetadataFunc
TrackerExtractShutdownFunc
TrackerModuleThreadAwareness
tracker_extract_module_init
tracker_extract_module_manager_get_fallback_rdf_types
tracker_extract_module_manager_get_for_mimetype
tracker_extract_module_manager_get_mimetype_handlers
tracker_extract_module_manager_init
tracker_extract_module_manager_mimetype_is_handled
tracker_extract_module_shutdown
<SUBSECTION Standard>
TrackerMimetypeInfo
tracker_mimetype_info_free
tracker_mimetype_info_get_module
tracker_mimetype_info_iter_next
</SECTION>
<SECTION>
<FILE>tracker-xmp</FILE>
TrackerXmpData
TrackerXmpRegion
tracker_xmp_new
tracker_xmp_free
tracker_xmp_read
tracker_xmp_apply
tracker_xmp_apply_regions
</SECTION>
<SECTION>
<FILE>tracker-iptc</FILE>
TrackerIptcData
tracker_iptc_new
tracker_iptc_free
tracker_iptc_read
</SECTION>
<SECTION>
<FILE>tracker-data</FILE>
tracker_extract_get_metadata
</SECTION>
<SECTION>
<FILE>tracker-encoding</FILE>
tracker_encoding_can_guess
tracker_encoding_guess
tracker_encoding_guess_enca
tracker_encoding_guess_meegotouch
</SECTION>
<SECTION>
<FILE>tracker-guarantee</FILE>
tracker_guarantee_date_from_file_mtime
tracker_guarantee_title_from_file
</SECTION>
<SECTION>
<FILE>tracker-utils</FILE>
tracker_coalesce
tracker_coalesce_strip
tracker_merge
tracker_merge_const
tracker_getline
tracker_text_normalize
tracker_text_validate_utf8
tracker_date_format_to_iso8601
tracker_date_guess
tracker_keywords_parse
</SECTION>
<SECTION>
<FILE>tracker-exif</FILE>
TrackerExifData
tracker_exif_new
tracker_exif_free
tracker_exif_read
</SECTION>
<SECTION>
<FILE>tracker-extract-client</FILE>
tracker_extract_client_get_metadata
tracker_extract_client_get_metadata_finish
tracker_extract_client_cancel_for_prefix
</SECTION>
<SECTION>
<FILE>tracker-extract-info</FILE>
TrackerExtractInfo
tracker_extract_info_new
tracker_extract_info_ref
tracker_extract_info_unref
tracker_extract_info_get_preupdate_builder
tracker_extract_info_get_postupdate_builder
tracker_extract_info_get_metadata_builder
tracker_extract_info_get_where_clause
tracker_extract_info_set_where_clause
tracker_extract_info_get_file
tracker_extract_info_get_mimetype
tracker_extract_info_get_graph
<SUBSECTION Standard>
tracker_extract_info_get_type
</SECTION>
<?xml version='1.0' encoding="ISO-8859-1"?>
<part id="tracker-overview">
<title>Overview</title>
<partintro>
<para>
The libtracker-extract library is the foundation for Tracker
metadata extraction of embedded data in files. Tracker comes
with extractors written for the most common file types (like
MP3, JPEG, PNG, etc.), however, for more special cases, 3rd
party applications may want to write their own plugin to
extract their own file formats. This documentation describes
how to do that.
</para>
</partintro>
<chapter id="tracker-overview-compiling">
<title>Compiling applications</title>
<para>
To compile applications using libtracker-extract, you
need to tell the compiler where to find the proper header files
and libraries. This is done with the
<application>pkg-config</application> utility.
</para>
<para>
The following interactive shell session demonstrates how
<application>pkg-config</application> is used (the actual output on
your system may be different):
<programlisting>
$ pkg-config --cflags tracker-extract-0.12
-pthread -I/usr/include/tracker-0.12 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/tracker-0.12/libtracker-sparql
$ pkg-config --libs tracker-extract-0.12
-Wl,--export-dynamic -pthread -ltracker-extract-0.12 -ltracker-sparql-0.12 -lgio-2.0 -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0
</programlisting>
</para>
<para>
The simplest way to compile a program is to use the "backticks"
feature of the shell. If you enclose a command in backticks
(<emphasis>not single quotes</emphasis>), then its output will be
substituted into the command line before execution:
<programlisting>
$ cc `pkg-config --cflags --libs tracker-extract-0.12` hello.c -o hello
</programlisting>
</para>
</chapter>
</part>
......@@ -39,8 +39,6 @@ libtracker_extract_@TRACKER_API_VERSION@_la_SOURCES = \
tracker-xmp.h
noinst_HEADERS =
libtracker_extractinclude_HEADERS = \
tracker-data.h \
tracker-encoding.h \
tracker-exif.h \
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment