2013-04-14 José Alburquerque ByteArray: get_data(): Add a const version. * glib/src/bytearray.{ccg,hg}: Make the already existing get_data() method non-constant and add a constant one returning a const array as is done in general in *mm modules. 2013-04-11 José Alburquerque ByteArray: Add size() and get_data() methods. * glib/src/bytearray.{ccg,hg}: Add these methods so that accessing the underlying GByteArray's data and len members (which is how it is done in the C API) is just as easy with glibmm. Also use _WRAP_METHOD to wrap the create() method. 2013-04-09 José Alburquerque gmmproc: Parse the argument list of methods correctly. * tools/pm/Function.pm (parse_param): When splitting the argument list split the parameter '{...}' options out and separately and deal with them in their own 'elsif' which is more clear and avoids code duplication. Also, don't split the '<...>' matches greedily because that causes problems when a Glib::RefPtr<> parameter has a default value. This problem was discovered while trying to not use the optional parameter syntax for the Gio::TlsCertificate::verify() method by using a default value for the 'trusted_ca' parameter although upon investigation it became clear that keeping the syntax (and the method overloads) would be useful because a verify() with no parameters can be used to verify things about a certificate unrelated to the identity and the trusted_ca (see the TlsCertificateFlags enum that the method returns). 2013-04-06 Murray Cumming Add a test of implementing an interface. * tests/Makefile.am: * tests/glibmm_interface_implementation/main.cc: Add a very simple test that implements an interface, with a vfunc implementation and make sure that the vfunc is called when the caller method is called. 2013-04-02 José Alburquerque ByteArray: Add a Glib::Value<> template specialization for it. * glib/src/bytearray.{ccg,hg}: Add the specialization for ByteArray so that getting/setting properties of that type work. Also added a Glib::ByteArray::get_type() method required for the specialization to compile. This is the master branch for glibmm 2.37/8. 2013-04-01 Murray Cumming Remove Tls* classes from git. gio/src/tls*.[hg|ccg]: Remove all these from this branch in git. They are in the master branch, to appear in glibmm 3.7/8. This is the glibmm-2-36 branch. See the master branch for glibmm 2.37/38. 2013-03-31 José Alburquerque TlsCertificate: Use std::string for data instead of char*. * gio/src/tlscertificate.{ccg,hg} (TlsCertificate): Use a std::string in the data constructor instead of a char* because it is more C++ like. Remove the default value for the length argument so there is no ambiguity with the file constructor (which also uses std::string for the filename). (create_from_pem): Renamed from create() so that there is no ambiguity with the other file create() methods (one with a filename argument and the other with a filename and key file arguments). Handwrote the method in the .ccg file (_WRAP_CREATE does not allow a custom method name). (property_certificate_pem): Use a std::string instead of a char* for the property type in keeping with the use of std::string for pem data. These changes are for when the Tls* classes are re-added to the build. 2013-03-31 José Alburquerque Credentials: Add the get_unix_pid() method. * gio/src/credentials.hg: Add the new method wrapping the g_credentials_get_unix_pid() C function. 2013-03-27 José Alburquerque giomm: Temporarily remove the Tls* related API. Temporarily remove the API until after the coming stable release so the API can be better developed thus avoiding the risk of needing an API or ABI break later. * gio/src/filelist.am: Remove the tls*.hg files from the build. This will keep the sources from being built and included in the upcoming tarball release. * gio/giomm.h: #if out the tls*.h includes. * gio/src/enums.hg: Comment out the TlsAuthenticationMode enum. * gio/src/error.hg: Comment out the TlsError GError. 2013-03-27 José Alburquerque Gio::Tls*: Correct some referencing errors. * gio/src/tlscertificate.hg (get_issuer): * gio/src/tlsclientconnection.hg (get_server_identity): * gio/src/tlsconnection.hg (get*_certificate): Use refreturn in the wrapping of these because the C API does not reference the object when returning it. 2013-03-27 José Alburquerque giomm.h: Also remove the tlsfiledatabase.h include. * gio/giomm.h: Remove the include from here so that make check will not fail. * gio/src/error.hg (TlsError): A minor correction in the 'EOF' substitution regular expression. 2013-03-26 José Alburquerque TlsFileDatabase: Remove the class until its usage is more clear. * gio/src/filelist.am (tlsfiledatabase.hg): Remove from the build until it is more clear how the class should be used. 2013-03-26 José Alburquerque TlsError: Rename the EOF enum value. * gio/src/error.hg (EOF): Rename it to ENDOFFILE to avoid a clash with another definition of the identifier somewhere else which breaks the gtkmm build. 2013-03-26 Murray Cumming GTlsFileDatabase: Use std::string for filenames. * gio/src/tlsfiledatabase.hg: The anchor parameter and property are for a filename, so we should use std::string, because filenames are of unknown encoding. 2013-03-26 Murray Cumming Gio: Correct TlsDatabase/TlsFileDatbase derivation. * gio/src/tlsdatabase.hg: * gio/src/tlsfiledatabase.hg: TlsFileDatabase should derive from TlsDatabase, not the other way around. However, we do not use TlsFileDatabase, and it is odd (an interface that requires a non-interface other than GObject) so maybe we should not provide it yet anyway. 2013-03-25 Murray Cumming Gio: Add some TODOs about changing the base classes. * gio/src/actionmap.hg * gio/src/pollableinputstream.hg * gio/src/pollableoutputstream.hg * gio/src/remoteactiongroup.hg: We should probably derive from their prerequisite (required) classes instead. These were added in glibmm 2.34. 2013-03-25 José Alburquerque giomm: Wrap the GTlsError GError. * gio/src/error.hg: Wrap the GTlsError GError in this file. * gio/src/tlsclientconnection.hg: * gio/src/tlsconnection.hg: Have default true values for boolean setter methods in these classes. * gio/src/tlsfiledatabase.hg: Clarify a TODO. * gio/src/dbuserror.hg: Whitespace. 2013-03-25 Murray Cumming Gio::DesktopAppInfo: Added some methods. * gio/src/desktopappinfo.hg: Added has_key(), get_string() and get_boolean(). 2013-03-25 Murray Cumming Gio::SocketClient: Added some methods. * gio/src/socketclient.hg: Added get/set_tls(), get/set_tls_validation_flags(), get/set_proxy_resolver(). Added timeout, tls, enable-proxy, tls-validation, and proxy-resolver properties. Added the event signal. * tools/m4/convert_gio.m4: Added necessary conversions. 2013-03-25 Chun-wei Fan Visual Studio Projects: Fix and update. * Fix Visual C++ projects for glibmm and giomm as numerous sources have been added for the addition of APIs so that these libraries can be properly built * Also make the project files work better with the GLib Visual C++ builds (which are currently supported in the GLib source distribution), so that the files from the GLib build can be picked up by the glibmm projects when the Glib sources and glibmm sources are extracted in the same root folder (for example, c:\foo\glib-2.35.9 and c:\foo\glibmm-2.35.9) * Fix the resolver project files for Visual C++ 2008/2010 for having the wrong executable output name 2013-03-24 José Alburquerque Tls[Client|Server]Connection: Add the create() methods. * gio/src/tlsclientconnection.hg: * gio/src/tlsserverconnection.hg: Add the create() methods, wrapping the *_new() functions of these classes. Since these classes are interfaces, it is not possible to use _WRAP_CTOR/WRAP_CREATE() to wrap the new functions. Also make these classes derive from TlsConnection which is their base class (see [1][2][3][4]). Its odd because the base class is a GObject and the derived ones are GInterfaces, but that's how the C API has done it. Hopefully it will not be a problem. [1] https://developer.gnome.org/gio/stable/GTlsConnection.html#GTlsConnection.description [2] https://developer.gnome.org/gio/stable/GTlsConnection.html#GTlsConnection.derived-interfaces [3] https://developer.gnome.org/gio/stable/GTlsClientConnection.html#GTlsClientConnection.description [4] https://developer.gnome.org/gio/stable/GTlsServerConnection.html#GTlsServerConnection.description 2013-03-24 José Alburquerque gio/src/tls*.ccg: Remove empty namespaces. * gio/src/tlsconnection.ccg: * gio/src/tlsdatabase.ccg: * gio/src/tlsinteraction.ccg: Remove empty namespaces and unneeded includes. * gio/src/gio_extra_objects.defs: Add GTlsBackend to avoid a gmmproc documentation warning. 2013-03-22 José Alburquerque gmmproc: Verify that void methods should not return a value. * tools/gmmproc.in: ($main::return_mismatches): Add boolean to store whether method return mismatches should be checked. Make it false by default. (parse_command_line_args): Add logic to parse a new --return-mismatches option to specify if gmmproc should verify that void methods should not return a value. (print_usage): Modify the usage message to describe the new option. For convenience, output the source for which there are unwrapped functions, properties and signals. * tools/pm/DocsParser.pm (remove_example_code): Also output the source being processed when the example code is removed (for convenience). * tools/pm/Output.pm (error): Once more, output the source being processed when an error occurs, for convenience. (convert_args_cpp_to_c): Add a check for when the C++ method for which the parameters are being converted returns void but the C function does not return void. If the added option above is specified, output a warning. Bug #696364. 2013-03-22 José Alburquerque TlsPassword: Correct its constructor parameter order. * gio/src/tlspassword.hg (TlsPassword): Reorder its parameters so that the flag comes last with a default parameter. (create): Do the same for its create() method. 2013-03-22 José Alburquerque TlsDatabase: Const and optional parameter corrections. * gio/src/tlsdatabase.hg: The "interaction" parameters in the methods are all optional (see the C API docs). (verify_chain): (verify_chain_async): (verify_chain_vfunc): (verify_chain_async_vfunc): Make these methods const because the database should not be changed by verifying a certificate's chain. (create_certificate_handle_vfunc): Make the certificate constant because it should not change when creating a handle for it. 2013-03-21 José Alburquerque TlsConnection: Correct its base class derivation. * gio/src/tlsconnection.hg: The class should derive from Gio::IOStream, not Glib::Object as in the C API. Also add the get_peer_certificate() methods. 2013-03-21 José Alburquerque TlsCertificate: Wrap its single virtual function. * gio/src/tlscertificate.hg: Wrap the "verify" virtual function. Also add a default value to the length parameter of the constructor accepting a data character array. * gio/src/gio_vfuncs.defs: Add the virtual function definition so that it is recognized. 2013-03-21 Murray Cumming Gio::FileInfo: Added get_deletion_date(). * glib/src/fileenumerator.hg: Wrap the new g_file_info_get_deletion_date() function. * tools/m4/convert_glib.m4: Add a necessary conversion. 2013-03-21 Murray Cumming Gio::FileEnumerator: Added get_child(). * glib/src/fileenumerator.hg: Wrap the new g_file_enumerator_get_child() function. 2013-03-21 Murray Cumming Glib::VariantBase: Added check_format_string(). * glib/src/variant.hg: Wrap the new g_variant_check_format_string() function. 2013-03-21 Murray Cumming Gio::AsyncResult: Added is_tagged(). * gio/src/applicationcommandline.hg: Wrapped the new g_async_result_is_tagged() function. 2013-03-21 Murray Cumming Gio::ApplicationCommandLine: Added some methods. * gio/src/applicationcommandline.hg: Added get_stdin() and create_file_for_arg(), wrapping new C functions. 2013-03-21 Murray Cumming Regenerated the -signals.defs files. * gio/src/gio_signals.defs: Regenerated using tools/gen_scripts/gio_generate_extra_defs.sh. 2013-03-19 Murray Cumming Regenerated the -methods.defs files. * gio/src/gio_methods.xml: * glib/src/glib_functions.xml: * glib/src/gmodule_functions.xml: * glib/src/gobject_functions.xml: Regenerated using tools/gen_scripts/gio_generate_methods.sh and tools/gen_scripts/glib_generate_methods.sh, with a slight hand-edit to avoid the problem in gioschedule.h with h2def.py (see previous commit). 2013-03-19 Murray Cumming h2def.py: Handle GLIB_AVAILABLE_IN_ALL * tools/defs_gen/h2def.py: Do not just ignore functions prefixed with GLIB_AVAILABLE_IN_ALL. This handles the latest glib/gio/gactiongroup.h file. However, we still need to handle the new GLIB_DEPRECATED_IN_2_36_FOR(old_func) form now used in glib/gio/gioschedule.h. 2013-03-19 Murray Cumming Regenerated the -enums.defs files. * gio/src/gio_enums.xml: * glib/src/glib_enums.xml: Regenerated using tools/gen_scripts/gio_generate_enums.sh and tools/gen_scripts/glib_generate_enums.sh. 2013-03-19 Murray Cumming Regenerated the -docs.xml files. * gio/src/gio_docs.xml: * glib/src/glib_docs.xml: Regenerated using tools/gen_scripts/gio_generate_docs.sh and tools/gen_scripts/glib_generate_docs.sh.