gdk: Build portal bits on *nix only
authorChun-wei Fan <fanchunwei@src.gnome.org>
Sat, 14 Dec 2019 03:13:21 +0000 (11:13 +0800)
committerChun-wei Fan <fanchunwei@src.gnome.org>
Mon, 16 Dec 2019 16:52:18 +0000 (00:52 +0800)
The newly-added portal items are supported on *nix only, so only build
them on *nix.

gdk/filetransferportal.c
gdk/gdkcontentdeserializer.c
gdk/gdkcontentserializer.c

index 97e41346517ad7a6995c1e4c6d66b8967b3837b6..bb213e1a378276cdd719daa2ec5b5f962899a0e6 100644 (file)
@@ -24,6 +24,9 @@
 #include <fcntl.h>
 
 #include <gio/gio.h>
+
+#ifdef G_OS_UNIX
+
 #include <gio/gunixfdlist.h>
 
 #include "filetransferportalprivate.h"
@@ -339,3 +342,5 @@ file_transfer_portal_retrieve_files_finish (GAsyncResult   *result,
 
   return FALSE;
 }
+
+#endif /* G_OS_UNIX */
index 4a15fa00862650af55339dff27f288ae19996b77..79b7df86a25c8e476b9c004bc645366a0a361420 100644 (file)
@@ -691,6 +691,7 @@ string_deserializer (GdkContentDeserializer *deserializer)
   g_object_unref (filter);
 }
 
+#ifdef G_OS_UNIX
 static void
 portal_finish (GObject *object,
                GAsyncResult *result,
@@ -777,6 +778,7 @@ portal_file_deserializer (GdkContentDeserializer *deserializer)
                                 deserializer);
   g_object_unref (output);
 }
+#endif /* G_OS_UNIX */
 
 static void
 file_uri_deserializer_finish (GObject      *source,
@@ -852,7 +854,6 @@ init (void)
   static gboolean initialized = FALSE;
   GSList *formats, *f;
   const char *charset;
-  gboolean has_portal;
 
   if (initialized)
     return;
@@ -905,24 +906,31 @@ init (void)
 
   g_slist_free (formats);
 
-  has_portal = file_transfer_portal_available ();
+#ifdef G_OS_UNIX
+  gboolean has_portal = file_transfer_portal_available ();
   if (has_portal)
     gdk_content_register_deserializer ("application/vnd.portal.files",
                                        GDK_TYPE_FILE_LIST,
                                        portal_file_deserializer,
                                        NULL,
                                        NULL);
+#endif
+
   gdk_content_register_deserializer ("text/uri-list",
                                      GDK_TYPE_FILE_LIST,
                                      file_uri_deserializer,
                                      NULL,
                                      NULL);
+
+#ifdef G_OS_UNIX
   if (has_portal)
     gdk_content_register_deserializer ("application/vnd.portal.files",
                                        G_TYPE_FILE,
                                        portal_file_deserializer,
                                        NULL,
                                        NULL);
+#endif
+
   gdk_content_register_deserializer ("text/uri-list",
                                      G_TYPE_FILE,
                                      file_uri_deserializer,
index cac4378cc2cc2849b51b6e5abbddc56cfc027087..592a7a9428cbd6ecd4a2fc83ec7683f068ca6165 100644 (file)
@@ -702,6 +702,7 @@ file_serializer_finish (GObject      *source,
     gdk_content_serializer_return_success (serializer);
 }
 
+#ifdef G_OS_UNIX
 static void
 portal_ready (GObject *object,
               GAsyncResult *result,
@@ -758,6 +759,7 @@ portal_file_serializer (GdkContentSerializer *serializer)
   file_transfer_portal_register_files ((const char **)files->pdata, TRUE, portal_ready, serializer);
   gdk_content_serializer_set_task_data (serializer, files, (GDestroyNotify)g_ptr_array_unref);
 }
+#endif /* G_OS_UNIX */
 
 static void
 file_uri_serializer (GdkContentSerializer *serializer)
@@ -866,7 +868,6 @@ init (void)
   static gboolean initialized = FALSE;
   GSList *formats, *f;
   const char *charset;
-  gboolean has_portal;
 
   if (initialized)
     return;
@@ -922,7 +923,8 @@ init (void)
 
   g_slist_free (formats);
 
-  has_portal = file_transfer_portal_available ();
+#ifdef G_OS_UNIX
+  gboolean has_portal = file_transfer_portal_available ();
 
   if (has_portal)
     gdk_content_register_serializer (G_TYPE_FILE,
@@ -930,6 +932,8 @@ init (void)
                                      portal_file_serializer,
                                      NULL,
                                      NULL);
+#endif
+
   gdk_content_register_serializer (G_TYPE_FILE,
                                    "text/uri-list",
                                    file_uri_serializer,
@@ -940,12 +944,16 @@ init (void)
                                    file_text_serializer,
                                    NULL,
                                    NULL);
+
+#ifdef G_OS_UNIX
   if (has_portal)
     gdk_content_register_serializer (GDK_TYPE_FILE_LIST,
                                      "application/vnd.portal.files",
                                      portal_file_serializer,
                                      NULL,
                                      NULL);
+#endif
+
   gdk_content_register_serializer (GDK_TYPE_FILE_LIST,
                                    "text/uri-list",
                                    file_uri_serializer,