[glibmm] Use std::vector<> instead of Glib::StringArrayHandle.



commit 42b07b10b55fd6c1aba3b908889ca6ecab0b8992
Author: Murray Cumming <murrayc murrayc com>
Date:   Fri Mar 17 10:12:38 2017 +0100

    Use std::vector<> instead of Glib::StringArrayHandle.
    
    Using Glib::ArrayHandler<>::vector_to_array() and
    Glib::ArrayHandler<>::array_to_vector() instead, and only in the
    implementatoin instead of in the API.

 gio/giomm/contenttype.cc     |    5 +++--
 gio/giomm/contenttype.h      |    2 +-
 gio/src/appinfo.hg           |    5 ++---
 gio/src/dbusproxy.hg         |    4 ++--
 gio/src/drive.hg             |    4 ++--
 gio/src/fileenumerator.hg    |    1 -
 gio/src/fileinfo.hg          |    5 ++---
 gio/src/filenamecompleter.hg |    5 ++---
 gio/src/mount.hg             |    4 ++--
 gio/src/mountoperation.hg    |    9 ++++-----
 gio/src/proxyresolver.hg     |    2 +-
 gio/src/settings.hg          |    7 +++----
 gio/src/themedicon.hg        |    4 ++--
 gio/src/volume.hg            |    4 ++--
 glib/src/optiongroup.ccg     |    4 ++--
 glib/src/regex.ccg           |    4 ++--
 glib/src/regex.hg            |   14 ++++++--------
 tools/m4/convert_gio.m4      |    2 +-
 18 files changed, 39 insertions(+), 46 deletions(-)
---
diff --git a/gio/giomm/contenttype.cc b/gio/giomm/contenttype.cc
index 88cff77..9f93a87 100644
--- a/gio/giomm/contenttype.cc
+++ b/gio/giomm/contenttype.cc
@@ -18,6 +18,7 @@
  */
 
 #include <giomm/contenttype.h>
+#include <glibmm/vectorutils.h>
 #include <gio/gio.h>
 
 namespace Gio
@@ -119,10 +120,10 @@ content_type_guess(const std::string& filename, const std::string& data, bool& r
   return Glib::convert_return_gchar_ptr_to_ustring(cresult);
 }
 
