[epiphany] EphyDownload: Use G_DECLARE_FINAL_TYPE



commit a29a5d4de302df2f8fcffc206843f6292c79bbaa
Author: Michael Catanzaro <mcatanzaro igalia com>
Date:   Sat Nov 7 10:01:09 2015 -0600

    EphyDownload: Use G_DECLARE_FINAL_TYPE

 embed/ephy-download.c |  108 +++++++++++++++++++++----------------------------
 embed/ephy-download.h |   25 +----------
 2 files changed, 48 insertions(+), 85 deletions(-)
---
diff --git a/embed/ephy-download.c b/embed/ephy-download.c
index 4c29a94..065c57d 100644
--- a/embed/ephy-download.c
+++ b/embed/ephy-download.c
@@ -37,13 +37,10 @@
 #include <glib/gi18n.h>
 #include <string.h>
 
-G_DEFINE_TYPE (EphyDownload, ephy_download, G_TYPE_OBJECT)
-
-#define EPHY_DOWNLOAD_GET_PRIVATE(o) \
-  (G_TYPE_INSTANCE_GET_PRIVATE ((o), EPHY_TYPE_DOWNLOAD, EphyDownloadPrivate))
-
-struct _EphyDownloadPrivate
+struct _EphyDownload
 {
+  GObject parent_instance;
+
   WebKitDownload *download;
 
   char *destination;
@@ -55,6 +52,8 @@ struct _EphyDownloadPrivate
   GError *error;
 };
 
