[glibmm/vector] Adapted more Glib classes to vector utils.



commit 75f54d3ec2a6d5a58f22273c3bf4b593f67947d5
Author: Krzesimir Nowak <qdlacz gmail com>
Date:   Fri Jan 21 22:31:07 2011 +0100

    Adapted more Glib classes to vector utils.

 glib/glibmm/miscutils.cc |   18 +++++++-----------
 glib/glibmm/miscutils.h  |   12 ++++++------
 glib/src/balancedtree.hg |    7 +++++--
 glib/src/nodetree.hg     |    7 +++++--
 4 files changed, 23 insertions(+), 21 deletions(-)
---
diff --git a/glib/glibmm/miscutils.cc b/glib/glibmm/miscutils.cc
index 99f5085..f4b43aa 100644
--- a/glib/glibmm/miscutils.cc
+++ b/glib/glibmm/miscutils.cc
@@ -23,6 +23,7 @@
 
 #include <glibmm/miscutils.h>
 #include <glibmm/utility.h>
+#include <glibmm/vectorutils.h>
 #include <glib.h>
 
 
@@ -71,14 +72,9 @@ void unsetenv(const std::string& variable)
   g_unsetenv(variable.c_str());
 }
 
-Glib::ArrayHandle<std::string> listenv()
+std::vector<std::string> listenv()
 {
-  char **value = g_listenv();
-  char **end = value;
-  while(*end){
-    ++end;
-  }
-  return Glib::ArrayHandle<std::string>(value, end-value, Glib::OWNERSHIP_DEEP);
+  return Glib::ArrayHandler<std::string>::array_to_vector (g_listenv (), Glib::OWNERSHIP_DEEP);
 }
 
 std::string get_user_name()
@@ -182,9 +178,9 @@ std::string path_get_dirname(const std::string& filename)
   return convert_return_gchar_ptr_to_stdstring(g_path_get_dirname(filename.c_str()));
 }
 
-std::string build_filename(const Glib::ArrayHandle<std::string>& elements)
+std::string build_filename(const std::vector<std::string>& elements)
 {
-  return convert_return_gchar_ptr_to_stdstring(g_build_filenamev(const_cast<char**>(elements.data())));
+  return convert_return_gchar_ptr_to_stdstring(g_build_filenamev(const_cast<char**>(Glib::ArrayHandler<std::string>::vector_to_array (elements).data())));
 }
 
 std::string build_filename(const std::string& elem1, const std::string& elem2)
@@ -192,9 +188,9 @@ std::string build_filename(const std::string& elem1, const std::string& elem2)
   return convert_return_gchar_ptr_to_stdstring(g_build_filename(elem1.c_str(), elem2.c_str(), static_cast<char*>(0)));
 }
 
-std::string build_path(const std::string& separator, const Glib::ArrayHandle<std::string>& elements)
+std::string build_path(const std::string& separator, const std::vector<std::string>& elements)
 {
-  return convert_return_gchar_ptr_to_stdstring(g_build_pathv(separator.c_str(), const_cast<char**>(elements.data())));
+  return convert_return_gchar_ptr_to_stdstring(g_build_pathv(separator.c_str(), const_cast<char**>(Glib::ArrayHandler<std::string>::vector_to_array (elements).data())));
 }
 
 std::string find_program_in_path(const std::string& program)
diff --git a/glib/glibmm/miscutils.h b/glib/glibmm/miscutils.h
index 3e4ae8d..5c697cd 100644
--- a/glib/glibmm/miscutils.h
+++ b/glib/glibmm/miscutils.h
@@ -21,7 +21,8 @@
  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  */
 
-#include <glibmm/arrayhandle.h>
+#include <vector>
+
 #include <glibmm/ustring.h>
 
 
@@ -134,10 +135,9 @@ void unsetenv(const std::string& variable);
  * variables in GLib-using programs you want the UTF-8 encoding that this
  * function and getenv() provide.
  *
- * @return Array of environment names (The generic ArrayHandle will be
- * implicitly converted to any STL compatible container type).
+ * @return Vector of environment names.
  */
-Glib::ArrayHandle<std::string> listenv();
+std::vector<std::string> listenv();
 
 /** Gets the user name of the current user.
  * @return The name of the current user.
@@ -269,7 +269,7 @@ std::string path_get_dirname(const std::string& filename);
  *   Any STL compatible container type is accepted.
  * @return The resulting path.
  */
-std::string build_filename(const Glib::ArrayHandle<std::string>& elements);
+std::string build_filename(const std::vector<std::string>& elements);
 
 /** Creates a filename from two elements using the correct separator for filenames.
  * No attempt is made to force the resulting filename to be an absolute path.
@@ -315,7 +315,7 @@ std::string build_filename(const std::string& elem1, const std::string& elem2);
  * @return The resulting path.
  */
 std::string build_path(const std::string& separator,
-                       const Glib::ArrayHandle<std::string>& elements);
+                       const std::vector<std::string>& elements);
 
 /** Locates the first executable named @a program in the user's path, in the
  * same way that <tt>execvp()</tt> would locate it.
diff --git a/glib/src/balancedtree.hg b/glib/src/balancedtree.hg
index d07ef48..30065fd 100644
--- a/glib/src/balancedtree.hg
+++ b/glib/src/balancedtree.hg
@@ -17,11 +17,14 @@
 
 _DEFS(glibmm,glib)
 
+#include <glib/gtree.h>
+
+#include <sigc++/bind.h>
+#include <sigc++/slot.h>
+
 #include <glibmm/refptr.h>
 #include <glibmm/ustring.h>
 #include <glibmm/error.h>
-#include <glibmm/arrayhandle.h>
-#include <glib/gtree.h>
 
 namespace Glib
 {
diff --git a/glib/src/nodetree.hg b/glib/src/nodetree.hg
index c8f89fb..1252008 100644
--- a/glib/src/nodetree.hg
+++ b/glib/src/nodetree.hg
@@ -21,11 +21,14 @@ _DEFS(glibmm,glib)
 #include <stack>
 #include <deque>
 
+#include <glib.h>
+
+#include <sigc++/bind.h>
+#include <sigc++/slot.h>
+
 #include <glibmm/refptr.h>
 #include <glibmm/ustring.h>
 #include <glibmm/error.h>
-#include <glibmm/arrayhandle.h>
-#include <glib.h>
 
 namespace Glib
 {



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