[krb5-auth-dialog] applet: G_DECLARE_FINAL_TYPE()
- From: Guido Günther <guidog src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [krb5-auth-dialog] applet: G_DECLARE_FINAL_TYPE()
- Date: Fri, 14 Oct 2022 19:53:21 +0000 (UTC)
commit eb8c13dddb830c2a122e65d58ce529f5a35899a6
Author: Guido Günther <agx sigxcpu org>
Date: Thu Oct 13 14:05:53 2022 +0200
applet: G_DECLARE_FINAL_TYPE()
And hence drop priv.
plugins/meson.build | 8 +--
src/ka-applet.c | 202 +++++++++++++++++++++++++---------------------------
src/ka-applet.h | 21 +-----
3 files changed, 103 insertions(+), 128 deletions(-)
---
diff --git a/plugins/meson.build b/plugins/meson.build
index 78d2feb..3f636c6 100644
--- a/plugins/meson.build
+++ b/plugins/meson.build
@@ -7,7 +7,7 @@ dummy_plugin_sources = [
shared_module('ka-plugin-dummy',
dummy_plugin_sources,
include_directories: src_inc,
- dependencies: gio_dep,
+ dependencies: [gio_dep, gtk_dep],
install: true,
install_dir: pluginsdir)
@@ -20,7 +20,7 @@ if build_pam_plugin
shared_module('ka-plugin-pam',
pam_plugin_sources,
include_directories: src_inc,
- dependencies: [gio_dep, pam_dep],
+ dependencies: [gio_dep, gtk_dep, pam_dep],
install: true,
install_dir: pluginsdir)
endif
@@ -33,7 +33,7 @@ afs_plugin_sources = [
shared_module('ka-plugin-afs',
afs_plugin_sources,
include_directories: src_inc,
- dependencies: gio_dep,
+ dependencies: [gio_dep, gtk_dep],
install: true,
install_dir: pluginsdir)
@@ -45,6 +45,6 @@ gnomelock_plugin_sources = [
shared_module('ka-plugin-gnomelock',
gnomelock_plugin_sources,
include_directories: src_inc,
- dependencies: gio_dep,
+ dependencies: [gio_dep, gtk_dep],
install: true,
install_dir: pluginsdir)
diff --git a/src/ka-applet.c b/src/ka-applet.c
index 67664aa..b6bd05e 100644
--- a/src/ka-applet.c
+++ b/src/ka-applet.c
@@ -62,18 +62,9 @@ const gchar *ka_signal_names[KA_SIGNAL_COUNT] = {
};
static guint signals[KA_SIGNAL_COUNT];
-
struct _KaApplet {
GtkApplication parent;
- KaAppletPrivate *priv;
-};
-
-struct _KaAppletClass {
- GtkApplicationClass parent;
-};
-
-struct _KaAppletPrivate {
const char *icons[3]; /* for invalid, expiring and valid tickts */
KaPwDialog *pwdialog; /* the password dialog */
@@ -102,7 +93,7 @@ struct _KaAppletPrivate {
GSettings *settings; /* GSettings client */
};
-G_DEFINE_TYPE_WITH_PRIVATE (KaApplet, ka_applet, GTK_TYPE_APPLICATION);
+G_DEFINE_TYPE (KaApplet, ka_applet, GTK_TYPE_APPLICATION);
static gboolean is_initialized;
@@ -126,8 +117,8 @@ ka_applet_command_line (GApplication *application,
KaApplet *self = KA_APPLET(application);
KA_DEBUG ("Evaluating command line");
- if (!self->priv->startup_ccache &&
- self->priv->auto_run)
+ if (!self->startup_ccache &&
+ self->auto_run)
ka_applet_destroy (self);
else
ka_applet_activate (application);
@@ -172,7 +163,7 @@ ka_applet_local_command_line (GApplication *application,
g_clear_error (&error);
*exit_status = 1;
} else {
- self->priv->auto_run = auto_run;
+ self->auto_run = auto_run;
*exit_status = 0;
}
@@ -198,7 +189,7 @@ action_preferences (GSimpleAction *action G_GNUC_UNUSED,
gpointer userdata)
{
KaApplet *self = userdata;
- ka_preferences_run (self->priv->prefs);
+ ka_preferences_run (self->prefs);
}
static void
@@ -298,12 +289,12 @@ ka_applet_startup (GApplication *application)
G_APPLICATION_CLASS (ka_applet_parent_class)->startup (application);
- self->priv->startup_ccache = ka_kerberos_init (self);
+ self->startup_ccache = ka_kerberos_init (self);
main_window = GTK_WINDOW(ka_main_window_create (self));
- gtk_window_set_transient_for(GTK_WINDOW(self->priv->pwdialog),
+ gtk_window_set_transient_for(GTK_WINDOW(self->pwdialog),
main_window);
- self->priv->prefs = ka_preferences_new (self);
+ self->prefs = ka_preferences_new (self);
g_action_map_add_action_entries (G_ACTION_MAP (self),
app_entries, G_N_ELEMENTS (app_entries),
@@ -320,50 +311,50 @@ ka_applet_set_property (GObject *object,
switch (property_id) {
case KA_PROP_PRINCIPAL:
- g_free (self->priv->principal);
- self->priv->principal = g_value_dup_string (value);
- KA_DEBUG ("%s: %s", pspec->name, self->priv->principal);
+ g_free (self->principal);
+ self->principal = g_value_dup_string (value);
+ KA_DEBUG ("%s: %s", pspec->name, self->principal);
break;
case KA_PROP_PK_USERID:
- g_free (self->priv->pk_userid);
- self->priv->pk_userid = g_value_dup_string (value);
- KA_DEBUG ("%s: %s", pspec->name, self->priv->pk_userid);
+ g_free (self->pk_userid);
+ self->pk_userid = g_value_dup_string (value);
+ KA_DEBUG ("%s: %s", pspec->name, self->pk_userid);
break;
case KA_PROP_PK_ANCHORS:
- g_free (self->priv->pk_anchors);
- self->priv->pk_anchors = g_value_dup_string (value);
- KA_DEBUG ("%s: %s", pspec->name, self->priv->pk_anchors);
+ g_free (self->pk_anchors);
+ self->pk_anchors = g_value_dup_string (value);
+ KA_DEBUG ("%s: %s", pspec->name, self->pk_anchors);
break;
case KA_PROP_PW_PROMPT_MINS:
- self->priv->pw_prompt_secs = g_value_get_uint (value) * 60;
- KA_DEBUG ("%s: %d", pspec->name, self->priv->pw_prompt_secs / 60);
+ self->pw_prompt_secs = g_value_get_uint (value) * 60;
+ KA_DEBUG ("%s: %d", pspec->name, self->pw_prompt_secs / 60);
break;
case KA_PROP_TGT_FORWARDABLE:
- self->priv->tgt_forwardable = g_value_get_boolean (value);
+ self->tgt_forwardable = g_value_get_boolean (value);
KA_DEBUG ("%s: %s", pspec->name,
- self->priv->tgt_forwardable ? "True" : "False");
+ self->tgt_forwardable ? "True" : "False");
break;
case KA_PROP_TGT_PROXIABLE:
- self->priv->tgt_proxiable = g_value_get_boolean (value);
+ self->tgt_proxiable = g_value_get_boolean (value);
KA_DEBUG ("%s: %s", pspec->name,
- self->priv->tgt_proxiable ? "True" : "False");
+ self->tgt_proxiable ? "True" : "False");
break;
case KA_PROP_TGT_RENEWABLE:
- self->priv->tgt_renewable = g_value_get_boolean (value);
+ self->tgt_renewable = g_value_get_boolean (value);
KA_DEBUG ("%s: %s", pspec->name,
- self->priv->tgt_renewable ? "True" : "False");
+ self->tgt_renewable ? "True" : "False");
break;
case KA_PROP_CONF_TICKETS:
- self->priv->conf_tickets = g_value_get_boolean (value);
+ self->conf_tickets = g_value_get_boolean (value);
KA_DEBUG ("%s: %s", pspec->name,
- self->priv->tgt_renewable ? "True" : "False");
+ self->tgt_renewable ? "True" : "False");
break;
default:
@@ -383,35 +374,35 @@ ka_applet_get_property (GObject *object,
switch (property_id) {
case KA_PROP_PRINCIPAL:
- g_value_set_string (value, self->priv->principal);
+ g_value_set_string (value, self->principal);
break;
case KA_PROP_PK_USERID:
- g_value_set_string (value, self->priv->pk_userid);
+ g_value_set_string (value, self->pk_userid);
break;
case KA_PROP_PK_ANCHORS:
- g_value_set_string (value, self->priv->pk_anchors);
+ g_value_set_string (value, self->pk_anchors);
break;
case KA_PROP_PW_PROMPT_MINS:
- g_value_set_uint (value, self->priv->pw_prompt_secs / 60);
+ g_value_set_uint (value, self->pw_prompt_secs / 60);
break;
case KA_PROP_TGT_FORWARDABLE:
- g_value_set_boolean (value, self->priv->tgt_forwardable);
+ g_value_set_boolean (value, self->tgt_forwardable);
break;
case KA_PROP_TGT_PROXIABLE:
- g_value_set_boolean (value, self->priv->tgt_proxiable);
+ g_value_set_boolean (value, self->tgt_proxiable);
break;
case KA_PROP_TGT_RENEWABLE:
- g_value_set_boolean (value, self->priv->tgt_renewable);
+ g_value_set_boolean (value, self->tgt_renewable);
break;
case KA_PROP_CONF_TICKETS:
- g_value_set_boolean (value, self->priv->conf_tickets);
+ g_value_set_boolean (value, self->conf_tickets);
break;
default:
@@ -424,16 +415,16 @@ ka_applet_get_property (GObject *object,
static void
ka_applet_dispose (GObject *object)
{
- KaApplet *applet = KA_APPLET (object);
+ KaApplet *self = KA_APPLET (object);
GObjectClass *parent_class = G_OBJECT_CLASS (ka_applet_parent_class);
- if (applet->priv->pwdialog) {
- gtk_widget_destroy (GTK_WIDGET(applet->priv->pwdialog));
- applet->priv->pwdialog = NULL;
+ if (self->pwdialog) {
+ gtk_widget_destroy (GTK_WIDGET(self->pwdialog));
+ self->pwdialog = NULL;
}
- if (applet->priv->loader) {
- g_object_unref (applet->priv->loader);
- applet->priv->loader = NULL;
+ if (self->loader) {
+ g_object_unref (self->loader);
+ self->loader = NULL;
}
parent_class->dispose (object);
@@ -443,14 +434,14 @@ ka_applet_dispose (GObject *object)
static void
ka_applet_finalize (GObject *object)
{
- KaApplet *applet = KA_APPLET (object);
+ KaApplet *self = KA_APPLET (object);
GObjectClass *parent_class = G_OBJECT_CLASS (ka_applet_parent_class);
- g_free (applet->priv->principal);
- g_free (applet->priv->pk_userid);
- g_free (applet->priv->pk_anchors);
- g_free (applet->priv->krb_msg);
- /* no need to free applet->priv */
+ g_free (self->principal);
+ g_free (self->pk_userid);
+ g_free (self->pk_anchors);
+ g_free (self->krb_msg);
+ /* no need to free self */
parent_class->finalize (object);
}
@@ -458,7 +449,6 @@ ka_applet_finalize (GObject *object)
static void
ka_applet_init (KaApplet *applet)
{
- applet->priv = ka_applet_get_instance_private (applet);
}
static void
@@ -634,7 +624,7 @@ static gboolean
get_notify_enabled (KaApplet *self, const char *key)
{
gboolean ret;
- GSettings *ns = g_settings_get_child (self->priv->settings,
+ GSettings *ns = g_settings_get_child (self->settings,
KA_SETTING_CHILD_NOTIFY);
ret = g_settings_get_boolean (ns, key);
g_object_unref (ns);
@@ -646,7 +636,7 @@ get_notify_enabled (KaApplet *self, const char *key)
* and notify listeners about acquired/expiring tickets via signals
*/
int
-ka_applet_update_status (KaApplet *applet, krb5_timestamp expiry)
+ka_applet_update_status (KaApplet *self, krb5_timestamp expiry)
{
int now = time (0);
int remaining = expiry - now;
@@ -660,38 +650,38 @@ ka_applet_update_status (KaApplet *applet, krb5_timestamp expiry)
if (remaining > 0) {
if (expiry_notified || initial_notification) {
const char* msg;
- notify = get_notify_enabled (applet, KA_SETTING_KEY_NOTIFY_VALID);
+ notify = get_notify_enabled (self, KA_SETTING_KEY_NOTIFY_VALID);
if (notify) {
- applet->priv->notify_key = KA_SETTING_KEY_NOTIFY_VALID;
+ self->notify_key = KA_SETTING_KEY_NOTIFY_VALID;
- if (applet->priv->krb_msg)
- msg = applet->priv->krb_msg;
+ if (self->krb_msg)
+ msg = self->krb_msg;
else {
if (initial_notification)
msg = _("You have valid Kerberos credentials.");
else
msg = _("You've refreshed your Kerberos credentials.");
}
- ka_send_event_notification (applet,
+ ka_send_event_notification (self,
_("Network credentials valid"),
msg,
"krb-valid-ticket",
FALSE);
}
- ka_applet_signal_emit (applet, KA_SIGNAL_ACQUIRED_TGT, expiry);
+ ka_applet_signal_emit (self, KA_SIGNAL_ACQUIRED_TGT, expiry);
expiry_notified = FALSE;
- g_free (applet->priv->krb_msg);
- applet->priv->krb_msg = NULL;
+ g_free (self->krb_msg);
+ self->krb_msg = NULL;
} else {
- if (remaining < applet->priv->pw_prompt_secs
+ if (remaining < self->pw_prompt_secs
&& (now - last_warn) > NOTIFY_SECONDS
- && !applet->priv->renewable) {
- notify = get_notify_enabled (applet,
+ && !self->renewable) {
+ notify = get_notify_enabled (self,
KA_SETTING_KEY_NOTIFY_EXPIRING);
if (notify) {
- applet->priv->notify_key =
+ self->notify_key =
KA_SETTING_KEY_NOTIFY_EXPIRING;
- ka_send_event_notification (applet,
+ ka_send_event_notification (self,
_("Network credentials expiring"),
tooltip_text,
"krb-expiring-ticket",
@@ -701,20 +691,20 @@ ka_applet_update_status (KaApplet *applet, krb5_timestamp expiry)
}
/* ticket lifetime got longer e.g. by kinit -R */
if (old_expiry && expiry > old_expiry)
- ka_applet_signal_emit (applet, KA_SIGNAL_RENEWED_TGT, expiry);
+ ka_applet_signal_emit (self, KA_SIGNAL_RENEWED_TGT, expiry);
}
} else {
if (!expiry_notified) {
- notify = get_notify_enabled (applet, KA_SETTING_KEY_NOTIFY_EXPIRED);
+ notify = get_notify_enabled (self, KA_SETTING_KEY_NOTIFY_EXPIRED);
if (notify) {
- applet->priv->notify_key = KA_SETTING_KEY_NOTIFY_EXPIRED;
- ka_send_event_notification (applet,
+ self->notify_key = KA_SETTING_KEY_NOTIFY_EXPIRED;
+ ka_send_event_notification (self,
_("Network credentials expired"),
_("Your Kerberos credentials have expired."),
"krb-no-valid-ticket",
TRUE);
}
- ka_applet_signal_emit (applet, KA_SIGNAL_EXPIRED_TGT, expiry);
+ ka_applet_signal_emit (self, KA_SIGNAL_EXPIRED_TGT, expiry);
expiry_notified = TRUE;
last_warn = 0;
}
@@ -728,52 +718,52 @@ ka_applet_update_status (KaApplet *applet, krb5_timestamp expiry)
static int
-ka_applet_setup_icons (KaApplet *applet)
+ka_applet_setup_icons (KaApplet *self)
{
/* Add application specific icons to search path */
gtk_icon_theme_append_search_path (gtk_icon_theme_get_default (),
DATA_DIR G_DIR_SEPARATOR_S "icons");
- applet->priv->icons[val_icon] = "krb-valid-ticket";
- applet->priv->icons[exp_icon] = "krb-expiring-ticket";
- applet->priv->icons[inv_icon] = "krb-no-valid-ticket";
+ self->icons[val_icon] = "krb-valid-ticket";
+ self->icons[exp_icon] = "krb-expiring-ticket";
+ self->icons[inv_icon] = "krb-no-valid-ticket";
return TRUE;
}
guint
-ka_applet_get_pw_prompt_secs (const KaApplet *applet)
+ka_applet_get_pw_prompt_secs (const KaApplet *self)
{
- return applet->priv->pw_prompt_secs;
+ return self->pw_prompt_secs;
}
void
-ka_applet_set_tgt_renewable (KaApplet *applet, gboolean renewable)
+ka_applet_set_tgt_renewable (KaApplet *self, gboolean renewable)
{
- applet->priv->renewable = renewable;
+ self->renewable = renewable;
}
gboolean
-ka_applet_get_tgt_renewable (const KaApplet *applet)
+ka_applet_get_tgt_renewable (const KaApplet *self)
{
- return applet->priv->renewable;
+ return self->renewable;
}
KaPwDialog *
-ka_applet_get_pwdialog (const KaApplet *applet)
+ka_applet_get_pwdialog (const KaApplet *self)
{
- return applet->priv->pwdialog;
+ return self->pwdialog;
}
GSettings *
ka_applet_get_settings (const KaApplet *self)
{
- return self->priv->settings;
+ return self->settings;
}
void
ka_applet_set_msg (KaApplet *self, const char *msg)
{
- g_free (self->priv->krb_msg);
- self->priv->krb_msg = g_strdup (msg);
+ g_free (self->krb_msg);
+ self->krb_msg = g_strdup (msg);
}
void
@@ -806,8 +796,8 @@ ka_applet_destroy (KaApplet* self)
GTK_WINDOW (first->data));
}
- gtk_widget_destroy (GTK_WIDGET(self->priv->prefs));
- self->priv->prefs = NULL;
+ gtk_widget_destroy (GTK_WIDGET(self->prefs));
+ self->prefs = NULL;
ka_kerberos_destroy ();
}
@@ -816,24 +806,24 @@ ka_applet_destroy (KaApplet* self)
KaApplet *
ka_applet_create (void)
{
- KaApplet *applet = ka_applet_new ();
+ KaApplet *self = ka_applet_new ();
- if (!(ka_applet_setup_icons (applet)))
+ if (!(ka_applet_setup_icons (self)))
g_error ("Failure to setup icons");
- gtk_window_set_default_icon_name (applet->priv->icons[val_icon]);
+ gtk_window_set_default_icon_name (self->icons[val_icon]);
- applet->priv->pwdialog = ka_pwdialog_new ();
- g_return_val_if_fail (applet->priv->pwdialog != NULL, NULL);
+ self->pwdialog = ka_pwdialog_new ();
+ g_return_val_if_fail (self->pwdialog != NULL, NULL);
- applet->priv->settings = ka_settings_init (applet);
- g_return_val_if_fail (applet->priv->settings != NULL, NULL);
+ self->settings = ka_settings_init (self);
+ g_return_val_if_fail (self->settings != NULL, NULL);
- applet->priv->loader = ka_plugin_loader_create (applet);
- g_return_val_if_fail (applet->priv->loader != NULL, NULL);
+ self->loader = ka_plugin_loader_create (self);
+ g_return_val_if_fail (self->loader != NULL, NULL);
- g_return_val_if_fail (ka_dbus_connect (applet), NULL);
+ g_return_val_if_fail (ka_dbus_connect (self), NULL);
- return applet;
+ return self;
}
int
diff --git a/src/ka-applet.h b/src/ka-applet.h
index bf4febe..deb1cc5 100644
--- a/src/ka-applet.h
+++ b/src/ka-applet.h
@@ -20,27 +20,12 @@
#ifndef KA_APPLET_H
#define KA_APPLET_H
-#include <glib-object.h>
+#include <gtk/gtk.h>
G_BEGIN_DECLS
-#define KA_TYPE_APPLET (ka_applet_get_type ())
-#define KA_APPLET(obj) \
- (G_TYPE_CHECK_INSTANCE_CAST ((obj), KA_TYPE_APPLET, KaApplet))
-#define KA_APPLET_CLASS(klass) \
- (G_TYPE_CHECK_CLASS_CAST ((klass), KA_TYPE_APPLET, KaAppletClass))
-#define KA_IS_APPLET(obj) \
- (G_TYPE_CHECK_INSTANCE_TYPE ((obj), KA_TYPE_APPLET))
-#define KA_IS_APPLET_CLASS(klass) \
- (G_TYPE_CHECK_CLASS_TYPE ((klass), KA_TYPE_APPLET))
-#define KA_APPLET_GET_CLASS(obj) \
- (G_TYPE_INSTANCE_GET_CLASS ((obj), KA_TYPE_APPLET, KaAppletClass))
-
-typedef struct _KaApplet KaApplet;
-typedef struct _KaAppletClass KaAppletClass;
-typedef struct _KaAppletPrivate KaAppletPrivate;
-
-GType ka_applet_get_type (void);
+#define KA_TYPE_APPLET (ka_applet_get_type ())
+G_DECLARE_FINAL_TYPE (KaApplet, ka_applet, KA, APPLET, GtkApplication)
G_END_DECLS
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]