gnomemm r1541 - in libgdamm/branches/libgdamm-4-0: libgda/src tools/extra_defs_gen tools/m4



Author: jhs
Date: Thu May 29 15:12:52 2008
New Revision: 1541
URL: http://svn.gnome.org/viewvc/gnomemm?rev=1541&view=rev

Log:
2008-05-29  Johannes Schmid  <johannes schmid openismus com>

	* libgda/src/Makefile_list_of_hg.am_fragment:
	* libgda/src/batch.hg:
	* libgda/src/column.ccg:
	* libgda/src/datahandler.ccg:
	* libgda/src/datamodel.ccg:
	* libgda/src/datamodel.hg:
	* libgda/src/datamodelarray.hg:
	* libgda/src/datamodelimport.ccg:
	* libgda/src/datamodelimport.hg:
	* libgda/src/datamodeliter.ccg:
	* libgda/src/datamodeliter.hg:
	* libgda/src/datamodelquery.ccg:
	* libgda/src/datamodelquery.hg:
	* libgda/src/datamodelrow.hg:
	* libgda/src/dataproxy.ccg:
	* libgda/src/dataproxy.hg:
	* libgda/src/handlerbin.hg:
	* libgda/src/handlerboolean.hg:
	* libgda/src/handlernumerical.hg:
	* libgda/src/handlerstring.hg:
	* libgda/src/handlertime.hg:
	* libgda/src/handlertype.hg:
	* libgda/src/holder.ccg:
	* libgda/src/holder.hg:
	* libgda/src/libgda_signals.defs:
	* libgda/src/metastore.hg:
	* libgda/src/metastruct.hg:
	* libgda/src/row.ccg:
	* libgda/src/row.hg:
	* libgda/src/serveroperation.ccg:
	* libgda/src/serveroperation.hg:
	* libgda/src/serverprovider.ccg:
	* libgda/src/serverprovider.hg:
	* libgda/src/set.ccg:
	* libgda/src/set.hg:
	* libgda/src/sqlparser.hg:
	* libgda/src/statement.hg:
	* tools/extra_defs_gen/generate_defs_gda.cc:
	* tools/m4/convert_libgdamm.m4:
	
	Fixed build for many classes and hand-coded a lot of methods returning a 
	GValue*


Added:
   libgdamm/branches/libgdamm-4-0/libgda/src/datamodelrow.ccg
      - copied unchanged from r1540, /libgdamm/trunk/libgda/src/datamodelrow.ccg
   libgdamm/branches/libgdamm-4-0/libgda/src/datamodelrow.hg
      - copied, changed from r1540, /libgdamm/trunk/libgda/src/datamodelrow.hg
Modified:
   libgdamm/branches/libgdamm-4-0/libgda/src/Makefile_list_of_hg.am_fragment
   libgdamm/branches/libgdamm-4-0/libgda/src/batch.hg
   libgdamm/branches/libgdamm-4-0/libgda/src/column.ccg
   libgdamm/branches/libgdamm-4-0/libgda/src/datahandler.ccg
   libgdamm/branches/libgdamm-4-0/libgda/src/datamodel.ccg
   libgdamm/branches/libgdamm-4-0/libgda/src/datamodel.hg
   libgdamm/branches/libgdamm-4-0/libgda/src/datamodelarray.hg
   libgdamm/branches/libgdamm-4-0/libgda/src/datamodelimport.ccg
   libgdamm/branches/libgdamm-4-0/libgda/src/datamodelimport.hg
   libgdamm/branches/libgdamm-4-0/libgda/src/datamodeliter.ccg
   libgdamm/branches/libgdamm-4-0/libgda/src/datamodeliter.hg
   libgdamm/branches/libgdamm-4-0/libgda/src/datamodelquery.ccg
   libgdamm/branches/libgdamm-4-0/libgda/src/datamodelquery.hg
   libgdamm/branches/libgdamm-4-0/libgda/src/dataproxy.ccg
   libgdamm/branches/libgdamm-4-0/libgda/src/dataproxy.hg
   libgdamm/branches/libgdamm-4-0/libgda/src/handlerbin.hg
   libgdamm/branches/libgdamm-4-0/libgda/src/handlerboolean.hg
   libgdamm/branches/libgdamm-4-0/libgda/src/handlernumerical.hg
   libgdamm/branches/libgdamm-4-0/libgda/src/handlerstring.hg
   libgdamm/branches/libgdamm-4-0/libgda/src/handlertime.hg
   libgdamm/branches/libgdamm-4-0/libgda/src/handlertype.hg
   libgdamm/branches/libgdamm-4-0/libgda/src/holder.ccg
   libgdamm/branches/libgdamm-4-0/libgda/src/holder.hg
   libgdamm/branches/libgdamm-4-0/libgda/src/libgda_signals.defs
   libgdamm/branches/libgdamm-4-0/libgda/src/metastore.hg
   libgdamm/branches/libgdamm-4-0/libgda/src/metastruct.hg
   libgdamm/branches/libgdamm-4-0/libgda/src/row.ccg
   libgdamm/branches/libgdamm-4-0/libgda/src/row.hg
   libgdamm/branches/libgdamm-4-0/libgda/src/serveroperation.ccg
   libgdamm/branches/libgdamm-4-0/libgda/src/serveroperation.hg
   libgdamm/branches/libgdamm-4-0/libgda/src/serverprovider.ccg
   libgdamm/branches/libgdamm-4-0/libgda/src/serverprovider.hg
   libgdamm/branches/libgdamm-4-0/libgda/src/set.ccg
   libgdamm/branches/libgdamm-4-0/libgda/src/set.hg
   libgdamm/branches/libgdamm-4-0/libgda/src/sqlparser.hg
   libgdamm/branches/libgdamm-4-0/libgda/src/statement.hg
   libgdamm/branches/libgdamm-4-0/tools/extra_defs_gen/generate_defs_gda.cc
   libgdamm/branches/libgdamm-4-0/tools/m4/convert_libgdamm.m4

Modified: libgdamm/branches/libgdamm-4-0/libgda/src/Makefile_list_of_hg.am_fragment
==============================================================================
--- libgdamm/branches/libgdamm-4-0/libgda/src/Makefile_list_of_hg.am_fragment	(original)
+++ libgdamm/branches/libgdamm-4-0/libgda/src/Makefile_list_of_hg.am_fragment	Thu May 29 15:12:52 2008
@@ -4,7 +4,7 @@
 
 files_hg = connection.hg connectionevent.hg \
      datahandler.hg datamodel.hg datamodelarray.hg \
-     datamodelimport.hg \
+     datamodelimport.hg datamodelrow.hg \
 	   datamodeliter.hg datamodelquery.hg \
 	   dataproxy.hg \
 	   handlerstring.hg handlerboolean.hg handlertime.hg \

Modified: libgdamm/branches/libgdamm-4-0/libgda/src/batch.hg
==============================================================================
--- libgdamm/branches/libgdamm-4-0/libgda/src/batch.hg	(original)
+++ libgdamm/branches/libgdamm-4-0/libgda/src/batch.hg	Thu May 29 15:12:52 2008
@@ -22,7 +22,7 @@
 #include <libgdamm/holder.h>
 
 _DEFS(libgdamm,libgda)
