summaryrefslogtreecommitdiff
path: root/gio/src
Commit message (Collapse)AuthorAgeFilesLines
* 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-163-1/+96
| | | | Fixes #97
* 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.
* 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-071-1/+1
| | | | | | | 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.
* Meson build: No implicit_include_directoriesKjell Ahlstedt2021-03-2638-38/+38
| | | | | | | 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.
* 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.
* Rewrite Gio::Tls[Client,Server]ConnectionImplKjell Ahlstedt2020-08-126-22/+23
| | | | | | | | | | | 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::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-306-43/+41
| | | | | | | | | | 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.
* 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: 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
* gio/src/*.hg: Mark classes and functions with GIOMM_APIChun-wei Fan2020-03-07139-350/+454
| | | | | | This prepares the build to export symbols using compiler directives, in our bid to drop gendef.exe. We will also mark pre-declarations of usage of glibmm class items with GLIBMM_API as well.
* dbusconnection.ccg: Include giomm/unixfdlist.h on *NIX onlyChun-wei Fan2020-03-021-0/+4
| | | | | | In Meson builds, we don't even generate giomm/unixfdlist.h unless we are building for *nix, and we aren't using the items there on non-*nix builds.
* Gio::AsyncResult: Improve the class descriptionKjell Ahlstedt2019-12-201-30/+43
| | | | Fixes #27
* SettingsSchemaSource: Wrap new_from_directory()Kjell Ahlstedt2019-11-241-7/+4
| | | | | | https://bugzilla.gnome.org/show_bug.cgi?id=783216 Fix https://gitlab.gnome.org/GNOME/glibmm/issues/19 Close https://gitlab.gnome.org/GNOME/glibmm/merge_requests/20
* SettingsSchemaSource: Implement list_schemas()Daniel Boles2019-11-242-2/+40
| | | | | | https://bugzilla.gnome.org/show_bug.cgi?id=783216 https://gitlab.gnome.org/GNOME/glibmm/issues/19 https://gitlab.gnome.org/GNOME/glibmm/merge_requests/20
* Gio::DBus::Connection: Make the wrap() function thread-safeKjell Ahlstedt2019-10-222-1/+34
| | | | | | | Add a std::mutex that guarantees that two threads don't create C++ wrappers for the same GDBusConnection instance. Fixes #56
* Gio::DBus::Introspection: Add a necessary #includeKjell Ahlstedt2019-09-181-0/+1
|
* Gio::SocketControlMessage: Add add_deserialize_func()Kjell Ahlstedt2019-09-022-8/+96
| | | | | | | | The deserialize vfunc in GLib is a class virtual function (not associated with an instance). Such functions don't exist in C++. But it must be wrapped in one way or another. g_socket_control_message_deserialize() assumes that all subclasses of GSocketControlMessage override this vfunc. A user-program can crash, if any subclass does not. Fixes #52
* Remove Glib::TimeValKjell Ahlstedt2019-08-132-12/+3
| | | | | | | | | | | | | | | | | | GTimeVal has been deprecated in glib. Remove its wrapping in glibmm. * examples/dbus/server_without_bus.cc: * examples/dbus/session_bus_service.cc: Replace TimeVal by DateTime. * gio/src/fileinfo.[ccg|hg]: Remove [set_]modification_time(). Add set/get_modification_date_time(). * glib/glibmm.h: * glib/glibmm/filelist.am: Remove timeval. * glib/glibmm/timeval.[cc|h]: Removed files. * glib/src/date.[ccg|hg]: Remove set_time(const GTimeVal& timeval). * glib/src/datetime.[ccg|hg]: Remove create_now_local/utc(const TimeVal& tv) and to_timeval(). Add create_from_iso8601(), format_iso8601() and operator bool(). * tools/m4/convert_glib.m4: * tools/m4/convert_gio.m4: Remove conversions for GTimeVal.
* Glib, Gio: Regenerate docs.xml and .defs filesKjell Ahlstedt2019-08-132-14/+60
|
* Gio: Fix ownership of some lists and arraysKjell Ahlstedt2019-07-216-23/+50
| | | | | | | | | | | * gio/src/drive.hg: get_volumes(): Glib::OWNERSHIP_SHALLOW -> DEEP * gio/src/mountoperation.hg: signal_ask_question(): DEEP -> NONE A signal handler shall not deallocate its input data. * gio/src/themedicon.hg: get_names(): DEEP -> NONE * gio/src/tlsdatabase.[ccg|hg]: lookup_certificates_issued_by[_finish]_vfunc(): g_list_copy() -> g_list_copy_deep() * gio/src/volumemonitor.hg: get_connected_drives(), get_volumes(), get_mounts(): SHALLOW -> DEEP
* Add Gio::DBus::ObjectManager*Kjell Ahlstedt2019-07-189-0/+793
| | | | | Add Gio::DBus::ObjectManager, Gio::DBus::ObjectManagerClient and Gio::DBus::ObjectManagerServer. Fixes #43
* Gio::DBus::Object::get_interface_vfunc(): Don't add global symbolKjell Ahlstedt2019-07-172-7/+7
| | | | | | The previous fix of Gio::DBus::Object vfuncs added a Glib::unwrap_copy() overload, which became a global symbol in the load module. Replace it with a local name in an anonymous namespace.
* Add Gio::DBus::ObjectProxy and Gio::DBus::ObjectSkeletonKjell Ahlstedt2019-07-175-0/+190
| | | | | In preparation for adding Gio::DBus::ObjectManager, ObjectManagerClient and ObjectManagerServer. See issue #43.
* Glib, Gio: Regenerate docs.xml and .defs filesKjell Ahlstedt2019-07-175-96/+438
| | | | and update gio_signals.defs.patch and generate_defs_gio.cc.
* Gio::DBus::Object: Fix refcounts in some vfuncsKjell Ahlstedt2019-07-162-9/+25
| | | | | | | Gio::DBus::Object::get_interface_vfunc() and get_interfaces_vfunc() must add a reference to the returned DBus interfaces. The caller shall unref them. g_dbus_object_get_interface() and g_dbus_object_get_interfaces() are marked (transfer full).
* Gio::Application: Add add_option_group()Kjell Ahlstedt2019-06-231-4/+33
| | | | Fixes #46