summaryrefslogtreecommitdiff
path: root/gio
Commit message (Collapse)AuthorAgeFilesLines
* Gio::NetworkMonitor::get_default(): Add refreturnKjell Ahlstedt2022-11-051-1/+1
| | | | Fixes #104
* Glib, Gio: Regenerate docs.xml filesKjell Ahlstedt2022-09-191-2/+18
| | | | using gtk files from glib 2.74.0.
* Gio::File docs: Add @throwsKjell Ahlstedt2022-09-021-32/+116
| | | | and other minor documentation fixes.
* Gio::File: Add create_tmp()Kjell Ahlstedt2022-09-012-7/+52
| | | | | | * gio/src/file.[ccg|hg]: Add create_tmp(). Document create_for_parse_name(). * tests/giomm_simple/main.cc: Test File::create_tmp().
* Gio::ListStore::find() docs: Small changesKjell Ahlstedt2022-09-011-4/+4
|
* Gio::ListStore: Add find()Kjell Ahlstedt2022-08-292-0/+162
| | | | | | * gio/src/liststore.[ccg|hg]: Add two ListStoreBase::find() and two ListStore::find(). * tests/giomm_listmodel/main.cc: Test ListStore::find().
* Gio: Add some methods for glibmm 2.74Kjell Ahlstedt2022-08-225-4/+42
| | | | | | | | | | | | | * configure.ac: * meson.build: Require glib-2.0 >= 2.73.2. * gio/src/appinfo.hg: Add get_default_for_type_async/finish(), get_default_for_uri_scheme_async/finish(). * gio/src/file.hg: Add make_symbolic_link_async/finish(). * gio/src/liststore.hg: Add property_n_items(). * gio/src/resolver.hg: Add enum Resolver::NameLookupFlags, lookup_by_name_with_flags(), lookup_by_name_with_flags_async/finish(). * gio/src/gio_docs_override.xml: * tools/m4/convert_gio.m4: Add conversions for Resolver::NameLookupFlags.
* Glib, Gio: Regenerate docs.xml and .defs filesKjell Ahlstedt2022-08-224-9/+630
| | | | using gtk files from glib 2.73.3.
* Gio::DBus::Proxy: Add some refreturnglibmm-2-72Kjell Ahlstedt2022-07-291-4/+4
| | | | | | get_connection() and get_interface_info() must add a reference. The error in get_connection() was noticed by 우정모 (kr.woaini). Fixes #102
* Gio::ListStore: Don't derive a gtkmm__GListStore GTypeKjell Ahlstedt2022-06-081-0/+2
| | | | GListStore is declared G_DECLARE_FINAL_TYPE.
* Gio::Action: Improve the documentationKjell Ahlstedt2022-06-061-17/+18
| | | | See issue #100
* Gio::TlsCertificate: Fix the create*() methodsKjell Ahlstedt2022-04-082-20/+11
| | | | | Don't call constructors that don't work because the g_tls_certificate_new_*() functions do more than just call g_object_new().
* Glib, Gio: Add some methods for glibmm 2.72Kjell Ahlstedt2022-04-076-44/+133
| | | | | | | | | | | | | * configure.ac: * meson.build: Require glib-2.0 >= 2.71.2. * gio/src/dbusproxy.hg: signal_signal() accepts a signal name. * gio/src/file.[ccg|hg]: Add move_async() and move_finish(). * gio/src/socketclient.hg: Deprecate set/get/property_tls_validation_flags(). * gio/src/tlscertificate.hg: Add properties private_key, private_key_pem, pkcs11_uri, private_key_pkcs11_uri. * gio/src/tlsclientconnection.hg: Deprecate set/get/property_validation_flags(). * glib/glibmm/main.[cc|h]: Add create(MainContextFlags flags). * glib/src/enums.hg: Add enum Glib::MainContextFlags.
* Glib, Gio: Regenerate docs.xml and .defs filesKjell Ahlstedt2022-04-075-138/+877
| | | | | using gtk files from glib 2.72.0. And update gio/src/gio_signals.defs.patch.
* Add Gio::AppInfoMonitorKjell Ahlstedt2022-02-165-2/+99
| | | | Fixes #97
* meson.build: Specify 'check' option in run_command()Kjell Ahlstedt2022-02-141-2/+3
| | | | | | The default value will be changed in future Meson releases. Don't use deprecated python3.path() and execute(..., gui_app: ...).
* Gio: Use _WRAP_METHOD(..., ignore_deprecations)Kjell Ahlstedt2021-11-264-44/+8
|
* Gio::SocketClient, TlsClientConnection: Ignore some deprecationsKjell Ahlstedt2021-11-244-7/+57
| | | | | | | g_socket_client_[set,get]_tls_validation_flags() and g_tls_client_connection_[set,get]_validation_flags() are deprecated in glib 2.72. They can't be deprecated in glibmm 2.70. Ignore the deprecations, so it will still be possible to compile with warnings=fatal.
* Glib, Gio: Add some methods for glibmm 2.70Kjell Ahlstedt2021-10-054-0/+22
| | | | | | | | | | | | | | | | | | * configure.ac: * meson.build: Require glib-2.0 >= 2.69.1. * glib/src/binding.[ccg|hg]: Add dup_source(), dup_target(), Deprecate get_source(), get_target(). * glib/src/spawn.[ccg|hg]: Change parameter name, exit_status to wait_status. * glib/src/timezone.[ccg|hg]: Add operator bool(), create_identifier(). Deprecate create(). * gio/src/fileinfo.hg: Add get/set_access_date(), get/set_creation_date(). * gio/src/notification.hg: Add set_category(). * gio/src/tlscertificate.hg: Add property/get_not_valid_before(), property/get_not_valid_after(), property/get_subject_name(), property/get_issuer_name(). * gio/src/tlsconnection.hg: Add enum Gio::TlsProtocolVersion, property/get_protocol_version(), property/get_ciphersuite_name(). * tools/m4/convert_gio.m4: Add conversion for enum TlsProtocolVersion.
* Glib, Gio: Regenerate docs.xml and .defs filesKjell Ahlstedt2021-10-055-140/+1559
| | | | | using gtk files from glib 2.70.0. And update gio_docs_override.xml and glib_extra_objects.defs.
* Declare some copy assignment operators deleted (=delete)Kjell Ahlstedt2021-08-271-1/+1
| | | | | | | | Avoid warnings from the clang++ compiler. It's deprecated in C++ to implicitly declare a copy constructor, if there is a user-defined copy assignment operator. Instead of declaring copy assignment operators private without implementation, declare them deleted.
* Gio::AppInfo::get_all(): Use a local TypeTraits in ListHandlerKjell Ahlstedt2021-07-292-10/+7
| | | | | | | Instead of a specialization of Glib::Container_Helpers::TypeTraits for Glib::RefPtr<Gio::AppInfo>, add and use struct TypeTraits_AppInfo, local in gio/src/appinfo.ccg and appinfo.cc. Modifies the issue #94 fix.
* Gio::AppInfo::get_all(): Use Glib::wrap_auto_interface()Kjell Ahlstedt2021-07-261-0/+32
| | | | | | | | | | | | Applies also to get_all_for_type(). Make a complete specialization of Glib::Container_Helpers::TypeTraits for Glib::RefPtr<Gio::AppInfo>, calling Glib::wrap(GAppInfo*, bool) which uses Glib::wrap_auto_interface(). The partial specialization in containerhandle_shared.h calls Glib::wrap_auto(), which is not acceptable if the GAppInfo object does not already have a wrapper, and its class type has been wrapped in a C++ class (e.g. GWin32AppInfo or GOsxAppInfo). Fixes #94
* Gio::ListModel::get_object(): Don't try to cast to Glib::ObjectKjell Ahlstedt2021-07-151-0/+4
| | | | | | | Gio::ListModel::get_object() returns Glib::RefPtr<Glib::ObjectBase>. Don't try to dynamic_cast it to Glib::Object. It would fail if the object has been constructed as an interface, and e.g. has a Gio::File wrapper. Fixes #93
* fileenumerator.hg: Remove refreturn to avoid memory leaktalisein2021-07-101-2/+2
|
* Update gio_docs_override.xmlKjell Ahlstedt2021-06-041-2/+13
|
* Don't mark the Glib::Source class with GLIBMM_APIChun-wei Fan2021-05-072-8/+8
| | | | | | | Instead, mark the individual members with GLIBMM_API so that we avoid having the code tied to a particular STL and compiler version. Update the classes that derive from Glib::Source accordingly as well
* fileattributeinfo.hg: Avoid exporting classes with std::string membersChun-wei Fan2021-05-071-10/+10
| | | | | | | ...and templates that inherit std::string. This will help us to also eliminate C4251 warnings from code that use thid class and related items, and avoid ABI compatibility issues when building code that link and run aginst glibmm on Visual Studio builds.
* Subprojects can use meson.add_dist_script() if meson.version() >= 0.58.0Kjell Ahlstedt2021-05-051-3/+2
| | | | | | | | | | | * meson.build: * docs/reference/meson.build: * gio/giomm/meson.build: * glib/glibmm/meson.build: Call add_dist_script() in a subproject, if meson.version() >= 0.58.0. * tools/build_scripts/handle-built-files.py: Use MESON_PROJECT_DIST_ROOT if it exists, else MESON_DIST_ROOT. It exists if meson.version() >= 0.58.0.
* Meson build: No implicit_include_directoriesKjell Ahlstedt2021-03-2639-38/+40
| | | | | | | It shall not be possible to find a glibmm header file with #include <xxx.h> instead of #include <glibmm/xxx.h>. Not fully fixed until https://github.com/mesonbuild/meson/issues/8562 has been fixed.
* Meson build: Make it possible to use glibmm as a subprojectKjell Ahlstedt2021-03-121-4/+4
| | | | glib and sigc++ can be subprojects of glibmm.
* g[io|lib]mmconfig.h.*: Don't dllimport on MinGWChun-wei Fan2021-03-092-2/+6
| | | | | | | This will fix warnings when building items using glibmm and giomm with MinGW/GCC. Please see: https://gitlab.gnome.org/GNOME/gtkmm/-/issues/90
* Meson build: Use relative paths to untracked/Kjell Ahlstedt2021-02-241-2/+3
| | | | | | | The paths to the source code in untracked/ shall be relative to the meson.build file, when library files are built from a tarball. With absolute paths Meson may generate too long file names. See gtkmm!61
* Glib, Gio: Regenerate docs.xml and .defs filesKjell Ahlstedt2020-12-184-78/+688
| | | | | | and update gio/src/gio_docs_override.xml. Regenerated while the glib-2-66 branch was checked out from glib.
* Gio::File docs: Fix names of thrown exceptionsKjell Ahlstedt2020-11-014-8/+6
| | | | and remove unnecessary TODO comments in several files.
* Meson build: Fix versioning on macOSKjell Ahlstedt2020-09-301-1/+4
| | | | See https://github.com/libsigcplusplus/libsigcplusplus/pull/65
* Rewrite Gio::Tls[Client,Server]ConnectionImplKjell Ahlstedt2020-08-1210-106/+80
| | | | | | | | | | | TlsConnection_Class::wrap_new() can wrap a C object in a TlsConnection, TlsClientConnectionImpl or TlsServerConnectionImpl depending on which interface, if any, the C object implements. No need for special wrap*() functions in Tls[Client,Server]Connection or SocketClient::signal_event(). This is similar to Gdk::DeviceWithPad.
* Gio::Tls[Client,Server]ConnectionImpl: Improve the wrap*() functionsKjell Ahlstedt2020-08-022-12/+18
| | | | | | Make Glib::wrap_tls_[client,server]_connection_impl() do like other wrap() functions for ref-counted objects when they are given a nullptr: return an empty RefPtr.
* Gio::SocketClient::signal_event(): Fix wrapping of 'connection' paramKjell Ahlstedt2020-07-312-2/+22
| | | | | | | | | | | | The GIOStream* parameter in the 'event' signal can point to either a GSocketConnection or to a subclass of GTlsConnection that implements the GTlsClientConnection interface. If it implements the GTlsClientConnection interface, wrap it in a Gio::TlsClientConnectionImpl. Then a signal handler can do: auto tls_client_connection = std::dynamic_pointer_cast<Gio::TlsClientConnection>(connection); Fixes #73
* Gio: Add Tls[Client,Server]ConnectionImplKjell Ahlstedt2020-07-3013-45/+290
| | | | | | | | | | Restructure Tls[Client,Server]Connection. They are interfaces. Now they derive only from Glib::Interface, like all interfaces shall do. Tls[Client,Server]ConnectionImpl don't correspond to C classes. They can wrap any C object that derives from GTlsConnection and implements GTls[Client,Server]Connection. Such C classes in GLib are not public. They can't be wrapped in the usual way.
* Gio::MenuModel: Make MenuAttribute and MenuLink enum classKjell Ahlstedt2020-07-192-40/+96
| | | | | | Change enum Gio::MenuAttribute to Gio::MenuModel::Attribute and change enum Gio::MenuLink to Gio::MenuModel::Link. Add new enum values to Attribute.
* Update documentation for ListStore too.Andreas Persson2020-07-181-1/+1
|
* Make ListStore accept Interfaces.Andreas Persson2020-07-181-2/+2
| | | | | | I noticed that I couldn't create a ListStore containing AppInfo objects, because an AppInfo is not an Object but an Interface. ListStore seems to work fine with Interfaces, so I just changed the static_assert.
* Meson/Visual Studio builds: Include toolset version by defaultChun-wei Fan2020-06-183-5/+5
| | | | | | | | | | | | | | | | | | This makes the built DLL and .lib's contain the toolset version if the build is carried out using Visual Studio 2017 or later, unless the 'msvc14x-parallel-installable' option is set to be false during configuration. The reasoning behind this change is that there are subtle problems when, for instance, one tries to link to a Visual Studio 2017-built glibmm when building gtkmm and libxml++ with Visual Studio 2019. This is unfortunate as Microsoft did try hard to make interoperating between binaries built with Visual Studio 2015, 2017 and 2019 as easy as possible in terms of ABI and API, but unfortunately this hits the corner cases where this compatibility does not work. As the name suggests, this attempts to make Visual Studio 2017 and 2019 builds share a single set of underlying C DLLs easier, while avoiding breakages caused by such subtle differences.
* gio/src/*.hg: Mark all _WRAP_ENUM() with decl_prefixChun-wei Fan2020-04-0414-26/+26
| | | | | As per Kjell's suggestions, make things more future-proof by marking all _WRAP_ENUM()'s with 'decl_prefix GIOMM_API'.
* gio/src/*.hg: Mark _WRAP_ENUM with decl_prefix GIOMM_APIChun-wei Fan2020-04-0425-39/+41
| | | | | | | This way, we can mark the template<> classes with GIOMM_API so that we can export them as well using compiler directives. Note that those marked with NO_GTYPE do not need to be marked with this, as no template<> classes are generated with these.
* Glib, Gio: Add missing #includesKjell Ahlstedt2020-03-181-0/+2
| | | | Fixes #69
* Glib, Gio: Regenerate docs.xml and .defs filesKjell Ahlstedt2020-03-174-165/+485
|
* Gio::DBus::Message::get_unix_fd_list(): Add refreturnKjell Ahlstedt2020-03-121-2/+2
| | | | Fixes #68
* Visual Studio builds: build giomm without gendefChun-wei Fan2020-03-073-62/+32
| | | | | | Make sure that we are defining GIOMM_API as __declspec(dllexport) when building giomm and so stop the use of gendef.exe. We are now ready to drop gendef from the glibmm sources.