+G_DEFINE_TYPE (EphyDownload, ephy_download, G_TYPE_OBJECT)
+
 enum
 {
   PROP_0,
@@ -144,7 +143,7 @@ ephy_download_get_content_type (EphyDownload *download)
 {
   g_return_val_if_fail (EPHY_IS_DOWNLOAD (download), NULL);
 
-  return download->priv->content_type;
+  return download->content_type;
 }
 
 /* Helper function to decide what EphyDownloadActionType should be the
@@ -289,7 +288,7 @@ set_destination_uri_for_suggested_filename (EphyDownload *download, const char *
   g_free (destination_filename);
 
   g_assert (destination_uri);
-  webkit_download_set_destination (download->priv->download, destination_uri);
+  webkit_download_set_destination (download->download, destination_uri);
   g_free (destination_uri);
 
   return TRUE;
@@ -310,7 +309,7 @@ ephy_download_set_destination_uri (EphyDownload *download,
   g_return_if_fail (EPHY_IS_DOWNLOAD (download));
   g_return_if_fail (destination != NULL);
 
-  webkit_download_set_destination (download->priv->download, destination);
+  webkit_download_set_destination (download->download, destination);
   g_object_notify (G_OBJECT (download), "destination");
 }
 
@@ -329,7 +328,7 @@ ephy_download_set_action (EphyDownload *download,
 {
   g_return_if_fail (EPHY_IS_DOWNLOAD (download));
 
-  download->priv->action = action;
+  download->action = action;
   g_object_notify (G_OBJECT (download), "action");
 }
 
@@ -346,7 +345,7 @@ ephy_download_get_webkit_download (EphyDownload *download)
 {
   g_return_val_if_fail (EPHY_IS_DOWNLOAD (download), NULL);
 
-  return download->priv->download;
+  return download->download;
 }
 
 /**
@@ -362,7 +361,7 @@ ephy_download_get_destination_uri (EphyDownload *download)
 {
   g_return_val_if_fail (EPHY_IS_DOWNLOAD (download), NULL);
 
-  return webkit_download_get_destination (download->priv->download);
+  return webkit_download_get_destination (download->download);
 }
 
 /**
@@ -381,7 +380,7 @@ ephy_download_get_action (EphyDownload *download)
 {
   g_return_val_if_fail (EPHY_IS_DOWNLOAD (download), EPHY_DOWNLOAD_ACTION_NONE);
 
-  return download->priv->action;
+  return download->action;
 }
 
 /**
@@ -398,7 +397,7 @@ ephy_download_get_start_time (EphyDownload *download)
 {
   g_return_val_if_fail (EPHY_IS_DOWNLOAD (download), 0);
 
-  return download->priv->start_time;
+  return download->start_time;
 }
 
 /**
@@ -412,7 +411,7 @@ ephy_download_cancel (EphyDownload *download)
 {
   g_return_if_fail (EPHY_IS_DOWNLOAD (download));
 
-  webkit_download_cancel (download->priv->download);
+  webkit_download_cancel (download->download);
 }
 
 gboolean
@@ -420,7 +419,7 @@ ephy_download_is_active (EphyDownload *download)
 {
   g_return_val_if_fail (EPHY_IS_DOWNLOAD (download), FALSE);
 
-  return !download->priv->finished;
+  return !download->finished;
 }
 
 gboolean
@@ -428,7 +427,7 @@ ephy_download_succeeded (EphyDownload *download)
 {
   g_return_val_if_fail (EPHY_IS_DOWNLOAD (download), FALSE);
 
-  return download->priv->finished && !download->priv->error;
+  return download->finished && !download->error;
 }
 
 gboolean
@@ -437,9 +436,9 @@ ephy_download_failed (EphyDownload *download,
 {
   g_return_val_if_fail (EPHY_IS_DOWNLOAD (download), FALSE);
 
-  if (download->priv->finished && download->priv->error) {
+  if (download->finished && download->error) {
     if (error)
-      *error = download->priv->error;
+      *error = download->error;
     return TRUE;
   }
 
@@ -464,27 +463,24 @@ ephy_download_do_download_action (EphyDownload *download,
 {
     GFile *destination;
     const char *destination_uri;
-    EphyDownloadPrivate *priv;
     gboolean ret = FALSE;
 
-    priv = download->priv;
-
-    destination_uri = webkit_download_get_destination (priv->download);
+    destination_uri = webkit_download_get_destination (download->download);
     destination = g_file_new_for_uri (destination_uri);
 
-    switch ((action ? action : priv->action)) {
+    switch ((action ? action : download->action)) {
       case EPHY_DOWNLOAD_ACTION_AUTO:
         LOG ("ephy_download_do_download_action: auto");
         ret = ephy_download_do_download_action (download, decide_action_from_mime (download));
         break;
       case EPHY_DOWNLOAD_ACTION_BROWSE_TO:
         LOG ("ephy_download_do_download_action: browse_to");
-        ret = ephy_file_browse_to (destination, priv->start_time);
+        ret = ephy_file_browse_to (destination, download->start_time);
         break;
       case EPHY_DOWNLOAD_ACTION_OPEN:
         LOG ("ephy_download_do_download_action: open");
         ret = ephy_embed_shell_launch_handler (ephy_embed_shell_get_default (), 
-                                               destination, NULL, priv->start_time);
+                                               destination, NULL, download->start_time);
         break;
       case EPHY_DOWNLOAD_ACTION_NONE:
         LOG ("ephy_download_do_download_action: none");
@@ -508,20 +504,17 @@ static void
 ephy_download_dispose (GObject *object)
 {
   EphyDownload *download = EPHY_DOWNLOAD (object);
-  EphyDownloadPrivate *priv;
 
   LOG ("EphyDownload disposed %p", object);
 
-  priv = download->priv;
-
-  if (priv->download) {
-    g_signal_handlers_disconnect_matched (priv->download, G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, download);
-    g_object_unref (priv->download);
-    priv->download = NULL;
+  if (download->download) {
+    g_signal_handlers_disconnect_matched (download->download, G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, download);
+    g_object_unref (download->download);
+    download->download = NULL;
   }
 
-  g_clear_error(&priv->error);
-  g_clear_pointer (&priv->content_type, g_free);
+  g_clear_error(&download->error);
+  g_clear_pointer (&download->content_type, g_free);
 
   G_OBJECT_CLASS (ephy_download_parent_class)->dispose (object);
 }
@@ -531,8 +524,6 @@ ephy_download_class_init (EphyDownloadClass *klass)
 {
   GObjectClass *object_class = G_OBJECT_CLASS (klass);
 
-  g_type_class_add_private (klass, sizeof (EphyDownloadPrivate));
-
   object_class->get_property = ephy_download_get_property;
   object_class->set_property = ephy_download_set_property;
   object_class->dispose = ephy_download_dispose;
@@ -658,15 +649,13 @@ ephy_download_class_init (EphyDownloadClass *klass)
 static void
 ephy_download_init (EphyDownload *download)
 {
-  download->priv = EPHY_DOWNLOAD_GET_PRIVATE (download);
-
   LOG ("EphyDownload initialising %p", download);
 
-  download->priv->download = NULL;
+  download->download = NULL;
 
-  download->priv->action = EPHY_DOWNLOAD_ACTION_NONE;
+  download->action = EPHY_DOWNLOAD_ACTION_NONE;
 
-  download->priv->start_time = gtk_get_current_event_time ();
+  download->start_time = gtk_get_current_event_time ();
 }
 
 static void
@@ -677,13 +666,13 @@ download_response_changed_cb (WebKitDownload *wk_download,
   WebKitURIResponse *response;
   const char *mime_type;
 
-  response = webkit_download_get_response (download->priv->download);
+  response = webkit_download_get_response (download->download);
   mime_type = webkit_uri_response_get_mime_type (response);
   if (!mime_type)
     return;
 
-  download->priv->content_type = g_content_type_from_mime_type (mime_type);
-  if (download->priv->content_type)
+  download->content_type = g_content_type_from_mime_type (mime_type);
+  if (download->content_type)
     g_object_notify (G_OBJECT (download), "content-type");
 
 }
@@ -711,9 +700,8 @@ download_created_destination_cb (WebKitDownload *wk_download,
 {
   char *filename;
   char *content_type;
-  EphyDownloadPrivate *priv = download->priv;
 
-  if (priv->content_type && !g_content_type_is_unknown (priv->content_type))
+  if (download->content_type && !g_content_type_is_unknown (download->content_type))
     return;
 
   /* The server didn't provide a valid content type, let's try to guess it from the
@@ -738,10 +726,10 @@ download_created_destination_cb (WebKitDownload *wk_download,
     return;
   }
 
-  if (!priv->content_type ||
-      (priv->content_type && !g_content_type_equals (priv->content_type, content_type))) {
-    g_free (priv->content_type);
-    priv->content_type = content_type;
+  if (!download->content_type ||
+      (download->content_type && !g_content_type_equals (download->content_type, content_type))) {
+    g_free (download->content_type);
+    download->content_type = content_type;
     g_object_notify (G_OBJECT (download), "content-type");
     return;
   }
@@ -753,18 +741,14 @@ static void
 download_finished_cb (WebKitDownload *wk_download,
                       EphyDownload *download)
 {
-  EphyDownloadPrivate *priv;
-
-  priv = download->priv;
-
-  download->priv->finished = TRUE;
+  download->finished = TRUE;
   g_signal_emit (download, signals[COMPLETED], 0);
 
   if (g_settings_get_boolean (EPHY_SETTINGS_MAIN, EPHY_PREFS_AUTO_DOWNLOADS) &&
-      priv->action == EPHY_DOWNLOAD_ACTION_NONE)
+      download->action == EPHY_DOWNLOAD_ACTION_NONE)
     ephy_download_do_download_action (download, EPHY_DOWNLOAD_ACTION_AUTO);
   else
-    ephy_download_do_download_action (download, priv->action);
+    ephy_download_do_download_action (download, download->action);
 }
 
 static void
@@ -775,9 +759,9 @@ download_failed_cb (WebKitDownload *wk_download,
   g_signal_handlers_disconnect_by_func (wk_download, download_finished_cb, download);
 
   LOG ("error (%d - %d)! %s", error->code, 0, error->message);
-  download->priv->finished = TRUE;
-  download->priv->error = g_error_copy (error);
-  g_signal_emit (download, signals[ERROR], 0, download->priv->error);
+  download->finished = TRUE;
+  download->error = g_error_copy (error);
+  g_signal_emit (download, signals[ERROR], 0, download->error);
 }
 
 /**
@@ -813,7 +797,7 @@ ephy_download_new (WebKitDownload *download)
                     G_CALLBACK (download_failed_cb),
                     ephy_download);
 
-  ephy_download->priv->download = g_object_ref (download);
+  ephy_download->download = g_object_ref (download);
   g_object_set_data (G_OBJECT (download), "ephy-download-set", GINT_TO_POINTER (TRUE));
 
   return ephy_download;
diff --git a/embed/ephy-download.h b/embed/ephy-download.h
index e6ca3ad..9458b1a 100644
--- a/embed/ephy-download.h
+++ b/embed/ephy-download.h
@@ -34,28 +34,9 @@
 
 G_BEGIN_DECLS
 
-#define EPHY_TYPE_DOWNLOAD              ephy_download_get_type()
-#define EPHY_DOWNLOAD(obj)              (G_TYPE_CHECK_INSTANCE_CAST ((obj), EPHY_TYPE_DOWNLOAD, 
EphyDownload))
-#define EPHY_DOWNLOAD_CLASS(klass)      (G_TYPE_CHECK_CLASS_CAST ((klass), EPHY_TYPE_DOWNLOAD, 
EphyDownloadClass))
-#define EPHY_IS_DOWNLOAD(obj)           (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EPHY_TYPE_DOWNLOAD))
-#define EPHY_IS_DOWNLOAD_CLASS(klass)   (G_TYPE_CHECK_CLASS_TYPE ((klass), EPHY_TYPE_DOWNLOAD))
-#define EPHY_DOWNLOAD_GET_CLASS(obj)    (G_TYPE_INSTANCE_GET_CLASS ((obj), EPHY_TYPE_DOWNLOAD, 
EphyDownloadClass))
-
-typedef struct _EphyDownload EphyDownload;
-typedef struct _EphyDownloadClass EphyDownloadClass;
-typedef struct _EphyDownloadPrivate EphyDownloadPrivate;
-
-struct _EphyDownload
-{
-  GObject parent;
-
-  EphyDownloadPrivate *priv;
-};
+#define EPHY_TYPE_DOWNLOAD ephy_download_get_type ()
 
-struct _EphyDownloadClass
-{
-  GObjectClass parent_class;
-};
+G_DECLARE_FINAL_TYPE (EphyDownload, ephy_download, EPHY, DOWNLOAD, GObject)
 
 typedef enum
 {
@@ -66,8 +47,6 @@ typedef enum
   EPHY_DOWNLOAD_ACTION_DO_NOTHING
 } EphyDownloadActionType;
 
-GType         ephy_download_get_type              (void) G_GNUC_CONST;
-
 EphyDownload *ephy_download_new                   (WebKitDownload *download);
 EphyDownload *ephy_download_new_for_uri           (const char     *uri);
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]