gnomemm r1898 - in libgdamm/trunk: . libgda/src



Author: jhs
Date: Sun Dec 21 17:03:06 2008
New Revision: 1898
URL: http://svn.gnome.org/viewvc/gnomemm?rev=1898&view=rev

Log:
2008-12-21  Johannes Schmid  <jhs gnome org>

	* libgda/src/connection.ccg:
	* libgda/src/connection.hg:
	Added some more detailed update_meta_store() methods that speed up the update
	when only a part of the information is needed.
	
	* libgda/src/datamodel.hg:
	* libgda/src/datamodeliter.hg:
	Fixed build with latest libgda

Modified:
   libgdamm/trunk/ChangeLog
   libgdamm/trunk/libgda/src/connection.ccg
   libgdamm/trunk/libgda/src/connection.hg
   libgdamm/trunk/libgda/src/datamodel.hg
   libgdamm/trunk/libgda/src/datamodeliter.hg

Modified: libgdamm/trunk/libgda/src/connection.ccg
==============================================================================
--- libgdamm/trunk/libgda/src/connection.ccg	(original)
+++ libgdamm/trunk/libgda/src/connection.ccg	Sun Dec 21 17:03:06 2008
@@ -305,6 +305,44 @@
 }
 
 #ifdef GLIBMM_EXCEPTIONS_ENABLED
+bool Connection::update_meta_store(const Glib::ustring& id)
+#else
+bool Connection::update_meta_store(const Glib::ustring& id, std::auto_ptr<Glib::Error>& err)
+#endif
+{
+  GError* gerror = 0;
+  GdaMetaContext mcontext = {id.c_str(), 1, NULL, NULL};
+  const bool retvalue = gda_connection_update_meta_store(gobj(), mcontext, &gerror);
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+  if(gerror)
+    ::Glib::Error::throw_exception(gerror);
+#else
+  if(gerror)
+    error = ::Glib::Error::throw_exception(gerror);
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+  
+  return retvalue;  
+}
+
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+bool Connection::update_meta_store_tables()
+#else
+bool Connection::update_meta_store_tables(std::auto_ptr<Glib::Error>& err)
+#endif
+{
+  return update_meta_store("_tables");
+}
+
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+bool Connection::update_meta_store_types()
+#else
+bool Connection::update_meta_store_types(std::auto_ptr<Glib::Error>& err)
+#endif
+{
+  return update_meta_store("_all_types");
+}
+
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
 Glib::RefPtr<DataModel> Connection::get_meta_store_data(ConnectionMetaType meta_type)
 #else
 Glib::RefPtr<DataModel> Connection::get_meta_store_data(ConnectionMetaType meta_type, std::auto_ptr<Glib::Error>& error)

Modified: libgdamm/trunk/libgda/src/connection.hg
==============================================================================
--- libgdamm/trunk/libgda/src/connection.hg	(original)
+++ libgdamm/trunk/libgda/src/connection.hg	Sun Dec 21 17:03:06 2008
@@ -191,12 +191,21 @@
 
   _WRAP_METHOD_DOCS_ONLY(gda_connection_update_meta_store)
 
+  // This updated the full meta store, we have some more convience methods to
+  // only update a portion of the store
 #ifdef GLIBMM_EXCEPTIONS_ENABLED
-  // TODO: Are we sure we don't need the MetaContext parameter?
   bool update_meta_store();
+  bool update_meta_store(const Glib::ustring& id);
+  bool update_meta_store_tables();
+  bool update_meta_store_types();
 #else
   bool update_meta_store(std::auto_ptr<Glib::Error>& err);
+  bool update_meta_store(const Glib::ustring& id, std::auto_ptr<Glib::Error>& err);
+  bool update_meta_store_tables(std::auto_ptr<Glib::Error>& err);
+  bool update_meta_store_types();
 #endif
+
+  
   
   _WRAP_METHOD(bool statement_prepare(const Glib::RefPtr<Statement>& stmt), gda_connection_statement_prepare, errthrow)
 

Modified: libgdamm/trunk/libgda/src/datamodel.hg
==============================================================================
--- libgdamm/trunk/libgda/src/datamodel.hg	(original)
+++ libgdamm/trunk/libgda/src/datamodel.hg	Sun Dec 21 17:03:06 2008
@@ -196,7 +196,7 @@
   // It is a bit strange that those are int GdaDataModel and not in GdaDataModelIter
   _WRAP_METHOD(bool iter_move_next_default(const Glib::RefPtr<DataModelIter>& iter), gda_data_model_iter_move_next_default)
   _WRAP_METHOD(bool iter_move_prev_default(const Glib::RefPtr<DataModelIter>& iter), gda_data_model_iter_move_prev_default)    
-  _WRAP_METHOD(bool iter_move_to_row_default(const Glib::RefPtr<DataModelIter>& iter, int row), gda_data_model_iter_move_to_row_default)    
+  _WRAP_METHOD(bool iter_move_at_row_default(const Glib::RefPtr<DataModelIter>& iter, int row), gda_data_model_iter_move_at_row_default)    
     
   //These are in a private header. Ignore them:
   _IGNORE(gda_data_model_changed, gda_data_model_row_inserted, gda_data_model_row_updated, gda_data_model_row_removed, 

Modified: libgdamm/trunk/libgda/src/datamodeliter.hg
==============================================================================
--- libgdamm/trunk/libgda/src/datamodeliter.hg	(original)
+++ libgdamm/trunk/libgda/src/datamodeliter.hg	Sun Dec 21 17:03:06 2008
@@ -58,7 +58,7 @@
  * move_prev() method. However if the iterator is invalid, moving backwards will 
  * not be possible (on the contrary to move_next() which moves to the first row).
  *
- * The move_to_row() method, if the iterator can be moved both forward and backwards,
+ * The move_at_row() method, if the iterator can be moved both forward and backwards,
  * can move the iterator to a specific row (sometimes faster than moving it forward or backwards a number of times).
  *
  * @ingroup DataModels
@@ -76,7 +76,7 @@
   _WRAP_METHOD(bool is_valid() const, gda_data_model_iter_is_valid)
   _WRAP_METHOD(bool move_next(), gda_data_model_iter_move_next)
   _WRAP_METHOD(bool move_prev(), gda_data_model_iter_move_prev)
-  _WRAP_METHOD(bool move_to_row(int row), gda_data_model_iter_move_to_row)
+  _WRAP_METHOD(bool move_at_row(int row), gda_data_model_iter_move_at_row)
   _WRAP_METHOD(int get_row() const, gda_data_model_iter_get_row)
   _WRAP_METHOD(void invalidate_contents(), gda_data_model_iter_invalidate_contents)
     



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