-_PINCLUDE(libgdamm/private/object_p.h)
+_PINCLUDE(glibmm/private/object_p.h)
 
 namespace Gnome
 {

Modified: libgdamm/branches/libgdamm-4-0/libgda/src/column.ccg
==============================================================================
--- libgdamm/branches/libgdamm-4-0/libgda/src/column.ccg	(original)
+++ libgdamm/branches/libgdamm-4-0/libgda/src/column.ccg	Thu May 29 15:12:52 2008
@@ -29,9 +29,12 @@
 namespace Gda
 {
   
-Value Column::get_default_value() const
+Glib::ValueBase Column::get_default_value() const
 {
-  return Value(gda_column_get_default_value(const_cast<GdaColumn*>(gobj())));
+  const GValue* value = gda_column_get_default_value(const_cast<GdaColumn*>(gobj()));
+  Glib::ValueBase retval;
+  retval.init(value);
+  return retval;
 }
 
 bool Column::equal(const Glib::RefPtr<const Column>& src) const
@@ -52,8 +55,10 @@
                 get_unique_key() == src->get_unique_key() &&
                 get_references() == src->get_references() &&
                 get_auto_increment() == src->get_auto_increment() &&
-                get_position() == src->get_position() &&
-                get_default_value() == src->get_default_value();
+                get_position() == src->get_position();
+/* FIXME:
+                && get_default_value() == src->get_default_value();
+*/
 
   return result;
 }

Modified: libgdamm/branches/libgdamm-4-0/libgda/src/datahandler.ccg
==============================================================================
--- libgdamm/branches/libgdamm-4-0/libgda/src/datahandler.ccg	(original)
+++ libgdamm/branches/libgdamm-4-0/libgda/src/datahandler.ccg	Thu May 29 15:12:52 2008
@@ -31,6 +31,33 @@
 namespace Gda
 {
 
+Glib::ValueBase DataHandler::get_value_from_sql(const Glib::ustring& sql, GType type) const
+{
+  Glib::ValueBase retval;
+  GValue* value = gda_data_handler_get_value_from_sql(const_cast<GdaDataHandler*>(gobj()), sql.c_str(), type);
+  retval.init(value);
+  g_free(value);
+  return retval;
+}
+
+Glib::ValueBase DataHandler::get_value_from_str(const Glib::ustring& str, GType type) const
+{
+  Glib::ValueBase retval;
+  GValue* value = gda_data_handler_get_value_from_sql(const_cast<GdaDataHandler*>(gobj()), str.c_str(), type);
+  retval.init(value);
+  g_free(value);
+  return retval;
+}
+
+Glib::ValueBase DataHandler::get_sane_init_value(GType type) const
+{
+  Glib::ValueBase retval;
+  GValue* value = gda_data_handler_get_sane_init_value(const_cast<GdaDataHandler*>(gobj()), type);
+  retval.init(value);
+  g_free(value);
+  return retval;
+}
+
 } /* namespace Gda */
 
 } /* namespace Gnome */

