From 72fa44d0fd273ee868ef092781214f83be55ead2 Mon Sep 17 00:00:00 2001 From: Georges Basile Stavracas Neto Date: Thu, 22 Mar 2018 10:50:20 -0300 Subject: [PATCH] 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 -#define POLKIT_AGENT_I_KNOW_API_IS_SUBJECT_TO_CHANGE -#include #include "shell-polkit-authentication-agent.h" #include @@ -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 */ -#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 #include 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__ */