2.33.13: 2012-09-25 Murray Cumming gio_docs.xml: Replace : with :. * gio/src/gio_docs.xml: This fixes the build. 2012-09-24 Murray Cumming Update the *_methods defs files. * gio/src/gio_methods.defs: * glib/src/glib_functions.defs: * glib/src/gobject_functions.defs: Updated with tools/gen_scripts/ 2012-09-24 Murray Cumming Update the docs XML files. * gio/src/gio_docs.xml: * glib/src/glib_docs.xml: Updated with tools/gen_scripts/ 2012-09-24 José Alburquerque Converter[Input|Output]Stream: Correct whitespace typos. * gio/src/converterinputstream.hg: * gio/src/converteroutputstream.hg: 2012-09-24 José Alburquerque giomm: Add the Converter[Input|Output]Stream classes. * gio/src/converterinputstream.{ccg,hg}: * gio/src/converteroutputstream.{ccg,hg}: * gio/src/filelist.am: Add the new sources adding the constructors, create methods, the methods and properties of the new classes. Add the sources to the build. * gio/src/gio_signals.defs: * tools/extra_defs_gen/generate_defs_gio.cc: Add the two new GTypes to the extra defs generation utility and regenerate the signal and property defs file to get the properties of the new classes. * tools/m4/convert_gio.m4: Add the necessary Converter conversions. 2012-09-20 José Alburquerque giomm: Add the PollableOutputStream interface. * gio/src/pollableoutputstream.{ccg,hg}: * gio/src/filelist.am: Add the sources adding the new interface methods and virtual functions and include the sources in the build. * gio/src/gio_extra_objects.defs: Add the new object in this file to avoid a gmmproc documentation warning. * gio/src/gio_vfuncs.defs: Add the new interface virtual functions. 2012-09-20 José Alburquerque giomm: Add the PollableInputStream interface. * gio/src/pollableinputstream.{ccg,hg}: * gio/src/filelist.am: Add the sources adding the new interface methods and virtual functions and include the sources in the build. * gio/src/gio_extra_objects.defs: Mention the new object in this file to avoid the gmmproc documentation warnings. * gio/src/gio_vfuncs.defs: Add the new interface virtual functions but alphabetize the existing entries by class name. 2012-09-19 José Alburquerque _WRAP_VFUNC: Prepend @throws clause to vfuncs that throw errors. * tools/pm/Output.pm (output_wrap_vfunc_h): Prepend a Doxygen @throws clause to the declaration of virtual functions that throw Glib::Error. 2012-09-18 José Alburquerque Gio::DBus::Connection: Add the call_[finish|sync]() with UnixFDLists. * gio/src/dbusconnection.{hg,ccg}: Add the methods using gmmproc's output parameter functionality. Also add the cancellable and non-cancellable asynchronous call() methods that were #ifdef'ed out because of the missing call_finish() method. * tools/m4/convert_gio.m4: Add a necessary enum conversion. Bug #662371. 2012-09-18 José Alburquerque gmmproc: _WRAP_METHOD: Allow setting parameters from C output params. * tools/m4/convert_base.m4 (_INITIALIZATION): Insert newlines between a possible series of statements that has been specified as an initialization. For example, the declaration, assignment and the g_free() call would each be on a seperate line in the following (from datainputstream.hg): _INITIALIZATION(`std::string&',`return-char*',`char* tmp = $4; $3 = tmp; g_free(tmp)') * tools/pm/Function.pm (FLAG_PARAM_OPTIONAL): (FLAG_PARAM_OUTPUT): Added new constant flags representing if a parameter is optional or if it is an output parameter. (EXPORT_OK): Exported the above flags so they can be used in other modules. (param_optional): Renamed to param_flags. Redesigned it to store a possible combination of both flags above and not just if a parameter is optional. (parse_param): Modified the subroutine to look for an '>>' in a possible '{.*}' following the current parameter name which would signal that the parameter is an output parameter. The syntax for signaling if a parameter is optional, is an output parameter or should be mapped to a specific C parameter would be: cpp_param_name{c_param_name>>?} c_param_name means that the C++ parameter should be mapped to the C parameter no matter the parameter order of either. The '>>' means that the parameter should be set from the C parameter because the C parameter is an output parameter. Finally, the '?' means that the parameter is optional thus overloads should be generated without that paramter. All three components within the {} are optional. A '.' may be used instead of the c parameter name if the C++ parameter name is the same as the C parameter name. (possible_args_list): Modified to use the param_flags variable. * tools/pm/Output.pm (output_wrap_vfunc_h): Modified to receive the new return type from convert_args_cpp_to_c() (see below). (output_wrap_meth): Modified to receive the new return from convert_args_cpp_to_c (see below) and pass them to the _METHOD() and _STATIC_METHOD() macros. (convert_args_cpp_to_c): Modified to generate a list of C declarations for any possible C output parameters and to generate a list of _INITIALIZE() macros to initialize the C++ parameters from the C output parameters. The function returns an array of three strings (the convert macros, the possible C declarations and the _INITIALIZE() macros in that order). * tools/pm/WrapParser.pm (string_split_commas): Modified the subroutine to ignore '>>' if they are in '{}' (so that the '>>' can signal that a parameter should be set from a C output parameter. * tools/m4/method.m4 (_METHOD, _STATIC_METHOD): Rewrote to accept C declarations of possible C output parameters and _INITIALIZE macros which would initialize the appropriate C++ parameters from the output variables and insert them appropriately in the generated code. Bug #662371. 2012-09-18 Kjell Ahlstedt Improve the use of _IGNORE. Don't use gio_others.defs. * gio/src/applicationcommandline.hg: Change a _CONVERSION (due to the exclusion of gio_others.defs). * gio/src/dbusintrospection.hg: * gio/src/fileinfo.hg: Add _IGNORE. * gio/src/fileiostream.hg: * gio/src/fileoutputstream.hg: Correct an _IGNORE. * gio/src/gio.defs: Don't include gio_others.defs. One of its entries is wrong and all of them also exist (in correct form) in gio_methods.defs or gio_signals.defs. * glib/src/convert.hg: * glib/src/regex.hg: Add _IGNORE. * glib/src/date.hg: * glib/src/fileutils.hg: * glib/src/markup.hg: * glib/src/optionentry.hg: * glib/src/shell.hg: * glib/src/spawn.hg: * glib/src/thread.hg: * glib/src/threads.hg: * glib/src/unicode.hg: * glib/src/uriutils.hg: Remove _IGNORE(g_iconv). * glib/src/variantiter.hg: Add an _IGNORE. Remove _IGNORE(g_variant_iter_new). 2012-09-18 Kjell Ahlstedt gmmproc: Improve the search for unwrapped methods. * tools/pm/GtkDefs.pm: lookup_method_set_weak_mark(): New function. get_unwrapped(): Correct the search when methods from more than one class have been wrapped. GtkDefs::Function::new(): Take into account that a method (g_iconv) may be nameless. After this change the patch of g_iconv in glib_functions.defs.patch is probably unnecessary but harmless. * tools/pm/WrapParser.pm: on_wrap_method_docs_only(), on_wrap_ctor(): Call GtkDefs::lookup_method_set_weak_mark(). on_wrap_method(): Call GtkDefs::lookup_method_set_weak_mark() if the method is static. 2012-09-14 José Alburquerque _CLASS_GOBJECT: Allow classes to have custom wrap() functions. * tools/m4/class_gobject.m4 (_CUSTOM_WRAP_FUNCTION): Add this new macro which can be used in _CLASS_GOBJECT classes so that if they want they can write their own implementation of their Glib::wrap() function. This is useful for modules such as gstreamermm that want to keep certain classes (like the plug-ins) from being registered on startup but then do a one time registration of the wrap_new() function in the Glib::wrap() function before calling Glib::wrap_auto() which can then find the wrap_new() function if necessary. Bug #684006. 2012-09-14 José Alburquerque generate_wrap_init.pl: Allow classes in files to not be registered. * tools/m4/class_shared.m4: Add a new _NO_WRAP_INIT_REGISTRATION macro used in the generate_wrap_init.pl script to recognize a file whose classes should not be registered by wrap_init(). * tools/generate_wrap_init.pl.in (exclude_from_wrap_init): Include a hash map to determine if the classes in a file should not be registered with the wrapping system by the wrap_init() function. (main): Modified to see if the new _NO_WRAP_INIT_REGISTRATION macro is used in a file and store a true/false value in the hash map for the specified file. Also, modified to not include the includes, the *_get_type() function declarations, the wrap_new() function declarations and the *::get_type() invocations of the classes in the file marked for no registration. Bug #684006. 2012-09-16 Murray Cumming File: Add remove_async() and remove_finish(). * gio/src/file.[hg|ccg]: As for the sync version, we rename delete to remove, because the sync vesion would be delete(), which uses a C++ keyword. 2012-09-15 Murray Cumming Simplified lots of code by using the {?} _WRAP_METHOD() syntax. * gio/src/application.[hg|ccg]: * gio/src/bufferedinputstream.[hg|ccg]: * gio/src/datainputstream.[hg|ccg]: * gio/src/dataoutputstream.[hg|ccg]: * gio/src/dbusconnection.[hg|ccg]: * gio/src/fileenumerator.[hg|ccg]: * gio/src/initable.[hg|ccg]: * gio/src/inputstream.[hg|ccg]: * gio/src/iostream.[hg|ccg]: * gio/src/outputstream.[hg|ccg]: * gio/src/resolver.[hg|ccg]: * gio/src/seekable.[hg|ccg]: * gio/src/socket.[hg|ccg]: * gio/src/socketaddressenumerator.[hg|ccg]: * gio/src/socketclient.[hg|ccg]: This relatively new gmmproc syntax lets us avoid the manual implementations and declarations just to have overloads without the Cancellable parameters. * gio/src/unixconnection.hg: This had no method overloads without Cancellable parameters but now it does. 2012-09-15 Murray Cumming Gio::File: Correct the commit again * gio/src/file.[hg|ccg]: make_directory() was missing a {?}. 2012-09-15 Murray Cumming Gio::File: Correct the previous commit. * gio/src/file.[hg|ccg]: Do not use {?} with query_file_type() because it cannot cope with also having a default parameter value on an earlier parameter. 2012-09-15 Murray Cumming Gio::File: Simplify the code by using {?} in _WRAP_METHOD() * gio/src/file.[hg|ccg]: This relatively new gmmproc syntax lets us avoid the manual implementations and declarations just to have overloads without the Cancellable parameters. 2012-09-15 Murray Cumming AppLaunchContext: Add setenv(), unsetenv() and get_environment(). * gio/src/applaunchcontext.hg: Wrap these C functions. 2012-09-12 Kjell Ahlstedt Use std::time_t instead of ::time_t. * build/c_std.m4: * glib/src/date.[hg|ccg]: Use std::time_t instead of ::time_t. Only std::time_t is required to be declared in , which is recommended instead of in C++ programs. 2012-09-12 Kjell Ahlstedt Use std::size_t and std::ptrdiff_t. * glib/glibmm/arrayhandle.h: * glib/glibmm/containers.h: * glib/glibmm/listhandle.h: * glib/glibmm/slisthandle.h: * glib/glibmm/vectorutils.h: Use std::size_t and std::ptrdiff_t instead of ::size_t and ::ptrdiff_t. Only the std versions are required to be declared in . * examples/network/resolver.cc: * glib/glibmm/containerhandle_shared.h: * glib/glibmm/helperlist.h: * glib/glibmm/main.h: * glib/glibmm/vectorutils.cc: Use std::size_t instead of ::size_t. * glib/src/convert.hg: Use std::size_t instead of ::size_t in a comment. * glib/glibmm/property.cc: * glib/glibmm/ustring.h: Use std::ptrdiff_t instead of ::ptrdiff_t.