[libgda] Modify Gda Vala extension documentation's file location * Temporly not integrated to GDA's gtk-doc



commit 1131cc4e4b7cf2c97e893423e8c79682fcbc9630
Author: Daniel Espinosa <despinosa src gnome org>
Date:   Fri Mar 30 11:54:47 2012 -0600

    Modify Gda Vala extension documentation's file location
    * Temporly not integrated to GDA's gtk-doc

 configure.ac                                       |   27 +++-
 doc/mallard/gda-vala/C/classes.page                |   33 ++++
 doc/mallard/gda-vala/C/enable-vala-extensions.page |   27 +++
 doc/mallard/gda-vala/C/figures/classes-uml.png     |  Bin 0 -> 23714 bytes
 doc/mallard/gda-vala/C/figures/interfaces-uml.png  |  Bin 0 -> 35294 bytes
 .../gda-vala/C/figures/record-class-uml.png        |  Bin 0 -> 16252 bytes
 doc/mallard/gda-vala/C/figures/table-class-uml.png |  Bin 0 -> 25406 bytes
 doc/mallard/gda-vala/C/index.page                  |   27 +++
 doc/mallard/gda-vala/C/interfaces.page             |   30 ++++
 doc/mallard/gda-vala/C/legal.xml                   |    9 +
 doc/mallard/gda-vala/C/record-class.page           |  170 ++++++++++++++++++++
 doc/mallard/gda-vala/C/table-class.page            |  164 +++++++++++++++++++
 doc/mallard/gda-vala/Makefile.am                   |   24 +++
 13 files changed, 510 insertions(+), 1 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index 4cda753..8621296 100644
--- a/configure.ac
+++ b/configure.ac
@@ -601,6 +601,29 @@ dnl ******************************
 GTK_DOC_CHECK([1.14],[--flavour no-tmpl])
 
 dnl ******************************
+dnl Vala documentation
+dnl ******************************
+enable_vala_doc="no"
+if test "x$enable_gtk_doc" = "xyes"
+then
+dnl Find yelp-build program
+	AC_PATH_PROG(YELP_BUILD, [yelp-build], [no])
+    if test "x$YELP_BUILD" = "xno";
+    then
+        AC_MSG_ERROR([Vala documentation requested but yelp-build not found])
+    fi
+	AC_SUBST(YELP_BUILD)
+    enable_vala_doc="yes"
+fi
+AM_CONDITIONAL(ENABLE_VALA_DOC, [test "$enable_vala_doc" = "yes"])
+
+dnl ******************************
+dnl Yelp init documentation
+dnl ******************************
+
+YELP_HELP_INIT
+
+dnl ******************************
 dnl Checks for providers
 dnl ******************************
 
@@ -946,7 +969,7 @@ doc/C/libgda.types
 doc/C/version.xml
 doc/C/builddate.xml
 doc/mallard/Makefile
-doc/mallard/gda-data/Makefile
+doc/mallard/gda-vala/Makefile
 data/Makefile
 stamp.h
 ])
@@ -982,8 +1005,10 @@ echo "   Building GTK+ UI extension: `if test x$have_ui != xno; then echo yes; e
 echo "   Building Libxslt extension: `if test x$have_xslt != xno; then echo yes; else echo no; fi`"
 echo "   Building libgda GObject Introspection: `if test x$enable_gda_gi != xno; then echo yes; else echo no; fi`"
 echo "   Building libgda-ui GObject Introspection: `if test x$enable_gdaui_gi != xno; then echo yes; else echo no; fi`"
+echo "   Building Gtk-Doc: `if test x$enable_gtk_doc != xno; then echo yes; else echo no; fi`"
 echo "   Building Vala Bindings: `if test x$enable_vala != xno; then echo yes; else echo no; fi`"
 echo "   Building Vala Extensions: `if test x$enable_vala_ext != xno; then echo yes; else echo no; fi`"
