[gnome-shell/gbsneto/polkit-fixup: 1/2] polkit: Port to G_DECLARE_FINAL_CLASS



commit 72fa44d0fd273ee868ef092781214f83be55ead2
Author: Georges Basile Stavracas Neto <georges stavracas gmail com>
Date:   Thu Mar 22 10:50:20 2018 -0300

    polkit: Port to G_DECLARE_FINAL_CLASS
    
    So we can remove this old boilerplate code. In order to be able
    to use that, the autoptr function for PolkitAgentListener was
    added as well.
    
    https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/66

 src/shell-polkit-authentication-agent.c |  8 --------
 src/shell-polkit-authentication-agent.h | 23 ++++++++++-------------
 2 files changed, 10 insertions(+), 21 deletions(-)
---
diff --git a/src/shell-polkit-authentication-agent.c b/src/shell-polkit-authentication-agent.c
index 152c6e247..fd6c7913b 100644
--- a/src/shell-polkit-authentication-agent.c
+++ b/src/shell-polkit-authentication-agent.c
@@ -10,8 +10,6 @@
 
 #include <pwd.h>
 
-#define POLKIT_AGENT_I_KNOW_API_IS_SUBJECT_TO_CHANGE
-#include <polkitagent/polkitagent.h>
 #include "shell-polkit-authentication-agent.h"
 
 #include <glib/gi18n.h>
@@ -49,12 +47,6 @@ print_debug (const gchar *str, ...)
 }
 #endif
 
-
-struct _ShellPolkitAuthenticationAgentClass
-{
-  PolkitAgentListenerClass parent_class;
-};
-
 struct _AuthRequest;
 typedef struct _AuthRequest AuthRequest;
 
diff --git a/src/shell-polkit-authentication-agent.h b/src/shell-polkit-authentication-agent.h
index 745f0c983..55b46af11 100644
--- a/src/shell-polkit-authentication-agent.h
+++ b/src/shell-polkit-authentication-agent.h
@@ -6,25 +6,23 @@
  * Author: David Zeuthen <davidz redhat com>
  */
 
-#ifndef __SHELL_POLKIT_AUTHENTICATION_AGENT_H__
-#define __SHELL_POLKIT_AUTHENTICATION_AGENT_H__
+#pragma once
 
+#define POLKIT_AGENT_I_KNOW_API_IS_SUBJECT_TO_CHANGE
+#include <polkitagent/polkitagent.h>
 #include <glib-object.h>
 
 G_BEGIN_DECLS
 
-typedef struct _ShellPolkitAuthenticationAgent      ShellPolkitAuthenticationAgent;
-typedef struct _ShellPolkitAuthenticationAgentClass ShellPolkitAuthenticationAgentClass;
+/* Polkit doesn't have g_autoptr support, thus we have to manually set the autoptr function here */
+G_DEFINE_AUTOPTR_CLEANUP_FUNC (PolkitAgentListener, g_object_unref)
 
-#define SHELL_TYPE_POLKIT_AUTHENTICATION_AGENT              (shell_polkit_authentication_agent_get_type ())
-#define SHELL_POLKIT_AUTHENTICATION_AGENT(object)           (G_TYPE_CHECK_INSTANCE_CAST ((object), 
SHELL_TYPE_POLKIT_AUTHENTICATION_AGENT, ShellPolkitAuthenticationAgent))
-#define SHELL_POLKIT_AUTHENTICATION_AGENT_CLASS(klass)      (G_TYPE_CHECK_CLASS_CAST ((klass), 
SHELL_TYPE_POLKIT_AUTHENTICATION_AGENT, ShellPolkitAuthenticationAgentClass))
-#define SHELL_IS_POLKIT_AUTHENTICATION_AGENT(object)        (G_TYPE_CHECK_INSTANCE_TYPE ((object), 
SHELL_TYPE_POLKIT_AUTHENTICATION_AGENT))
-#define SHELL_IS_POLKIT_AUTHENTICATION_AGENT_CLASS(klass)   (G_TYPE_CHECK_CLASS_TYPE ((klass), 
SHELL_TYPE_POLKIT_AUTHENTICATION_AGENT))
-#define SHELL_POLKIT_AUTHENTICATION_AGENT_GET_CLASS(obj)    (G_TYPE_INSTANCE_GET_CLASS ((obj), 
SHELL_TYPE_POLKIT_AUTHENTICATION_AGENT, ShellPolkitAuthenticationAgentClass))
+#define SHELL_TYPE_POLKIT_AUTHENTICATION_AGENT (shell_polkit_authentication_agent_get_type())
+
+G_DECLARE_FINAL_TYPE (ShellPolkitAuthenticationAgent, shell_polkit_authentication_agent, SHELL, 
POLKIT_AUTHENTICATION_AGENT, PolkitAgentListener)
+
+ShellPolkitAuthenticationAgent *shell_polkit_authentication_agent_new (void);
 
-GType                           shell_polkit_authentication_agent_get_type (void) G_GNUC_CONST;
-ShellPolkitAuthenticationAgent *shell_polkit_authentication_agent_new      (void);
 void                            shell_polkit_authentication_agent_complete (ShellPolkitAuthenticationAgent 
*agent,
                                                                             gboolean                        
dismissed);
 void                            shell_polkit_authentication_agent_register (ShellPolkitAuthenticationAgent 
*agent,
@@ -33,4 +31,3 @@ void                            shell_polkit_authentication_agent_unregister (Sh
 
 G_END_DECLS
 
-#endif /* __SHELL_POLKIT_AUTHENTICATION_AGENT_H__ */


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