-Glib::StringArrayHandle
+std::vector<Glib::ustring>
 content_type_guess_for_tree(const Glib::RefPtr<const File>& root)
 {
-  return Glib::StringArrayHandle(
+  return Glib::ArrayHandler<Glib::ustring>::array_to_vector(
     g_content_type_guess_for_tree(const_cast<GFile*>(root->gobj())), Glib::OWNERSHIP_DEEP);
 }
 
diff --git a/gio/giomm/contenttype.h b/gio/giomm/contenttype.h
index d4f7694..284a786 100644
--- a/gio/giomm/contenttype.h
+++ b/gio/giomm/contenttype.h
@@ -172,7 +172,7 @@ Glib::ustring content_type_guess(
  *
  * @newin{2,18}
  */
-Glib::StringArrayHandle content_type_guess_for_tree(const Glib::RefPtr<const File>& root);
+std::vector<Glib::ustring> content_type_guess_for_tree(const Glib::RefPtr<const File>& root);
 
 /**
  * Gets a list of strings containing all the registered content types
diff --git a/gio/src/appinfo.hg b/gio/src/appinfo.hg
index 238cc07..b24aee9 100644
--- a/gio/src/appinfo.hg
+++ b/gio/src/appinfo.hg
@@ -27,7 +27,6 @@ _CONFIGINCLUDE(giommconfig.h)
 
 #include <glibmm/interface.h>
 #include <glibmm/listhandle.h>
-#include <glibmm/arrayhandle.h>
 #include <glibmm/object.h>
 //#include <giomm/file.h>
 #include <giomm/icon.h>
@@ -205,8 +204,8 @@ public:
                g_app_info_remove_supports_type,
                errthrow)
 
-#m4 _CONVERSION(`const char**', `Glib::StringArrayHandle', `Glib::StringArrayHandle($3, 
Glib::OWNERSHIP_NONE)')
-  _WRAP_METHOD(Glib::StringArrayHandle get_supported_types() const, g_app_info_get_supported_types)
+#m4 _CONVERSION(`const char**', `std::vector<Glib::ustring>', 
`Glib::ArrayHandler<Glib::ustring>::array_to_vector($3, Glib::OWNERSHIP_NONE)')
+  _WRAP_METHOD(std::vector<Glib::ustring> get_supported_types() const, g_app_info_get_supported_types)
 
   _WRAP_METHOD(bool set_as_last_used_for_type(const std::string& content_type), 
g_app_info_set_as_last_used_for_type, errthrow)
 
diff --git a/gio/src/dbusproxy.hg b/gio/src/dbusproxy.hg
index 4e5e582..23b9589 100644
--- a/gio/src/dbusproxy.hg
+++ b/gio/src/dbusproxy.hg
@@ -256,8 +256,8 @@ public:
 
   _WRAP_METHOD(void set_cached_property(const Glib::ustring& property_name, const Glib::VariantBase& value), 
g_dbus_proxy_set_cached_property)
 
-#m4 _CONVERSION(`gchar**', `Glib::StringArrayHandle', `Glib::StringArrayHandle($3, Glib::OWNERSHIP_DEEP)')
-  _WRAP_METHOD(Glib::StringArrayHandle get_cached_property_names() const, 
g_dbus_proxy_get_cached_property_names)
+#m4 _CONVERSION(`gchar**', `std::vector<Glib::ustring>', 
`Glib::ArrayHandler<Glib::ustring>::array_to_vector($3, Glib::OWNERSHIP_DEEP)')
+  _WRAP_METHOD(std::vector<Glib::ustring> get_cached_property_names() const, 
g_dbus_proxy_get_cached_property_names)
 
   _WRAP_METHOD(void set_interface_info(const Glib::RefPtr<InterfaceInfo>& info), 
g_dbus_proxy_set_interface_info)
   _WRAP_METHOD(Glib::RefPtr<InterfaceInfo> get_interface_info(), g_dbus_proxy_get_interface_info)
diff --git a/gio/src/drive.hg b/gio/src/drive.hg
index 0b87d19..1b5103d 100644
--- a/gio/src/drive.hg
+++ b/gio/src/drive.hg
@@ -126,8 +126,8 @@ public:
 
   _WRAP_METHOD(std::string get_identifier(const std::string& kind) const, g_drive_get_identifier)
 
-  #m4 _CONVERSION(`char**',`Glib::StringArrayHandle',`Glib::StringArrayHandle($3, Glib::OWNERSHIP_DEEP)')
-  _WRAP_METHOD(Glib::StringArrayHandle enumerate_identifiers() const, g_drive_enumerate_identifiers)
+  #m4 
_CONVERSION(`char**',`std::vector<Glib::ustring>',`Glib::ArrayHandler<Glib::ustring>::array_to_vector($3, 
Glib::OWNERSHIP_DEEP)')
+  _WRAP_METHOD(std::vector<Glib::ustring> enumerate_identifiers() const, g_drive_enumerate_identifiers)
 
   /** @newin{2,22} */
   void start(const Glib::RefPtr<MountOperation>& mount_operation, const Glib::RefPtr<Cancellable>& 
cancellable, const SlotAsyncReady& slot, DriveStartFlags flags = DRIVE_START_NONE);
diff --git a/gio/src/fileenumerator.hg b/gio/src/fileenumerator.hg
index 2d9d3b6..1c0f790 100644
--- a/gio/src/fileenumerator.hg
+++ b/gio/src/fileenumerator.hg
@@ -18,7 +18,6 @@
  */
 
 #include <glibmm/object.h>
-#include <glibmm/arrayhandle.h>
 #include <glibmm/listhandle.h>
 #include <glibmm/priorities.h>
 #include <giomm/asyncresult.h>
diff --git a/gio/src/fileinfo.hg b/gio/src/fileinfo.hg
index 6596e47..a1cbdf3 100644
--- a/gio/src/fileinfo.hg
+++ b/gio/src/fileinfo.hg
@@ -15,7 +15,6 @@
  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  */
 
-#include <glibmm/arrayhandle.h>
 #include <glibmm/datetime.h>
 #include <glibmm/object.h>
 #include <glibmm/timeval.h>
@@ -96,8 +95,8 @@ public:
 
   _WRAP_METHOD(bool has_namespace(const std::string& name_space) const, g_file_info_has_namespace)
 
-  #m4 _CONVERSION(`char**',`Glib::StringArrayHandle',`Glib::StringArrayHandle($3, Glib::OWNERSHIP_DEEP)')
-  _WRAP_METHOD(Glib::StringArrayHandle list_attributes(const std::string& name_space{?}) const,
+  #m4 
_CONVERSION(`char**',`std::vector<Glib::ustring>',`Glib::ArrayHandler<Glib::ustring>::array_to_vector($3, 
Glib::OWNERSHIP_DEEP)')
+  _WRAP_METHOD(std::vector<Glib::ustring> list_attributes(const std::string& name_space{?}) const,
                g_file_info_list_attributes)
 
   _WRAP_METHOD(FileAttributeType get_attribute_type(const std::string& attribute) const,
diff --git a/gio/src/filenamecompleter.hg b/gio/src/filenamecompleter.hg
index 773d363..5ec035a 100644
--- a/gio/src/filenamecompleter.hg
+++ b/gio/src/filenamecompleter.hg
@@ -18,7 +18,6 @@
  */
 
 //#include <giomm/file.h>
-#include <glibmm/arrayhandle.h>
 #include <glibmm/object.h>
 
 _DEFS(giomm,gio)
@@ -46,8 +45,8 @@ public:
 
   _WRAP_METHOD(std::string get_completion_suffix(const std::string& initial_text) const, 
g_filename_completer_get_completion_suffix)
 
-  #m4 _CONVERSION(`char**',`Glib::StringArrayHandle',`Glib::StringArrayHandle($3, Glib::OWNERSHIP_DEEP)')
-  _WRAP_METHOD(Glib::StringArrayHandle get_completions(const std::string& initial_text) const, 
g_filename_completer_get_completions)
+  #m4 
_CONVERSION(`char**',`std::vector<Glib::ustring>',`Glib::ArrayHandler<Glib::ustring>::array_to_vector($3, 
Glib::OWNERSHIP_DEEP)')
+  _WRAP_METHOD(std::vector<Glib::ustring> get_completions(const std::string& initial_text) const, 
g_filename_completer_get_completions)
   _WRAP_METHOD(void set_dirs_only(bool dirs_only = true), g_filename_completer_set_dirs_only)
 
   _WRAP_SIGNAL(void got_completion_data(), got_completion_data)
diff --git a/gio/src/mount.hg b/gio/src/mount.hg
index 3988452..c8dc3d9 100644
--- a/gio/src/mount.hg
+++ b/gio/src/mount.hg
@@ -207,7 +207,7 @@ public:
   void guess_content_type_sync(bool force_rescan = true);
   _IGNORE(g_mount_guess_content_type_sync)
 
-  #m4 _CONVERSION(`gchar**',`Glib::StringArrayHandle',`Glib::StringArrayHandle($3, Glib::OWNERSHIP_DEEP)')
+  #m4 
_CONVERSION(`gchar**',`std::vector<Glib::ustring>',`Glib::ArrayHandler<Glib::ustring>::array_to_vector($3, 
Glib::OWNERSHIP_DEEP)')
 
   /** Finishes guessing content types of the Mount.
    * If any errors occurred during the operation, an exception will be thrown.
@@ -220,7 +220,7 @@ public:
    * @return An array of content types.
    * @throw Glib::Error
    */
-  _WRAP_METHOD(Glib::StringArrayHandle guess_content_type_finish(const Glib::RefPtr<AsyncResult>& result), 
g_mount_guess_content_type_finish, errthrow)
+  _WRAP_METHOD(std::vector<Glib::ustring> guess_content_type_finish(const Glib::RefPtr<AsyncResult>& 
result), g_mount_guess_content_type_finish, errthrow)
 
   _WRAP_METHOD(bool is_shadowed() const, g_mount_is_shadowed)
   _WRAP_METHOD(void shadow(), g_mount_shadow)
diff --git a/gio/src/mountoperation.hg b/gio/src/mountoperation.hg
index a13ed1b..7b2cc68 100644
--- a/gio/src/mountoperation.hg
+++ b/gio/src/mountoperation.hg
@@ -16,7 +16,6 @@
  */
 
 #include <glibmm/object.h>
-#include <glibmm/arrayhandle.h>
 
 _DEFS(giomm,gio)
 _PINCLUDE(glibmm/private/object_p.h)
@@ -79,10 +78,10 @@ public:
 #m4 _CONVERSION(`const char*',`const Glib::ustring&',__GCHARP_TO_USTRING)
   _WRAP_SIGNAL(void ask_password(const Glib::ustring& message, const Glib::ustring& default_user, const 
Glib::ustring& default_domain, AskPasswordFlags flags), ask_password)
 
-  //TODO: We really need some test to make sure that our use of StringArrayHandle is correct. murrayc.
-#m4 _CONVERSION(`const Glib::StringArrayHandle&',`const gchar**',`const_cast<const gchar**>(($3).data())')
-#m4 _CONVERSION(`const gchar**',`const Glib::StringArrayHandle&',`Glib::StringArrayHandle($3, 
Glib::OWNERSHIP_DEEP)')
-  _WRAP_SIGNAL(void ask_question(const Glib::ustring& message, const Glib::StringArrayHandle& choices), 
ask_question)
+  //TODO: We really need some test to make sure that our use of ArrayHandler is correct. murrayc.
+#m4 _CONVERSION(`const std::vector<Glib::ustring>&',`const gchar**',`const_cast<const 
gchar**>(Glib::ArrayHandler<Glib::ustring>::vector_to_array($3).data())')
+#m4 _CONVERSION(`const gchar**',`const 
std::vector<Glib::ustring>&',`Glib::ArrayHandler<Glib::ustring>::array_to_vector($3, Glib::OWNERSHIP_DEEP)')
+  _WRAP_SIGNAL(void ask_question(const Glib::ustring& message, const std::vector<Glib::ustring>& choices), 
ask_question)
 
   _WRAP_SIGNAL(void reply(MountOperationResult result), reply)
   _WRAP_SIGNAL(void aborted(), aborted)
diff --git a/gio/src/proxyresolver.hg b/gio/src/proxyresolver.hg
index 5b6d392..6bf449e 100644
--- a/gio/src/proxyresolver.hg
+++ b/gio/src/proxyresolver.hg
@@ -52,7 +52,7 @@ public:
 
   _WRAP_METHOD(bool is_supported() const, g_proxy_resolver_is_supported)
 
-  //TODO: Use std::string instead of ustring (StringArrayHandle uses ustring)?:
+  //TODO: Use std::string instead of ustring?:
 #m4 
_CONVERSION(`gchar**',`std::vector<Glib::ustring>',`Glib::ArrayHandler<Glib::ustring>::array_to_vector($3, 
Glib::OWNERSHIP_DEEP)')
   _WRAP_METHOD(std::vector<Glib::ustring> lookup(const Glib::ustring& uri,
                                                 const Glib::RefPtr<Cancellable>& cancellable), 
g_proxy_resolver_lookup, errthrow)
diff --git a/gio/src/settings.hg b/gio/src/settings.hg
index 4fc2d8d..7be35e3 100644
--- a/gio/src/settings.hg
+++ b/gio/src/settings.hg
@@ -17,7 +17,6 @@
 
 _CONFIGINCLUDE(giommconfig.h)
 
-#include <glibmm/arrayhandle.h>
 #include <glibmm/object.h>
 #include <glibmm/variant.h>
 #include <giomm/action.h>
@@ -149,10 +148,10 @@ public:
   _WRAP_METHOD(double get_double(const Glib::ustring& key) const, g_settings_get_double)
   _WRAP_METHOD(void set_double(const Glib::ustring& key, double value), g_settings_set_double)
 
-  #m4 _CONVERSION(`gchar**',`Glib::StringArrayHandle',`Glib::StringArrayHandle($3, Glib::OWNERSHIP_DEEP)')
-  _WRAP_METHOD(Glib::StringArrayHandle get_string_array(const Glib::ustring& key) const, g_settings_get_strv)
+  #m4 
_CONVERSION(`gchar**',`std::vector<Glib::ustring>',`Glib::ArrayHandler<Glib::ustring>::array_to_vector($3, 
Glib::OWNERSHIP_DEEP)')
+  _WRAP_METHOD(std::vector<Glib::ustring> get_string_array(const Glib::ustring& key) const, 
g_settings_get_strv)
 
-  _WRAP_METHOD(bool set_string_array(const Glib::ustring& key,  const Glib::StringArrayHandle& value), 
g_settings_set_strv)
+  _WRAP_METHOD(bool set_string_array(const Glib::ustring& key, const std::vector<Glib::ustring>& value), 
g_settings_set_strv)
 
   _WRAP_METHOD(int get_enum(const Glib::ustring& key) const, g_settings_get_enum)
   _WRAP_METHOD(bool set_enum(const Glib::ustring& key, int value), g_settings_set_enum)
diff --git a/gio/src/themedicon.hg b/gio/src/themedicon.hg
index c906b22..f077f48 100644
--- a/gio/src/themedicon.hg
+++ b/gio/src/themedicon.hg
@@ -78,8 +78,8 @@ public:
   _WRAP_METHOD(void prepend_name(const std::string& iconname), g_themed_icon_prepend_name)
   _WRAP_METHOD(void append_name(const std::string& iconname), g_themed_icon_append_name)
 
-  #m4 _CONVERSION(`const gchar* const*',`Glib::StringArrayHandle',`Glib::StringArrayHandle($3, 
Glib::OWNERSHIP_DEEP)')
-  _WRAP_METHOD(Glib::StringArrayHandle get_names() const, g_themed_icon_get_names)
+  #m4 _CONVERSION(`const gchar* 
const*',`std::vector<Glib::ustring>',`Glib::ArrayHandler<Glib::ustring>::array_to_vector($3, 
Glib::OWNERSHIP_DEEP)')
+  _WRAP_METHOD(std::vector<Glib::ustring> get_names() const, g_themed_icon_get_names)
 
   //There are no signals.
 
diff --git a/gio/src/volume.hg b/gio/src/volume.hg
index 47ffa57..475d6b1 100644
--- a/gio/src/volume.hg
+++ b/gio/src/volume.hg
@@ -145,8 +145,8 @@ public:
   _WRAP_METHOD(std::string get_identifier(const std::string& kind) const,
                g_volume_get_identifier)
 
-  #m4 _CONVERSION(`char**',`Glib::StringArrayHandle',`Glib::StringArrayHandle($3, Glib::OWNERSHIP_DEEP)')
-  _WRAP_METHOD(Glib::StringArrayHandle enumerate_identifiers() const,
+  #m4 
_CONVERSION(`char**',`std::vector<Glib::ustring>',`Glib::ArrayHandler<Glib::ustring>::array_to_vector($3, 
Glib::OWNERSHIP_DEEP)')
+  _WRAP_METHOD(std::vector<Glib::ustring> enumerate_identifiers() const,
                g_volume_enumerate_identifiers)
 
   _WRAP_METHOD(Glib::RefPtr<File> get_activation_root(), g_volume_get_activation_root)
diff --git a/glib/src/optiongroup.ccg b/glib/src/optiongroup.ccg
index 20f3ae1..37a815d 100644
--- a/glib/src/optiongroup.ccg
+++ b/glib/src/optiongroup.ccg
@@ -778,7 +778,7 @@ OptionGroup::CppOptionEntry::convert_c_to_cpp()
       typed_cpp_arg->clear();
 
       // The C array is null-terminated.
-      // Glib::StringArrayHandle array_handle(*typed_arg,  Glib::OWNERSHIP_NONE);
+      // std::vector<Glib::ustring> array_handle(*typed_arg,  Glib::OWNERSHIP_NONE);
 
       // The SUN Forte compiler complains about this:
       // "optiongroup.cc", line 354: Error: Cannot assign Glib::ArrayHandle<Glib::ustring,
@@ -793,7 +793,7 @@ OptionGroup::CppOptionEntry::convert_c_to_cpp()
       //     of a pointer dynamic_cast must be a pointer to a complete class type
       //   return dynamic_cast<CppType>(Glib::wrap_auto(cobj, false /* take_copy */));
 
-      // for(Glib::StringArrayHandle::iterator iter = array_handle.begin(); iter !=
+      // for(auto iter = array_handle.begin(); iter !=
       // array_handle.end(); ++iter)
       //{
       //  typed_cpp_arg->emplace_back(*iter);
diff --git a/glib/src/regex.ccg b/glib/src/regex.ccg
index a418539..7d2f355 100644
--- a/glib/src/regex.ccg
+++ b/glib/src/regex.ccg
@@ -221,12 +221,12 @@ Regex::replace_literal(const Glib::ustring& string, int start_position,
   return retvalue;
 }
 
-Glib::StringArrayHandle
+std::vector<Glib::ustring>
 Regex::split(const Glib::ustring& string, int start_position, RegexMatchFlags match_options,
   int max_tokens) const
 {
   GError* gerror = nullptr;
-  auto retvalue = Glib::StringArrayHandle(
+  auto retvalue = Glib::ArrayHandler<Glib::ustring>::array_to_vector(
     g_regex_split_full(const_cast<GRegex*>(gobj()), string.c_str(), -1, start_position,
       ((GRegexMatchFlags)(match_options)), max_tokens, &(gerror)),
     Glib::OWNERSHIP_DEEP);
diff --git a/glib/src/regex.hg b/glib/src/regex.hg
index 0044b12..a623830 100644
--- a/glib/src/regex.hg
+++ b/glib/src/regex.hg
@@ -21,7 +21,6 @@ _DEFS(glibmm,glib)
 #include <glibmm/refptr.h>
 #include <glibmm/ustring.h>
 #include <glibmm/error.h>
-#include <glibmm/arrayhandle.h>
 #include <glib.h>
 
 #ifndef DOXYGEN_SHOULD_SKIP_THIS
@@ -187,14 +186,13 @@ public:
    */
   bool match_all(const Glib::ustring& string, gssize string_len, int start_position, RegexMatchFlags 
match_options);
 
-#m4 _CONVERSION(`gchar**',`Glib::StringArrayHandle',`Glib::StringArrayHandle($3, Glib::OWNERSHIP_DEEP)')
+#m4 
_CONVERSION(`gchar**',`std::vector<Glib::ustring>',`Glib::ArrayHandler<Glib::ustring>::array_to_vector($3, 
Glib::OWNERSHIP_DEEP)')
+  _WRAP_METHOD(static std::vector<Glib::ustring> split_simple(const Glib::ustring& pattern, const 
Glib::ustring& string, RegexCompileFlags compile_options = static_cast<RegexCompileFlags>(0), RegexMatchFlags 
match_options = static_cast<RegexMatchFlags>(0)), g_regex_split_simple)
+  _WRAP_METHOD(std::vector<Glib::ustring> split(const Glib::ustring& string, RegexMatchFlags match_options = 
static_cast<RegexMatchFlags>(0)), g_regex_split)
 
-  _WRAP_METHOD(static Glib::StringArrayHandle split_simple(const Glib::ustring& pattern, const 
Glib::ustring& string, RegexCompileFlags compile_options = static_cast<RegexCompileFlags>(0), RegexMatchFlags 
match_options = static_cast<RegexMatchFlags>(0)), g_regex_split_simple)
-  _WRAP_METHOD(Glib::StringArrayHandle split(const Glib::ustring& string, RegexMatchFlags match_options = 
static_cast<RegexMatchFlags>(0)), g_regex_split)
+  _WRAP_METHOD(std::vector<Glib::ustring> split(const gchar* string, gssize string_len, int start_position, 
RegexMatchFlags match_options = static_cast<RegexMatchFlags>(0), int max_tokens = 0) const, 
g_regex_split_full, errthrow)
 
-  _WRAP_METHOD(Glib::StringArrayHandle split(const gchar* string, gssize string_len, int start_position, 
RegexMatchFlags match_options = static_cast<RegexMatchFlags>(0), int max_tokens = 0) const, 
g_regex_split_full, errthrow)
-
-  Glib::StringArrayHandle split(const Glib::ustring& string, int start_position, RegexMatchFlags 
match_options, int max_tokens) const;
+  std::vector<Glib::ustring> split(const Glib::ustring& string, int start_position, RegexMatchFlags 
match_options, int max_tokens) const;
 
   _WRAP_METHOD(Glib::ustring replace(const gchar* string, gssize string_len, int start_position, const 
Glib::ustring& replacement, RegexMatchFlags match_options = static_cast<RegexMatchFlags>(0)), 
g_regex_replace, errthrow)
   Glib::ustring replace(const Glib::ustring& string, int start_position, const Glib::ustring& replacement, 
RegexMatchFlags match_options);
@@ -271,7 +269,7 @@ public:
 
   _WRAP_METHOD(bool fetch_named_pos(const Glib::ustring& name, int& start_pos, int& end_pos), 
g_match_info_fetch_named_pos)
 
-  _WRAP_METHOD(Glib::StringArrayHandle fetch_all(), g_match_info_fetch_all)
+  _WRAP_METHOD(std::vector<Glib::ustring> fetch_all(), g_match_info_fetch_all)
 
 protected:
   GMatchInfo* gobject_;      // The C object.
diff --git a/tools/m4/convert_gio.m4 b/tools/m4/convert_gio.m4
index 3ff1c4b..7db1718 100644
--- a/tools/m4/convert_gio.m4
+++ b/tools/m4/convert_gio.m4
@@ -265,7 +265,7 @@ _CONVERSION(`GResource*',`Glib::RefPtr<Resource>',`Glib::wrap($3)')
 
 #Settings
 _CONVERSION(`GSettings*',`Glib::RefPtr<Settings>',`Glib::wrap($3)')
-_CONVERSION(`const Glib::StringArrayHandle&',`const gchar*-const*',`($3).data()')
+_CONVERSION(`const std::vector<Glib::ustring>&',`const 
gchar*-const*',`Glib::ArrayHandler<Glib::ustring>::vector_to_array($3).data()')
 _CONVERSION(`const Glib::RefPtr<SettingsBackend>&',`GSettingsBackend*',__CONVERT_REFPTR_TO_P)
 
 _CONVERSION(`GSettingsSchemaKey*',`Glib::RefPtr<SettingsSchemaKey>',`Glib::wrap($3)')


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