Modified: libgdamm/branches/libgdamm-4-0/libgda/src/datamodel.ccg
==============================================================================
--- libgdamm/branches/libgdamm-4-0/libgda/src/datamodel.ccg	(original)
+++ libgdamm/branches/libgdamm-4-0/libgda/src/datamodel.ccg	Thu May 29 15:12:52 2008
@@ -33,26 +33,34 @@
 namespace Gda
 {
      
-Value DataModel::get_value_at(int col, int row) const
+Glib::ValueBase DataModel::get_value_at(int col, int row) const
 {
+  Glib::ValueBase retval;
+  const GValue* value;
   //Note that the function does not return a new value, so we should not free it:
-  return(Value(gda_data_model_get_value_at(const_cast<GdaDataModel*>(gobj()), col, row)));
+  value = gda_data_model_get_value_at(const_cast<GdaDataModel*>(gobj()), col, row);
+  retval.init(value);
+  return retval;
 }
 
-Value DataModel::get_value_at(const Glib::ustring& column_name, int row) const
+Glib::ValueBase DataModel::get_value_at(const Glib::ustring& column_name, int row) const
 {
+  Glib::ValueBase retval;
+  const GValue* value;
   //Note that the function does not return a new value, so we should not free it:
-  return(Value(gda_data_model_get_value_at_col_name(const_cast<GdaDataModel*>(gobj()), column_name.c_str(), row)));
+  value = gda_data_model_get_value_at_col_name(const_cast<GdaDataModel*>(gobj()), column_name.c_str(), row);
+  retval.init(value);
+  return retval;
 }
 
 #ifdef GLIBMM_EXCEPTIONS_ENABLED
-bool DataModel::export_to_file(DataModelIOFormat format, const std::string& file, const Glib::ArrayHandle<int>& cols, const Glib::ArrayHandle<int>& rows, const Glib::RefPtr<ParameterList>& options)
+bool DataModel::export_to_file(DataModelIOFormat format, const std::string& file, const Glib::ArrayHandle<int>& cols, const Glib::ArrayHandle<int>& rows, const Glib::RefPtr<Set>& options)
 #else
-bool DataModel::export_to_file(DataModelIOFormat format, const std::string& file, const Glib::ArrayHandle<int>& cols, const Glib::ArrayHandle<int>& rows, const Glib::RefPtr<ParameterList>& options, std::auto_ptr<Glib::Error>& error)
+bool DataModel::export_to_file(DataModelIOFormat format, const std::string& file, const Glib::ArrayHandle<int>& cols, const Glib::ArrayHandle<int>& rows, const Glib::RefPtr<Set>& options, std::auto_ptr<Glib::Error>& error)
 #endif //GLIBMM_EXCEPTIONS_ENABLED
 {
   GError* gerror = 0;
-  bool retvalue = gda_data_model_export_to_file(gobj(), static_cast<GdaDataModelIOFormat>(format), file.c_str(), cols.data(), cols.size(), rows.data(), rows.size(), const_cast<GdaParameterList*>(options->gobj()), &gerror);
+  bool retvalue = gda_data_model_export_to_file(gobj(), static_cast<GdaDataModelIOFormat>(format), file.c_str(), cols.data(), cols.size(), rows.data(), rows.size(), options->gobj(), &gerror);
 #ifdef GLIBMM_EXCEPTIONS_ENABLED
   if(gerror)
     ::Glib::Error::throw_exception(gerror);
@@ -64,7 +72,7 @@
   return retvalue;
 }
 
-Glib::ustring DataModel::export_to_string(DataModelIOFormat format, const Glib::ArrayHandle<int>& cols, const Glib::ArrayHandle<int>& rows, const Glib::RefPtr<ParameterList>& options)
+Glib::ustring DataModel::export_to_string(DataModelIOFormat format, const Glib::ArrayHandle<int>& cols, const Glib::ArrayHandle<int>& rows, const Glib::RefPtr<Set>& options)
 {
   gchar* retvalue = gda_data_model_export_to_string(gobj(), static_cast<GdaDataModelIOFormat>(format), cols.data(), cols.size(), rows.data(), rows.size(), options->gobj());
   Glib::ustring cppretvalue(retvalue);

Modified: libgdamm/branches/libgdamm-4-0/libgda/src/datamodel.hg
==============================================================================
--- libgdamm/branches/libgdamm-4-0/libgda/src/datamodel.hg	(original)
+++ libgdamm/branches/libgdamm-4-0/libgda/src/datamodel.hg	Thu May 29 15:12:52 2008
@@ -43,8 +43,27 @@
 
 typedef GdaValueAttribute ValueAttribute;
 
-typedef Glib::ListHandle<Glib::ValueBase> ValueList;
-typedef Glib::SListHandle<Glib::ValueBase> ValueSList;
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+struct TypeTraitsValueBase
+{
+  typedef Glib::ValueBase   CppType;
+  typedef const GValue*  CType;
+  typedef GValue*        CTypeNonConst;
+
+  static CType to_c_type(const CppType value) {return value.gobj();};
+  static CppType to_cpp_type(CType value) 
+  {
+    Glib::ValueBase base;
+    base.init(value);
+    return base;
+  }
+  static void release_c_type(CType value) {g_free(const_cast<GValue*>(value));};
+};
+#endif
+
+
+typedef Glib::ListHandle<Glib::ValueBase, TypeTraitsValueBase> ValueList;
+typedef Glib::SListHandle<Glib::ValueBase, TypeTraitsValueBase> ValueSList;
 
 /** @defgroup DataModels Data Models
  */

Modified: libgdamm/branches/libgdamm-4-0/libgda/src/datamodelarray.hg
==============================================================================
--- libgdamm/branches/libgdamm-4-0/libgda/src/datamodelarray.hg	(original)
+++ libgdamm/branches/libgdamm-4-0/libgda/src/datamodelarray.hg	Thu May 29 15:12:52 2008
@@ -19,10 +19,10 @@
  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  */
 
-#include <glibmm/object.h>
 #include <libgdamm/datamodelrow.h>
 
 _DEFS(libgdamm,libgda)
+_PINCLUDE(glibmm/private/object_p.h)
 _PINCLUDE(libgdamm/private/datamodelrow_p.h)
 
 namespace Gnome

Modified: libgdamm/branches/libgdamm-4-0/libgda/src/datamodelimport.ccg
==============================================================================
--- libgdamm/branches/libgdamm-4-0/libgda/src/datamodelimport.ccg	(original)
+++ libgdamm/branches/libgdamm-4-0/libgda/src/datamodelimport.ccg	Thu May 29 15:12:52 2008
@@ -27,7 +27,7 @@
 namespace Gda
 {
 
-DataModelImport::DataModelImport(const std::string& filename, bool random_access, const Glib::RefPtr<const ParameterList>& options)
+DataModelImport::DataModelImport(const std::string& filename, bool random_access, const Glib::RefPtr<const Set>& options)
 :
   //Based on the implementation of gda_data_model_import_new_file():
   //The ASSERT_DICT(NULL) is very odd. I suspect that gda_data_model_import_new_file() cannot work.
@@ -36,7 +36,7 @@
 {
 }
 
-DataModelImport::DataModelImport(const gchar* data, bool random_access, const Glib::RefPtr<const ParameterList>& options)
+DataModelImport::DataModelImport(const gchar* data, bool random_access, const Glib::RefPtr<const Set>& options)
 :
   //Based on the implementation of gda_data_model_import_new_file():
   //The ASSERT_DICT(NULL) is very odd. I suspect that gda_data_model_import_new_file() cannot work.

Modified: libgdamm/branches/libgdamm-4-0/libgda/src/datamodelimport.hg
==============================================================================
--- libgdamm/branches/libgdamm-4-0/libgda/src/datamodelimport.hg	(original)
+++ libgdamm/branches/libgdamm-4-0/libgda/src/datamodelimport.hg	Thu May 29 15:12:52 2008
@@ -41,7 +41,7 @@
  * the data is copied in memory, and this is thus not suitable for large data sets. Note that importing from an 
  * already-built XML tree will always result in a random access data model.
  *
- * Various import options can be specified using parameters in a ParameterList object. The available options depend 
+ * Various import options can be specified using parameters in a Set object. The available options depend 
  * on the format of the imported data listed here:
  * - "SEPARATOR" (string, CVS import only): specifies the separator to consider.
  * - "ESCAPE_CHAR" (string, CVS import only): specifies the character used to "escape" the strings contained between two separators.
@@ -57,19 +57,19 @@
 {
   _CLASS_GOBJECT(DataModelImport, GdaDataModelImport, GDA_DATA_MODEL_IMPORT, Gda::DataModelRow, GdaDataModelRow)
 protected:
-  DataModelImport(const std::string& filename, bool random_access, const Glib::RefPtr<const ParameterList>& options);
+  DataModelImport(const std::string& filename, bool random_access, const Glib::RefPtr<const Set>& options);
   _IGNORE(gda_data_model_import_new_file)
 
   //Note: data is a null-terminated string, not copied, so the instance must stay alive as long as this model.
-  DataModelImport(const gchar* data, bool random_access, const Glib::RefPtr<const ParameterList>& options);
+  DataModelImport(const gchar* data, bool random_access, const Glib::RefPtr<const Set>& options);
   _IGNORE(gda_data_model_import_new_mem)
 
   explicit DataModelImport(xmlNodePtr node);
   _IGNORE(gda_data_model_import_new_xml_node)
 
 public:
-  _WRAP_CREATE(const std::string& filename, bool random_access, const Glib::RefPtr<const ParameterList>& options)
-  _WRAP_CREATE(const gchar* data, bool random_access, const Glib::RefPtr<const ParameterList>& options)
+  _WRAP_CREATE(const std::string& filename, bool random_access, const Glib::RefPtr<const Set>& options)
+  _WRAP_CREATE(const gchar* data, bool random_access, const Glib::RefPtr<const Set>& options)
   _WRAP_CREATE(xmlNodePtr node)
 
 

Modified: libgdamm/branches/libgdamm-4-0/libgda/src/datamodeliter.ccg
==============================================================================
--- libgdamm/branches/libgdamm-4-0/libgda/src/datamodeliter.ccg	(original)
+++ libgdamm/branches/libgdamm-4-0/libgda/src/datamodeliter.ccg	Thu May 29 15:12:52 2008
@@ -29,6 +29,22 @@
 namespace Gda
 {
 
+Glib::ValueBase DataModelIter::get_value_at (int col)
+{
+  Glib::ValueBase retval;
+  const GValue* value = gda_data_model_iter_get_value_at (gobj(), col);
+  retval.init(value);
+  return retval;
+}
+
+Glib::ValueBase DataModelIter::get_value_for_field (const Glib::ustring& field_name)
+{
+  Glib::ValueBase retval;
+  const GValue* value = gda_data_model_iter_get_value_for_field (gobj(), field_name.c_str());
+  retval.init(value);
+  return retval;
+}
+
 } /* namespace Gda */
 
 } /* namespace Gnome */

Modified: libgdamm/branches/libgdamm-4-0/libgda/src/datamodeliter.hg
==============================================================================
--- libgdamm/branches/libgdamm-4-0/libgda/src/datamodeliter.hg	(original)
+++ libgdamm/branches/libgdamm-4-0/libgda/src/datamodeliter.hg	Thu May 29 15:12:52 2008
@@ -23,7 +23,7 @@
 #include <libgdamm/set.h>
 
 _DEFS(libgdamm,libgda)
-_PINCLUDE(libgdamm/private/parameterlist_p.h)
+_PINCLUDE(libgdamm/private/set_p.h)
 
 namespace Gnome
 {
@@ -51,8 +51,10 @@
   _WRAP_METHOD(int get_row() const, gda_data_model_iter_get_row)
   _WRAP_METHOD(void invalidate_contents(), gda_data_model_iter_invalidate_contents)
 
-  _WRAP_METHOD(Glib::ValueBase get_value_at (int col), gda_data_model_iter_get_value_at)
-  _WRAP_METHOD(Glib::ValueBase get_value_for_field (const Glib::ustring& field_name), gda_data_model_iter_get_value_for_field)
+  _WRAP_METHOD_DOCS_ONLY(gda_data_model_iter_get_value_at)
+  Glib::ValueBase get_value_at (int col);
+  _WRAP_METHOD_DOCS_ONLY(gda_data_model_iter_get_value_for_field)
+  Glib::ValueBase get_value_for_field (const Glib::ustring& field_name);
 
   _WRAP_PROPERTY("current-row", int)
   _WRAP_PROPERTY("data-model", Glib::RefPtr<DataModel>)

Modified: libgdamm/branches/libgdamm-4-0/libgda/src/datamodelquery.ccg
==============================================================================
--- libgdamm/branches/libgdamm-4-0/libgda/src/datamodelquery.ccg	(original)
+++ libgdamm/branches/libgdamm-4-0/libgda/src/datamodelquery.ccg	Thu May 29 15:12:52 2008
@@ -31,13 +31,6 @@
 namespace Gda
 {
 
-DataModelQuery::DataModelQuery(const Glib::RefPtr<Gda::Query>& query)
-:
-  _CONSTRUCT("query", Glib::unwrap(query), "dict", gda_object_get_dict(GDA_OBJECT(query->gobj())))
-{
-}
-
-
 } /* namespace Gda */
 
 } /* namespace Gnome */

Modified: libgdamm/branches/libgdamm-4-0/libgda/src/datamodelquery.hg
==============================================================================
--- libgdamm/branches/libgdamm-4-0/libgda/src/datamodelquery.hg	(original)
+++ libgdamm/branches/libgdamm-4-0/libgda/src/datamodelquery.hg	Thu May 29 15:12:52 2008
@@ -21,13 +21,13 @@
  */
 
 #include <glibmm/object.h>
-#include <libgdamm/object.h>
+#include <glibmm/object.h>
 #include <libgdamm/datamodel.h>
 #include <libgdamm/set.h>
 #include <libgdamm/statement.h>
 
 _DEFS(libgdamm,libgda)
-_PINCLUDE(libgdamm/private/object_p.h)
+_PINCLUDE(glibmm/private/object_p.h)
 
 namespace Gnome
 {
@@ -49,27 +49,22 @@
  * @ingroup DataModels
  */
 class DataModelQuery
- : public Object,
+ : public Glib::Object,
    public DataModel
 {
-  _CLASS_GOBJECT(DataModelQuery, GdaDataModelQuery, GDA_DATA_MODEL_QUERY, Object, GdaObject)
+  _CLASS_GOBJECT(DataModelQuery, GdaDataModelQuery, GDA_DATA_MODEL_QUERY, Glib::Object, GObject)
   _IMPLEMENTS_INTERFACE(DataModel)
 protected:
 
-  // Hand-coded to also set dict property
-  /** Creates a new DataModel object using the data returned by the execution of the query SELECT query.
-   * @param query A SELECT query.
-   */
-  explicit DataModelQuery(const Glib::RefPtr<Query>& query);
-  _IGNORE(gda_data_model_query_new)
+  _WRAP_CTOR(DataModelQuery(const Glib::RefPtr<Connection>& connection, const Glib::RefPtr<Statement>& query), gda_data_model_query_new)
 
 public:
-  _WRAP_CREATE(Glib::RefPtr<Query>& query)
+  _WRAP_CREATE(const Glib::RefPtr<Connection>& connection, const Glib::RefPtr<Statement>& query)
 
   _WRAP_METHOD(Glib::RefPtr<Set> get_parameter_list(), gda_data_model_query_get_parameter_list, refreturn)
   _WRAP_METHOD(Glib::RefPtr<const Set> get_parameter_list() const, gda_data_model_query_get_parameter_list, constversion)
 
-  _WRAP_METHOD(bool query_refresh(), gda_data_model_query_refresh, errthrow)
+  _WRAP_METHOD(bool refresh(), gda_data_model_query_refresh, errthrow)
   _WRAP_METHOD(bool set_modification_query(const Glib::RefPtr<Statement>& query), gda_data_model_query_set_modification_query, errthrow)
   _WRAP_METHOD(bool compute_modification_queries(const Glib::ustring& target, DataModelQueryOptions options), gda_data_model_query_compute_modification_queries, errthrow)
 };

Copied: libgdamm/branches/libgdamm-4-0/libgda/src/datamodelrow.hg (from r1540, /libgdamm/trunk/libgda/src/datamodelrow.hg)
==============================================================================
--- /libgdamm/trunk/libgda/src/datamodelrow.hg	(original)
+++ libgdamm/branches/libgdamm-4-0/libgda/src/datamodelrow.hg	Thu May 29 15:12:52 2008
@@ -20,11 +20,11 @@
  */
 
 #include <glibmm/object.h>
-#include <libgdamm/object.h>
 #include <libgdamm/datamodel.h>
+#include <libgdamm/row.h>
 
 _DEFS(libgdamm,libgda)
-_PINCLUDE(libgdamm/private/object_p.h)
+_PINCLUDE(glibmm/private/object_p.h)
 
 namespace Gnome
 {
@@ -38,18 +38,16 @@
  * @ingroup DataModels
  */
 class DataModelRow
- : public Object,
+ : public Glib::Object,
    public DataModel
 {
-  _CLASS_GOBJECT(DataModelRow, GdaDataModelRow, GDA_DATA_MODEL_ROW, Gda::Object, GdaObject)
+  _CLASS_GOBJECT(DataModelRow, GdaDataModelRow, GDA_DATA_MODEL_ROW, Glib::Object, GObject)
   _IMPLEMENTS_INTERFACE(DataModel)
 
 protected:
   // There is no create() method because there is no _new function in the C API either.
 
 public:
-  _WRAP_PROPERTY("command-text", Glib::ustring)
-  _WRAP_PROPERTY("command-type", int)
   _WRAP_PROPERTY("read-only", bool)
 
   _WRAP_METHOD(const Glib::RefPtr<Row> get_row(int row), gda_data_model_row_get_row, errthrow, refreturn)

Modified: libgdamm/branches/libgdamm-4-0/libgda/src/dataproxy.ccg
==============================================================================
--- libgdamm/branches/libgdamm-4-0/libgda/src/dataproxy.ccg	(original)
+++ libgdamm/branches/libgdamm-4-0/libgda/src/dataproxy.ccg	Thu May 29 15:12:52 2008
@@ -30,7 +30,8 @@
 
 ValueSList DataProxy::get_values(int proxy_row, const Glib::ArrayHandle<int>& cols_index) const
 {
-  return ValueSList(gda_data_proxy_get_values(const_cast<GdaDataProxy*>(gobj()), proxy_row, const_cast<gint*>(cols_index.data()), cols_index.size()), Glib::OWNERSHIP_SHALLOW);
+  GSList* values = gda_data_proxy_get_values(const_cast<GdaDataProxy*>(gobj()), proxy_row, const_cast<gint*>(cols_index.data()), cols_index.size());
+  ValueSList list(values, Glib::OWNERSHIP_SHALLOW);
 }
 
 } /* namespace Gda */

Modified: libgdamm/branches/libgdamm-4-0/libgda/src/dataproxy.hg
==============================================================================
--- libgdamm/branches/libgdamm-4-0/libgda/src/dataproxy.hg	(original)
+++ libgdamm/branches/libgdamm-4-0/libgda/src/dataproxy.hg	Thu May 29 15:12:52 2008
@@ -20,11 +20,11 @@
  */
 
 #include <glibmm/object.h>
-#include <libgdamm/object.h>
+#include <glibmm/object.h>
 #include <libgdamm/datamodel.h>
 
 _DEFS(libgdamm,libgda)
-_PINCLUDE(libgdamm/private/object_p.h)
+_PINCLUDE(glibmm/private/object_p.h)
 
 namespace Gnome
 {
@@ -51,10 +51,10 @@
  * @ingroup DataModels
  */
 class DataProxy
- : public Object,
+ : public Glib::Object,
    public DataModel
 {
-  _CLASS_GOBJECT(DataProxy, GdaDataProxy, GDA_DATA_PROXY, Object, GdaObject)
+  _CLASS_GOBJECT(DataProxy, GdaDataProxy, GDA_DATA_PROXY, Glib::Object, GObject)
   _IMPLEMENTS_INTERFACE(DataModel)
 protected:
   _WRAP_CTOR(DataProxy(const Glib::RefPtr<DataModel>& model), gda_data_proxy_new)
@@ -68,8 +68,8 @@
   _WRAP_METHOD(int get_proxied_model_n_rows() const, gda_data_proxy_get_proxied_model_n_rows)
   _WRAP_METHOD(bool is_read_only() const, gda_data_proxy_is_read_only)
 
+  _WRAP_METHOD_DOCS_ONLY(gda_data_proxy_get_values)
   ValueSList get_values(int proxy_row, const Glib::ArrayHandle<int>& cols_index) const;
-  _IGNORE(gda_data_proxy_get_values)
 
   _WRAP_METHOD(ValueAttribute get_value_attributes(int proxy_row, int col) const, gda_data_proxy_get_value_attributes)
   _WRAP_METHOD(void alter_value_attributes(int proxy_row, int col, ValueAttribute alter_flags), gda_data_proxy_alter_value_attributes)
@@ -112,7 +112,7 @@
   _WRAP_SIGNAL(void sample_size_changed(int sample_size), "sample-size-changed")
   _WRAP_SIGNAL(bool pre_changes_applied(int row, int proxied_row), "pre-changes-applied")
   _WRAP_SIGNAL(void post_changes_applied(int row, int proxied_row), "post-changes-applied")
-  _WRAP_SIGNAL(void filter_changed(), "filter-changed")
+  //TODO: _WRAP_SIGNAL(void filter_changed(), "filter-changed")
 };
 
 } // namespace Gda

Modified: libgdamm/branches/libgdamm-4-0/libgda/src/handlerbin.hg
==============================================================================
--- libgdamm/branches/libgdamm-4-0/libgda/src/handlerbin.hg	(original)
+++ libgdamm/branches/libgdamm-4-0/libgda/src/handlerbin.hg	Thu May 29 15:12:52 2008
@@ -19,12 +19,12 @@
  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  */
 
-#include <libgdamm/object.h>
+#include <glibmm/object.h>
 #include <libgdamm/datahandler.h>
 #include <libgda/handlers/gda-handler-bin.h>
 
 _DEFS(libgdamm,libgda)
-_PINCLUDE(libgdamm/private/object_p.h)
+_PINCLUDE(glibmm/private/object_p.h)
 
 namespace Gnome
 {
@@ -36,10 +36,10 @@
  *
  * @ingroup DataHandlers
  */
-class HandlerBin : public Object,
+class HandlerBin : public Glib::Object,
                    public DataHandler
 {
-  _CLASS_GOBJECT(HandlerBin, GdaHandlerBin, GDA_HANDLER_BIN, Gda::Object, GdaObject)
+  _CLASS_GOBJECT(HandlerBin, GdaHandlerBin, GDA_HANDLER_BIN, Glib::Object, GObject)
   _IMPLEMENTS_INTERFACE(DataHandler)
 protected:
 

Modified: libgdamm/branches/libgdamm-4-0/libgda/src/handlerboolean.hg
==============================================================================
--- libgdamm/branches/libgdamm-4-0/libgda/src/handlerboolean.hg	(original)
+++ libgdamm/branches/libgdamm-4-0/libgda/src/handlerboolean.hg	Thu May 29 15:12:52 2008
@@ -19,12 +19,12 @@
  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  */
 
-#include <libgdamm/object.h>
+#include <glibmm/object.h>
 #include <libgdamm/datahandler.h>
 #include <libgda/handlers/gda-handler-boolean.h>
 
 _DEFS(libgdamm,libgda)
-_PINCLUDE(libgdamm/private/object_p.h)
+_PINCLUDE(glibmm/private/object_p.h)
 
 namespace Gnome
 {
@@ -36,10 +36,10 @@
  * 
  * @ingroup DataHandlers
  */
-class HandlerBoolean : public Object,
+class HandlerBoolean : public Glib::Object,
                        public DataHandler
 {
-  _CLASS_GOBJECT(HandlerBoolean, GdaHandlerBoolean, GDA_HANDLER_BOOLEAN, Gda::Object, GdaObject)
+  _CLASS_GOBJECT(HandlerBoolean, GdaHandlerBoolean, GDA_HANDLER_BOOLEAN, Glib::Object, GObject)
   _IMPLEMENTS_INTERFACE(DataHandler)
 protected:
 

Modified: libgdamm/branches/libgdamm-4-0/libgda/src/handlernumerical.hg
==============================================================================
--- libgdamm/branches/libgdamm-4-0/libgda/src/handlernumerical.hg	(original)
+++ libgdamm/branches/libgdamm-4-0/libgda/src/handlernumerical.hg	Thu May 29 15:12:52 2008
@@ -19,12 +19,12 @@
  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  */
 
-#include <libgdamm/object.h>
+#include <glibmm/object.h>
 #include <libgdamm/datahandler.h>
 #include <libgda/handlers/gda-handler-numerical.h>
 
 _DEFS(libgdamm,libgda)
-_PINCLUDE(libgdamm/private/object_p.h)
+_PINCLUDE(glibmm/private/object_p.h)
 
 namespace Gnome
 {
@@ -36,10 +36,10 @@
  * 
  * @ingroup DataHandlers
  */
-class HandlerNumerical : public Object,
+class HandlerNumerical : public Glib::Object,
                          public DataHandler
 {
-  _CLASS_GOBJECT(HandlerNumerical, GdaHandlerNumerical, GDA_HANDLER_NUMERICAL, Gda::Object, GdaObject)
+  _CLASS_GOBJECT(HandlerNumerical, GdaHandlerNumerical, GDA_HANDLER_NUMERICAL, Glib::Object, GObject)
   _IMPLEMENTS_INTERFACE(DataHandler)
 protected:
 

Modified: libgdamm/branches/libgdamm-4-0/libgda/src/handlerstring.hg
==============================================================================
--- libgdamm/branches/libgdamm-4-0/libgda/src/handlerstring.hg	(original)
+++ libgdamm/branches/libgdamm-4-0/libgda/src/handlerstring.hg	Thu May 29 15:12:52 2008
@@ -19,12 +19,12 @@
  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  */
 
-#include <libgdamm/object.h>
+#include <glibmm/object.h>
 #include <libgdamm/datahandler.h>
 #include <libgda/handlers/gda-handler-string.h>
 
 _DEFS(libgdamm,libgda)
-_PINCLUDE(libgdamm/private/object_p.h)
+_PINCLUDE(glibmm/private/object_p.h)
 
 namespace Gnome
 {
@@ -36,10 +36,10 @@
  * 
  * @ingroup DataHandlers
  */
-class HandlerString : public Object,
+class HandlerString : public Glib::Object,
                       public DataHandler
 {
-  _CLASS_GOBJECT(HandlerString, GdaHandlerString, GDA_HANDLER_STRING, Gda::Object, GdaObject)
+  _CLASS_GOBJECT(HandlerString, GdaHandlerString, GDA_HANDLER_STRING, Glib::Object, GObject)
   _IMPLEMENTS_INTERFACE(DataHandler)
 protected:
 

Modified: libgdamm/branches/libgdamm-4-0/libgda/src/handlertime.hg
==============================================================================
--- libgdamm/branches/libgdamm-4-0/libgda/src/handlertime.hg	(original)
+++ libgdamm/branches/libgdamm-4-0/libgda/src/handlertime.hg	Thu May 29 15:12:52 2008
@@ -19,12 +19,12 @@
  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  */
 
-#include <libgdamm/object.h>
+#include <glibmm/object.h>
 #include <libgdamm/datahandler.h>
 #include <libgda/handlers/gda-handler-time.h>
 
 _DEFS(libgdamm,libgda)
-_PINCLUDE(libgdamm/private/object_p.h)
+_PINCLUDE(glibmm/private/object_p.h)
 
 namespace Gnome
 {
@@ -36,10 +36,10 @@
  *
  * @ingroup DataHanders
  */
-class HandlerTime : public Object,
+class HandlerTime : public Glib::Object,
                     public DataHandler
 {
-  _CLASS_GOBJECT(HandlerTime, GdaHandlerTime, GDA_HANDLER_TIME, Gda::Object, GdaObject)
+  _CLASS_GOBJECT(HandlerTime, GdaHandlerTime, GDA_HANDLER_TIME, Glib::Object, GObject)
   _IMPLEMENTS_INTERFACE(DataHandler)
 protected:
 

Modified: libgdamm/branches/libgdamm-4-0/libgda/src/handlertype.hg
==============================================================================
--- libgdamm/branches/libgdamm-4-0/libgda/src/handlertype.hg	(original)
+++ libgdamm/branches/libgdamm-4-0/libgda/src/handlertype.hg	Thu May 29 15:12:52 2008
@@ -19,12 +19,12 @@
  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  */
 
-#include <libgdamm/object.h>
+#include <glibmm/object.h>
 #include <libgdamm/datahandler.h>
 #include <libgda/handlers/gda-handler-type.h>
 
 _DEFS(libgdamm,libgda)
-_PINCLUDE(libgdamm/private/object_p.h)
+_PINCLUDE(glibmm/private/object_p.h)
 
 namespace Gnome
 {
@@ -36,10 +36,10 @@
  *
  * @ingroup DataHandlers
  */
-class HandlerType : public Object,
+class HandlerType : public Glib::Object,
                     public DataHandler
 {
-  _CLASS_GOBJECT(HandlerType, GdaHandlerType, GDA_HANDLER_TYPE, Gda::Object, GdaObject)
+  _CLASS_GOBJECT(HandlerType, GdaHandlerType, GDA_HANDLER_TYPE, Glib::Object, GObject)
   _IMPLEMENTS_INTERFACE(DataHandler)
 protected:
 

Modified: libgdamm/branches/libgdamm-4-0/libgda/src/holder.ccg
==============================================================================
--- libgdamm/branches/libgdamm-4-0/libgda/src/holder.ccg	(original)
+++ libgdamm/branches/libgdamm-4-0/libgda/src/holder.ccg	Thu May 29 15:12:52 2008
@@ -20,10 +20,31 @@
  */
 
 #include <libgdamm/holder.h>
+#include <libgda/gda-holder.h>
 
 namespace Gnome
 {
 
+namespace Gda
+{
+
+Glib::ValueBase Holder::get_value() const
+{
+  Glib::ValueBase retval;
+  const GValue* value = gda_holder_get_value(gobj());
+  retval.init(value);
+  return retval;
+}
+
+Glib::ValueBase Holder::get_default_value() const
+{
+  Glib::ValueBase retval;
+  const GValue* value = gda_holder_get_default_value(gobj());
+  retval.init(value);
+  return retval;
+}
+
+} /* namespace Gda */
 
 } /* namespace Gnome */
 

Modified: libgdamm/branches/libgdamm-4-0/libgda/src/holder.hg
==============================================================================
--- libgdamm/branches/libgdamm-4-0/libgda/src/holder.hg	(original)
+++ libgdamm/branches/libgdamm-4-0/libgda/src/holder.hg	Thu May 29 15:12:52 2008
@@ -22,7 +22,7 @@
 #include <libgdamm/datahandler.h>
 
 _DEFS(libgdamm,libgda)
-_PINCLUDE(libgdamm/private/object_p.h)
+_PINCLUDE(glibmm/private/object_p.h)
 
 namespace Gnome
 {
@@ -44,13 +44,15 @@
   
   _WRAP_METHOD(GType get_g_type() const, gda_holder_get_g_type)
   _WRAP_METHOD(Glib::ustring get_id() const, gda_holder_get_id)
-  _WRAP_METHOD(Glib::ValueBase get_value() const, gda_holder_get_value)
+  _WRAP_METHOD_DOCS_ONLY(gda_holder_get_value)
+  Glib::ValueBase get_value() const;
   _WRAP_METHOD(Glib::ustring get_value_str(const Glib::RefPtr<DataHandler>& dh) const, gda_holder_get_value_str)
   _WRAP_METHOD(bool set_value(const Glib::ValueBase& value), gda_holder_set_value)
   _WRAP_METHOD(bool set_value_str (const Glib::RefPtr<DataHandler>& dh, const Glib::ustring& value), gda_holder_set_value_str)
   _WRAP_METHOD(bool take_value (Glib::ValueBase& value), gda_holder_take_value)
 
-  _WRAP_METHOD(Glib::ValueBase get_default_value() const, gda_holder_get_default_value)
+  _WRAP_METHOD_DOCS_ONLY(gda_holder_get_default_value)
+  Glib::ValueBase get_default_value() const;
   _WRAP_METHOD(void set_default_value(const Glib::ValueBase& value), gda_holder_set_default_value)
   _WRAP_METHOD(bool set_value_to_default(), gda_holder_set_value_to_default)
   _WRAP_METHOD(bool value_is_default(), gda_holder_value_is_default)

Modified: libgdamm/branches/libgdamm-4-0/libgda/src/libgda_signals.defs
==============================================================================
--- libgdamm/branches/libgdamm-4-0/libgda/src/libgda_signals.defs	(original)
+++ libgdamm/branches/libgdamm-4-0/libgda/src/libgda_signals.defs	Thu May 29 15:12:52 2008
@@ -456,6 +456,17 @@
   (construct-only #t)
 )
 
+;; From GdaDataModelRow
+
+(define-property read-only
+  (of-object "GdaDataModelRow")
+  (prop-type "GParamBoolean")
+  (docs "")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
 ;; From GdaDataAccessWrapper
 
 (define-property model

Modified: libgdamm/branches/libgdamm-4-0/libgda/src/metastore.hg
==============================================================================
--- libgdamm/branches/libgdamm-4-0/libgda/src/metastore.hg	(original)
+++ libgdamm/branches/libgdamm-4-0/libgda/src/metastore.hg	Thu May 29 15:12:52 2008
@@ -22,7 +22,7 @@
 #include <libgdamm/connection.h>
 
 _DEFS(libgdamm,libgda)
-_PINCLUDE(libgdamm/private/object_p.h)
+_PINCLUDE(glibmm/private/object_p.h)
 
 namespace Gnome
 {

Modified: libgdamm/branches/libgdamm-4-0/libgda/src/metastruct.hg
==============================================================================
--- libgdamm/branches/libgdamm-4-0/libgda/src/metastruct.hg	(original)
+++ libgdamm/branches/libgdamm-4-0/libgda/src/metastruct.hg	Thu May 29 15:12:52 2008
@@ -22,7 +22,7 @@
 #include <libgda/gda-meta-struct.h>
 
 _DEFS(libgdamm,libgda)
-_PINCLUDE(libgdamm/private/object_p.h)
+_PINCLUDE(glibmm/private/object_p.h)
 
 namespace Gnome
 {

Modified: libgdamm/branches/libgdamm-4-0/libgda/src/row.ccg
==============================================================================
--- libgdamm/branches/libgdamm-4-0/libgda/src/row.ccg	(original)
+++ libgdamm/branches/libgdamm-4-0/libgda/src/row.ccg	Thu May 29 15:12:52 2008
@@ -33,10 +33,12 @@
 namespace Gda
 {
 
-Value Row::get_value(int num) const
+Glib::ValueBase Row::get_value(int num) const
 {
-  //Note that the function does not return a new value, so we should not free it:
-  return Value(gda_row_get_value(const_cast<GdaRow*>(gobj()), num));
+  Glib::ValueBase retval;
+  const GValue* value = gda_row_get_value(const_cast<GdaRow*>(gobj()), num);
+  retval.init(value);
+  return retval;
 }
 
 } // namespace Gda

Modified: libgdamm/branches/libgdamm-4-0/libgda/src/row.hg
==============================================================================
--- libgdamm/branches/libgdamm-4-0/libgda/src/row.hg	(original)
+++ libgdamm/branches/libgdamm-4-0/libgda/src/row.hg	Thu May 29 15:12:52 2008
@@ -77,8 +77,9 @@
   //_WRAP_PROPERTY("values", GList*)
   //_WRAP_PROPERTY("nb_values", int)
 
-  _WRAP_SIGNAL (bool value_to_change (int num, Glib::ValueBase& current, Glib::ValueBase& proposed), "value-to-change")
-  _WRAP_SIGNAL (void value_changed (int num, Glib::ValueBase& current, Glib::ValueBase& proposed), "value-changed")
+  // TODO:
+  //_WRAP_SIGNAL(bool value_to_change(int num, const Glib::ValueBase& current, const Glib::ValueBase& proposed), "value-to-change")
+  //_WRAP_SIGNAL(void value_changed(int num, const Glib::ValueBase& current, const Glib::ValueBase& proposed), "value-changed")
 };
 
 } // namespace Gda

Modified: libgdamm/branches/libgdamm-4-0/libgda/src/serveroperation.ccg
==============================================================================
--- libgdamm/branches/libgdamm-4-0/libgda/src/serveroperation.ccg	(original)
+++ libgdamm/branches/libgdamm-4-0/libgda/src/serveroperation.ccg	Thu May 29 15:12:52 2008
@@ -30,9 +30,12 @@
 namespace Gda
 {
 
-Value ServerOperation::get_value_at(const Glib::ustring& path) const
+Glib::ValueBase ServerOperation::get_value_at(const Glib::ustring& path) const
 {
-  return Gnome::Gda::Value(gda_server_operation_get_value_at(const_cast<GdaServerOperation*>(gobj()), "%s", path.c_str()));
+  Glib::ValueBase retval;
+  const GValue* value = gda_server_operation_get_value_at(const_cast<GdaServerOperation*>(gobj()), "%s", path.c_str());
+  retval.init(value);
+  return retval;
 }
 
 #ifdef GLIBMM_EXCEPTIONS_ENABLED

Modified: libgdamm/branches/libgdamm-4-0/libgda/src/serveroperation.hg
==============================================================================
--- libgdamm/branches/libgdamm-4-0/libgda/src/serveroperation.hg	(original)
+++ libgdamm/branches/libgdamm-4-0/libgda/src/serveroperation.hg	Thu May 29 15:12:52 2008
@@ -64,8 +64,8 @@
   _WRAP_METHOD(ServerOperationNodeType get_node_type(const Glib::ustring& path, ServerOperationNodeStatus& status) const, gda_server_operation_get_node_type)
  //_WRAP_METHOD(ServerOperationNodeType get_node_type_v(const Glib::ustring& *path_array),  gda_server_operation_get_node_type_v)
 
-  //_WRAP_METHOD(GdaParameterList* get_node_parameter_list(const Glib::ustring& path) const, gda_server_operation_get_node_plist)
-  //_WRAP_METHOD(GdaParameterList *gda_server_operation_get_node_plist_v(const Glib::ustring& *path_array)
+  //_WRAP_METHOD(GdaSet* get_node_parameter_list(const Glib::ustring& path) const, gda_server_operation_get_node_plist)
+  //_WRAP_METHOD(GdaSet *gda_server_operation_get_node_plist_v(const Glib::ustring& *path_array)
 
   //_WRAP_METHOD(GdaParameter* get_node_param(const Glib::ustring& path) const, gda_server_operation_get_node_param)
   //_WRAP_METHOD(GdaParameter* gda_server_operation_get_node_param_v(const Glib::ustring& *path_array), gda_server_operation_get_node_param_v)

Modified: libgdamm/branches/libgdamm-4-0/libgda/src/serverprovider.ccg
==============================================================================
--- libgdamm/branches/libgdamm-4-0/libgda/src/serverprovider.ccg	(original)
+++ libgdamm/branches/libgdamm-4-0/libgda/src/serverprovider.ccg	Thu May 29 15:12:52 2008
@@ -29,6 +29,27 @@
 namespace Gda
 {
 
+Glib::ValueBase ServerProvider::string_to_value(const Glib::RefPtr<Connection>& cnc, 
+                                                const Glib::ustring& string, 
+                                                GType prefered_type, 
+                                                Glib::ustring& dbms_type)
+{
+  Glib::ValueBase retval;
+  gchar* dmbs_type_c = NULL;
+  GValue* value = gda_server_provider_string_to_value(gobj(),
+                                                      cnc->gobj(),
+                                                      string.c_str(),
+                                                      prefered_type,
+                                                      &dmbs_type_c);
+  retval.init(value);
+  g_free(value);
+  if (dmbs_type_c)
+  {
+    dbms_type = dmbs_type_c;
+    g_free(dmbs_type_c);
+  }
+  return retval;
+}
 
 } // namespace Gda
 

Modified: libgdamm/branches/libgdamm-4-0/libgda/src/serverprovider.hg
==============================================================================
--- libgdamm/branches/libgdamm-4-0/libgda/src/serverprovider.hg	(original)
+++ libgdamm/branches/libgdamm-4-0/libgda/src/serverprovider.hg	Thu May 29 15:12:52 2008
@@ -77,8 +77,9 @@
 
   _WRAP_METHOD(Glib::ustring get_name(), gda_server_provider_get_name)
   _WRAP_METHOD(Glib::RefPtr<SqlParser> create_parser(const Glib::RefPtr<Connection>& cnc), gda_server_provider_create_parser)
-  // TODO:
-  _WRAP_METHOD(Glib::ValueBase string_to_value(const Glib::RefPtr<Connection>& cnc, const Glib::ustring& string, GType prefered_type, gchar** dbms_type), gda_server_provider_string_to_value)
+  
+  _WRAP_METHOD_DOCS_ONLY(gda_server_provider_string_to_value)
+  Glib::ValueBase string_to_value(const Glib::RefPtr<Connection>& cnc, const Glib::ustring& string, GType prefered_type, Glib::ustring& dbms_type);
 
   // These are in a private header, so ignore them
   _IGNORE(gda_server_provider_handler_declare, gda_server_provider_handler_find, 

Modified: libgdamm/branches/libgdamm-4-0/libgda/src/set.ccg
==============================================================================
--- libgdamm/branches/libgdamm-4-0/libgda/src/set.ccg	(original)
+++ libgdamm/branches/libgdamm-4-0/libgda/src/set.ccg	Thu May 29 15:12:52 2008
@@ -20,10 +20,23 @@
  */
 
 #include <libgdamm/set.h>
+#include <libgda/gda-set.h>
 
 namespace Gnome
 {
 
+namespace Gda
+{
+
+Glib::ValueBase Set::get_holder_value(const Glib::ustring& holder_id)
+{
+  Glib::ValueBase retval;
+  const GValue* value = gda_set_get_holder_value(gobj(), holder_id.c_str());
+  retval.init(value);
+  return retval;
+}
+
+} /* namespace Gda */
 
 } /* namespace Gnome */
 

Modified: libgdamm/branches/libgdamm-4-0/libgda/src/set.hg
==============================================================================
--- libgdamm/branches/libgdamm-4-0/libgda/src/set.hg	(original)
+++ libgdamm/branches/libgdamm-4-0/libgda/src/set.hg	Thu May 29 15:12:52 2008
@@ -22,7 +22,7 @@
 #include <libgdamm/holder.h>
 
 _DEFS(libgdamm,libgda)
-_PINCLUDE(libgdamm/private/object_p.h)
+_PINCLUDE(glibmm/private/object_p.h)
 
 namespace Gnome
 {
@@ -30,6 +30,8 @@
 namespace Gda
 {
 
+typedef Glib::SListHandle<Holder> HolderSList;
+
 /** Container for several values
  *
  * @ingroup Connection
@@ -37,15 +39,20 @@
 class Set : public Glib::Object
 {
   _CLASS_GOBJECT(Set, GdaSet, GDA_SET, Glib::Object, GObject)
+protected:
+  #m4 _CONVERSION(`const HolderSList&', `GSList*', `$3.data()')
+  _WRAP_CTOR(Set(const HolderSList& holders), gda_set_new)
+
 public:
-  _WRAP_CREATE()
+  _WRAP_CREATE(const HolderSList& holders)
   
   _WRAP_METHOD (Glib::ustring get_spec(), gda_set_get_spec)
-  _WRAP_METHOD (Glib::ValueBase get_holder_value(const Glib::ustring& holder_id), gda_set_get_holder_value)
+  _WRAP_METHOD_DOCS_ONLY(gda_set_get_holder_value)
+  Glib::ValueBase get_holder_value(const Glib::ustring& holder_id);
   // TODO:
   //_WRAP_METHOD (bool set_holder_value())
   
-  _WRAP_METHOD (Glib::RefPtr<Holder> gda_set_get_holder (Glib::ustring holder_id), gda_set_get_holder)
+  _WRAP_METHOD (Glib::RefPtr<Holder> get_holder (const Glib::ustring& holder_id), gda_set_get_holder)
   _WRAP_METHOD (void add_holder (const Glib::RefPtr<Holder>& holder), gda_set_add_holder)
   _WRAP_METHOD (void remove_holder (const Glib::RefPtr<Holder>& holder), gda_set_remove_holder)
 

Modified: libgdamm/branches/libgdamm-4-0/libgda/src/sqlparser.hg
==============================================================================
--- libgdamm/branches/libgdamm-4-0/libgda/src/sqlparser.hg	(original)
+++ libgdamm/branches/libgdamm-4-0/libgda/src/sqlparser.hg	Thu May 29 15:12:52 2008
@@ -23,7 +23,7 @@
 #include <libgdamm/statement.h>
 
 _DEFS(libgdamm,libgda)
-_PINCLUDE(libgdamm/private/object_p.h)
+_PINCLUDE(glibmm/private/object_p.h)
 
 namespace Gnome
 {

Modified: libgdamm/branches/libgdamm-4-0/libgda/src/statement.hg
==============================================================================
--- libgdamm/branches/libgdamm-4-0/libgda/src/statement.hg	(original)
+++ libgdamm/branches/libgdamm-4-0/libgda/src/statement.hg	Thu May 29 15:12:52 2008
@@ -20,7 +20,7 @@
  */
 
 _DEFS(libgdamm,libgda)
-_PINCLUDE(libgdamm/private/object_p.h)
+_PINCLUDE(glibmm/private/object_p.h)
 
 namespace Gnome
 {

Modified: libgdamm/branches/libgdamm-4-0/tools/extra_defs_gen/generate_defs_gda.cc
==============================================================================
--- libgdamm/branches/libgdamm-4-0/tools/extra_defs_gen/generate_defs_gda.cc	(original)
+++ libgdamm/branches/libgdamm-4-0/tools/extra_defs_gen/generate_defs_gda.cc	Thu May 29 15:12:52 2008
@@ -39,6 +39,7 @@
     << get_defs (GDA_TYPE_DATA_MODEL_ITER) 
     << get_defs (GDA_TYPE_DATA_MODEL_IMPORT) 
     << get_defs (GDA_TYPE_DATA_MODEL_DIR) 
+    << get_defs (GDA_TYPE_DATA_MODEL_ROW)
     << get_defs (GDA_TYPE_DATA_ACCESS_WRAPPER) 
     << get_defs (GDA_TYPE_DATA_PROXY) 
     << get_defs (GDA_TYPE_ROW) 

Modified: libgdamm/branches/libgdamm-4-0/tools/m4/convert_libgdamm.m4
==============================================================================
--- libgdamm/branches/libgdamm-4-0/tools/m4/convert_libgdamm.m4	(original)
+++ libgdamm/branches/libgdamm-4-0/tools/m4/convert_libgdamm.m4	Thu May 29 15:12:52 2008
@@ -58,9 +58,6 @@
 _CONVERSION(`const GObject*',`Glib::RefPtr<const Glib::Object>',`Glib::wrap(const_cast<GObject*>($3))')
 _CONVERSION(`const Glib::RefPtr<Glib::Object>&', `const GObject*', `($3)->gobj()')
 
-
-_CONVERSION(`GValue*', `Glib::ValueBase', `Glib::wrap($3)')
-_CONVERSION(`const GValue*', `Glib::ValueBase', `Glib::wrap($3)')
 _CONVERSION(`Glib::ValueBase&', `GValue*', `($3).gobj()')
 _CONVERSION(`const Glib::ValueBase&', `const GValue*', `($3).gobj()')
 



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