Implement GAppInfo on OSX

This is an implementation of most of GAppInfo using the OS X
NSBundle APIs.

Missing at this point are things that don't have equivalents
in OS X, such as hidden desktop files, last-used, manual type
associations, and g_app_info_get_all().

https://bugzilla.gnome.org/show_bug.cgi?id=734946
This commit is contained in:
TingPing
2015-03-25 18:26:50 -04:00
committed by Matthias Clasen
parent 3953d85a92
commit 90dfea2b61
5 changed files with 786 additions and 9 deletions

View File

@@ -43,9 +43,12 @@
#endif
#include <glib/gstdio.h>
#ifdef G_OS_UNIX
#if defined(G_OS_UNIX) && !defined(HAVE_COCOA)
#include "gdesktopappinfo.h"
#endif
#ifdef HAVE_COCOA
#include "gosxappinfo.h"
#endif
#ifdef HAVE_COCOA
#include <AvailabilityMacros.h>
@@ -975,7 +978,7 @@ _g_io_modules_ensure_extension_points_registered (void)
{
registered_extensions = TRUE;
#ifdef G_OS_UNIX
#if defined(G_OS_UNIX) && !defined(HAVE_COCOA)
#if !GLIB_CHECK_VERSION (3, 0, 0)
ep = g_io_extension_point_register (G_DESKTOP_APP_INFO_LOOKUP_EXTENSION_POINT_NAME);
G_GNUC_BEGIN_IGNORE_DEPRECATIONS
@@ -1116,6 +1119,7 @@ _g_io_modules_ensure_loaded (void)
#endif
#ifdef HAVE_COCOA
g_type_ensure (g_nextstep_settings_backend_get_type ());
g_type_ensure (g_osx_app_info_get_type ());
#endif
#ifdef G_OS_UNIX
g_type_ensure (_g_unix_volume_monitor_get_type ());