+echo "   Building Vala Documentation: `if test x$enable_vala_doc != xno; then echo yes; else echo no; fi`"
 echo "   Compiled providers:"
 echo "      Berkeley DB = $bdb_found"
 echo "      Berkeley DB SQL = $bdbsql_found"
diff --git a/doc/mallard/gda-vala/C/classes.page b/doc/mallard/gda-vala/C/classes.page
new file mode 100644
index 0000000..bd8da51
--- /dev/null
+++ b/doc/mallard/gda-vala/C/classes.page
@@ -0,0 +1,33 @@
+<page xmlns="http://projectmallard.org/1.0/";
+	 type="topic" id="classes">
+
+  <info>
+    <revision pkgversion="5.2" version="0.1" date="2012-03-28" status="incomplete" />
+    <credit type="author">
+      <name>Daniel Espinosa</name>
+      <email>despinosa src gnome org</email>
+    </credit>
+    <license>
+      <p>Creative Commons Share Alike 3.0</p>
+    </license>
+    <link type="topic" xref="index" />
+  </info>
+
+  <title>
+    Classes
+  </title>
+  <p>
+  GDA's Vala Extensions classes are instantiable. They implement generic interfaces. Use GDA's Vala bindings to get access to database's data. 
+  </p>
+  <p>
+  They load in memory all required data from database when <code>update()</code> method is called; but you are able to set data without call it and then use <code>save()</code> method to update the database. Methods <code>update()</code> and <code>save()</code> execute SQL commands directly using GDA's database providers.
+  </p>
+  <p>
+  To create new database objects just setup them and then call <code>append()</code>. To delete it use <code>drop()</code>.
+  </p>.
+  <figure>
+  <title>UML diagram for Classes</title>
+  <desc>This diagram describes the available classes, its relations and interface implementations.</desc>
+  <media type="image" mime="image/png" src="figures/classes-uml.png"/>
+  </figure>
+</page>
diff --git a/doc/mallard/gda-vala/C/enable-vala-extensions.page b/doc/mallard/gda-vala/C/enable-vala-extensions.page
new file mode 100644
index 0000000..fa4411d
--- /dev/null
+++ b/doc/mallard/gda-vala/C/enable-vala-extensions.page
@@ -0,0 +1,27 @@
+<page xmlns="http://projectmallard.org/1.0/";
+	 type="topic" id="enable-vala-extensions">
+
+  <info>
+    <revision pkgversion="5.2" version="0.1" date="2012-01-18" status="incomplete" />
+    <credit type="author">
+      <name>Daniel Espinosa</name>
+      <email>despinosa src gnome org</email>
+    </credit>
+    <license>
+      <p>Creative Commons Share Alike 3.0</p>
+    </license>
+    <link type="topic" xref="index" />
+  </info>
+
+  <title>
+    Enable Vala Extensions
+  </title>
+  
+  <p>
+  When building GDA from sources you need to use --enable-gda-gi, --enable-vala and --enable-vala-extensions switches in order to get Vala Extensions compiled and be able to install.
+  </p>
+  <p>
+  Vala Extensions requires GObject Introspection and Vala compiler, versions >=1.3 and >=15.1 respectively, installed including its development files.
+  
+  </p>
+</page>
diff --git a/doc/mallard/gda-vala/C/figures/classes-uml.png b/doc/mallard/gda-vala/C/figures/classes-uml.png
new file mode 100644
index 0000000..526b49a
Binary files /dev/null and b/doc/mallard/gda-vala/C/figures/classes-uml.png differ
diff --git a/doc/mallard/gda-vala/C/figures/interfaces-uml.png b/doc/mallard/gda-vala/C/figures/interfaces-uml.png
new file mode 100644
index 0000000..05d95bc
Binary files /dev/null and b/doc/mallard/gda-vala/C/figures/interfaces-uml.png differ
diff --git a/doc/mallard/gda-vala/C/figures/record-class-uml.png b/doc/mallard/gda-vala/C/figures/record-class-uml.png
new file mode 100644
index 0000000..a2b0aa5
Binary files /dev/null and b/doc/mallard/gda-vala/C/figures/record-class-uml.png differ
diff --git a/doc/mallard/gda-vala/C/figures/table-class-uml.png b/doc/mallard/gda-vala/C/figures/table-class-uml.png
new file mode 100644
index 0000000..ca3f440
Binary files /dev/null and b/doc/mallard/gda-vala/C/figures/table-class-uml.png differ
diff --git a/doc/mallard/gda-vala/C/index.page b/doc/mallard/gda-vala/C/index.page
new file mode 100644
index 0000000..08eb521
--- /dev/null
+++ b/doc/mallard/gda-vala/C/index.page
@@ -0,0 +1,27 @@
+<page xmlns="http://projectmallard.org/1.0/";
+	type="guide" id="index">
+
+  <info>
+    <revision pkgversion="5.2" version="0.1" date="2012-03-26" status="incomplete"/>
+    <credit type="author">
+      <name>Daniel Espinosa</name>
+      <email>despinosa src gnome org</email>
+    </credit>
+    <license>
+      <p>Creative Commons Share Alike 3.0</p>
+    </license>
+  </info>
+
+  <title>
+    GDA Vala Extensions Documentation
+  </title>
+  <p>
+  This guide will shows you features and how to use Vala Extensions.
+  </p>
+  <p>
+  Is a set of Vala interfaces and classes to allow access to a database components like: records, tables, schemas, and others. Interfaces defines the required properties and methods, allowing any one to implement them using any database engine. Classes are implementations of these interfaces using GDA's Vala bindings; allowing to instance them directly or create derived classes.
+  </p>
+  <p>
+  Interfaces and classes uses Gee's classes to store data from database or to be saved to. Some properties provides Gee.Collection implementations to allow iterate through its data using standard Vala's foreach statement.
+  </p>
+</page>
diff --git a/doc/mallard/gda-vala/C/interfaces.page b/doc/mallard/gda-vala/C/interfaces.page
new file mode 100644
index 0000000..e43be0c
--- /dev/null
+++ b/doc/mallard/gda-vala/C/interfaces.page
@@ -0,0 +1,30 @@
+<page xmlns="http://projectmallard.org/1.0/";
+	 type="topic" id="interfaces">
+
+  <info>
+    <revision pkgversion="5.2" version="0.1" date="2012-01-18" status="incomplete" />
+    <credit type="author">
+      <name>Daniel Espinosa</name>
+      <email>despinosa src gnome org</email>
+    </credit>
+    <license>
+      <p>Creative Commons Share Alike 3.0</p>
+    </license>
+    <link type="topic" xref="index" />
+  </info>
+
+  <title>
+    Interfaces
+  </title>
+  <p>
+  Vala Extensions defines a set of interfaces to define a generic behaviour. They expect to be the base for future implementations for Vala objects accessing a database.
+  </p>
+  <p>
+  The interfaces defined are the following:
+  </p>
+  <figure>
+  <title>UML diagram for Interfaces</title>
+  <desc>This diagram describes the available interfaces and its relations.</desc>
+  <media type="image" mime="image/png" src="figures/interfaces-uml.png"/>
+</figure>
+</page>
diff --git a/doc/mallard/gda-vala/C/legal.xml b/doc/mallard/gda-vala/C/legal.xml
new file mode 100644
index 0000000..86d6173
--- /dev/null
+++ b/doc/mallard/gda-vala/C/legal.xml
@@ -0,0 +1,9 @@
+<license xmlns="http://projectmallard.org/1.0/";
+         href="http://creativecommons.org/licenses/by-sa/3.0/";>
+<p>This work is licensed under a
+<link href="http://creativecommons.org/licenses/by-sa/3.0/";>Creative Commons
+Attribution-Share Alike 3.0 Unported License</link>.</p>
+<p>As a special exception, the copyright holders give you permission to copy,
+modify, and distribute the example code contained in this document under the
+terms of your choosing, without restriction.</p>
+</license>
diff --git a/doc/mallard/gda-vala/C/record-class.page b/doc/mallard/gda-vala/C/record-class.page
new file mode 100644
index 0000000..d37e169
--- /dev/null
+++ b/doc/mallard/gda-vala/C/record-class.page
@@ -0,0 +1,170 @@
+<page xmlns="http://projectmallard.org/1.0/";
+	 type="topic" id="record-class">
+
+  <info>
+    <revision pkgversion="5.2" version="0.1" date="2012-01-18" status="incomplete" />
+    <credit type="author">
+      <name>Daniel Espinosa</name>
+      <email>despinosa src gnome org</email>
+    </credit>
+    <license>
+      <p>Creative Commons Share Alike 3.0</p>
+    </license>
+    <link type="topic" xref="classes" />
+  </info>
+
+  <title>
+    Record class
+  </title>
+  <p>
+  <code>Record</code> class is an implementation of <code>DbRecord</code> interface. It uses GDA to get access to a database's row in a table.
+  </p>
+  <p>
+  In order to load data, you need to set a <code>Gda.Connection</code>, a table and a key. Then <code>update()</code> method execute a SELECT command using the key to find the required row in the table.
+  </p>
+  <section id="record-uml">
+  <title>Record class UML definition</title>
+  <figure>
+  <title>UML definition</title>
+  <desc>This diagram describes Record class and its implementations.</desc>
+  <media type="image" mime="image/png" src="figures/record-class-uml.png"/>
+</figure>
+  </section>
+  <section id="record-update">
+  <title>Using a Record class to access a row in a table</title>
+  <listing>
+  <desc>
+  This codes initiate a Record class, set a table to use, a key and a connection in order to call update()
+  </desc>
+  <code mime="text/x-c++src">
+  var r = new Record ();
+  var t = new Table ();
+  t.name = "customer";
+  r.table = t;
+  r.connection = connection;
+  r.set_key_value ("id", 1);
+  r.update ();
+  </code>
+  </listing>
+  <p>In the above code, connection is opened before to be set to <code>Record.connection</code> property. You need to setup a <code>Table</code> class to set to <code>Record.table</code> property, but just set <code>Table.name</code> property to the table's name is required. Use <code>Record.set_key_value()</code> method to set the value to the column used in the table as the primary key and to allow <code>update()</code> method to find the correct row (the WHERE clause in SELECT statement), if more than one key exists you must set it; you must know the column and type of value to set.
+  </p>
+  </section>
+  <section id="record-append">
+  <title>Using a Record class to add a new row in a table</title>
+  <listing>
+  <desc>This code set up a row to be added to a database's table</desc>
+  <code mime="text/x-c++src">
+  var r = new Record ();
+  var t = new Table ();
+  t.name = "customer";
+  r.table = t;
+  r.connection = connection;
+  r.set_field_value ("name", "Clausse Rayman");
+  r.set_field_value ("company", "Packing Sources, Ltd.");
+  r.append ();
+  </code>
+  </listing>
+  <p>
+  In the above code a new row will be added. Create a new <code>Record</code> object, set a table to add a new row to; use <code>Record.set_field_value()</code> to set values to columns in the table, you must know columns and data type to set. At the end call <code>Record.save()</code> to add the new row.
+  </p>
+  <p>
+  <code>Record.set_field_value()</code> doesn't know if the columns and type is correct, just store the value to used in an INSERT statement; if key is set by database engine it will be added automatically, if not you must set it in order to execute <code>save()</code> with no errors.
+  </p>
+  </section>
+  <section>
+  <title>Update data in a row</title>
+  <p>
+  Once you have set a key and a table to a <code>Record</code> object, you can call <code>Record.set_field_value()</code> to change row's column's values, once done, you can call <code>Record.save()</code> to call an UPDATE command and update database's row/column values.
+  </p>
+  <listing>
+  <title>Updating columns' values</title>
+  <desc>This code sets a key and a table to find a row and set a column's value, then call save() to update data in the database</desc>
+  <code>
+  var r = new Record ();
+  r.connection = connection;
+  r.set_key_value ("id", 1);
+  r.set_field_value ("name", "Jack Swan");
+  r.save ();
+  </code>
+  </listing>
+  </section>
+  <section>
+  <title>Deleting rows</title>
+  <p>
+  If you want to delete a row in a database's table, just create a new <code>Record</code> object, set a key, a table and a connection, then call <code>Record.drop()</code>.
+  </p>
+  <listing>
+  <title>How to delete a row in a table</title>
+  <desc>This code shows how to setup and delete a row to be deleted in a database's table.</desc>
+  <code>
+  var r = new Record ();
+  r.connection = connection;
+  var t = new Table ();
+  t.name = "table_name";
+  r.table = t;
+  r.set_key_value ("id", 1);
+  r.drop ();
+  </code>
+  </listing>
+  </section>
+  <section id="record-subclass">
+  <title>Subclassing Record class</title>
+  <p>
+  <code>Record</code> class could be used as base for others. Is useful to wrap <code>Record.set_field_value()</code> into your class property to hide database access.
+  </p>
+  <note style="tip">
+  <p>Use <code>try{}</code><code> catch{}</code> to avoid warnings for unhandled error</p>
+  </note>
+  <listing>
+  <desc>
+  This code declares a new class MyRecord derived from Record.
+  </desc>
+  <code mime="text/x-c++src">
+  class MyRecord : Record
+  {
+    public MyRecord () { /* Your init code */ }
+    
+    public string name
+    {
+      get 
+      { 
+        try {
+          return this.get_value ("name");
+        }
+        catch (Error e) {
+          GLib.warning ("ERROR on getting value from name property: " + e.message)
+        } 
+      }
+      
+      set 
+      { 
+        try {
+          return this.set_field_value ("name", value);
+        }
+        catch (Error e) {
+          GLib.warning ("ERROR on setting value to name property: " + e.message)
+        } 
+      }
+    }
+  }
+  </code>
+  </listing>
+  <p>
+  The above code declares a <code>MyRecord.name</code> property witch uses <code>Record.get_value()</code> and <code>Record.set_field_value()</code> from its base class, to get and set its value.
+  </p>
+  </section>
+  <section id="record-fields">
+  <title>Iterating through Fields</title>
+  <p>
+  You can iterate over <code>Record</code>'s fields using Vala <code>foreach</code> statement, by using <code>Record.fields</code> property; it's a <code>Gee.Collection</code> of <code>DbField</code> objects, then you can use:
+  </p>
+    <code mime="text/x-c++src">
+  foreach (DbField f in record.fields) {
+    /* work with DbField object */
+  }
+  </code>
+  <p>
+  The same apply for all keys you set by using <code>Record.keys</code> property.
+  </p>
+  </section>
+</page>
diff --git a/doc/mallard/gda-vala/C/table-class.page b/doc/mallard/gda-vala/C/table-class.page
new file mode 100644
index 0000000..89cae32
--- /dev/null
+++ b/doc/mallard/gda-vala/C/table-class.page
@@ -0,0 +1,164 @@
+<page xmlns="http://projectmallard.org/1.0/";
+	 type="topic" id="table-class">
+
+  <info>
+    <revision pkgversion="5.2" version="0.1" date="2012-03-28" status="incomplete" />
+    <credit type="author">
+      <name>Daniel Espinosa</name>
+      <email>despinosa src gnome org</email>
+    </credit>
+    <license>
+      <p>Creative Commons Share Alike 3.0</p>
+    </license>
+    <link type="topic" xref="classes" />
+  </info>
+
+  <title>
+    Table class
+  </title>
+  <p>
+  <code>Table</code> class is an implementation of <code>DbTable</code> interface. It uses GDA to get access to a database's table description.
+  </p>
+  <p>
+  In order to load data, you need to set a <code>Gda.Connection</code> and a table's name. Then <code>update()</code> method will introspect table information using GDA's MetaStore object and executing SELECT commands to retrive meta data to strore store it, you don't need to call update() again unless your table definition has changed.
+  </p>
+  <section id="table-uml">
+  <title>Table class UML definition</title>
+  <figure>
+  <title>UML definition</title>
+  <desc>This diagram describes Table class and its implementations.</desc>
+  <media type="image" mime="image/png" src="figures/table-class-uml.png"/>
+</figure>
+  </section>
+  <section id="table-update">
+  <title>Using a Table class to access a table meta data</title>
+  <listing>
+  <desc>
+  This codes initiate a Table class, set a name and a connection in order to call update()
+  </desc>
+  <code mime="text/x-c++src">
+  var t = new Table ();
+  t.name = "customer";
+  t.connection = connection;
+  t.update ();
+  </code>
+  </listing>
+  <p>In the above code, connection is opened before to be set to <code>Table.connection</code> property. You need to set <code>Table.name</code> property. Internally <code>Gda.Connection.update_meta_store()</code> is called, this could take some time, then executes some SELECT commands to introspect table, columns description are stored in <code>DbFiledInfo</code> objects.
+  </p>
+  </section>
+  <section id="table-append">
+  <title>Using a Table class to add a new table</title>
+  <listing>
+  <desc>This setup a table to be added to a database's table</desc>
+  <code mime="text/x-c++src">
+  var t = new Table ();
+  t.name = "created_table";
+  t.connection = connection;
+  var field = new FieldInfo ();
+  // Setup column id
+  field.name = "id";
+  field.value_type = typeof (int);
+  field.attributes = DbFieldInfo.Attribute.PRIMARY_KEY | 
+                     DbFieldInfo.Attribute.AUTO_INCREMENT;
+  t.set_field (field);
+  
+  // Setup column name
+  var field1 = new FieldInfo ();
+  field1.name = "name";
+  field1.value_type = typeof (string);
+  field1.attributes = DbFieldInfo.Attribute.NONE;
+  t.set_field (field1);
+  
+  // Setup column company
+  var field2 = new FieldInfo ();
+  field2.name = "company";
+  field2.value_type = typeof (int);
+  field2.default_value = 1;
+  
+  // Setup column's foreign key
+  var fk = new DbFieldInfo.ForeignKey ();
+  var rt = new Table ();
+  rt.name = "company";
+  fk.reftable = rt;
+  fk.refcol.add ("id");
+  fk.update_rule = DbFieldInfo.ForeignKey.Rule.CASCADE;
+  fk.delete_rule = DbFieldInfo.ForeignKey.Rule.SET_DEFAULT;
+  field2.fkey = fk;
+  t.set_field (field2);
+  
+  // Append new table
+  t.append ();
+  </code>
+  </listing>
+  <p>
+  In the above code a new table will be added. Create a new <code>Table</code> object, set its name and connection, use <code>Table.set_field()</code> to set column definitions. You must create <code>DbFieldInfo</code> objects, setting its name, type and attributes is enough to be set in a table. If your column must be a PRIMARY KEY you must set <code>DbFieldInfo.attributes</code> to <code>DbFieldInfo.Attribute.PRIMARY_KEY</code>; if it is autoincrement key you must use <code>|</code> operator to add a <code>DbFieldInfo.Attribute.AUTO_INCREMENT</code> attribute.
+  </p>
+  <p>
+  If the column will refer to a column in other table as a foreign key you must set <code>DbFieldInfo.fkey</code>. ForeignKey object is used for column's foreign keys.
+  </p>
+  </section>
+  <section>
+  <title>Deleting tables</title>
+  <p>
+  If you want to delete a table you must create a new <code>Table</code> object, set a name and a <code>Gda.Connection</code>; finally you just call <code>Table.drop()</code> method.
+  </p>
+  <listing>
+  <title>Dropping a table. Example </title>
+  <desc>This code describes how to delete a table in a database</desc>
+  <code>
+    var t = new Table ();
+    t.name = "table_name";
+    t.connection = connection;
+    t.drop ();
+    </code>
+  </listing>
+  </section>
+  <section id="table-fields">
+  <title>Iterating through Fields definitions</title>
+  <p>
+  You can iterate over <code>Table</code>'s fields descriptions using Vala <code>foreach</code> statement, by using <code>Record.fields</code> property; it's a <code>Gee.Collection</code> of <code>DbFieldInfo</code> objects, then you can use:
+  </p>
+    <code mime="text/x-c++src">
+  foreach (DbFieldInfo f in table.fields) {
+    /* work with DbField object */
+  }
+  </code>
+  <p>
+  The same apply for all keys you set by using <code>Table.primary_keys</code> property.
+  </p>
+  </section>
+  <section>
+  <title>Access rows in a table</title>
+  <p>
+  All rows in a table can be accessed using <code>Table.records</code> property, as a <code>Gee.Collection</code> of <code>DbRecord</code> objects. Internally, when this property is accessed a "SELECT * FROM table" SQL command is executed, you can filter them using <code>Gee.Traversable.filter()</code> function.
+  </p>
+  <note style="tip">
+  <p>
+  <code>Table.records</code> is a <code>RecordCollection</code> object that implements <code>DbRecordCollection</code> and its pre-requisites: <code>Gee.Collection</code>, <code>Gee.Traversable</code> and <code>Gee.Iterable</code>
+  </p>
+  </note>
+  <note style="tip">
+  <p>
+  Future implementations will include a way to create powerful filter to be used when SQL command is executed to avoid load all rows and iterate all over them when using <code>Gee.Traversable.filter()</code>.
+  </p>
+  </note>
+  </section>
+  <section id="table-dependencies">
+  <title>Table's dependencies</title>
+  <p>
+  In order to introspect a database table, you must create a new <code>Table</code> object, set a name and a <code>Gda.Connection</code>, then call  <code>Table.update()</code>. After this you are able to know its dependencies.
+  </p>
+  <section id="table-dependencies-depends">
+  <title>ForeignKeys</title>
+  <p>
+You can access to all <code>DbTable</code> objects referenced in foreign keys for each column in the table definition, using <code>Table.depends</code>, through a <code>Gee.Collection</code> of <code>DbTable</code> objects.
+  </p>
+  </section>
+  <section id="table-dependencies-referenced">
+  <title>Tables referencing your table</title>
+  <p>
+  Using <code>Table.referenced</code> property, you can access to a <code>Gee.Collection</code> of <code>DbTable</code> objects that depends on your table.
+  </p>
+  </section>
+  </section>
+</page>
diff --git a/doc/mallard/gda-vala/Makefile.am b/doc/mallard/gda-vala/Makefile.am
new file mode 100644
index 0000000..e6cb5b3
--- /dev/null
+++ b/doc/mallard/gda-vala/Makefile.am
@@ -0,0 +1,24 @@
+include $(top_srcdir)/gnome-doc-utils.make
+
+DOC_ID = gda-vala
+
+DOC_INCLUDES = legal.xml
+
+DOC_PAGES = \
+	classes.page \
+	enable-vala-extensions.page \
+	index.page \
+	interfaces.page \
+	record-class.page \
+	table-class.page
+
+DOC_FIGURES = \
+	figures/classes-uml.png \
+	figures/record-class-uml.png \
+	figures/interfaces-uml.png \
+	figures/table-class-uml.png
+
+DOC_LINGUAS = 
+
+dist-hook: doc-dist-hook
+



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]