<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <title>libglom-1.14: libglom Reference Manual</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="doxygen.css" rel="stylesheet" type="text/css"/> </head> <body> <!-- Generated by Doxygen 1.6.1 --> <div class="navigation" id="top"> <div class="tabs"> <ul> <li class="current"><a href="index.html"><span>Main Page</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li><a href="annotated.html"><span>Classes</span></a></li> </ul> </div> </div> <div class="contents"> <h1>libglom Reference Manual</h1><h3>1.15.1 </h3><h2><a class="anchor" id="description"> description</a></h2> <p>libglom provides API to access Glom's XML-based <a class="el" href="classGlom_1_1Document.html">Glom::Document</a> structure. Applications may use it to load a .glom document and then call methods on the document to discover the connection details and the data structure, including:</p> <ul> <li>The list of tables</li> <li>The list of fields in each table</li> <li>The details of each field, such as field type, title, default value, formatting, etc.</li> <li>The relationships between tables.</li> <li>The layout of fields on list and details views.</li> <li>The layout of print layouts.</li> <li>The layout of reports.</li> </ul> <p>libglom also contains utility functions, such as <a class="el" href="namespaceGlom_1_1Utils.html#a21e7a7ae41fc536f7226eb73001faef0" title="Generate a SQL statement to SELECT field values, even if the fields are in related...">Glom::Utils::build_sql_select_with_where_clause()</a>, to build the complicated SQL queries used by <a class="el" href="namespaceGlom.html">Glom</a> to retrieve information from the database.</p> <p>See <a href="http://git.gnome.org/browse/glom/tree/glom/libglom/example_document_load.cc">http://git.gnome.org/browse/glom/tree/glom/libglom/example_document_load.cc</a> for a small working example.</p> <h2><a class="anchor" id="warning"> Warning</a></h2> <p>libglom is not yet API stable, not properly documented, not thoroughly tested, and not yet really intended for serious use by applications other than <a href="http://www.glom.org/">Glom</a> and <a href="http://gitorious.org/qlom">Qlom</a>.</p> <h2><a class="anchor" id="basics"> basics</a></h2> <p>Include the individual libglom headers. For instance: </p> <div class="fragment"><pre class="fragment"><span class="preprocessor"> #include <libglom/document/document.h></span> </pre></div><p>If your source file is <code>program.cc</code>, you can compile it with: </p> <div class="fragment"><pre class="fragment"> g++ program.cc -o program `pkg-config --cflags --libs glom-1.14` </pre></div><p>Alternatively, if using autoconf, use the following in <code>configure.ac:</code> </p> <div class="fragment"><pre class="fragment"> PKG_CHECK_MODULES([DEPS], [glom-1.14]) </pre></div><p> Then use the generated <code>DEPS_CFLAGS</code> and <code>DEPS_LIBS</code> variables in the project <code>Makefile.am</code> files. For example: </p> <div class="fragment"><pre class="fragment"> program_CPPFLAGS = $(DEPS_CFLAGS) program_LDADD = $(DEPS_LIBS) </pre></div> </div> <hr size="1"/><address style="text-align: right;"><small>Generated on Wed May 26 01:04:00 2010 for libglom-1.14 by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address> </body> </html>