summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--capplet/gsm-app-dialog.c101
-rw-r--r--capplet/gsm-app-dialog.h31
-rw-r--r--capplet/gsm-properties-dialog.c133
-rw-r--r--capplet/gsm-properties-dialog.h29
-rw-r--r--capplet/gsp-app-manager.c77
-rw-r--r--capplet/gsp-app-manager.h28
-rw-r--r--capplet/gsp-app.c488
-rw-r--r--capplet/gsp-app.h28
-rw-r--r--mate-session/gsm-app.c102
-rw-r--r--mate-session/gsm-app.h24
-rw-r--r--mate-session/gsm-autostart-app.c268
-rw-r--r--mate-session/gsm-autostart-app.h25
-rw-r--r--mate-session/gsm-client.c110
-rw-r--r--mate-session/gsm-client.h26
-rw-r--r--mate-session/gsm-consolekit.c158
-rw-r--r--mate-session/gsm-consolekit.h27
-rw-r--r--mate-session/gsm-dbus-client.c70
-rw-r--r--mate-session/gsm-dbus-client.h32
-rw-r--r--mate-session/gsm-inhibit-dialog.c127
-rw-r--r--mate-session/gsm-inhibit-dialog.h29
-rw-r--r--mate-session/gsm-inhibitor.c107
-rw-r--r--mate-session/gsm-inhibitor.h37
-rw-r--r--mate-session/gsm-logout-dialog.c116
-rw-r--r--mate-session/gsm-logout-dialog.h36
-rw-r--r--mate-session/gsm-store.c73
-rw-r--r--mate-session/gsm-store.h29
-rw-r--r--mate-session/gsm-systemd.c213
-rw-r--r--mate-session/gsm-systemd.h27
-rw-r--r--mate-session/gsm-xsmp-client.c309
-rw-r--r--mate-session/gsm-xsmp-client.h27
-rw-r--r--mate-session/gsm-xsmp-server.c83
-rw-r--r--mate-session/gsm-xsmp-server.h29
32 files changed, 1486 insertions, 1513 deletions
diff --git a/capplet/gsm-app-dialog.c b/capplet/gsm-app-dialog.c
index 04aaf28..fbcfbef 100644
--- a/capplet/gsm-app-dialog.c
+++ b/capplet/gsm-app-dialog.c
@@ -35,16 +35,15 @@
#define CAPPLET_COMMENT_ENTRY_WIDGET_NAME "session_properties_comment_entry"
#define CAPPLET_BROWSE_WIDGET_NAME "session_properties_browse_button"
-#define GSM_APP_DIALOG_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GSM_TYPE_APP_DIALOG, GsmAppDialogPrivate))
-
#ifdef __GNUC__
#define UNUSED_VARIABLE __attribute__ ((unused))
#else
#define UNUSED_VARIABLE
#endif
-struct GsmAppDialogPrivate
+struct _GsmAppDialog
{
+ GtkDialog parent;
GtkWidget *name_entry;
GtkWidget *command_entry;
GtkWidget *comment_entry;
@@ -56,7 +55,6 @@ struct GsmAppDialogPrivate
static void gsm_app_dialog_class_init (GsmAppDialogClass *klass);
static void gsm_app_dialog_init (GsmAppDialog *app_dialog);
-static void gsm_app_dialog_finalize (GObject *object);
enum {
PROP_0,
@@ -138,7 +136,7 @@ on_browse_button_clicked (GtkWidget *widget,
g_free (text);
- gtk_entry_set_text (GTK_ENTRY (dialog->priv->command_entry), uri);
+ gtk_entry_set_text (GTK_ENTRY (dialog->command_entry), uri);
g_free (uri);
}
@@ -191,9 +189,9 @@ setup_dialog (GsmAppDialog *dialog)
gtk_dialog_add_button (GTK_DIALOG (dialog),
"gtk-cancel", GTK_RESPONSE_CANCEL);
- if (dialog->priv->name == NULL
- && dialog->priv->command == NULL
- && dialog->priv->comment == NULL) {
+ if (dialog->name == NULL
+ && dialog->command == NULL
+ && dialog->comment == NULL) {
gtk_window_set_title (GTK_WINDOW (dialog), _("Add Startup Program"));
gtk_dialog_add_button (GTK_DIALOG (dialog),
"gtk-add", GTK_RESPONSE_OK);
@@ -203,37 +201,37 @@ setup_dialog (GsmAppDialog *dialog)
"gtk-save", GTK_RESPONSE_OK);
}
- dialog->priv->name_entry = GTK_WIDGET (gtk_builder_get_object (xml, CAPPLET_NAME_ENTRY_WIDGET_NAME));
- g_signal_connect (dialog->priv->name_entry,
+ dialog->name_entry = GTK_WIDGET (gtk_builder_get_object (xml, CAPPLET_NAME_ENTRY_WIDGET_NAME));
+ g_signal_connect (dialog->name_entry,
"activate",
G_CALLBACK (on_entry_activate),
dialog);
- if (dialog->priv->name != NULL) {
- gtk_entry_set_text (GTK_ENTRY (dialog->priv->name_entry), dialog->priv->name);
+ if (dialog->name != NULL) {
+ gtk_entry_set_text (GTK_ENTRY (dialog->name_entry), dialog->name);
}
- dialog->priv->browse_button = GTK_WIDGET (gtk_builder_get_object (xml, CAPPLET_BROWSE_WIDGET_NAME));
- g_signal_connect (dialog->priv->browse_button,
+ dialog->browse_button = GTK_WIDGET (gtk_builder_get_object (xml, CAPPLET_BROWSE_WIDGET_NAME));
+ g_signal_connect (dialog->browse_button,
"clicked",
G_CALLBACK (on_browse_button_clicked),
dialog);
- dialog->priv->command_entry = GTK_WIDGET (gtk_builder_get_object (xml, CAPPLET_COMMAND_ENTRY_WIDGET_NAME));
- g_signal_connect (dialog->priv->command_entry,
+ dialog->command_entry = GTK_WIDGET (gtk_builder_get_object (xml, CAPPLET_COMMAND_ENTRY_WIDGET_NAME));
+ g_signal_connect (dialog->command_entry,
"activate",
G_CALLBACK (on_entry_activate),
dialog);
- if (dialog->priv->command != NULL) {
- gtk_entry_set_text (GTK_ENTRY (dialog->priv->command_entry), dialog->priv->command);
+ if (dialog->command != NULL) {
+ gtk_entry_set_text (GTK_ENTRY (dialog->command_entry), dialog->command);
}
- dialog->priv->comment_entry = GTK_WIDGET (gtk_builder_get_object (xml, CAPPLET_COMMENT_ENTRY_WIDGET_NAME));
- g_signal_connect (dialog->priv->comment_entry,
+ dialog->comment_entry = GTK_WIDGET (gtk_builder_get_object (xml, CAPPLET_COMMENT_ENTRY_WIDGET_NAME));
+ g_signal_connect (dialog->comment_entry,
"activate",
G_CALLBACK (on_entry_activate),
dialog);
- if (dialog->priv->comment != NULL) {
- gtk_entry_set_text (GTK_ENTRY (dialog->priv->comment_entry), dialog->priv->comment);
+ if (dialog->comment != NULL) {
+ gtk_entry_set_text (GTK_ENTRY (dialog->comment_entry), dialog->comment);
}
if (xml != NULL) {
@@ -249,8 +247,8 @@ gsm_app_dialog_constructor (GType type,
GsmAppDialog *dialog;
dialog = GSM_APP_DIALOG (G_OBJECT_CLASS (gsm_app_dialog_parent_class)->constructor (type,
- n_construct_app,
- construct_app));
+ n_construct_app,
+ construct_app));
setup_dialog (dialog);
@@ -267,12 +265,12 @@ gsm_app_dialog_dispose (GObject *object)
dialog = GSM_APP_DIALOG (object);
- g_free (dialog->priv->name);
- dialog->priv->name = NULL;
- g_free (dialog->priv->command);
- dialog->priv->command = NULL;
- g_free (dialog->priv->comment);
- dialog->priv->comment = NULL;
+ g_free (dialog->name);
+ dialog->name = NULL;
+ g_free (dialog->command);
+ dialog->command = NULL;
+ g_free (dialog->comment);
+ dialog->comment = NULL;
G_OBJECT_CLASS (gsm_app_dialog_parent_class)->dispose (object);
}
@@ -283,9 +281,9 @@ gsm_app_dialog_set_name (GsmAppDialog *dialog,
{
g_return_if_fail (GSM_IS_APP_DIALOG (dialog));
- g_free (dialog->priv->name);
+ g_free (dialog->name);
- dialog->priv->name = g_strdup (name);
+ dialog->name = g_strdup (name);
g_object_notify (G_OBJECT (dialog), "name");
}
@@ -295,9 +293,9 @@ gsm_app_dialog_set_command (GsmAppDialog *dialog,
{
g_return_if_fail (GSM_IS_APP_DIALOG (dialog));
- g_free (dialog->priv->command);
+ g_free (dialog->command);
- dialog->priv->command = g_strdup (name);
+ dialog->command = g_strdup (name);
g_object_notify (G_OBJECT (dialog), "command");
}
@@ -307,9 +305,9 @@ gsm_app_dialog_set_comment (GsmAppDialog *dialog,
{
g_return_if_fail (GSM_IS_APP_DIALOG (dialog));
- g_free (dialog->priv->comment);
+ g_free (dialog->comment);
- dialog->priv->comment = g_strdup (name);
+ dialog->comment = g_strdup (name);
g_object_notify (G_OBJECT (dialog), "comment");
}
@@ -317,21 +315,21 @@ const char *
gsm_app_dialog_get_name (GsmAppDialog *dialog)
{
g_return_val_if_fail (GSM_IS_APP_DIALOG (dialog), NULL);
- return gtk_entry_get_text (GTK_ENTRY (dialog->priv->name_entry));
+ return gtk_entry_get_text (GTK_ENTRY (dialog->name_entry));
}
const char *
gsm_app_dialog_get_command (GsmAppDialog *dialog)
{
g_return_val_if_fail (GSM_IS_APP_DIALOG (dialog), NULL);
- return gtk_entry_get_text (GTK_ENTRY (dialog->priv->command_entry));
+ return gtk_entry_get_text (GTK_ENTRY (dialog->command_entry));
}
const char *
gsm_app_dialog_get_comment (GsmAppDialog *dialog)
{
g_return_val_if_fail (GSM_IS_APP_DIALOG (dialog), NULL);
- return gtk_entry_get_text (GTK_ENTRY (dialog->priv->comment_entry));
+ return gtk_entry_get_text (GTK_ENTRY (dialog->comment_entry));
}
static void
@@ -368,13 +366,13 @@ gsm_app_dialog_get_property (GObject *object,
switch (prop_id) {
case PROP_NAME:
- g_value_set_string (value, dialog->priv->name);
+ g_value_set_string (value, dialog->name);
break;
case PROP_COMMAND:
- g_value_set_string (value, dialog->priv->command);
+ g_value_set_string (value, dialog->command);
break;
case PROP_COMMENT:
- g_value_set_string (value, dialog->priv->comment);
+ g_value_set_string (value, dialog->comment);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
@@ -391,7 +389,6 @@ gsm_app_dialog_class_init (GsmAppDialogClass *klass)
object_class->set_property = gsm_app_dialog_set_property;
object_class->constructor = gsm_app_dialog_constructor;
object_class->dispose = gsm_app_dialog_dispose;
- object_class->finalize = gsm_app_dialog_finalize;
g_object_class_install_property (object_class,
PROP_NAME,
@@ -414,30 +411,12 @@ gsm_app_dialog_class_init (GsmAppDialogClass *klass)
"comment",
NULL,
G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
-
- g_type_class_add_private (klass, sizeof (GsmAppDialogPrivate));
}
static void
gsm_app_dialog_init (GsmAppDialog *dialog)
{
- dialog->priv = GSM_APP_DIALOG_GET_PRIVATE (dialog);
-}
-
-static void
-gsm_app_dialog_finalize (GObject *object)
-{
- GsmAppDialog *dialog;
-
- g_return_if_fail (object != NULL);
- g_return_if_fail (GSM_IS_APP_DIALOG (object));
-
- dialog = GSM_APP_DIALOG (object);
-
- g_return_if_fail (dialog->priv != NULL);
-
- G_OBJECT_CLASS (gsm_app_dialog_parent_class)->finalize (object);
}
GtkWidget *
diff --git a/capplet/gsm-app-dialog.h b/capplet/gsm-app-dialog.h
index 8fc5b52..5869242 100644
--- a/capplet/gsm-app-dialog.h
+++ b/capplet/gsm-app-dialog.h
@@ -24,31 +24,10 @@
#include <glib-object.h>
#include <gtk/gtk.h>
-#ifdef __cplusplus
-extern "C" {
-#endif
+G_BEGIN_DECLS
-#define GSM_TYPE_APP_DIALOG (gsm_app_dialog_get_type ())
-#define GSM_APP_DIALOG(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GSM_TYPE_APP_DIALOG, GsmAppDialog))
-#define GSM_APP_DIALOG_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), GSM_TYPE_APP_DIALOG, GsmAppDialogClass))
-#define GSM_IS_APP_DIALOG(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GSM_TYPE_APP_DIALOG))
-#define GSM_IS_APP_DIALOG_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GSM_TYPE_APP_DIALOG))
-#define GSM_APP_DIALOG_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GSM_TYPE_APP_DIALOG, GsmAppDialogClass))
-
-typedef struct GsmAppDialogPrivate GsmAppDialogPrivate;
-
-typedef struct
-{
- GtkDialog parent;
- GsmAppDialogPrivate *priv;
-} GsmAppDialog;
-
-typedef struct
-{
- GtkDialogClass parent_class;
-} GsmAppDialogClass;
-
-GType gsm_app_dialog_get_type (void);
+#define GSM_TYPE_APP_DIALOG (gsm_app_dialog_get_type ())
+G_DECLARE_FINAL_TYPE (GsmAppDialog, gsm_app_dialog, GSM, APP_DIALOG, GtkDialog)
GtkWidget * gsm_app_dialog_new (const char *name,
const char *command,
@@ -63,8 +42,6 @@ const char * gsm_app_dialog_get_name (GsmAppDialog *dialog);
const char * gsm_app_dialog_get_command (GsmAppDialog *dialog);
const char * gsm_app_dialog_get_comment (GsmAppDialog *dialog);
-#ifdef __cplusplus
-}
-#endif
+G_END_DECLS
#endif /* __GSM_APP_DIALOG_H */
diff --git a/capplet/gsm-properties-dialog.c b/capplet/gsm-properties-dialog.c
index 09042a6..e6463cd 100644
--- a/capplet/gsm-properties-dialog.c
+++ b/capplet/gsm-properties-dialog.c
@@ -35,8 +35,6 @@
#include "gsp-app.h"
#include "gsp-app-manager.h"
-#define GSM_PROPERTIES_DIALOG_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GSM_TYPE_PROPERTIES_DIALOG, GsmPropertiesDialogPrivate))
-
#define GTKBUILDER_FILE "session-properties.ui"
#define CAPPLET_TREEVIEW_WIDGET_NAME "session_properties_treeview"
@@ -51,8 +49,9 @@
#define SPC_CONFIG_SCHEMA "org.mate.session"
#define SPC_AUTOSAVE_KEY "auto-save-session"
-struct GsmPropertiesDialogPrivate
+struct _GsmPropertiesDialog
{
+ GtkDialog parent;
GtkBuilder *xml;
GtkListStore *list_store;
GtkTreeModel *tree_filter;
@@ -167,12 +166,12 @@ _app_changed (GsmPropertiesDialog *dialog,
{
GtkTreeIter iter;
- if (!find_by_app (GTK_TREE_MODEL (dialog->priv->list_store),
+ if (!find_by_app (GTK_TREE_MODEL (dialog->list_store),
&iter, app)) {
return;
}
- _fill_iter_from_app (dialog->priv->list_store, &iter, app);
+ _fill_iter_from_app (dialog->list_store, &iter, app);
}
static void
@@ -181,8 +180,8 @@ append_app (GsmPropertiesDialog *dialog,
{
GtkTreeIter iter;
- gtk_list_store_append (dialog->priv->list_store, &iter);
- _fill_iter_from_app (dialog->priv->list_store, &iter, app);
+ gtk_list_store_append (dialog->list_store, &iter);
+ _fill_iter_from_app (dialog->list_store, &iter, app);
g_signal_connect_swapped (app, "changed",
G_CALLBACK (_app_changed), dialog);
@@ -203,7 +202,7 @@ _app_removed (GsmPropertiesDialog *dialog,
{
GtkTreeIter iter;
- if (!find_by_app (GTK_TREE_MODEL (dialog->priv->list_store),
+ if (!find_by_app (GTK_TREE_MODEL (dialog->list_store),
&iter, app)) {
return;
}
@@ -211,7 +210,7 @@ _app_removed (GsmPropertiesDialog *dialog,
g_signal_handlers_disconnect_by_func (app,
_app_changed,
dialog);
- gtk_list_store_remove (dialog->priv->list_store, &iter);
+ gtk_list_store_remove (dialog->list_store, &iter);
}
static void
@@ -220,7 +219,7 @@ populate_model (GsmPropertiesDialog *dialog)
GSList *apps;
GSList *l;
- apps = gsp_app_manager_get_apps (dialog->priv->manager);
+ apps = gsp_app_manager_get_apps (dialog->manager);
for (l = apps; l != NULL; l = l->next) {
append_app (dialog, GSP_APP (l->data));
}
@@ -235,8 +234,8 @@ on_selection_changed (GtkTreeSelection *selection,
sel = gtk_tree_selection_get_selected (selection, NULL, NULL);
- gtk_widget_set_sensitive (dialog->priv->edit_button, sel);
- gtk_widget_set_sensitive (dialog->priv->delete_button, sel);
+ gtk_widget_set_sensitive (dialog->edit_button, sel);
+ gtk_widget_set_sensitive (dialog->delete_button, sel);
}
static void
@@ -248,13 +247,13 @@ on_startup_enabled_toggled (GtkCellRendererToggle *cell_renderer,
GspApp *app;
gboolean active;
- if (!gtk_tree_model_get_iter_from_string (GTK_TREE_MODEL (dialog->priv->tree_filter),
+ if (!gtk_tree_model_get_iter_from_string (GTK_TREE_MODEL (dialog->tree_filter),
&iter, path)) {
return;
}
app = NULL;
- gtk_tree_model_get (GTK_TREE_MODEL (dialog->priv->tree_filter),
+ gtk_tree_model_get (GTK_TREE_MODEL (dialog->tree_filter),
&iter,
STORE_COL_APP, &app,
-1);
@@ -312,11 +311,11 @@ on_drag_begin (GtkWidget *widget,
GspApp *app;
gtk_tree_view_get_cursor (GTK_TREE_VIEW (widget), &path, NULL);
- gtk_tree_model_get_iter (GTK_TREE_MODEL (dialog->priv->tree_filter),
+ gtk_tree_model_get_iter (GTK_TREE_MODEL (dialog->tree_filter),
&iter, path);
gtk_tree_path_free (path);
- gtk_tree_model_get (GTK_TREE_MODEL (dialog->priv->tree_filter),
+ gtk_tree_model_get (GTK_TREE_MODEL (dialog->tree_filter),
&iter,
STORE_COL_APP, &app,
-1);
@@ -384,14 +383,14 @@ on_delete_app_clicked (GtkWidget *widget,
GtkTreeIter iter;
GspApp *app;
- selection = gtk_tree_view_get_selection (dialog->priv->treeview);
+ selection = gtk_tree_view_get_selection (dialog->treeview);
if (!gtk_tree_selection_get_selected (selection, NULL, &iter)) {
return;
}
app = NULL;
- gtk_tree_model_get (GTK_TREE_MODEL (dialog->priv->tree_filter),
+ gtk_tree_model_get (GTK_TREE_MODEL (dialog->tree_filter),
&iter,
STORE_COL_APP, &app,
-1);
@@ -410,14 +409,14 @@ on_edit_app_clicked (GtkWidget *widget,
GtkTreeIter iter;
GspApp *app;
- selection = gtk_tree_view_get_selection (dialog->priv->treeview);
+ selection = gtk_tree_view_get_selection (dialog->treeview);
if (!gtk_tree_selection_get_selected (selection, NULL, &iter)) {
return;
}
app = NULL;
- gtk_tree_model_get (GTK_TREE_MODEL (dialog->priv->tree_filter),
+ gtk_tree_model_get (GTK_TREE_MODEL (dialog->tree_filter),
&iter,
STORE_COL_APP, &app,
-1);
@@ -478,24 +477,24 @@ setup_dialog (GsmPropertiesDialog *dialog)
"gtk-close", GTK_RESPONSE_CLOSE,
NULL);
- dialog->priv->list_store = gtk_list_store_new (NUMBER_OF_COLUMNS,
- G_TYPE_BOOLEAN,
- G_TYPE_BOOLEAN,
- G_TYPE_ICON,
- G_TYPE_STRING,
- G_TYPE_OBJECT,
- G_TYPE_STRING);
- tree_filter = gtk_tree_model_filter_new (GTK_TREE_MODEL (dialog->priv->list_store),
+ dialog->list_store = gtk_list_store_new (NUMBER_OF_COLUMNS,
+ G_TYPE_BOOLEAN,
+ G_TYPE_BOOLEAN,
+ G_TYPE_ICON,
+ G_TYPE_STRING,
+ G_TYPE_OBJECT,
+ G_TYPE_STRING);
+ tree_filter = gtk_tree_model_filter_new (GTK_TREE_MODEL (dialog->list_store),
NULL);
- g_object_unref (dialog->priv->list_store);
- dialog->priv->tree_filter = tree_filter;
+ g_object_unref (dialog->list_store);
+ dialog->tree_filter = tree_filter;
gtk_tree_model_filter_set_visible_column (GTK_TREE_MODEL_FILTER (tree_filter),
STORE_COL_VISIBLE);
- treeview = GTK_TREE_VIEW (gtk_builder_get_object (dialog->priv->xml,
+ treeview = GTK_TREE_VIEW (gtk_builder_get_object (dialog->xml,
CAPPLET_TREEVIEW_WIDGET_NAME));
- dialog->priv->treeview = treeview;
+ dialog->treeview = treeview;
gtk_tree_view_set_model (treeview, tree_filter);
g_object_unref (tree_filter);
@@ -590,56 +589,56 @@ setup_dialog (GsmPropertiesDialog *dialog)
G_CALLBACK (on_drag_data_received),
dialog);
- gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (dialog->priv->list_store),
+ gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (dialog->list_store),
STORE_COL_DESCRIPTION,
GTK_SORT_ASCENDING);
- button = GTK_WIDGET (gtk_builder_get_object (dialog->priv->xml,
+ button = GTK_WIDGET (gtk_builder_get_object (dialog->xml,
CAPPLET_ADD_WIDGET_NAME));
- dialog->priv->add_button = button;
+ dialog->add_button = button;
g_signal_connect (button,
"clicked",
G_CALLBACK (on_add_app_clicked),
dialog);
- button = GTK_WIDGET (gtk_builder_get_object (dialog->priv->xml,
+ button = GTK_WIDGET (gtk_builder_get_object (dialog->xml,
CAPPLET_DELETE_WIDGET_NAME));
- dialog->priv->delete_button = button;
+ dialog->delete_button = button;
g_signal_connect (button,
"clicked",
G_CALLBACK (on_delete_app_clicked),
dialog);
- button = GTK_WIDGET (gtk_builder_get_object (dialog->priv->xml,
+ button = GTK_WIDGET (gtk_builder_get_object (dialog->xml,
CAPPLET_EDIT_WIDGET_NAME));
- dialog->priv->edit_button = button;
+ dialog->edit_button = button;
g_signal_connect (button,
"clicked",
G_CALLBACK (on_edit_app_clicked),
dialog);
- dialog->priv->settings = g_settings_new (SPC_CONFIG_SCHEMA);
+ dialog->settings = g_settings_new (SPC_CONFIG_SCHEMA);
- button = GTK_WIDGET (gtk_builder_get_object (dialog->priv->xml,
+ button = GTK_WIDGET (gtk_builder_get_object (dialog->xml,
CAPPLET_REMEMBER_WIDGET_NAME));
- g_settings_bind (dialog->priv->settings, SPC_AUTOSAVE_KEY,
+ g_settings_bind (dialog->settings, SPC_AUTOSAVE_KEY,
button, "active", G_SETTINGS_BIND_DEFAULT);
- button = GTK_WIDGET (gtk_builder_get_object (dialog->priv->xml,
+ button = GTK_WIDGET (gtk_builder_get_object (dialog->xml,
CAPPLET_SAVE_WIDGET_NAME));
g_signal_connect (button,
"clicked",
G_CALLBACK (on_save_session_clicked),
dialog);
- dialog->priv->manager = gsp_app_manager_get ();
- gsp_app_manager_fill (dialog->priv->manager);
- g_signal_connect_swapped (dialog->priv->manager, "added",
+ dialog->manager = gsp_app_manager_get ();
+ gsp_app_manager_fill (dialog->manager);
+ g_signal_connect_swapped (dialog->manager, "added",
G_CALLBACK (_app_added), dialog);
- g_signal_connect_swapped (dialog->priv->manager, "removed",
+ g_signal_connect_swapped (dialog->manager, "removed",
G_CALLBACK (_app_removed), dialog);
populate_model (dialog);
@@ -653,8 +652,8 @@ gsm_properties_dialog_constructor (GType type,
GsmPropertiesDialog *dialog;
dialog = GSM_PROPERTIES_DIALOG (G_OBJECT_CLASS (gsm_properties_dialog_parent_class)->constructor (type,
- n_construct_properties,
- construct_properties));
+ n_construct_properties,
+ construct_properties));
setup_dialog (dialog);
@@ -671,14 +670,14 @@ gsm_properties_dialog_dispose (GObject *object)
dialog = GSM_PROPERTIES_DIALOG (object);
- if (dialog->priv->xml != NULL) {
- g_object_unref (dialog->priv->xml);
- dialog->priv->xml = NULL;
+ if (dialog->xml != NULL) {
+ g_object_unref (dialog->xml);
+ dialog->xml = NULL;
}
- if (dialog->priv->settings != NULL) {
- g_object_unref (dialog->priv->settings);
- dialog->priv->settings = NULL;
+ if (dialog->settings != NULL) {
+ g_object_unref (dialog->settings);
+ dialog->settings = NULL;
}
G_OBJECT_CLASS (gsm_properties_dialog_parent_class)->dispose (object);
@@ -686,9 +685,9 @@ gsm_properties_dialog_dispose (GObject *object)
/* it's important to do this after chaining to the parent dispose
* method because we want to make sure the treeview has been disposed
* and removed all its references to GspApp objects */
- if (dialog->priv->manager != NULL) {
- g_object_unref (dialog->priv->manager);
- dialog->priv->manager = NULL;
+ if (dialog->manager != NULL) {
+ g_object_unref (dialog->manager);
+ dialog->manager = NULL;
}
}
@@ -700,8 +699,6 @@ gsm_properties_dialog_class_init (GsmPropertiesDialogClass *klass)
object_class->constructor = gsm_properties_dialog_constructor;
object_class->dispose = gsm_properties_dialog_dispose;
object_class->finalize = gsm_properties_dialog_finalize;
-
- g_type_class_add_private (klass, sizeof (GsmPropertiesDialogPrivate));
}
static void
@@ -711,13 +708,11 @@ gsm_properties_dialog_init (GsmPropertiesDialog *dialog)
GtkWidget *widget;
GError *error;
- dialog->priv = GSM_PROPERTIES_DIALOG_GET_PRIVATE (dialog);
-
- dialog->priv->xml = gtk_builder_new ();
- gtk_builder_set_translation_domain (dialog->priv->xml, GETTEXT_PACKAGE);
+ dialog->xml = gtk_builder_new ();
+ gtk_builder_set_translation_domain (dialog->xml, GETTEXT_PACKAGE);
error = NULL;
- if (!gtk_builder_add_from_file (dialog->priv->xml,
+ if (!gtk_builder_add_from_file (dialog->xml,
GTKBUILDER_DIR "/" GTKBUILDER_FILE,
&error)) {
if (error) {
@@ -730,7 +725,7 @@ gsm_properties_dialog_init (GsmPropertiesDialog *dialog)
}
content_area = gtk_dialog_get_content_area (GTK_DIALOG (dialog));
- widget = GTK_WIDGET (gtk_builder_get_object (dialog->priv->xml,
+ widget = GTK_WIDGET (gtk_builder_get_object (dialog->xml,
"main-notebook"));
gtk_box_pack_start (GTK_BOX (content_area), widget, TRUE, TRUE, 0);
@@ -744,15 +739,9 @@ gsm_properties_dialog_init (GsmPropertiesDialog *dialog)
static void
gsm_properties_dialog_finalize (GObject *object)
{
- GsmPropertiesDialog *dialog;
-
g_return_if_fail (object != NULL);
g_return_if_fail (GSM_IS_PROPERTIES_DIALOG (object));
- dialog = GSM_PROPERTIES_DIALOG (object);
-
- g_return_if_fail (dialog->priv != NULL);
-
G_OBJECT_CLASS (gsm_properties_dialog_parent_class)->finalize (object);
}
diff --git a/capplet/gsm-properties-dialog.h b/capplet/gsm-properties-dialog.h
index 0103581..93ef91b 100644
--- a/capplet/gsm-properties-dialog.h
+++ b/capplet/gsm-properties-dialog.h
@@ -24,38 +24,15 @@
#include <glib-object.h>
#include <gtk/gtk.h>
-#ifdef __cplusplus
-extern "C" {
-#endif
+G_BEGIN_DECLS
#define GSM_TYPE_PROPERTIES_DIALOG (gsm_properties_dialog_get_type ())
-#define GSM_PROPERTIES_DIALOG(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GSM_TYPE_PROPERTIES_DIALOG, GsmPropertiesDialog))
-#define GSM_PROPERTIES_DIALOG_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), GSM_TYPE_PROPERTIES_DIALOG, GsmPropertiesDialogClass))
-#define GSM_IS_PROPERTIES_DIALOG(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GSM_TYPE_PROPERTIES_DIALOG))
-#define GSM_IS_PROPERTIES_DIALOG_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GSM_TYPE_PROPERTIES_DIALOG))
-#define GSM_PROPERTIES_DIALOG_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GSM_TYPE_PROPERTIES_DIALOG, GsmPropertiesDialogClass))
-
-typedef struct GsmPropertiesDialogPrivate GsmPropertiesDialogPrivate;
-
-typedef struct
-{
- GtkDialog parent;
- GsmPropertiesDialogPrivate *priv;
-} GsmPropertiesDialog;
-
-typedef struct
-{
- GtkDialogClass parent_class;
-} GsmPropertiesDialogClass;
-
-GType gsm_properties_dialog_get_type (void);
+G_DECLARE_FINAL_TYPE (GsmPropertiesDialog, gsm_properties_dialog, GSM, PROPERTIES_DIALOG, GtkDialog)
GtkWidget * gsm_properties_dialog_new (void);
#define GSM_PROPERTIES_ICON_SIZE GTK_ICON_SIZE_LARGE_TOOLBAR
-#ifdef __cplusplus
-}
-#endif
+G_END_DECLS
#endif /* __GSM_PROPERTIES_DIALOG_H */
diff --git a/capplet/gsp-app-manager.c b/capplet/gsp-app-manager.c
index be22c87..7e245db 100644
--- a/capplet/gsp-app-manager.c
+++ b/capplet/gsp-app-manager.c
@@ -36,13 +36,10 @@ typedef struct {
GFileMonitor *monitor;
} GspXdgDir;
-struct _GspAppManagerPrivate {
+typedef struct {
GSList *apps;
GSList *dirs;
-};
-
-#define GSP_APP_MANAGER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GSP_TYPE_APP_MANAGER, GspAppManagerPrivate))
-
+} GspAppManagerPrivate;
enum {
ADDED,
@@ -53,7 +50,7 @@ enum {
static guint gsp_app_manager_signals[LAST_SIGNAL] = { 0 };
-G_DEFINE_TYPE (GspAppManager, gsp_app_manager, G_TYPE_OBJECT)
+G_DEFINE_TYPE_WITH_PRIVATE (GspAppManager, gsp_app_manager, G_TYPE_OBJECT)
static void gsp_app_manager_dispose (GObject *object);
static void gsp_app_manager_finalize (GObject *object);
@@ -124,33 +121,36 @@ gsp_app_manager_class_init (GspAppManagerClass *class)
g_cclosure_marshal_VOID__OBJECT,
G_TYPE_NONE, 1, G_TYPE_OBJECT);
- g_type_class_add_private (class, sizeof (GspAppManagerPrivate));
}
static void
gsp_app_manager_init (GspAppManager *manager)
{
- manager->priv = GSP_APP_MANAGER_GET_PRIVATE (manager);
+ GspAppManagerPrivate *priv;
+ priv = gsp_app_manager_get_instance_private (manager);
- memset (manager->priv, 0, sizeof (GspAppManagerPrivate));
+ // is needed?
+ memset (priv, 0, sizeof (GspAppManagerPrivate));
}
static void
gsp_app_manager_dispose (GObject *object)
{
GspAppManager *manager;
+ GspAppManagerPrivate *priv;
g_return_if_fail (object != NULL);
g_return_if_fail (GSP_IS_APP_MANAGER (object));
manager = GSP_APP_MANAGER (object);
+ priv = gsp_app_manager_get_instance_private (manager);
/* we unref GspApp objects in dispose since they might need to
* reference us during their dispose/finalize */
- g_slist_foreach (manager->priv->apps,
+ g_slist_foreach (priv->apps,
(GFunc) _gsp_app_manager_app_unref, manager);
- g_slist_free (manager->priv->apps);
- manager->priv->apps = NULL;
+ g_slist_free (priv->apps);
+ priv->apps = NULL;
G_OBJECT_CLASS (gsp_app_manager_parent_class)->dispose (object);
}
@@ -159,16 +159,18 @@ static void
gsp_app_manager_finalize (GObject *object)
{
GspAppManager *manager;
+ GspAppManagerPrivate *priv;
g_return_if_fail (object != NULL);
g_return_if_fail (GSP_IS_APP_MANAGER (object));
manager = GSP_APP_MANAGER (object);
+ priv = gsp_app_manager_get_instance_private (manager);
- g_slist_foreach (manager->priv->dirs,
+ g_slist_foreach (priv->dirs,
(GFunc) _gsp_xdg_dir_free, NULL);
- g_slist_free (manager->priv->dirs);
- manager->priv->dirs = NULL;
+ g_slist_free (priv->dirs);
+ priv->dirs = NULL;
G_OBJECT_CLASS (gsp_app_manager_parent_class)->finalize (object);
@@ -201,11 +203,14 @@ gsp_app_manager_get_dir_index (GspAppManager *manager,
{
GSList *l;
GspXdgDir *xdgdir;
+ GspAppManagerPrivate *priv;
g_return_val_if_fail (GSP_IS_APP_MANAGER (manager), -1);
g_return_val_if_fail (dir != NULL, -1);
- for (l = manager->priv->dirs; l != NULL; l = l->next) {
+ priv = gsp_app_manager_get_instance_private (manager);
+
+ for (l = priv->dirs; l != NULL; l = l->next) {
xdgdir = l->data;
if (strcmp (dir, xdgdir->dir) == 0) {
return xdgdir->index;
@@ -221,10 +226,13 @@ gsp_app_manager_get_dir (GspAppManager *manager,
{
GSList *l;
GspXdgDir *xdgdir;
+ GspAppManagerPrivate *priv;
g_return_val_if_fail (GSP_IS_APP_MANAGER (manager), NULL);
- for (l = manager->priv->dirs; l != NULL; l = l->next) {
+ priv = gsp_app_manager_get_instance_private (manager);
+
+ for (l = priv->dirs; l != NULL; l = l->next) {
xdgdir = l->data;
if (index == xdgdir->index) {
return xdgdir->dir;
@@ -244,11 +252,13 @@ _gsp_app_manager_find_dir_with_basename (GspAppManager *manager,
char *path;
GKeyFile *keyfile;
int result = -1;
+ GspAppManagerPrivate *priv;
path = NULL;
keyfile = g_key_file_new ();
+ priv = gsp_app_manager_get_instance_private (manager);
- for (l = manager->priv->dirs; l != NULL; l = l->next) {
+ for (l = priv->dirs; l != NULL; l = l->next) {
xdgdir = l->data;
if (xdgdir->index <= minimum_index) {
@@ -485,8 +495,11 @@ gsp_app_manager_fill (GspAppManager *manager)
{
char **autostart_dirs;
int i;
+ GspAppManagerPrivate *priv;
+
+ priv = gsp_app_manager_get_instance_private (manager);
- if (manager->priv->apps != NULL)
+ if (priv->apps != NULL)
return;
autostart_dirs = gsm_util_get_autostart_dirs ();
@@ -503,7 +516,7 @@ gsp_app_manager_fill (GspAppManager *manager)
}
xdgdir = _gsp_xdg_dir_new (autostart_dirs[i], i);
- manager->priv->dirs = g_slist_prepend (manager->priv->dirs,
+ priv->dirs = g_slist_prepend (priv->dirs,
xdgdir);
_gsp_app_manager_fill_from_dir (manager, xdgdir);
@@ -530,8 +543,11 @@ static void
_gsp_app_manager_app_removed (GspAppManager *manager,
GspApp *app)
{
+ GspAppManagerPrivate *priv;
+
_gsp_app_manager_emit_removed (manager, app);
- manager->priv->apps = g_slist_remove (manager->priv->apps, app);
+ priv = gsp_app_manager_get_instance_private (manager);
+ priv->apps = g_slist_remove (priv->apps, app);
_gsp_app_manager_app_unref (app, manager);
}
@@ -539,11 +555,15 @@ void
gsp_app_manager_add (GspAppManager *manager,
GspApp *app)
{
+ GspAppManagerPrivate *priv;
+
g_return_if_fail (GSP_IS_APP_MANAGER (manager));
g_return_if_fail (GSP_IS_APP (app));
- manager->priv->apps = g_slist_prepend (manager->priv->apps,
- g_object_ref (app));
+ priv = gsp_app_manager_get_instance_private (manager);
+
+ priv->apps = g_slist_prepend (priv->apps,
+ g_object_ref (app));
g_signal_connect_swapped (app, "removed",
G_CALLBACK (_gsp_app_manager_app_removed),
manager);
@@ -556,11 +576,14 @@ gsp_app_manager_find_app_with_basename (GspAppManager *manager,
{
GSList *l;
GspApp *app;
+ GspAppManagerPrivate *priv;
g_return_val_if_fail (GSP_IS_APP_MANAGER (manager), NULL);
g_return_val_if_fail (basename != NULL, NULL);
- for (l = manager->priv->apps; l != NULL; l = l->next) {
+ priv = gsp_app_manager_get_instance_private (manager);
+
+ for (l = priv->apps; l != NULL; l = l->next) {
app = GSP_APP (l->data);
if (strcmp (basename, gsp_app_get_basename (app)) == 0)
return app;
@@ -587,7 +610,11 @@ gsp_app_manager_get (void)
GSList *
gsp_app_manager_get_apps (GspAppManager *manager)
{
+ GspAppManagerPrivate *priv;
+
g_return_val_if_fail (GSP_IS_APP_MANAGER (manager), NULL);
- return g_slist_copy (manager->priv->apps);
+ priv = gsp_app_manager_get_instance_private (manager);
+
+ return g_slist_copy (priv->apps);
}
diff --git a/capplet/gsp-app-manager.h b/capplet/gsp-app-manager.h
index 11bf8a9..b3ceb1e 100644
--- a/capplet/gsp-app-manager.h
+++ b/capplet/gsp-app-manager.h
@@ -28,21 +28,10 @@
#include <gsp-app.h>
-#ifdef __cplusplus
-extern "C" {
-#endif
+G_BEGIN_DECLS
#define GSP_TYPE_APP_MANAGER (gsp_app_manager_get_type ())
-#define GSP_APP_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GSP_TYPE_APP_MANAGER, GspAppManager))
-#define GSP_APP_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GSP_TYPE_APP_MANAGER, GspAppManagerClass))
-#define GSP_IS_APP_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GSP_TYPE_APP_MANAGER))
-#define GSP_IS_APP_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GSP_TYPE_APP_MANAGER))
-#define GSP_APP_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GSP_TYPE_APP_MANAGER, GspAppManagerClass))
-
-typedef struct _GspAppManager GspAppManager;
-typedef struct _GspAppManagerClass GspAppManagerClass;
-
-typedef struct _GspAppManagerPrivate GspAppManagerPrivate;
+G_DECLARE_DERIVABLE_TYPE (GspAppManager, gsp_app_manager, GSP, APP_MANAGER, GObject)
struct _GspAppManagerClass
{
@@ -54,14 +43,7 @@ struct _GspAppManagerClass
GspApp *app);
};
-struct _GspAppManager
-{
- GObject parent_instance;
-
- GspAppManagerPrivate *priv;
-};
-
-GType gsp_app_manager_get_type (void);
+GType gsp_app_manager_get_type (void) G_GNUC_CONST;
GspAppManager *gsp_app_manager_get (void);
@@ -78,8 +60,6 @@ const char *gsp_app_manager_get_dir (GspAppManager *manager,
void gsp_app_manager_add (GspAppManager *manager,
GspApp *app);
-#ifdef __cplusplus
-}
-#endif
+G_END_DECLS
#endif /* __GSP_APP_MANAGER_H */
diff --git a/capplet/gsp-app.c b/capplet/gsp-app.c
index 4b299f5..02a91cc 100644
--- a/capplet/gsp-app.c
+++ b/capplet/gsp-app.c
@@ -48,7 +48,7 @@
#define GSP_ASP_SAVE_MASK_COMMENT 0x0010
#define GSP_ASP_SAVE_MASK_ALL 0xffff
-struct _GspAppPrivate {
+typedef struct {
char *basename;
char *path;
@@ -77,10 +77,7 @@ struct _GspAppPrivate {
/* after writing to file, we skip the next file monitor event of type
* CHANGED */
gboolean skip_next_monitor_event;
-};
-
-#define GSP_APP_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GSP_TYPE_APP, GspAppPrivate))
-
+} GspAppPrivate;
enum {
CHANGED,
@@ -91,7 +88,7 @@ enum {
static guint gsp_app_signals[LAST_SIGNAL] = { 0 };
-G_DEFINE_TYPE (GspApp, gsp_app, G_TYPE_OBJECT)
+G_DEFINE_TYPE_WITH_PRIVATE (GspApp, gsp_app, G_TYPE_OBJECT)
static void gsp_app_dispose (GObject *object);
static void gsp_app_finalize (GObject *object);
@@ -148,60 +145,64 @@ gsp_app_class_init (GspAppClass *class)
g_cclosure_marshal_VOID__VOID,
G_TYPE_NONE, 0);
- g_type_class_add_private (class, sizeof (GspAppPrivate));
}
static void
gsp_app_init (GspApp *app)
{
- app->priv = GSP_APP_GET_PRIVATE (app);
+ GspAppPrivate *priv;
- memset (app->priv, 0, sizeof (GspAppPrivate));
- app->priv->xdg_position = G_MAXUINT;
- app->priv->xdg_system_position = G_MAXUINT;
+ priv = gsp_app_get_instance_private (app);
+
+ memset (priv, 0, sizeof (GspAppPrivate));
+ priv->xdg_position = G_MAXUINT;
+ priv->xdg_system_position = G_MAXUINT;
}
static void
_gsp_app_free_reusable_data (GspApp *app)
{
- if (app->priv->path) {
- g_free (app->priv->path);
- app->priv->path = NULL;
+ GspAppPrivate *priv;
+
+ priv = gsp_app_get_instance_private (app);
+ if (priv->path) {
+ g_free (priv->path);
+ priv->path = NULL;
}
- if (app->priv->name) {
- g_free (app->priv->name);
- app->priv->name = NULL;
+ if (priv->name) {
+ g_free (priv->name);
+ priv->name = NULL;
}
- if (app->priv->exec) {
- g_free (app->priv->exec);
- app->priv->exec = NULL;
+ if (priv->exec) {
+ g_free (priv->exec);
+ priv->exec = NULL;
}
- if (app->priv->comment) {
- g_free (app->priv->comment);
- app->priv->comment = NULL;
+ if (priv->comment) {
+ g_free (priv->comment);
+ priv->comment = NULL;
}
- if (app->priv->icon) {
- g_free (app->priv->icon);
- app->priv->icon = NULL;
+ if (priv->icon) {
+ g_free (priv->icon);
+ priv->icon = NULL;
}
- if (app->priv->gicon) {
- g_object_unref (app->priv->gicon);
- app->priv->gicon = NULL;
+ if (priv->gicon) {
+ g_object_unref (priv->gicon);
+ priv->gicon = NULL;
}
- if (app->priv->description) {
- g_free (app->priv->description);
- app->priv->description = NULL;
+ if (priv->description) {
+ g_free (priv->description);
+ priv->description = NULL;
}
- if (app->priv->old_system_path) {
- g_free (app->priv->old_system_path);
- app->priv->old_system_path = NULL;
+ if (priv->old_system_path) {
+ g_free (priv->old_system_path);
+ priv->old_system_path = NULL;
}
}
@@ -209,16 +210,18 @@ static void
gsp_app_dispose (GObject *object)
{
GspApp *app;
+ GspAppPrivate *priv;
g_return_if_fail (object != NULL);
g_return_if_fail (GSP_IS_APP (object));
app = GSP_APP (object);
+ priv = gsp_app_get_instance_private (app);
/* we save in dispose since we might need to reference GspAppManager */
- if (app->priv->save_timeout) {
- g_source_remove (app->priv->save_timeout);
- app->priv->save_timeout = 0;
+ if (priv->save_timeout) {
+ g_source_remove (priv->save_timeout);
+ priv->save_timeout = 0;
/* save now */
_gsp_app_save (app);
@@ -231,15 +234,17 @@ static void
gsp_app_finalize (GObject *object)
{
GspApp *app;
+ GspAppPrivate *priv;
g_return_if_fail (object != NULL);
g_return_if_fail (GSP_IS_APP (object));
app = GSP_APP (object);
+ priv = gsp_app_get_instance_private (app);
- if (app->priv->basename) {
- g_free (app->priv->basename);
- app->priv->basename = NULL;
+ if (priv->basename) {
+ g_free (priv->basename);
+ priv->basename = NULL;
}
_gsp_app_free_reusable_data (app);
@@ -264,25 +269,28 @@ _gsp_app_update_description (GspApp *app)
{
const char *primary;
const char *secondary;
+ GspAppPrivate *priv;
- if (!gsm_util_text_is_blank (app->priv->name)) {
- primary = app->priv->name;
- } else if (!gsm_util_text_is_blank (app->priv->exec)) {
- primary = app->priv->exec;
+ priv = gsp_app_get_instance_private (app);
+
+ if (!gsm_util_text_is_blank (priv->name)) {
+ primary = priv->name;
+ } else if (!gsm_util_text_is_blank (priv->exec)) {
+ primary = priv->exec;
} else {
primary = _("No name");
}
- if (!gsm_util_text_is_blank (app->priv->comment)) {
- secondary = app->priv->comment;
+ if (!gsm_util_text_is_blank (priv->comment)) {
+ secondary = priv->comment;
} else {
secondary = _("No description");
}
- g_free (app->priv->description);
- app->priv->description = g_markup_printf_escaped ("<b>%s</b>\n%s",
- primary,
- secondary);
+ g_free (priv->description);
+ priv->description = g_markup_printf_escaped ("<b>%s</b>\n%s",
+ primary,
+ secondary);
}
/*
@@ -305,20 +313,22 @@ _gsp_app_user_equal_system (GspApp *app,
char **system_path)
{
GspAppManager *manager;
+ GspAppPrivate *priv;
const char *system_dir;
char *path;
char *str;
GKeyFile *keyfile;
manager = gsp_app_manager_get ();
+ priv = gsp_app_get_instance_private (app);
system_dir = gsp_app_manager_get_dir (manager,
- app->priv->xdg_system_position);
+ priv->xdg_system_position);
g_object_unref (manager);
if (!system_dir) {
return FALSE;
}
- path = g_build_filename (system_dir, app->priv->basename, NULL);
+ path = g_build_filename (system_dir, priv->basename, NULL);
keyfile = g_key_file_new ();
if (!g_key_file_load_from_file (keyfile, path, G_KEY_FILE_NONE, NULL)) {
@@ -329,10 +339,10 @@ _gsp_app_user_equal_system (GspApp *app,
if (gsp_key_file_get_boolean (keyfile,
G_KEY_FILE_DESKTOP_KEY_HIDDEN,
- FALSE) != app->priv->hidden ||
+ FALSE) != priv->hidden ||
gsp_key_file_get_boolean (keyfile,
GSP_KEY_FILE_DESKTOP_KEY_AUTOSTART_ENABLED,
- TRUE) != app->priv->enabled) {
+ TRUE) != priv->enabled) {
g_free (path);
g_key_file_free (keyfile);
return FALSE;
@@ -340,7 +350,7 @@ _gsp_app_user_equal_system (GspApp *app,
str = gsp_key_file_get_locale_string (keyfile,
G_KEY_FILE_DESKTOP_KEY_NAME);
- if (!_gsp_str_equal (str, app->priv->name)) {
+ if (!_gsp_str_equal (str, priv->name)) {
g_free (str);
g_free (path);
g_key_file_free (keyfile);
@@ -350,7 +360,7 @@ _gsp_app_user_equal_system (GspApp *app,
str = gsp_key_file_get_locale_string (keyfile,
G_KEY_FILE_DESKTOP_KEY_COMMENT);
- if (!_gsp_str_equal (str, app->priv->comment)) {
+ if (!_gsp_str_equal (str, priv->comment)) {
g_free (str);
g_free (path);
g_key_file_free (keyfile);
@@ -360,7 +370,7 @@ _gsp_app_user_equal_system (GspApp *app,
str = gsp_key_file_get_string (keyfile,
G_KEY_FILE_DESKTOP_KEY_EXEC);
- if (!_gsp_str_equal (str, app->priv->exec)) {
+ if (!_gsp_str_equal (str, priv->exec)) {
g_free (str);
g_free (path);
g_key_file_free (keyfile);
@@ -370,7 +380,7 @@ _gsp_app_user_equal_system (GspApp *app,
str = gsp_key_file_get_locale_string (keyfile,
G_KEY_FILE_DESKTOP_KEY_ICON);
- if (!_gsp_str_equal (str, app->priv->icon)) {
+ if (!_gsp_str_equal (str, priv->icon)) {
g_free (str);
g_free (path);
g_key_file_free (keyfile);
@@ -388,11 +398,14 @@ _gsp_app_user_equal_system (GspApp *app,
static inline void
_gsp_app_save_done_success (GspApp *app)
{
- app->priv->save_mask = 0;
+ GspAppPrivate *priv;
+
+ priv = gsp_app_get_instance_private (app);
+ priv->save_mask = 0;
- if (app->priv->old_system_path) {
- g_free (app->priv->old_system_path);
- app->priv->old_system_path = NULL;
+ if (priv->old_system_path) {
+ g_free (priv->old_system_path);
+ priv->old_system_path = NULL;
}
}
@@ -403,30 +416,32 @@ _gsp_app_save (gpointer data)
char *use_path;
GKeyFile *keyfile;
GError *error;
+ GspAppPrivate *priv;
app = GSP_APP (data);
+ priv = gsp_app_get_instance_private (app);
/* first check if removing the data from the user dir and using the
* data from the system dir is enough -- this helps us keep clean the
* user config dir by removing unneeded files */
if (_gsp_app_user_equal_system (app, &use_path)) {
- if (g_file_test (app->priv->path, G_FILE_TEST_EXISTS)) {
- g_remove (app->priv->path);
+ if (g_file_test (priv->path, G_FILE_TEST_EXISTS)) {
+ g_remove (priv->path);
}
- g_free (app->priv->path);
- app->priv->path = use_path;
+ g_free (priv->path);
+ priv->path = use_path;
- app->priv->xdg_position = app->priv->xdg_system_position;
+ priv->xdg_position = priv->xdg_system_position;
_gsp_app_save_done_success (app);
return FALSE;
}
- if (app->priv->old_system_path)
- use_path = app->priv->old_system_path;
+ if (priv->old_system_path)
+ use_path = priv->old_system_path;
else
- use_path = app->priv->path;
+ use_path = priv->path;
keyfile = g_key_file_new ();
@@ -440,80 +455,83 @@ _gsp_app_save (gpointer data)
gsp_key_file_populate (keyfile);
}
- if (app->priv->save_mask & GSP_ASP_SAVE_MASK_HIDDEN) {
+ if (priv->save_mask & GSP_ASP_SAVE_MASK_HIDDEN) {
gsp_key_file_set_boolean (keyfile,
G_KEY_FILE_DESKTOP_KEY_HIDDEN,
- app->priv->hidden);
+ priv->hidden);
}
- if (app->priv->save_mask & GSP_ASP_SAVE_MASK_ENABLED) {
+ if (priv->save_mask & GSP_ASP_SAVE_MASK_ENABLED) {
gsp_key_file_set_boolean (keyfile,
GSP_KEY_FILE_DESKTOP_KEY_AUTOSTART_ENABLED,
- app->priv->enabled);
+ priv->enabled);
}
- if (app->priv->save_mask & GSP_ASP_SAVE_MASK_NAME) {
+ if (priv->save_mask & GSP_ASP_SAVE_MASK_NAME) {
gsp_key_file_set_locale_string (keyfile,
G_KEY_FILE_DESKTOP_KEY_NAME,
- app->priv->name);
+ priv->name);
gsp_key_file_ensure_C_key (keyfile, G_KEY_FILE_DESKTOP_KEY_NAME);
}
- if (app->priv->save_mask & GSP_ASP_SAVE_MASK_COMMENT) {
+ if (priv->save_mask & GSP_ASP_SAVE_MASK_COMMENT) {
gsp_key_file_set_locale_string (keyfile,
G_KEY_FILE_DESKTOP_KEY_COMMENT,
- app->priv->comment);
+ priv->comment);
gsp_key_file_ensure_C_key (keyfile, G_KEY_FILE_DESKTOP_KEY_COMMENT);
}
- if (app->priv->save_mask & GSP_ASP_SAVE_MASK_EXEC) {
+ if (priv->save_mask & GSP_ASP_SAVE_MASK_EXEC) {
gsp_key_file_set_string (keyfile,
G_KEY_FILE_DESKTOP_KEY_EXEC,
- app->priv->exec);
+ priv->exec);
}
_gsp_ensure_user_autostart_dir ();
- if (gsp_key_file_to_file (keyfile, app->priv->path, NULL)) {
- app->priv->skip_next_monitor_event = TRUE;
+ if (gsp_key_file_to_file (keyfile, priv->path, NULL)) {
+ priv->skip_next_monitor_event = TRUE;
_gsp_app_save_done_success (app);
} else {
- g_warning ("Could not save %s file", app->priv->path);
+ g_warning ("Could not save %s file", priv->path);
}
g_key_file_free (keyfile);
- app->priv->save_timeout = 0;
+ priv->save_timeout = 0;
return FALSE;
}
static void
_gsp_app_queue_save (GspApp *app)
{
- if (app->priv->save_timeout) {
- g_source_remove (app->priv->save_timeout);
- app->priv->save_timeout = 0;
+ GspAppPrivate *priv;
+
+ priv = gsp_app_get_instance_private (app);
+ if (priv->save_timeout) {
+ g_source_remove (priv->save_timeout);
+ priv->save_timeout = 0;
}
/* if the file was not in the user directory, then we'll create a copy
* there */
- if (app->priv->xdg_position != 0) {
- app->priv->xdg_position = 0;
+ if (priv->xdg_position != 0) {
+ priv->xdg_position = 0;
- if (app->priv->old_system_path == NULL) {
- app->priv->old_system_path = app->priv->path;
+ if (priv->old_system_path == NULL) {
+ priv->old_system_path = priv->path;
/* if old_system_path was not NULL, then it means we
* tried to save and we failed; in that case, we want
* to try again and use the old file as a basis again */
}
- app->priv->path = g_build_filename (g_get_user_config_dir (),
- "autostart",
- app->priv->basename, NULL);
+ priv->path = g_build_filename (g_get_user_config_dir (),
+ "autostart",
+ priv->basename, NULL);
}
- app->priv->save_timeout = g_timeout_add_seconds (GSP_APP_SAVE_DELAY,
- _gsp_app_save,
- app);
+ priv->save_timeout = g_timeout_add_seconds (GSP_APP_SAVE_DELAY,
+ _gsp_app_save,
+ app);
}
/*
@@ -523,47 +541,67 @@ _gsp_app_queue_save (GspApp *app)
const char *
gsp_app_get_basename (GspApp *app)
{
+ GspAppPrivate *priv;
+
g_return_val_if_fail (GSP_IS_APP (app), NULL);
- return app->priv->basename;
+ priv = gsp_app_get_instance_private (app);
+
+ return priv->basename;
}
const char *
gsp_app_get_path (GspApp *app)
{
+ GspAppPrivate *priv;
+
g_return_val_if_fail (GSP_IS_APP (app), NULL);
- return app->priv->path;
+ priv = gsp_app_get_instance_private (app);
+
+ return priv->path;
}
gboolean
gsp_app_get_hidden (GspApp *app)
{
+ GspAppPrivate *priv;
+
g_return_val_if_fail (GSP_IS_APP (app), FALSE);
- return app->priv->hidden;
+ priv = gsp_app_get_instance_private (app);
+
+ return priv->hidden;
}
gboolean
gsp_app_get_enabled (GspApp *app)
{
+ GspAppPrivate *priv;
+
g_return_val_if_fail (GSP_IS_APP (app), FALSE);
- return app->priv->enabled;
+ priv = gsp_app_get_instance_private (app);
+
+ return priv->enabled;
}
void
gsp_app_set_enabled (GspApp *app,
gboolean enabled)
{
+ GspAppPrivate *priv;
+
g_return_if_fail (GSP_IS_APP (app));
- if (enabled == app->priv->enabled) {
+ priv = gsp_app_get_instance_private (app);
+
+ if (enabled == priv->enabled) {
return;
}
- app->priv->enabled = enabled;
- app->priv->save_mask |= GSP_ASP_SAVE_MASK_ENABLED;
+ priv->enabled = enabled;
+ priv->save_mask |= GSP_ASP_SAVE_MASK_ENABLED;
_gsp_app_queue_save (app);
_gsp_app_emit_changed (app);
@@ -572,34 +610,50 @@ gsp_app_set_enabled (GspApp *app,
const char *
gsp_app_get_name (GspApp *app)
{
+ GspAppPrivate *priv;
+
g_return_val_if_fail (GSP_IS_APP (app), NULL);
- return app->priv->name;
+ priv = gsp_app_get_instance_private (app);
+
+ return priv->name;
}
const char *
gsp_app_get_exec (GspApp *app)
{
+ GspAppPrivate *priv;
+
g_return_val_if_fail (GSP_IS_APP (app), NULL);
- return app->priv->exec;
+ priv = gsp_app_get_instance_private (app);
+
+ return priv->exec;
}
const char *
gsp_app_get_comment (GspApp *app)
{
+ GspAppPrivate *priv;
+
g_return_val_if_fail (GSP_IS_APP (app), NULL);
- return app->priv->comment;
+ priv = gsp_app_get_instance_private (app);
+
+ return priv->comment;
}
GIcon *
gsp_app_get_icon (GspApp *app)
{
+ GspAppPrivate *priv;
+
g_return_val_if_fail (GSP_IS_APP (app), NULL);
- if (app->priv->gicon) {
- return g_object_ref (app->priv->gicon);
+ priv = gsp_app_get_instance_private (app);
+
+ if (priv->gicon) {
+ return g_object_ref (priv->gicon);
} else {
return NULL;
}
@@ -608,34 +662,50 @@ gsp_app_get_icon (GspApp *app)
unsigned int
gsp_app_get_xdg_position (GspApp *app)
{
+ GspAppPrivate *priv;
+
g_return_val_if_fail (GSP_IS_APP (app), G_MAXUINT);
- return app->priv->xdg_position;
+ priv = gsp_app_get_instance_private (app);
+
+ return priv->xdg_position;
}
unsigned int
gsp_app_get_xdg_system_position (GspApp *app)
{
+ GspAppPrivate *priv;
+
g_return_val_if_fail (GSP_IS_APP (app), G_MAXUINT);
- return app->priv->xdg_system_position;
+ priv = gsp_app_get_instance_private (app);
+
+ return priv->xdg_system_position;
}
void
gsp_app_set_xdg_system_position (GspApp *app,
unsigned int position)
{
+ GspAppPrivate *priv;
+
g_return_if_fail (GSP_IS_APP (app));
- app->priv->xdg_system_position = position;
+ priv = gsp_app_get_instance_private (app);
+
+ priv->xdg_system_position = position;
}
const char *
gsp_app_get_description (GspApp *app)
{
+ GspAppPrivate *priv;
+
g_return_val_if_fail (GSP_IS_APP (app), NULL);
- return app->priv->description;
+ priv = gsp_app_get_instance_private (app);
+
+ return priv->description;
}
/*
@@ -649,34 +719,36 @@ gsp_app_update (GspApp *app,
const char *exec)
{
gboolean changed;
+ GspAppPrivate *priv;
g_return_if_fail (GSP_IS_APP (app));
changed = FALSE;
+ priv = gsp_app_get_instance_private (app);
- if (!_gsp_str_equal (name, app->priv->name)) {
+ if (!_gsp_str_equal (name, priv->name)) {
changed = TRUE;
- g_free (app->priv->name);
- app->priv->name = g_strdup (name);
- app->priv->save_mask |= GSP_ASP_SAVE_MASK_NAME;
+ g_free (priv->name);
+ priv->name = g_strdup (name);
+ priv->save_mask |= GSP_ASP_SAVE_MASK_NAME;
}
- if (!_gsp_str_equal (comment, app->priv->comment)) {
+ if (!_gsp_str_equal (comment, priv->comment)) {
changed = TRUE;
- g_free (app->priv->comment);
- app->priv->comment = g_strdup (comment);
- app->priv->save_mask |= GSP_ASP_SAVE_MASK_COMMENT;
+ g_free (priv->comment);
+ priv->comment = g_strdup (comment);
+ priv->save_mask |= GSP_ASP_SAVE_MASK_COMMENT;
}
if (changed) {
_gsp_app_update_description (app);
}
- if (!_gsp_str_equal (exec, app->priv->exec)) {
+ if (!_gsp_str_equal (exec, priv->exec)) {
changed = TRUE;
- g_free (app->priv->exec);
- app->priv->exec = g_strdup (exec);
- app->priv->save_mask |= GSP_ASP_SAVE_MASK_EXEC;
+ g_free (priv->exec);
+ priv->exec = g_strdup (exec);
+ priv->save_mask |= GSP_ASP_SAVE_MASK_EXEC;
}
if (changed) {
@@ -688,30 +760,33 @@ gsp_app_update (GspApp *app,
void
gsp_app_delete (GspApp *app)
{
+ GspAppPrivate *priv;
+
g_return_if_fail (GSP_IS_APP (app));
- if (app->priv->xdg_position == 0 &&
- app->priv->xdg_system_position == G_MAXUINT) {
+ priv = gsp_app_get_instance_private (app);
+ if (priv->xdg_position == 0 &&
+ priv->xdg_system_position == G_MAXUINT) {
/* exists in user directory only */
- if (app->priv->save_timeout) {
- g_source_remove (app->priv->save_timeout);
- app->priv->save_timeout = 0;
+ if (priv->save_timeout) {
+ g_source_remove (priv->save_timeout);
+ priv->save_timeout = 0;
}
- if (g_file_test (app->priv->path, G_FILE_TEST_EXISTS)) {
- g_remove (app->priv->path);
+ if (g_file_test (priv->path, G_FILE_TEST_EXISTS)) {
+ g_remove (priv->path);
}
/* for extra safety */
- app->priv->hidden = TRUE;
- app->priv->save_mask |= GSP_ASP_SAVE_MASK_HIDDEN;
+ priv->hidden = TRUE;
+ priv->save_mask |= GSP_ASP_SAVE_MASK_HIDDEN;
_gsp_app_emit_removed (app);
} else {
/* also exists in system directory, so we have to keep a file
* in the user directory */
- app->priv->hidden = TRUE;
- app->priv->save_mask |= GSP_ASP_SAVE_MASK_HIDDEN;
+ priv->hidden = TRUE;
+ priv->save_mask |= GSP_ASP_SAVE_MASK_HIDDEN;
_gsp_app_queue_save (app);
_gsp_app_emit_changed (app);
@@ -727,9 +802,13 @@ gsp_app_reload_at (GspApp *app,
const char *path,
unsigned int xdg_position)
{
+ GspAppPrivate *priv;
+
g_return_if_fail (GSP_IS_APP (app));
- app->priv->xdg_position = G_MAXUINT;
+ priv = gsp_app_get_instance_private (app);
+
+ priv->xdg_position = G_MAXUINT;
gsp_app_new (path, xdg_position);
}
@@ -778,34 +857,36 @@ gsp_app_new (const char *path,
GKeyFile *keyfile;
char *basename;
gboolean new;
+ GspAppPrivate *priv;
basename = g_path_get_basename (path);
manager = gsp_app_manager_get ();
app = gsp_app_manager_find_app_with_basename (manager, basename);
+ priv = gsp_app_get_instance_private (app);
g_object_unref (manager);
new = (app == NULL);
if (!new) {
- if (app->priv->xdg_position == xdg_position) {
- if (app->priv->skip_next_monitor_event) {
- app->priv->skip_next_monitor_event = FALSE;
+ if (priv->xdg_position == xdg_position) {
+ if (priv->skip_next_monitor_event) {
+ priv->skip_next_monitor_event = FALSE;
return NULL;
}
/* else: the file got changed but not by us, we'll
* update our data from disk */
}
- if (app->priv->xdg_position < xdg_position ||
- app->priv->save_timeout != 0) {
+ if (priv->xdg_position < xdg_position ||
+ priv->save_timeout != 0) {
/* we don't really care about this file, since we
* already have something with a higher priority, or
* we're going to write something in the user config
* anyway.
* Note: xdg_position >= 1 so it's a system dir */
- app->priv->xdg_system_position = MIN (xdg_position,
- app->priv->xdg_system_position);
+ priv->xdg_system_position = MIN (xdg_position,
+ priv->xdg_system_position);
return NULL;
}
}
@@ -825,49 +906,50 @@ gsp_app_new (const char *path,
if (new) {
app = g_object_new (GSP_TYPE_APP, NULL);
- app->priv->basename = basename;
+ priv = gsp_app_get_instance_private (app);
+ priv->basename = basename;
} else {
g_free (basename);
_gsp_app_free_reusable_data (app);
}
- app->priv->path = g_strdup (path);
+ priv->path = g_strdup (path);
- app->priv->hidden = gsp_key_file_get_boolean (keyfile,
- G_KEY_FILE_DESKTOP_KEY_HIDDEN,
- FALSE);
- app->priv->enabled = gsp_key_file_get_boolean (keyfile,
- GSP_KEY_FILE_DESKTOP_KEY_AUTOSTART_ENABLED,
- TRUE);
+ priv->hidden = gsp_key_file_get_boolean (keyfile,
+ G_KEY_FILE_DESKTOP_KEY_HIDDEN,
+ FALSE);
+ priv->enabled = gsp_key_file_get_boolean (keyfile,
+ GSP_KEY_FILE_DESKTOP_KEY_AUTOSTART_ENABLED,
+ TRUE);
- app->priv->name = gsp_key_file_get_locale_string (keyfile,
- G_KEY_FILE_DESKTOP_KEY_NAME);
- app->priv->exec = gsp_key_file_get_string (keyfile,
- G_KEY_FILE_DESKTOP_KEY_EXEC);
- app->priv->comment = gsp_key_file_get_locale_string (keyfile,
- G_KEY_FILE_DESKTOP_KEY_COMMENT);
+ priv->name = gsp_key_file_get_locale_string (keyfile,
+ G_KEY_FILE_DESKTOP_KEY_NAME);
+ priv->exec = gsp_key_file_get_string (keyfile,
+ G_KEY_FILE_DESKTOP_KEY_EXEC);
+ priv->comment = gsp_key_file_get_locale_string (keyfile,
+ G_KEY_FILE_DESKTOP_KEY_COMMENT);
- if (gsm_util_text_is_blank (app->priv->name)) {
- g_free (app->priv->name);
- app->priv->name = g_strdup (app->priv->exec);
+ if (gsm_util_text_is_blank (priv->name)) {
+ g_free (priv->name);
+ priv->name = g_strdup (priv->exec);
}
- app->priv->icon = gsp_key_file_get_locale_string (keyfile,
- G_KEY_FILE_DESKTOP_KEY_ICON);
+ priv->icon = gsp_key_file_get_locale_string (keyfile,
+ G_KEY_FILE_DESKTOP_KEY_ICON);
- if (app->priv->icon) {
+ if (priv->icon) {
/* look at icon and see if it's a themed icon or not */
- if (g_path_is_absolute (app->priv->icon)) {
+ if (g_path_is_absolute (priv->icon)) {
GFile *iconfile;
- iconfile = g_file_new_for_path (app->priv->icon);
- app->priv->gicon = g_file_icon_new (iconfile);
+ iconfile = g_file_new_for_path (priv->icon);
+ priv->gicon = g_file_icon_new (iconfile);
g_object_unref (iconfile);
} else {
- app->priv->gicon = g_themed_icon_new (app->priv->icon);
+ priv->gicon = g_themed_icon_new (priv->icon);
}
} else {
- app->priv->gicon = NULL;
+ priv->gicon = NULL;
}
g_key_file_free (keyfile);
@@ -875,16 +957,16 @@ gsp_app_new (const char *path,
_gsp_app_update_description (app);
if (xdg_position > 0) {
- g_assert (xdg_position <= app->priv->xdg_system_position);
- app->priv->xdg_system_position = xdg_position;
+ g_assert (xdg_position <= priv->xdg_system_position);
+ priv->xdg_system_position = xdg_position;
}
/* else we keep the old value (which is G_MAXUINT if it wasn't set) */
- app->priv->xdg_position = xdg_position;
+ priv->xdg_position = xdg_position;
- g_assert (!new || app->priv->save_timeout == 0);
- app->priv->save_timeout = 0;
- app->priv->old_system_path = NULL;
- app->priv->skip_next_monitor_event = FALSE;
+ g_assert (!new || priv->save_timeout == 0);
+ priv->save_timeout = 0;
+ priv->old_system_path = NULL;
+ priv->skip_next_monitor_event = FALSE;
if (!new) {
_gsp_app_emit_changed (app);
@@ -956,6 +1038,7 @@ gsp_app_create (const char *name,
const char *exec)
{
GspAppManager *manager;
+ GspAppPrivate *priv;
GspApp *app;
char *basename;
char **argv;
@@ -974,35 +1057,36 @@ gsp_app_create (const char *name,
}
app = g_object_new (GSP_TYPE_APP, NULL);
+ priv = gsp_app_get_instance_private (app);
- app->priv->basename = basename;
- app->priv->path = g_build_filename (g_get_user_config_dir (),
- "autostart",
- app->priv->basename, NULL);
+ priv->basename = basename;
+ priv->path = g_build_filename (g_get_user_config_dir (),
+ "autostart",
+ priv->basename, NULL);
- app->priv->hidden = FALSE;
- app->priv->enabled = TRUE;
+ priv->hidden = FALSE;
+ priv->enabled = TRUE;
if (!gsm_util_text_is_blank (name)) {
- app->priv->name = g_strdup (name);
+ priv->name = g_strdup (name);
} else {
- app->priv->name = g_strdup (exec);
+ priv->name = g_strdup (exec);
}
- app->priv->exec = g_strdup (exec);
- app->priv->comment = g_strdup (comment);
- app->priv->icon = NULL;
+ priv->exec = g_strdup (exec);
+ priv->comment = g_strdup (comment);
+ priv->icon = NULL;
- app->priv->gicon = NULL;
+ priv->gicon = NULL;
_gsp_app_update_description (app);
/* by definition */
- app->priv->xdg_position = 0;
- app->priv->xdg_system_position = G_MAXUINT;
+ priv->xdg_position = 0;
+ priv->xdg_system_position = G_MAXUINT;
- app->priv->save_timeout = 0;
- app->priv->save_mask |= GSP_ASP_SAVE_MASK_ALL;
- app->priv->old_system_path = NULL;
- app->priv->skip_next_monitor_event = FALSE;
+ priv->save_timeout = 0;
+ priv->save_mask |= GSP_ASP_SAVE_MASK_ALL;
+ priv->old_system_path = NULL;
+ priv->skip_next_monitor_event = FALSE;
_gsp_app_queue_save (app);
@@ -1016,6 +1100,7 @@ gboolean
gsp_app_copy_desktop_file (const char *uri)
{
GspAppManager *manager;
+ GspAppPrivate *priv;
GspApp *app;
GFile *src_file;
char *src_basename;
@@ -1062,6 +1147,7 @@ gsp_app_copy_desktop_file (const char *uri)
g_object_unref (dst_file);
app = gsp_app_new (dst_path, 0);
+ priv = gsp_app_get_instance_private (app);
if (!app) {
g_remove (dst_path);
g_free (dst_path);
@@ -1071,16 +1157,16 @@ gsp_app_copy_desktop_file (const char *uri)
g_free (dst_path);
changed = FALSE;
- if (app->priv->hidden) {
+ if (priv->hidden) {
changed = TRUE;
- app->priv->hidden = FALSE;
- app->priv->save_mask |= GSP_ASP_SAVE_MASK_HIDDEN;
+ priv->hidden = FALSE;
+ priv->save_mask |= GSP_ASP_SAVE_MASK_HIDDEN;
}
- if (!app->priv->enabled) {
+ if (!priv->enabled) {
changed = TRUE;
- app->priv->enabled = TRUE;
- app->priv->save_mask |= GSP_ASP_SAVE_MASK_ENABLED;
+ priv->enabled = TRUE;
+ priv->save_mask |= GSP_ASP_SAVE_MASK_ENABLED;
}
if (changed) {
diff --git a/capplet/gsp-app.h b/capplet/gsp-app.h
index b72db13..3525d9f 100644
--- a/capplet/gsp-app.h
+++ b/capplet/gsp-app.h
@@ -27,21 +27,10 @@
#include <glib-object.h>
#include <gio/gio.h>
-#ifdef __cplusplus
-extern "C" {
-#endif
+G_BEGIN_DECLS
#define GSP_TYPE_APP (gsp_app_get_type ())
-#define GSP_APP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GSP_TYPE_APP, GspApp))
-#define GSP_APP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GSP_TYPE_APP, GspAppClass))
-#define GSP_IS_APP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GSP_TYPE_APP))
-#define GSP_IS_APP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GSP_TYPE_APP))
-#define GSP_APP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GSP_TYPE_APP, GspAppClass))
-
-typedef struct _GspApp GspApp;
-typedef struct _GspAppClass GspAppClass;
-
-typedef struct _GspAppPrivate GspAppPrivate;
+G_DECLARE_DERIVABLE_TYPE (GspApp, gsp_app, GSP, APP, GObject)
struct _GspAppClass
{
@@ -51,14 +40,7 @@ struct _GspAppClass
void (* removed) (GspApp *app);
};
-struct _GspApp
-{
- GObject parent_instance;
-
- GspAppPrivate *priv;
-};
-
-GType gsp_app_get_type (void);
+GType gsp_app_get_type (void) G_GNUC_CONST;
void gsp_app_create (const char *name,
const char *comment,
@@ -102,8 +84,6 @@ unsigned int gsp_app_get_xdg_system_position (GspApp *app);
void gsp_app_set_xdg_system_position (GspApp *app,
unsigned int position);
-#ifdef __cplusplus
-}
-#endif
+G_END_DECLS
#endif /* __GSP_APP_H */
diff --git a/mate-session/gsm-app.c b/mate-session/gsm-app.c
index 55c2911..7d693b8 100644
--- a/mate-session/gsm-app.c
+++ b/mate-session/gsm-app.c
@@ -29,17 +29,13 @@
#include "gsm-app.h"
#include "gsm-app-glue.h"
-#define GSM_APP_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GSM_TYPE_APP, GsmAppPrivate))
-
-struct _GsmAppPrivate
-{
+typedef struct {
char *id;
char *app_id;
int phase;
char *startup_id;
DBusGConnection *connection;
-};
-
+} GsmAppPrivate;
enum {
EXITED,
@@ -60,7 +56,7 @@ enum {
LAST_PROP
};
-G_DEFINE_TYPE (GsmApp, gsm_app, G_TYPE_OBJECT)
+G_DEFINE_TYPE_WITH_PRIVATE (GsmApp, gsm_app, G_TYPE_OBJECT)
GQuark
gsm_app_error_quark (void)
@@ -92,10 +88,13 @@ static gboolean
register_app (GsmApp *app)
{
GError *error;
+ GsmAppPrivate *priv;
error = NULL;
- app->priv->connection = dbus_g_bus_get (DBUS_BUS_SESSION, &error);
- if (app->priv->connection == NULL) {
+ priv = gsm_app_get_instance_private (app);
+
+ priv->connection = dbus_g_bus_get (DBUS_BUS_SESSION, &error);
+ if (priv->connection == NULL) {
if (error != NULL) {
g_critical ("error getting session bus: %s", error->message);
g_error_free (error);
@@ -103,7 +102,7 @@ register_app (GsmApp *app)
return FALSE;
}
- dbus_g_connection_register_g_object (app->priv->connection, app->priv->id, G_OBJECT (app));
+ dbus_g_connection_register_g_object (priv->connection, priv->id, G_OBJECT (app));
return TRUE;
}
@@ -115,13 +114,15 @@ gsm_app_constructor (GType type,
{
GsmApp *app;
gboolean res;
+ GsmAppPrivate *priv;
app = GSM_APP (G_OBJECT_CLASS (gsm_app_parent_class)->constructor (type,
n_construct_properties,
construct_properties));
+ priv = gsm_app_get_instance_private (app);
- g_free (app->priv->id);
- app->priv->id = g_strdup_printf ("/org/gnome/SessionManager/App%u", get_next_app_serial ());
+ g_free (priv->id);
+ priv->id = g_strdup_printf ("/org/gnome/SessionManager/App%u", get_next_app_serial ());
res = register_app (app);
if (! res) {
@@ -134,27 +135,32 @@ gsm_app_constructor (GType type,
static void
gsm_app_init (GsmApp *app)
{
- app->priv = GSM_APP_GET_PRIVATE (app);
}
static void
gsm_app_set_phase (GsmApp *app,
int phase)
{
+ GsmAppPrivate *priv;
g_return_if_fail (GSM_IS_APP (app));
- app->priv->phase = phase;
+ priv = gsm_app_get_instance_private (app);
+
+ priv->phase = phase;
}
static void
gsm_app_set_id (GsmApp *app,
const char *id)
{
+ GsmAppPrivate *priv;
g_return_if_fail (GSM_IS_APP (app));
- g_free (app->priv->id);
+ priv = gsm_app_get_instance_private (app);
+
+ g_free (priv->id);
- app->priv->id = g_strdup (id);
+ priv->id = g_strdup (id);
g_object_notify (G_OBJECT (app), "id");
}
@@ -162,11 +168,14 @@ static void
gsm_app_set_startup_id (GsmApp *app,
const char *startup_id)
{
+ GsmAppPrivate *priv;
g_return_if_fail (GSM_IS_APP (app));
- g_free (app->priv->startup_id);
+ priv = gsm_app_get_instance_private (app);
- app->priv->startup_id = g_strdup (startup_id);
+ g_free (priv->startup_id);
+
+ priv->startup_id = g_strdup (startup_id);
g_object_notify (G_OBJECT (app), "startup-id");
}
@@ -200,17 +209,20 @@ gsm_app_get_property (GObject *object,
GValue *value,
GParamSpec *pspec)
{
+ GsmAppPrivate *priv;
GsmApp *app = GSM_APP (object);
+ priv = gsm_app_get_instance_private (app);
+
switch (prop_id) {
case PROP_STARTUP_ID:
- g_value_set_string (value, app->priv->startup_id);
+ g_value_set_string (value, priv->startup_id);
break;
case PROP_ID:
- g_value_set_string (value, app->priv->id);
+ g_value_set_string (value, priv->id);
break;
case PROP_PHASE:
- g_value_set_int (value, app->priv->phase);
+ g_value_set_int (value, priv->phase);
break;
default:
break;
@@ -220,13 +232,16 @@ gsm_app_get_property (GObject *object,
static void
gsm_app_dispose (GObject *object)
{
+ GsmAppPrivate *priv;
GsmApp *app = GSM_APP (object);
- g_free (app->priv->startup_id);
- app->priv->startup_id = NULL;
+ priv = gsm_app_get_instance_private (app);
- g_free (app->priv->id);
- app->priv->id = NULL;
+ g_free (priv->startup_id);
+ priv->startup_id = NULL;
+
+ g_free (priv->id);
+ priv->id = NULL;
G_OBJECT_CLASS (gsm_app_parent_class)->dispose (object);
}
@@ -301,14 +316,16 @@ gsm_app_class_init (GsmAppClass *klass)
G_TYPE_NONE,
0);
- g_type_class_add_private (klass, sizeof (GsmAppPrivate));
dbus_g_object_type_install_info (GSM_TYPE_APP, &dbus_glib_gsm_app_object_info);
}
const char *
gsm_app_peek_id (GsmApp *app)
{
- return app->priv->id;
+ GsmAppPrivate *priv;
+ priv = gsm_app_get_instance_private (app);
+
+ return priv->id;
}
const char *
@@ -320,7 +337,10 @@ gsm_app_peek_app_id (GsmApp *app)
const char *
gsm_app_peek_startup_id (GsmApp *app)
{
- return app->priv->startup_id;
+ GsmAppPrivate *priv;
+
+ priv = gsm_app_get_instance_private (app);
+ return priv->startup_id;
}
/**
@@ -334,9 +354,12 @@ gsm_app_peek_startup_id (GsmApp *app)
GsmManagerPhase
gsm_app_peek_phase (GsmApp *app)
{
+ GsmAppPrivate *priv;
g_return_val_if_fail (GSM_IS_APP (app), GSM_MANAGER_PHASE_APPLICATION);
- return app->priv->phase;
+ priv = gsm_app_get_instance_private (app);
+
+ return priv->phase;
}
gboolean
@@ -414,7 +437,10 @@ gboolean
gsm_app_start (GsmApp *app,
GError **error)
{
- g_debug ("Starting app: %s", app->priv->id);
+ GsmAppPrivate *priv;
+
+ priv = gsm_app_get_instance_private (app);
+ g_debug ("Starting app: %s", priv->id);
return GSM_APP_GET_CLASS (app)->impl_start (app, error);
}
@@ -423,7 +449,11 @@ gboolean
gsm_app_restart (GsmApp *app,
GError **error)
{
- g_debug ("Re-starting app: %s", app->priv->id);
+ GsmAppPrivate *priv;
+
+ priv = gsm_app_get_instance_private (app);
+
+ g_debug ("Re-starting app: %s", priv->id);
return GSM_APP_GET_CLASS (app)->impl_restart (app, error);
}
@@ -486,8 +516,11 @@ gsm_app_get_startup_id (GsmApp *app,
char **id,
GError **error)
{
+ GsmAppPrivate *priv;
g_return_val_if_fail (GSM_IS_APP (app), FALSE);
- *id = g_strdup (app->priv->startup_id);
+
+ priv = gsm_app_get_instance_private (app);
+ *id = g_strdup (priv->startup_id);
return TRUE;
}
@@ -496,7 +529,10 @@ gsm_app_get_phase (GsmApp *app,
guint *phase,
GError **error)
{
+ GsmAppPrivate *priv;
g_return_val_if_fail (GSM_IS_APP (app), FALSE);
- *phase = app->priv->phase;
+
+ priv = gsm_app_get_instance_private (app);
+ *phase = priv->phase;
return TRUE;
}
diff --git a/mate-session/gsm-app.h b/mate-session/gsm-app.h
index a1adaa3..a535fc5 100644
--- a/mate-session/gsm-app.h
+++ b/mate-session/gsm-app.h
@@ -30,26 +30,10 @@
#include "gsm-manager.h"
#include "gsm-client.h"
-#ifdef __cplusplus
-extern "C" {
-#endif
+G_BEGIN_DECLS
#define GSM_TYPE_APP (gsm_app_get_type ())
-#define GSM_APP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GSM_TYPE_APP, GsmApp))
-#define GSM_APP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GSM_TYPE_APP, GsmAppClass))
-#define GSM_IS_APP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GSM_TYPE_APP))
-#define GSM_IS_APP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GSM_TYPE_APP))
-#define GSM_APP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GSM_TYPE_APP, GsmAppClass))
-
-typedef struct _GsmApp GsmApp;
-typedef struct _GsmAppClass GsmAppClass;
-typedef struct _GsmAppPrivate GsmAppPrivate;
-
-struct _GsmApp
-{
- GObject parent;
- GsmAppPrivate *priv;
-};
+G_DECLARE_DERIVABLE_TYPE (GsmApp, gsm_app, GSM, APP, GObject)
struct _GsmAppClass
{
@@ -131,8 +115,6 @@ gboolean gsm_app_get_phase (GsmApp *app,
guint *phase,
GError **error);
-#ifdef __cplusplus
-}
-#endif
+G_END_DECLS
#endif /* __GSM_APP_H__ */
diff --git a/mate-session/gsm-autostart-app.c b/mate-session/gsm-autostart-app.c
index 11ac4f4..aac072c 100644
--- a/mate-session/gsm-autostart-app.c
+++ b/mate-session/gsm-autostart-app.c
@@ -56,7 +56,7 @@ enum {
#define GSM_SESSION_CLIENT_DBUS_INTERFACE "org.mate.SessionClient"
-struct _GsmAutostartAppPrivate {
+typedef struct {
char *desktop_filename;
char *desktop_id;
char *startup_id;
@@ -78,7 +78,7 @@ struct _GsmAutostartAppPrivate {
DBusGProxy *proxy;
DBusGProxyCall *proxy_call;
-};
+} GsmAutostartAppPrivate;
enum {
CONDITION_CHANGED,
@@ -92,19 +92,19 @@ enum {
static guint signals[LAST_SIGNAL] = { 0 };
-#define GSM_AUTOSTART_APP_GET_PRIVATE(object) (G_TYPE_INSTANCE_GET_PRIVATE ((object), GSM_TYPE_AUTOSTART_APP, GsmAutostartAppPrivate))
-
-G_DEFINE_TYPE (GsmAutostartApp, gsm_autostart_app, GSM_TYPE_APP)
+G_DEFINE_TYPE_WITH_PRIVATE (GsmAutostartApp, gsm_autostart_app, GSM_TYPE_APP)
static void
gsm_autostart_app_init (GsmAutostartApp *app)
{
- app->priv = GSM_AUTOSTART_APP_GET_PRIVATE (app);
+ GsmAutostartAppPrivate *priv;
- app->priv->pid = -1;
- app->priv->condition_monitor = NULL;
- app->priv->condition = FALSE;
- app->priv->autostart_delay = -1;
+ priv = gsm_autostart_app_get_instance_private (app);
+
+ priv->pid = -1;
+ priv->condition_monitor = NULL;
+ priv->condition = FALSE;
+ priv->autostart_delay = -1;
}
static gboolean
@@ -112,7 +112,7 @@ is_disabled (GsmApp *app)
{
GsmAutostartAppPrivate *priv;
- priv = GSM_AUTOSTART_APP (app)->priv;
+ priv = gsm_autostart_app_get_instance_private (GSM_AUTOSTART_APP(app));
/* GSM_AUTOSTART_APP_ENABLED_KEY key, used by old mate-session */
if (egg_desktop_file_has_key (priv->desktop_file,
@@ -196,7 +196,7 @@ if_exists_condition_cb (GFileMonitor *monitor,
GsmAutostartAppPrivate *priv;
gboolean condition = FALSE;
- priv = GSM_AUTOSTART_APP (app)->priv;
+ priv = gsm_autostart_app_get_instance_private (GSM_AUTOSTART_APP(app));
switch (event) {
case G_FILE_MONITOR_EVENT_CREATED:
@@ -227,7 +227,7 @@ unless_exists_condition_cb (GFileMonitor *monitor,
GsmAutostartAppPrivate *priv;
gboolean condition = FALSE;
- priv = GSM_AUTOSTART_APP (app)->priv;
+ priv = gsm_autostart_app_get_instance_private (GSM_AUTOSTART_APP(app));
switch (event) {
case G_FILE_MONITOR_EVENT_CREATED:
@@ -261,7 +261,7 @@ gsettings_condition_cb (GSettings *settings,
app = GSM_APP (user_data);
- priv = GSM_AUTOSTART_APP (app)->priv;
+ priv = gsm_autostart_app_get_instance_private (GSM_AUTOSTART_APP(app));
condition = g_settings_get_boolean (settings, key);
@@ -286,9 +286,12 @@ setup_gsettings_condition_monitor (GsmAutostartApp *app,
char **elems;
gboolean retval = FALSE;
char *signal;
+ GsmAutostartAppPrivate *priv;
elems = g_strsplit (key, " ", 2);
+ priv = gsm_autostart_app_get_instance_private (app);
+
if (elems == NULL)
goto out;
@@ -312,7 +315,7 @@ setup_gsettings_condition_monitor (GsmAutostartApp *app,
retval = g_settings_get_boolean (settings, elems[1]);
- app->priv->condition_settings = settings;
+ priv->condition_settings = settings;
out:
g_strfreev (elems);
@@ -327,17 +330,20 @@ setup_condition_monitor (GsmAutostartApp *app)
char *key;
gboolean res;
gboolean UNUSED_VARIABLE disabled;
+ GsmAutostartAppPrivate *priv;
+
+ priv = gsm_autostart_app_get_instance_private (app);
- if (app->priv->condition_monitor != NULL) {
- g_file_monitor_cancel (app->priv->condition_monitor);
+ if (priv->condition_monitor != NULL) {
+ g_file_monitor_cancel (priv->condition_monitor);
}
- if (app->priv->condition_settings != NULL) {
- g_object_unref (app->priv->condition_settings);
- app->priv->condition_settings = NULL;
+ if (priv->condition_settings != NULL) {
+ g_object_unref (priv->condition_settings);
+ priv->condition_settings = NULL;
}
- if (app->priv->condition_string == NULL) {
+ if (priv->condition_string == NULL) {
return;
}
@@ -347,7 +353,7 @@ setup_condition_monitor (GsmAutostartApp *app)
}
key = NULL;
- res = parse_condition_string (app->priv->condition_string, &kind, &key);
+ res = parse_condition_string (priv->condition_string, &kind, &key);
if (! res) {
g_free (key);
return;
@@ -366,9 +372,9 @@ setup_condition_monitor (GsmAutostartApp *app)
disabled = !g_file_test (file_path, G_FILE_TEST_EXISTS);
file = g_file_new_for_path (file_path);
- app->priv->condition_monitor = g_file_monitor_file (file, 0, NULL, NULL);
+ priv->condition_monitor = g_file_monitor_file (file, 0, NULL, NULL);
- g_signal_connect (app->priv->condition_monitor, "changed",
+ g_signal_connect (priv->condition_monitor, "changed",
G_CALLBACK (if_exists_condition_cb),
app);
@@ -383,9 +389,9 @@ setup_condition_monitor (GsmAutostartApp *app)
disabled = g_file_test (file_path, G_FILE_TEST_EXISTS);
file = g_file_new_for_path (file_path);
- app->priv->condition_monitor = g_file_monitor_file (file, 0, NULL, NULL);
+ priv->condition_monitor = g_file_monitor_file (file, 0, NULL, NULL);
- g_signal_connect (app->priv->condition_monitor, "changed",
+ g_signal_connect (priv->condition_monitor, "changed",
G_CALLBACK (unless_exists_condition_cb),
app);
@@ -412,12 +418,15 @@ load_desktop_file (GsmAutostartApp *app)
char *phase_str;
int phase;
gboolean res;
+ GsmAutostartAppPrivate *priv;
+
+ priv = gsm_autostart_app_get_instance_private (app);
- if (app->priv->desktop_file == NULL) {
+ if (priv->desktop_file == NULL) {
return FALSE;
}
- phase_str = egg_desktop_file_get_string (app->priv->desktop_file,
+ phase_str = egg_desktop_file_get_string (priv->desktop_file,
GSM_AUTOSTART_APP_PHASE_KEY,
NULL);
if (phase_str != NULL) {
@@ -438,20 +447,20 @@ load_desktop_file (GsmAutostartApp *app)
phase = GSM_MANAGER_PHASE_APPLICATION;
}
- dbus_name = egg_desktop_file_get_string (app->priv->desktop_file,
+ dbus_name = egg_desktop_file_get_string (priv->desktop_file,
GSM_AUTOSTART_APP_DBUS_NAME_KEY,
NULL);
if (dbus_name != NULL) {
- app->priv->launch_type = AUTOSTART_LAUNCH_ACTIVATE;
+ priv->launch_type = AUTOSTART_LAUNCH_ACTIVATE;
} else {
- app->priv->launch_type = AUTOSTART_LAUNCH_SPAWN;
+ priv->launch_type = AUTOSTART_LAUNCH_SPAWN;
}
/* this must only be done on first load */
- switch (app->priv->launch_type) {
+ switch (priv->launch_type) {
case AUTOSTART_LAUNCH_SPAWN:
startup_id =
- egg_desktop_file_get_string (app->priv->desktop_file,
+ egg_desktop_file_get_string (priv->desktop_file,
GSM_AUTOSTART_APP_STARTUP_ID_KEY,
NULL);
@@ -466,32 +475,32 @@ load_desktop_file (GsmAutostartApp *app)
g_assert_not_reached ();
}
- res = egg_desktop_file_has_key (app->priv->desktop_file,
+ res = egg_desktop_file_has_key (priv->desktop_file,
GSM_AUTOSTART_APP_AUTORESTART_KEY,
NULL);
if (res) {
- app->priv->autorestart = egg_desktop_file_get_boolean (app->priv->desktop_file,
- GSM_AUTOSTART_APP_AUTORESTART_KEY,
- NULL);
+ priv->autorestart = egg_desktop_file_get_boolean (priv->desktop_file,
+ GSM_AUTOSTART_APP_AUTORESTART_KEY,
+ NULL);
} else {
- app->priv->autorestart = FALSE;
+ priv->autorestart = FALSE;
}
- g_free (app->priv->condition_string);
- app->priv->condition_string = egg_desktop_file_get_string (app->priv->desktop_file,
- "AutostartCondition",
- NULL);
+ g_free (priv->condition_string);
+ priv->condition_string = egg_desktop_file_get_string (priv->desktop_file,
+ "AutostartCondition",
+ NULL);
setup_condition_monitor (app);
if (phase == GSM_MANAGER_PHASE_APPLICATION) {
/* Only accept an autostart delay for the application phase */
- app->priv->autostart_delay = egg_desktop_file_get_integer (app->priv->desktop_file,
- GSM_AUTOSTART_APP_DELAY_KEY,
- NULL);
- if (app->priv->autostart_delay < 0) {
- g_warning ("Invalid autostart delay of %d for %s", app->priv->autostart_delay,
+ priv->autostart_delay = egg_desktop_file_get_integer (priv->desktop_file,
+ GSM_AUTOSTART_APP_DELAY_KEY,
+ NULL);
+ if (priv->autostart_delay < 0) {
+ g_warning ("Invalid autostart delay of %d for %s", priv->autostart_delay,
gsm_app_peek_id (GSM_APP (app)));
- app->priv->autostart_delay = -1;
+ priv->autostart_delay = -1;
}
}
@@ -511,22 +520,25 @@ gsm_autostart_app_set_desktop_filename (GsmAutostartApp *app,
const char *desktop_filename)
{
GError *error;
+ GsmAutostartAppPrivate *priv;
+
+ priv = gsm_autostart_app_get_instance_private (app);
- if (app->priv->desktop_file != NULL) {
- egg_desktop_file_free (app->priv->desktop_file);
- app->priv->desktop_file = NULL;
- g_free (app->priv->desktop_id);
+ if (priv->desktop_file != NULL) {
+ egg_desktop_file_free (priv->desktop_file);
+ priv->desktop_file = NULL;
+ g_free (priv->desktop_id);
}
if (desktop_filename == NULL) {
return;
}
- app->priv->desktop_id = g_path_get_basename (desktop_filename);
+ priv->desktop_id = g_path_get_basename (desktop_filename);
error = NULL;
- app->priv->desktop_file = egg_desktop_file_new (desktop_filename, &error);
- if (app->priv->desktop_file == NULL) {
+ priv->desktop_file = egg_desktop_file_new (desktop_filename, &error);
+ if (priv->desktop_file == NULL) {
g_warning ("Could not parse desktop file %s: %s",
desktop_filename,
error->message);
@@ -562,13 +574,15 @@ gsm_autostart_app_get_property (GObject *object,
GParamSpec *pspec)
{
GsmAutostartApp *self;
+ GsmAutostartAppPrivate *priv;
self = GSM_AUTOSTART_APP (object);
+ priv = gsm_autostart_app_get_instance_private (self);
switch (prop_id) {
case PROP_DESKTOP_FILENAME:
- if (self->priv->desktop_file != NULL) {
- g_value_set_string (value, egg_desktop_file_get_source (self->priv->desktop_file));
+ if (priv->desktop_file != NULL) {
+ g_value_set_string (value, egg_desktop_file_get_source (priv->desktop_file));
} else {
g_value_set_string (value, NULL);
}
@@ -584,7 +598,7 @@ gsm_autostart_app_dispose (GObject *object)
{
GsmAutostartAppPrivate *priv;
- priv = GSM_AUTOSTART_APP (object)->priv;
+ priv = gsm_autostart_app_get_instance_private (GSM_AUTOSTART_APP(object));
if (priv->startup_id) {
g_free (priv->startup_id);
@@ -639,7 +653,7 @@ is_running (GsmApp *app)
GsmAutostartAppPrivate *priv;
gboolean is;
- priv = GSM_AUTOSTART_APP (app)->priv;
+ priv = gsm_autostart_app_get_instance_private (GSM_AUTOSTART_APP(app));
/* is running if pid is still valid or
* or a client is connected
@@ -653,13 +667,13 @@ is_running (GsmApp *app)
static gboolean
is_conditionally_disabled (GsmApp *app)
{
- GsmAutostartAppPrivate *priv;
gboolean res;
gboolean disabled;
char *key;
guint kind;
+ GsmAutostartAppPrivate *priv;
- priv = GSM_AUTOSTART_APP (app)->priv;
+ priv = gsm_autostart_app_get_instance_private (GSM_AUTOSTART_APP(app));
/* Check AutostartCondition */
if (priv->condition_string == NULL) {
@@ -716,6 +730,9 @@ app_exited (GPid pid,
int status,
GsmAutostartApp *app)
{
+ GsmAutostartAppPrivate *priv;
+
+ priv = gsm_autostart_app_get_instance_private (app);
g_debug ("GsmAutostartApp: (pid:%d) done (%s:%d)",
(int) pid,
WIFEXITED (status) ? "status"
@@ -725,9 +742,9 @@ app_exited (GPid pid,
: WIFSIGNALED (status) ? WTERMSIG (status)
: -1);
- g_spawn_close_pid (app->priv->pid);
- app->priv->pid = -1;
- app->priv->child_watch_id = 0;
+ g_spawn_close_pid (priv->pid);
+ priv->pid = -1;
+ priv->child_watch_id = 0;
if (WIFEXITED (status)) {
gsm_app_exited (GSM_APP (app));
@@ -768,8 +785,11 @@ autostart_app_stop_spawn (GsmAutostartApp *app,
GError **error)
{
int res;
+ GsmAutostartAppPrivate *priv;
+
+ priv = gsm_autostart_app_get_instance_private (app);
- if (app->priv->pid < 1) {
+ if (priv->pid < 1) {
g_set_error (error,
GSM_APP_ERROR,
GSM_APP_ERROR_STOP,
@@ -777,7 +797,7 @@ autostart_app_stop_spawn (GsmAutostartApp *app,
return FALSE;
}
- res = _signal_pid (app->priv->pid, SIGTERM);
+ res = _signal_pid (priv->pid, SIGTERM);
if (res != 0) {
g_set_error (error,
GSM_APP_ERROR,
@@ -803,12 +823,14 @@ gsm_autostart_app_stop (GsmApp *app,
{
GsmAutostartApp *aapp;
gboolean ret;
+ GsmAutostartAppPrivate *priv;
aapp = GSM_AUTOSTART_APP (app);
- g_return_val_if_fail (aapp->priv->desktop_file != NULL, FALSE);
+ priv = gsm_autostart_app_get_instance_private (aapp);
+ g_return_val_if_fail (priv->desktop_file != NULL, FALSE);
- switch (aapp->priv->launch_type) {
+ switch (priv->launch_type) {
case AUTOSTART_LAUNCH_SPAWN:
ret = autostart_app_stop_spawn (aapp, error);
break;
@@ -832,43 +854,45 @@ autostart_app_start_spawn (GsmAutostartApp *app,
GError *local_error;
const char *startup_id;
char *command;
+ GsmAutostartAppPrivate *priv;
startup_id = gsm_app_peek_startup_id (GSM_APP (app));
g_assert (startup_id != NULL);
+ priv = gsm_autostart_app_get_instance_private (app);
env[0] = g_strdup_printf ("DESKTOP_AUTOSTART_ID=%s", startup_id);
local_error = NULL;
- command = egg_desktop_file_parse_exec (app->priv->desktop_file,
+ command = egg_desktop_file_parse_exec (priv->desktop_file,
NULL,
&local_error);
if (command == NULL) {
g_warning ("Unable to parse command from '%s': %s",
- egg_desktop_file_get_source (app->priv->desktop_file),
+ egg_desktop_file_get_source (priv->desktop_file),
local_error->message);
g_error_free (local_error);
}
- g_debug ("GsmAutostartApp: starting %s: command=%s startup-id=%s", app->priv->desktop_id, command, startup_id);
+ g_debug ("GsmAutostartApp: starting %s: command=%s startup-id=%s", priv->desktop_id, command, startup_id);
g_free (command);
- g_free (app->priv->startup_id);
+ g_free (priv->startup_id);
local_error = NULL;
- success = egg_desktop_file_launch (app->priv->desktop_file,
+ success = egg_desktop_file_launch (priv->desktop_file,
NULL,
&local_error,
EGG_DESKTOP_FILE_LAUNCH_PUTENV, env,
EGG_DESKTOP_FILE_LAUNCH_FLAGS, G_SPAWN_DO_NOT_REAP_CHILD,
- EGG_DESKTOP_FILE_LAUNCH_RETURN_PID, &app->priv->pid,
- EGG_DESKTOP_FILE_LAUNCH_RETURN_STARTUP_ID, &app->priv->startup_id,
+ EGG_DESKTOP_FILE_LAUNCH_RETURN_PID, &priv->pid,
+ EGG_DESKTOP_FILE_LAUNCH_RETURN_STARTUP_ID, &priv->startup_id,
NULL);
g_free (env[0]);
if (success) {
- g_debug ("GsmAutostartApp: started pid:%d", app->priv->pid);
- app->priv->child_watch_id = g_child_watch_add (app->priv->pid,
- (GChildWatchFunc)app_exited,
- app);
+ g_debug ("GsmAutostartApp: started pid:%d", priv->pid);
+ priv->child_watch_id = g_child_watch_add (priv->pid,
+ (GChildWatchFunc)app_exited,
+ app);
} else {
g_set_error (error,
GSM_APP_ERROR,
@@ -887,19 +911,22 @@ start_notify (DBusGProxy *proxy,
{
gboolean res;
GError *error;
+ GsmAutostartAppPrivate *priv;
+
+ priv = gsm_autostart_app_get_instance_private (app);
error = NULL;
res = dbus_g_proxy_end_call (proxy,
call,
&error,
G_TYPE_INVALID);
- app->priv->proxy_call = NULL;
+ priv->proxy_call = NULL;
if (! res) {
g_warning ("GsmAutostartApp: Error starting application: %s", error->message);
g_error_free (error);
} else {
- g_debug ("GsmAutostartApp: Started application %s", app->priv->desktop_id);
+ g_debug ("GsmAutostartApp: Started application %s", priv->desktop_id);
}
}
@@ -912,6 +939,9 @@ autostart_app_start_activate (GsmAutostartApp *app,
char *arguments;
DBusGConnection *bus;
GError *local_error;
+ GsmAutostartAppPrivate *priv;
+
+ priv = gsm_autostart_app_get_instance_private (app);
local_error = NULL;
bus = dbus_g_bus_get (DBUS_BUS_SESSION, &local_error);
@@ -926,7 +956,7 @@ autostart_app_start_activate (GsmAutostartApp *app,
name = gsm_app_peek_startup_id (GSM_APP (app));
g_assert (name != NULL);
- path = egg_desktop_file_get_string (app->priv->desktop_file,
+ path = egg_desktop_file_get_string (priv->desktop_file,
GSM_AUTOSTART_APP_DBUS_PATH_KEY,
NULL);
if (path == NULL) {
@@ -934,15 +964,15 @@ autostart_app_start_activate (GsmAutostartApp *app,
path = g_strdup ("/");
}
- arguments = egg_desktop_file_get_string (app->priv->desktop_file,
+ arguments = egg_desktop_file_get_string (priv->desktop_file,
GSM_AUTOSTART_APP_DBUS_ARGS_KEY,
NULL);
- app->priv->proxy = dbus_g_proxy_new_for_name (bus,
- name,
- path,
- GSM_SESSION_CLIENT_DBUS_INTERFACE);
- if (app->priv->proxy == NULL) {
+ priv->proxy = dbus_g_proxy_new_for_name (bus,
+ name,
+ path,
+ GSM_SESSION_CLIENT_DBUS_INTERFACE);
+ if (priv->proxy == NULL) {
g_set_error (error,
GSM_APP_ERROR,
GSM_APP_ERROR_START,
@@ -950,16 +980,16 @@ autostart_app_start_activate (GsmAutostartApp *app,
return FALSE;
}
- app->priv->proxy_call = dbus_g_proxy_begin_call (app->priv->proxy,
- "Start",
- (DBusGProxyCallNotify)start_notify,
- app,
- NULL,
- G_TYPE_STRING, arguments,
- G_TYPE_INVALID);
- if (app->priv->proxy_call == NULL) {
- g_object_unref (app->priv->proxy);
- app->priv->proxy = NULL;
+ priv->proxy_call = dbus_g_proxy_begin_call (priv->proxy,
+ "Start",
+ (DBusGProxyCallNotify)start_notify,
+ app,
+ NULL,
+ G_TYPE_STRING, arguments,
+ G_TYPE_INVALID);
+ if (priv->proxy_call == NULL) {
+ g_object_unref (priv->proxy);
+ priv->proxy = NULL;
g_set_error (error,
GSM_APP_ERROR,
GSM_APP_ERROR_START,
@@ -976,12 +1006,14 @@ gsm_autostart_app_start (GsmApp *app,
{
GsmAutostartApp *aapp;
gboolean ret;
+ GsmAutostartAppPrivate *priv;
aapp = GSM_AUTOSTART_APP (app);
+ priv = gsm_autostart_app_get_instance_private (aapp);
- g_return_val_if_fail (aapp->priv->desktop_file != NULL, FALSE);
+ g_return_val_if_fail (priv->desktop_file != NULL, FALSE);
- switch (aapp->priv->launch_type) {
+ switch (priv->launch_type) {
case AUTOSTART_LAUNCH_SPAWN:
ret = autostart_app_start_spawn (aapp, error);
break;
@@ -1028,16 +1060,19 @@ gsm_autostart_app_provides (GsmApp *app,
gsize len;
gsize i;
GsmAutostartApp *aapp;
+ GsmAutostartAppPrivate *priv;
+
g_return_val_if_fail (GSM_IS_APP (app), FALSE);
aapp = GSM_AUTOSTART_APP (app);
+ priv = gsm_autostart_app_get_instance_private (aapp);
- if (aapp->priv->desktop_file == NULL) {
+ if (priv->desktop_file == NULL) {
return FALSE;
}
- provides = egg_desktop_file_get_string_list (aapp->priv->desktop_file,
+ provides = egg_desktop_file_get_string_list (priv->desktop_file,
GSM_AUTOSTART_APP_PROVIDES_KEY,
&len, NULL);
if (!provides) {
@@ -1060,17 +1095,19 @@ gsm_autostart_app_has_autostart_condition (GsmApp *app,
const char *condition)
{
GsmAutostartApp *aapp;
+ GsmAutostartAppPrivate *priv;
g_return_val_if_fail (GSM_IS_APP (app), FALSE);
g_return_val_if_fail (condition != NULL, FALSE);
aapp = GSM_AUTOSTART_APP (app);
+ priv = gsm_autostart_app_get_instance_private (aapp);
- if (aapp->priv->condition_string == NULL) {
+ if (priv->condition_string == NULL) {
return FALSE;
}
- if (strcmp (aapp->priv->condition_string, condition) == 0) {
+ if (strcmp (priv->condition_string, condition) == 0) {
return TRUE;
}
@@ -1082,18 +1119,21 @@ gsm_autostart_app_get_autorestart (GsmApp *app)
{
gboolean res;
gboolean autorestart;
+ GsmAutostartAppPrivate *priv;
+
+ priv = gsm_autostart_app_get_instance_private (GSM_AUTOSTART_APP(app));
- if (GSM_AUTOSTART_APP (app)->priv->desktop_file == NULL) {
+ if (priv->desktop_file == NULL) {
return FALSE;
}
autorestart = FALSE;
- res = egg_desktop_file_has_key (GSM_AUTOSTART_APP (app)->priv->desktop_file,
+ res = egg_desktop_file_has_key (priv->desktop_file,
GSM_AUTOSTART_APP_AUTORESTART_KEY,
NULL);
if (res) {
- autorestart = egg_desktop_file_get_boolean (GSM_AUTOSTART_APP (app)->priv->desktop_file,
+ autorestart = egg_desktop_file_get_boolean (priv->desktop_file,
GSM_AUTOSTART_APP_AUTORESTART_KEY,
NULL);
}
@@ -1106,12 +1146,15 @@ gsm_autostart_app_get_app_id (GsmApp *app)
{
const char *location;
const char *slash;
+ GsmAutostartAppPrivate *priv;
+
+ priv = gsm_autostart_app_get_instance_private (GSM_AUTOSTART_APP(app));
- if (GSM_AUTOSTART_APP (app)->priv->desktop_file == NULL) {
+ if (priv->desktop_file == NULL) {
return NULL;
}
- location = egg_desktop_file_get_source (GSM_AUTOSTART_APP (app)->priv->desktop_file);
+ location = egg_desktop_file_get_source (priv->desktop_file);
slash = strrchr (location, '/');
if (slash != NULL) {
@@ -1124,9 +1167,12 @@ gsm_autostart_app_get_app_id (GsmApp *app)
static int
gsm_autostart_app_peek_autostart_delay (GsmApp *app)
{
+ GsmAutostartAppPrivate *priv;
GsmAutostartApp *aapp = GSM_AUTOSTART_APP (app);
- return aapp->priv->autostart_delay;
+ priv = gsm_autostart_app_get_instance_private (aapp);
+
+ return priv->autostart_delay;
}
static GObject *
@@ -1188,8 +1234,6 @@ gsm_autostart_app_class_init (GsmAutostartAppClass *klass)
G_TYPE_NONE,
1,
G_TYPE_BOOLEAN);
-
- g_type_class_add_private (object_class, sizeof (GsmAutostartAppPrivate));
}
GsmApp *
diff --git a/mate-session/gsm-autostart-app.h b/mate-session/gsm-autostart-app.h
index 4c45338..ff92fca 100644
--- a/mate-session/gsm-autostart-app.h
+++ b/mate-session/gsm-autostart-app.h
@@ -26,27 +26,10 @@
#include <X11/SM/SMlib.h>
-#ifdef __cplusplus
-extern "C" {
-#endif
+G_BEGIN_DECLS
#define GSM_TYPE_AUTOSTART_APP (gsm_autostart_app_get_type ())
-#define GSM_AUTOSTART_APP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GSM_TYPE_AUTOSTART_APP, GsmAutostartApp))
-#define GSM_AUTOSTART_APP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GSM_TYPE_AUTOSTART_APP, GsmAutostartAppClass))
-#define GSM_IS_AUTOSTART_APP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GSM_TYPE_AUTOSTART_APP))
-#define GSM_IS_AUTOSTART_APP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GSM_TYPE_AUTOSTART_APP))
-#define GSM_AUTOSTART_APP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GSM_TYPE_AUTOSTART_APP, GsmAutostartAppClass))
-
-typedef struct _GsmAutostartApp GsmAutostartApp;
-typedef struct _GsmAutostartAppClass GsmAutostartAppClass;
-typedef struct _GsmAutostartAppPrivate GsmAutostartAppPrivate;
-
-struct _GsmAutostartApp
-{
- GsmApp parent;
-
- GsmAutostartAppPrivate *priv;
-};
+G_DECLARE_DERIVABLE_TYPE (GsmAutostartApp, gsm_autostart_app, GSM, AUTOSTART_APP, GsmApp)
struct _GsmAutostartAppClass
{
@@ -72,8 +55,6 @@ GsmApp *gsm_autostart_app_new (const char *desktop_file);
#define GSM_AUTOSTART_APP_DISCARD_KEY "X-MATE-Autostart-discard-exec"
#define GSM_AUTOSTART_APP_DELAY_KEY "X-MATE-Autostart-Delay"
-#ifdef __cplusplus
-}
-#endif
+G_END_DECLS
#endif /* __GSM_AUTOSTART_APP_H__ */
diff --git a/mate-session/gsm-client.c b/mate-session/gsm-client.c
index 2909d99..13c6169 100644
--- a/mate-session/gsm-client.c
+++ b/mate-session/gsm-client.c
@@ -31,16 +31,14 @@
static guint32 client_serial = 1;
-#define GSM_CLIENT_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GSM_TYPE_CLIENT, GsmClientPrivate))
-
-struct GsmClientPrivate
-{
+typedef struct {
+ GObject parent;
char *id;
char *startup_id;
char *app_id;
guint status;
DBusGConnection *connection;
-};
+} GsmClientPrivate;
enum {
PROP_0,
@@ -58,7 +56,7 @@ enum {
static guint signals[LAST_SIGNAL] = { 0 };
-G_DEFINE_ABSTRACT_TYPE (GsmClient, gsm_client, G_TYPE_OBJECT)
+G_DEFINE_ABSTRACT_TYPE_WITH_PRIVATE (GsmClient, gsm_client, G_TYPE_OBJECT)
GQuark
gsm_client_error_quark (void)
@@ -111,10 +109,12 @@ static gboolean
register_client (GsmClient *client)
{
GError *error;
+ GsmClientPrivate *priv;
error = NULL;
- client->priv->connection = dbus_g_bus_get (DBUS_BUS_SESSION, &error);
- if (client->priv->connection == NULL) {
+ priv = gsm_client_get_instance_private (client);
+ priv->connection = dbus_g_bus_get (DBUS_BUS_SESSION, &error);
+ if (priv->connection == NULL) {
if (error != NULL) {
g_critical ("error getting session bus: %s", error->message);
g_error_free (error);
@@ -122,7 +122,7 @@ register_client (GsmClient *client)
return FALSE;
}
- dbus_g_connection_register_g_object (client->priv->connection, client->priv->id, G_OBJECT (client));
+ dbus_g_connection_register_g_object (priv->connection, priv->id, G_OBJECT (client));
return TRUE;
}
@@ -134,13 +134,14 @@ gsm_client_constructor (GType type,
{
GsmClient *client;
gboolean res;
+ GsmClientPrivate *priv;
client = GSM_CLIENT (G_OBJECT_CLASS (gsm_client_parent_class)->constructor (type,
n_construct_properties,
construct_properties));
-
- g_free (client->priv->id);
- client->priv->id = g_strdup_printf ("/org/gnome/SessionManager/Client%u", get_next_client_serial ());
+ priv = gsm_client_get_instance_private (client);
+ g_free (priv->id);
+ priv->id = g_strdup_printf ("/org/gnome/SessionManager/Client%u", get_next_client_serial ());
res = register_client (client);
if (! res) {
@@ -153,24 +154,25 @@ gsm_client_constructor (GType type,
static void
gsm_client_init (GsmClient *client)
{
- client->priv = GSM_CLIENT_GET_PRIVATE (client);
}
static void
gsm_client_finalize (GObject *object)
{
GsmClient *client;
+ GsmClientPrivate *priv;
g_return_if_fail (object != NULL);
g_return_if_fail (GSM_IS_CLIENT (object));
client = GSM_CLIENT (object);
+ priv = gsm_client_get_instance_private (client);
- g_return_if_fail (client->priv != NULL);
+ g_return_if_fail (priv != NULL);
- g_free (client->priv->id);
- g_free (client->priv->startup_id);
- g_free (client->priv->app_id);
+ g_free (priv->id);
+ g_free (priv->startup_id);
+ g_free (priv->app_id);
G_OBJECT_CLASS (gsm_client_parent_class)->finalize (object);
}
@@ -179,9 +181,12 @@ void
gsm_client_set_status (GsmClient *client,
guint status)
{
+ GsmClientPrivate *priv;
g_return_if_fail (GSM_IS_CLIENT (client));
- if (client->priv->status != status) {
- client->priv->status = status;
+
+ priv = gsm_client_get_instance_private (client);
+ if (priv->status != status) {
+ priv->status = status;
g_object_notify (G_OBJECT (client), "status");
}
}
@@ -190,14 +195,17 @@ static void
gsm_client_set_startup_id (GsmClient *client,
const char *startup_id)
{
+ GsmClientPrivate *priv;
g_return_if_fail (GSM_IS_CLIENT (client));
- g_free (client->priv->startup_id);
+ priv = gsm_client_get_instance_private (client);
+
+ g_free (priv->startup_id);
if (startup_id != NULL) {
- client->priv->startup_id = g_strdup (startup_id);
+ priv->startup_id = g_strdup (startup_id);
} else {
- client->priv->startup_id = g_strdup ("");
+ priv->startup_id = g_strdup ("");
}
g_object_notify (G_OBJECT (client), "startup-id");
}
@@ -206,14 +214,17 @@ void
gsm_client_set_app_id (GsmClient *client,
const char *app_id)
{
+ GsmClientPrivate *priv;
g_return_if_fail (GSM_IS_CLIENT (client));
- g_free (client->priv->app_id);
+ priv = gsm_client_get_instance_private (client);
+
+ g_free (priv->app_id);
if (app_id != NULL) {
- client->priv->app_id = g_strdup (app_id);
+ priv->app_id = g_strdup (app_id);
} else {
- client->priv->app_id = g_strdup ("");
+ priv->app_id = g_strdup ("");
}
g_object_notify (G_OBJECT (client), "app-id");
}
@@ -251,18 +262,20 @@ gsm_client_get_property (GObject *object,
GParamSpec *pspec)
{
GsmClient *self;
+ GsmClientPrivate *priv;
self = GSM_CLIENT (object);
+ priv = gsm_client_get_instance_private (self);
switch (prop_id) {
case PROP_STARTUP_ID:
- g_value_set_string (value, self->priv->startup_id);
+ g_value_set_string (value, priv->startup_id);
break;
case PROP_APP_ID:
- g_value_set_string (value, self->priv->app_id);
+ g_value_set_string (value, priv->app_id);
break;
case PROP_STATUS:
- g_value_set_uint (value, self->priv->status);
+ g_value_set_uint (value, priv->status);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
@@ -285,13 +298,15 @@ static void
gsm_client_dispose (GObject *object)
{
GsmClient *client;
+ GsmClientPrivate *priv;
g_return_if_fail (object != NULL);
g_return_if_fail (GSM_IS_CLIENT (object));
client = GSM_CLIENT (object);
+ priv = gsm_client_get_instance_private (client);
- g_debug ("GsmClient: disposing %s", client->priv->id);
+ g_debug ("GsmClient: disposing %s", priv->id);
G_OBJECT_CLASS (gsm_client_parent_class)->dispose (object);
}
@@ -352,17 +367,18 @@ gsm_client_class_init (GsmClientClass *klass)
GSM_CLIENT_UNREGISTERED,
G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
- g_type_class_add_private (klass, sizeof (GsmClientPrivate));
-
dbus_g_object_type_install_info (GSM_TYPE_CLIENT, &dbus_glib_gsm_client_object_info);
}
const char *
gsm_client_peek_id (GsmClient *client)
{
+ GsmClientPrivate *priv;
g_return_val_if_fail (GSM_IS_CLIENT (client), NULL);
- return client->priv->id;
+ priv = gsm_client_get_instance_private (client);
+
+ return priv->id;
}
/**
@@ -378,25 +394,34 @@ gsm_client_peek_id (GsmClient *client)
const char *
gsm_client_peek_app_id (GsmClient *client)
{
+ GsmClientPrivate *priv;
g_return_val_if_fail (GSM_IS_CLIENT (client), NULL);
- return client->priv->app_id;
+ priv = gsm_client_get_instance_private (client);
+
+ return priv->app_id;
}
const char *
gsm_client_peek_startup_id (GsmClient *client)
{
+ GsmClientPrivate *priv;
g_return_val_if_fail (GSM_IS_CLIENT (client), NULL);
- return client->priv->startup_id;
+ priv = gsm_client_get_instance_private (client);
+
+ return priv->startup_id;
}
guint
gsm_client_peek_status (GsmClient *client)
{
+ GsmClientPrivate *priv;
g_return_val_if_fail (GSM_IS_CLIENT (client), GSM_CLIENT_UNREGISTERED);
- return client->priv->status;
+ priv = gsm_client_get_instance_private (client);
+
+ return priv->status;
}
guint
@@ -412,9 +437,12 @@ gsm_client_get_startup_id (GsmClient *client,
char **id,
GError **error)
{
+ GsmClientPrivate *priv;
g_return_val_if_fail (GSM_IS_CLIENT (client), FALSE);
- *id = g_strdup (client->priv->startup_id);
+ priv = gsm_client_get_instance_private (client);
+
+ *id = g_strdup (priv->startup_id);
return TRUE;
}
@@ -424,9 +452,12 @@ gsm_client_get_app_id (GsmClient *client,
char **id,
GError **error)
{
+ GsmClientPrivate *priv;
g_return_val_if_fail (GSM_IS_CLIENT (client), FALSE);
- *id = g_strdup (client->priv->app_id);
+ priv = gsm_client_get_instance_private (client);
+
+ *id = g_strdup (priv->app_id);
return TRUE;
}
@@ -448,9 +479,12 @@ gsm_client_get_status (GsmClient *client,
guint *status,
GError **error)
{
+ GsmClientPrivate *priv;
g_return_val_if_fail (GSM_IS_CLIENT (client), FALSE);
- *status = client->priv->status;
+ priv = gsm_client_get_instance_private (client);
+
+ *status = priv->status;
return TRUE;
}
diff --git a/mate-session/gsm-client.h b/mate-session/gsm-client.h
index 91e9cba..b623742 100644
--- a/mate-session/gsm-client.h
+++ b/mate-session/gsm-client.h
@@ -26,21 +26,10 @@
#include <glib-object.h>
#include <sys/types.h>
-#ifdef __cplusplus
-extern "C" {
-#endif
+G_BEGIN_DECLS
#define GSM_TYPE_CLIENT (gsm_client_get_type ())
-#define GSM_CLIENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GSM_TYPE_CLIENT, GsmClient))
-#define GSM_CLIENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GSM_TYPE_CLIENT, GsmClientClass))
-#define GSM_IS_CLIENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GSM_TYPE_CLIENT))
-#define GSM_IS_CLIENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GSM_TYPE_CLIENT))
-#define GSM_CLIENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GSM_TYPE_CLIENT, GsmClientClass))
-
-typedef struct _GsmClient GsmClient;
-typedef struct _GsmClientClass GsmClientClass;
-
-typedef struct GsmClientPrivate GsmClientPrivate;
+G_DECLARE_DERIVABLE_TYPE (GsmClient, gsm_client, GSM, CLIENT, GObject)
typedef enum {
GSM_CLIENT_UNREGISTERED = 0,
@@ -62,12 +51,6 @@ typedef enum {
GSM_CLIENT_END_SESSION_FLAG_LAST = 1 << 2
} GsmClientEndSessionFlag;
-struct _GsmClient
-{
- GObject parent;
- GsmClientPrivate *priv;
-};
-
struct _GsmClientClass
{
GObjectClass parent_class;
@@ -110,7 +93,6 @@ typedef enum
GType gsm_client_error_get_type (void);
GQuark gsm_client_error_quark (void);
-
GType gsm_client_get_type (void) G_GNUC_CONST;
const char *gsm_client_peek_id (GsmClient *client);
@@ -168,8 +150,6 @@ void gsm_client_end_session_response (GsmClient *client,
gboolean cancel,
const char *reason);
-#ifdef __cplusplus
-}
-#endif
+G_END_DECLS
#endif /* __GSM_CLIENT_H__ */
diff --git a/mate-session/gsm-consolekit.c b/mate-session/gsm-consolekit.c
index 5f39358..31dbb70 100644
--- a/mate-session/gsm-consolekit.c
+++ b/mate-session/gsm-consolekit.c
@@ -43,16 +43,13 @@
#define CK_SEAT_INTERFACE "org.freedesktop.ConsoleKit.Seat"
#define CK_SESSION_INTERFACE "org.freedesktop.ConsoleKit.Session"
-#define GSM_CONSOLEKIT_GET_PRIVATE(o) \
- (G_TYPE_INSTANCE_GET_PRIVATE ((o), GSM_TYPE_CONSOLEKIT, GsmConsolekitPrivate))
-
-struct _GsmConsolekitPrivate
+typedef struct
{
DBusGConnection *dbus_connection;
DBusGProxy *bus_proxy;
DBusGProxy *ck_proxy;
guint32 is_connected : 1;
-};
+} GsmConsolekitPrivate;
enum {
PROP_0,
@@ -83,7 +80,7 @@ static void gsm_consolekit_on_name_owner_changed (DBusGProxy *bus_pro
const char *new_owner,
GsmConsolekit *manager);
-G_DEFINE_TYPE (GsmConsolekit, gsm_consolekit, G_TYPE_OBJECT);
+G_DEFINE_TYPE_WITH_PRIVATE (GsmConsolekit, gsm_consolekit, G_TYPE_OBJECT);
static void
gsm_consolekit_get_property (GObject *object,
@@ -92,11 +89,14 @@ gsm_consolekit_get_property (GObject *object,
GParamSpec *pspec)
{
GsmConsolekit *manager = GSM_CONSOLEKIT (object);
+ GsmConsolekitPrivate *priv;
+
+ priv = gsm_consolekit_get_instance_private (manager);
switch (prop_id) {
case PROP_IS_CONNECTED:
g_value_set_boolean (value,
- manager->priv->is_connected);
+ priv->is_connected);
break;
default:
@@ -148,7 +148,6 @@ gsm_consolekit_class_init (GsmConsolekitClass *manager_class)
G_TYPE_NONE,
3, G_TYPE_BOOLEAN, G_TYPE_BOOLEAN, G_TYPE_POINTER);
- g_type_class_add_private (manager_class, sizeof (GsmConsolekitPrivate));
}
static DBusHandlerResult
@@ -177,64 +176,66 @@ gsm_consolekit_ensure_ck_connection (GsmConsolekit *manager,
{
GError *connection_error;
gboolean is_connected;
+ GsmConsolekitPrivate *priv;
connection_error = NULL;
+ priv = gsm_consolekit_get_instance_private (manager);
- if (manager->priv->dbus_connection == NULL) {
+ if (priv->dbus_connection == NULL) {
DBusConnection *connection;
- manager->priv->dbus_connection = dbus_g_bus_get (DBUS_BUS_SYSTEM,
- &connection_error);
+ priv->dbus_connection = dbus_g_bus_get (DBUS_BUS_SYSTEM,
+ &connection_error);
- if (manager->priv->dbus_connection == NULL) {
+ if (priv->dbus_connection == NULL) {
g_propagate_error (error, connection_error);
is_connected = FALSE;
goto out;
}
- connection = dbus_g_connection_get_connection (manager->priv->dbus_connection);
+ connection = dbus_g_connection_get_connection (priv->dbus_connection);
dbus_connection_set_exit_on_disconnect (connection, FALSE);
dbus_connection_add_filter (connection,
gsm_consolekit_dbus_filter,
manager, NULL);
}
- if (manager->priv->bus_proxy == NULL) {
- manager->priv->bus_proxy =
- dbus_g_proxy_new_for_name_owner (manager->priv->dbus_connection,
+ if (priv->bus_proxy == NULL) {
+ priv->bus_proxy =
+ dbus_g_proxy_new_for_name_owner (priv->dbus_connection,
DBUS_SERVICE_DBUS,
DBUS_PATH_DBUS,
DBUS_INTERFACE_DBUS,
&connection_error);
- if (manager->priv->bus_proxy == NULL) {
+ if (priv->bus_proxy == NULL) {
g_propagate_error (error, connection_error);
is_connected = FALSE;
goto out;
}
- dbus_g_proxy_add_signal (manager->priv->bus_proxy,
+ dbus_g_proxy_add_signal (priv->bus_proxy,
"NameOwnerChanged",
G_TYPE_STRING,
G_TYPE_STRING,
G_TYPE_STRING,
G_TYPE_INVALID);
- dbus_g_proxy_connect_signal (manager->priv->bus_proxy,
+ dbus_g_proxy_connect_signal (priv->bus_proxy,
"NameOwnerChanged",
G_CALLBACK (gsm_consolekit_on_name_owner_changed),
manager, NULL);
}
- if (manager->priv->ck_proxy == NULL) {
- manager->priv->ck_proxy =
- dbus_g_proxy_new_for_name_owner (manager->priv->dbus_connection,
+ if (priv->ck_proxy == NULL) {
+ priv->ck_proxy =
+ dbus_g_proxy_new_for_name_owner (priv->dbus_connection,
"org.freedesktop.ConsoleKit",
"/org/freedesktop/ConsoleKit/Manager",
"org.freedesktop.ConsoleKit.Manager",
&connection_error);
- if (manager->priv->ck_proxy == NULL) {
+ if (priv->ck_proxy == NULL) {
g_propagate_error (error, connection_error);
is_connected = FALSE;
goto out;
@@ -244,26 +245,26 @@ gsm_consolekit_ensure_ck_connection (GsmConsolekit *manager,
is_connected = TRUE;
out:
- if (manager->priv->is_connected != is_connected) {
- manager->priv->is_connected = is_connected;
+ if (priv->is_connected != is_connected) {
+ priv->is_connected = is_connected;
g_object_notify (G_OBJECT (manager), "is-connected");
}
if (!is_connected) {
- if (manager->priv->dbus_connection == NULL) {
- if (manager->priv->bus_proxy != NULL) {
- g_object_unref (manager->priv->bus_proxy);
- manager->priv->bus_proxy = NULL;
+ if (priv->dbus_connection == NULL) {
+ if (priv->bus_proxy != NULL) {
+ g_object_unref (priv->bus_proxy);
+ priv->bus_proxy = NULL;
}
- if (manager->priv->ck_proxy != NULL) {
- g_object_unref (manager->priv->ck_proxy);
- manager->priv->ck_proxy = NULL;
+ if (priv->ck_proxy != NULL) {
+ g_object_unref (priv->ck_proxy);
+ priv->ck_proxy = NULL;
}
- } else if (manager->priv->bus_proxy == NULL) {
- if (manager->priv->ck_proxy != NULL) {
- g_object_unref (manager->priv->ck_proxy);
- manager->priv->ck_proxy = NULL;
+ } else if (priv->bus_proxy == NULL) {
+ if (priv->ck_proxy != NULL) {
+ g_object_unref (priv->ck_proxy);
+ priv->ck_proxy = NULL;
}
}
}
@@ -278,13 +279,17 @@ gsm_consolekit_on_name_owner_changed (DBusGProxy *bus_proxy,
const char *new_owner,
GsmConsolekit *manager)
{
+ GsmConsolekitPrivate *priv;
+
if (name != NULL && strcmp (name, "org.freedesktop.ConsoleKit") != 0) {
return;
}
- if (manager->priv->ck_proxy != NULL) {
- g_object_unref (manager->priv->ck_proxy);
- manager->priv->ck_proxy = NULL;
+ priv = gsm_consolekit_get_instance_private (manager);
+
+ if (priv->ck_proxy != NULL) {
+ g_object_unref (priv->ck_proxy);
+ priv->ck_proxy = NULL;
}
gsm_consolekit_ensure_ck_connection (manager, NULL);
@@ -295,8 +300,6 @@ gsm_consolekit_init (GsmConsolekit *manager)
{
GError *error;
- manager->priv = GSM_CONSOLEKIT_GET_PRIVATE (manager);
-
error = NULL;
if (!gsm_consolekit_ensure_ck_connection (manager, &error)) {
@@ -309,25 +312,28 @@ gsm_consolekit_init (GsmConsolekit *manager)
static void
gsm_consolekit_free_dbus (GsmConsolekit *manager)
{
- if (manager->priv->bus_proxy != NULL) {
- g_object_unref (manager->priv->bus_proxy);
- manager->priv->bus_proxy = NULL;
+ GsmConsolekitPrivate *priv;
+
+ priv = gsm_consolekit_get_instance_private (manager);
+ if (priv->bus_proxy != NULL) {
+ g_object_unref (priv->bus_proxy);
+ priv->bus_proxy = NULL;
}
- if (manager->priv->ck_proxy != NULL) {
- g_object_unref (manager->priv->ck_proxy);
- manager->priv->ck_proxy = NULL;
+ if (priv->ck_proxy != NULL) {
+ g_object_unref (priv->ck_proxy);
+ priv->ck_proxy = NULL;
}
- if (manager->priv->dbus_connection != NULL) {
+ if (priv->dbus_connection != NULL) {
DBusConnection *connection;
- connection = dbus_g_connection_get_connection (manager->priv->dbus_connection);
+ connection = dbus_g_connection_get_connection (priv->dbus_connection);
dbus_connection_remove_filter (connection,
gsm_consolekit_dbus_filter,
manager);
- dbus_g_connection_unref (manager->priv->dbus_connection);
- manager->priv->dbus_connection = NULL;
+ dbus_g_connection_unref (priv->dbus_connection);
+ priv->dbus_connection = NULL;
}
}
@@ -421,8 +427,10 @@ gsm_consolekit_attempt_restart (GsmConsolekit *manager)
{
gboolean res;
GError *error;
+ GsmConsolekitPrivate *priv;
error = NULL;
+ priv = gsm_consolekit_get_instance_private (manager);
if (!gsm_consolekit_ensure_ck_connection (manager, &error)) {
g_warning ("Could not connect to ConsoleKit: %s",
@@ -432,7 +440,7 @@ gsm_consolekit_attempt_restart (GsmConsolekit *manager)
return;
}
- res = dbus_g_proxy_call_with_timeout (manager->priv->ck_proxy,
+ res = dbus_g_proxy_call_with_timeout (priv->ck_proxy,
"Restart",
INT_MAX,
&error,
@@ -453,8 +461,10 @@ gsm_consolekit_attempt_stop (GsmConsolekit *manager)
{
gboolean res;
GError *error;
+ GsmConsolekitPrivate *priv;
error = NULL;
+ priv = gsm_consolekit_get_instance_private (manager);
if (!gsm_consolekit_ensure_ck_connection (manager, &error)) {
g_warning ("Could not connect to ConsoleKit: %s",
@@ -464,7 +474,7 @@ gsm_consolekit_attempt_stop (GsmConsolekit *manager)
return;
}
- res = dbus_g_proxy_call_with_timeout (manager->priv->ck_proxy,
+ res = dbus_g_proxy_call_with_timeout (priv->ck_proxy,
"Stop",
INT_MAX,
&error,
@@ -485,8 +495,10 @@ gsm_consolekit_attempt_suspend (GsmConsolekit *manager)
{
gboolean res;
GError *error;
+ GsmConsolekitPrivate *priv;
error = NULL;
+ priv = gsm_consolekit_get_instance_private (manager);
if (!gsm_consolekit_ensure_ck_connection (manager, &error)) {
g_warning ("Could not connect to ConsoleKit: %s",
@@ -495,7 +507,7 @@ gsm_consolekit_attempt_suspend (GsmConsolekit *manager)
return;
}
- res = dbus_g_proxy_call_with_timeout (manager->priv->ck_proxy,
+ res = dbus_g_proxy_call_with_timeout (priv->ck_proxy,
"Suspend",
INT_MAX,
&error,
@@ -514,8 +526,10 @@ gsm_consolekit_attempt_hibernate (GsmConsolekit *manager)
{
gboolean res;
GError *error;
+ GsmConsolekitPrivate *priv;
error = NULL;
+ priv = gsm_consolekit_get_instance_private (manager);
if (!gsm_consolekit_ensure_ck_connection (manager, &error)) {
g_warning ("Could not connect to ConsoleKit: %s",
@@ -524,7 +538,7 @@ gsm_consolekit_attempt_hibernate (GsmConsolekit *manager)
return;
}
- res = dbus_g_proxy_call_with_timeout (manager->priv->ck_proxy,
+ res = dbus_g_proxy_call_with_timeout (priv->ck_proxy,
"Hibernate",
INT_MAX,
&error,
@@ -678,8 +692,10 @@ gsm_consolekit_set_session_idle (GsmConsolekit *manager,
DBusMessage *reply;
DBusError dbus_error;
DBusMessageIter iter;
+ GsmConsolekitPrivate *priv;
error = NULL;
+ priv = gsm_consolekit_get_instance_private (manager);
if (!gsm_consolekit_ensure_ck_connection (manager, &error)) {
g_warning ("Could not connect to ConsoleKit: %s",
@@ -689,7 +705,7 @@ gsm_consolekit_set_session_idle (GsmConsolekit *manager,
}
session_id = NULL;
- res = get_current_session_id (dbus_g_connection_get_connection (manager->priv->dbus_connection),
+ res = get_current_session_id (dbus_g_connection_get_connection (priv->dbus_connection),
&session_id);
if (!res) {
goto out;
@@ -711,7 +727,7 @@ gsm_consolekit_set_session_idle (GsmConsolekit *manager,
/* FIXME: use async? */
dbus_error_init (&dbus_error);
- reply = dbus_connection_send_with_reply_and_block (dbus_g_connection_get_connection (manager->priv->dbus_connection),
+ reply = dbus_connection_send_with_reply_and_block (dbus_g_connection_get_connection (priv->dbus_connection),
message,
-1,
&dbus_error);
@@ -785,8 +801,10 @@ gsm_consolekit_can_switch_user (GsmConsolekit *manager)
GError *error;
char *seat_id;
gboolean ret;
+ GsmConsolekitPrivate *priv;
error = NULL;
+ priv = gsm_consolekit_get_instance_private (manager);
if (!gsm_consolekit_ensure_ck_connection (manager, &error)) {
g_warning ("Could not connect to ConsoleKit: %s",
@@ -795,13 +813,13 @@ gsm_consolekit_can_switch_user (GsmConsolekit *manager)
return FALSE;
}
- seat_id = get_current_seat_id (dbus_g_connection_get_connection (manager->priv->dbus_connection));
+ seat_id = get_current_seat_id (dbus_g_connection_get_connection (priv->dbus_connection));
if (seat_id == NULL || seat_id[0] == '\0') {
g_debug ("seat id is not set; can't switch sessions");
return FALSE;
}
- ret = seat_can_activate_sessions (dbus_g_connection_get_connection (manager->priv->dbus_connection),
+ ret = seat_can_activate_sessions (dbus_g_connection_get_connection (priv->dbus_connection),
seat_id);
g_free (seat_id);
@@ -834,8 +852,10 @@ gsm_consolekit_can_restart (GsmConsolekit *manager)
gboolean res;
gboolean can_restart;
GError *error;
+ GsmConsolekitPrivate *priv;
error = NULL;
+ priv = gsm_consolekit_get_instance_private (manager);
if (!gsm_consolekit_ensure_ck_connection (manager, &error)) {
g_warning ("Could not connect to ConsoleKit: %s",
@@ -844,7 +864,7 @@ gsm_consolekit_can_restart (GsmConsolekit *manager)
return FALSE;
}
- res = dbus_g_proxy_call_with_timeout (manager->priv->ck_proxy,
+ res = dbus_g_proxy_call_with_timeout (priv->ck_proxy,
"CanRestart",
INT_MAX,
&error,
@@ -867,8 +887,10 @@ gsm_consolekit_can_stop (GsmConsolekit *manager)
gboolean res;
gboolean can_stop;
GError *error;
+ GsmConsolekitPrivate *priv;
error = NULL;
+ priv = gsm_consolekit_get_instance_private (manager);
if (!gsm_consolekit_ensure_ck_connection (manager, &error)) {
g_warning ("Could not connect to ConsoleKit: %s",
@@ -877,7 +899,7 @@ gsm_consolekit_can_stop (GsmConsolekit *manager)
return FALSE;
}
- res = dbus_g_proxy_call_with_timeout (manager->priv->ck_proxy,
+ res = dbus_g_proxy_call_with_timeout (priv->ck_proxy,
"CanStop",
INT_MAX,
&error,
@@ -902,6 +924,9 @@ gsm_consolekit_can_suspend (GsmConsolekit *manager)
gboolean can_suspend;
gchar *retval;
GError *error = NULL;
+ GsmConsolekitPrivate *priv;
+
+ priv = gsm_consolekit_get_instance_private (manager);
if (!gsm_consolekit_ensure_ck_connection (manager, &error)) {
g_warning ("Could not connect to ConsoleKit: %s",
@@ -910,7 +935,7 @@ gsm_consolekit_can_suspend (GsmConsolekit *manager)
return FALSE;
}
- res = dbus_g_proxy_call_with_timeout (manager->priv->ck_proxy,
+ res = dbus_g_proxy_call_with_timeout (priv->ck_proxy,
"CanSuspend",
INT_MAX,
&error,
@@ -939,6 +964,9 @@ gsm_consolekit_can_hibernate (GsmConsolekit *manager)
gboolean can_hibernate;
gchar *retval;
GError *error = NULL;
+ GsmConsolekitPrivate *priv;
+
+ priv = gsm_consolekit_get_instance_private (manager);
if (!gsm_consolekit_ensure_ck_connection (manager, &error)) {
g_warning ("Could not connect to ConsoleKit: %s",
@@ -947,7 +975,7 @@ gsm_consolekit_can_hibernate (GsmConsolekit *manager)
return FALSE;
}
- res = dbus_g_proxy_call_with_timeout (manager->priv->ck_proxy,
+ res = dbus_g_proxy_call_with_timeout (priv->ck_proxy,
"CanHibernate",
INT_MAX,
&error,
@@ -981,10 +1009,12 @@ gsm_consolekit_get_current_session_type (GsmConsolekit *manager)
gchar *ret;
DBusMessageIter iter;
const char *value;
+ GsmConsolekitPrivate *priv;
session_id = NULL;
ret = NULL;
gerror = NULL;
+ priv = gsm_consolekit_get_instance_private (manager);
if (!gsm_consolekit_ensure_ck_connection (manager, &gerror)) {
g_warning ("Could not connect to ConsoleKit: %s",
@@ -993,7 +1023,7 @@ gsm_consolekit_get_current_session_type (GsmConsolekit *manager)
goto out;
}
- connection = dbus_g_connection_get_connection (manager->priv->dbus_connection);
+ connection = dbus_g_connection_get_connection (priv->dbus_connection);
if (!get_current_session_id (connection, &session_id)) {
goto out;
}
diff --git a/mate-session/gsm-consolekit.h b/mate-session/gsm-consolekit.h
index 3dbb4f8..6cffd5b 100644
--- a/mate-session/gsm-consolekit.h
+++ b/mate-session/gsm-consolekit.h
@@ -27,29 +27,14 @@
#include <glib.h>
#include <glib-object.h>
-#ifdef __cplusplus
-extern "C" {
-#endif
+G_BEGIN_DECLS
#define GSM_TYPE_CONSOLEKIT (gsm_consolekit_get_type ())
-#define GSM_CONSOLEKIT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GSM_TYPE_CONSOLEKIT, GsmConsolekit))
-#define GSM_CONSOLEKIT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GSM_TYPE_CONSOLEKIT, GsmConsolekitClass))
-#define GSM_IS_CONSOLEKIT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GSM_TYPE_CONSOLEKIT))
-#define GSM_IS_CONSOLEKIT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GSM_TYPE_CONSOLEKIT))
-#define GSM_CONSOLEKIT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GSM_TYPE_CONSOLEKIT, GsmConsolekitClass))
#define GSM_CONSOLEKIT_ERROR (gsm_consolekit_error_quark ())
-typedef struct _GsmConsolekit GsmConsolekit;
-typedef struct _GsmConsolekitClass GsmConsolekitClass;
-typedef struct _GsmConsolekitPrivate GsmConsolekitPrivate;
-typedef enum _GsmConsolekitError GsmConsolekitError;
-
-struct _GsmConsolekit
-{
- GObject parent;
+G_DECLARE_DERIVABLE_TYPE (GsmConsolekit, gsm_consolekit, GSM, CONSOLEKIT, GObject)
- GsmConsolekitPrivate *priv;
-};
+typedef enum _GsmConsolekitError GsmConsolekitError;
struct _GsmConsolekitClass
{
@@ -71,7 +56,7 @@ enum _GsmConsolekitError {
#define GSM_CONSOLEKIT_SESSION_TYPE_LOGIN_WINDOW "LoginWindow"
-GType gsm_consolekit_get_type (void);
+GType gsm_consolekit_get_type (void) G_GNUC_CONST;
GQuark gsm_consolekit_error_quark (void);
@@ -106,8 +91,6 @@ gchar *gsm_consolekit_get_current_session_type (GsmConsolekit *manager
GsmConsolekit *gsm_get_consolekit (void);
-#ifdef __cplusplus
-}
-#endif
+G_END_DECLS
#endif /* __GSM_CONSOLEKIT_H__ */
diff --git a/mate-session/gsm-dbus-client.c b/mate-session/gsm-dbus-client.c
index 3b33170..eba098c 100644
--- a/mate-session/gsm-dbus-client.c
+++ b/mate-session/gsm-dbus-client.c
@@ -38,13 +38,12 @@
#include "gsm-manager.h"
#include "gsm-util.h"
-#define GSM_DBUS_CLIENT_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GSM_TYPE_DBUS_CLIENT, GsmDBusClientPrivate))
-
#define SM_DBUS_NAME "org.gnome.SessionManager"
#define SM_DBUS_CLIENT_PRIVATE_INTERFACE "org.gnome.SessionManager.ClientPrivate"
-struct GsmDBusClientPrivate
+struct _GsmDBusClient
{
+ GsmClient parent;
char *bus_name;
GPid caller_pid;
GsmClientRestartStyle restart_style_hint;
@@ -98,9 +97,9 @@ setup_connection (GsmDBusClient *client)
dbus_error_init (&error);
- if (client->priv->connection == NULL) {
- client->priv->connection = dbus_bus_get (DBUS_BUS_SESSION, &error);
- if (client->priv->connection == NULL) {
+ if (client->connection == NULL) {
+ client->connection = dbus_bus_get (DBUS_BUS_SESSION, &error);
+ if (client->connection == NULL) {
if (dbus_error_is_set (&error)) {
g_debug ("GsmDbusClient: Couldn't connect to session bus: %s",
error.message);
@@ -109,8 +108,8 @@ setup_connection (GsmDBusClient *client)
return FALSE;
}
- dbus_connection_setup_with_g_main (client->priv->connection, NULL);
- dbus_connection_set_exit_on_disconnect (client->priv->connection, FALSE);
+ dbus_connection_setup_with_g_main (client->connection, NULL);
+ dbus_connection_set_exit_on_disconnect (client->connection, FALSE);
}
return TRUE;
@@ -160,7 +159,7 @@ handle_end_session_response (GsmDBusClient *client,
g_warning ("Invalid method call: %s", error.message);
dbus_error_free (&error);
}
- raise_error (client->priv->connection,
+ raise_error (client->connection,
message,
DBUS_ERROR_FAILED,
"There is a syntax error in the invocation of the method EndSessionResponse");
@@ -172,10 +171,10 @@ handle_end_session_response (GsmDBusClient *client,
/* make sure it is from our client */
sender = dbus_message_get_sender (message);
if (sender == NULL
- || IS_STRING_EMPTY (client->priv->bus_name)
- || strcmp (sender, client->priv->bus_name) != 0) {
+ || IS_STRING_EMPTY (client->bus_name)
+ || strcmp (sender, client->bus_name) != 0) {
- raise_error (client->priv->connection,
+ raise_error (client->connection,
message,
DBUS_ERROR_FAILED,
"Caller not recognized as the client");
@@ -191,7 +190,7 @@ handle_end_session_response (GsmDBusClient *client,
is_ok, FALSE, FALSE, reason);
- if (! dbus_connection_send (client->priv->connection, reply, NULL)) {
+ if (! dbus_connection_send (client->connection, reply, NULL)) {
g_error ("No memory");
}
@@ -247,7 +246,7 @@ gsm_dbus_client_constructor (GType type,
}
/* Object path is already registered by base class */
- dbus_connection_add_filter (client->priv->connection, client_dbus_filter_function, client, NULL);
+ dbus_connection_add_filter (client->connection, client_dbus_filter_function, client, NULL);
return G_OBJECT (client);
}
@@ -255,7 +254,6 @@ gsm_dbus_client_constructor (GType type,
static void
gsm_dbus_client_init (GsmDBusClient *client)
{
- client->priv = GSM_DBUS_CLIENT_GET_PRIVATE (client);
}
/* adapted from PolicyKit */
@@ -335,12 +333,12 @@ gsm_dbus_client_set_bus_name (GsmDBusClient *client,
g_return_if_fail (GSM_IS_DBUS_CLIENT (client));
- g_free (client->priv->bus_name);
+ g_free (client->bus_name);
- client->priv->bus_name = g_strdup (bus_name);
+ client->bus_name = g_strdup (bus_name);
g_object_notify (G_OBJECT (client), "bus-name");
- if (client->priv->bus_name != NULL) {
+ if (client->bus_name != NULL) {
gboolean res;
res = get_caller_info (client, bus_name, &uid, &pid);
@@ -350,7 +348,7 @@ gsm_dbus_client_set_bus_name (GsmDBusClient *client,
} else {
pid = 0;
}
- client->priv->caller_pid = pid;
+ client->caller_pid = pid;
}
const char *
@@ -358,7 +356,7 @@ gsm_dbus_client_get_bus_name (GsmDBusClient *client)
{
g_return_val_if_fail (GSM_IS_DBUS_CLIENT (client), NULL);
- return client->priv->bus_name;
+ return client->bus_name;
}
static void
@@ -393,7 +391,7 @@ gsm_dbus_client_get_property (GObject *object,
switch (prop_id) {
case PROP_BUS_NAME:
- g_value_set_string (value, self->priv->bus_name);
+ g_value_set_string (value, self->bus_name);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
@@ -406,7 +404,7 @@ gsm_dbus_client_finalize (GObject *object)
{
GsmDBusClient *client = (GsmDBusClient *) object;
- g_free (client->priv->bus_name);
+ g_free (client->bus_name);
G_OBJECT_CLASS (gsm_dbus_client_parent_class)->finalize (object);
}
@@ -441,11 +439,11 @@ dbus_client_stop (GsmClient *client,
if (message == NULL) {
goto out;
}
- if (!dbus_message_set_destination (message, dbus_client->priv->bus_name)) {
+ if (!dbus_message_set_destination (message, dbus_client->bus_name)) {
goto out;
}
- if (!dbus_connection_send (dbus_client->priv->connection, message, NULL)) {
+ if (!dbus_connection_send (dbus_client->connection, message, NULL)) {
goto out;
}
@@ -469,13 +467,13 @@ dbus_client_get_app_name (GsmClient *client)
static GsmClientRestartStyle
dbus_client_get_restart_style_hint (GsmClient *client)
{
- return (GSM_DBUS_CLIENT (client)->priv->restart_style_hint);
+ return (GSM_DBUS_CLIENT (client)->restart_style_hint);
}
static guint
dbus_client_get_unix_process_id (GsmClient *client)
{
- return (GSM_DBUS_CLIENT (client)->priv->caller_pid);
+ return (GSM_DBUS_CLIENT (client)->caller_pid);
}
static gboolean
@@ -490,7 +488,7 @@ dbus_client_query_end_session (GsmClient *client,
ret = FALSE;
- if (dbus_client->priv->bus_name == NULL) {
+ if (dbus_client->bus_name == NULL) {
g_set_error (error,
GSM_CLIENT_ERROR,
GSM_CLIENT_ERROR_NOT_REGISTERED,
@@ -498,7 +496,7 @@ dbus_client_query_end_session (GsmClient *client,
return FALSE;
}
- g_debug ("GsmDBusClient: sending QueryEndSession signal to %s", dbus_client->priv->bus_name);
+ g_debug ("GsmDBusClient: sending QueryEndSession signal to %s", dbus_client->bus_name);
/* unicast the signal to only the registered bus name */
message = dbus_message_new_signal (gsm_client_peek_id (client),
@@ -511,7 +509,7 @@ dbus_client_query_end_session (GsmClient *client,
"Unable to send QueryEndSession message");
goto out;
}
- if (!dbus_message_set_destination (message, dbus_client->priv->bus_name)) {
+ if (!dbus_message_set_destination (message, dbus_client->bus_name)) {
g_set_error (error,
GSM_CLIENT_ERROR,
GSM_CLIENT_ERROR_NOT_REGISTERED,
@@ -522,7 +520,7 @@ dbus_client_query_end_session (GsmClient *client,
dbus_message_iter_init_append (message, &iter);
dbus_message_iter_append_basic (&iter, DBUS_TYPE_UINT32, &flags);
- if (!dbus_connection_send (dbus_client->priv->connection, message, NULL)) {
+ if (!dbus_connection_send (dbus_client->connection, message, NULL)) {
g_set_error (error,
GSM_CLIENT_ERROR,
GSM_CLIENT_ERROR_NOT_REGISTERED,
@@ -563,7 +561,7 @@ dbus_client_end_session (GsmClient *client,
"Unable to send EndSession message");
goto out;
}
- if (!dbus_message_set_destination (message, dbus_client->priv->bus_name)) {
+ if (!dbus_message_set_destination (message, dbus_client->bus_name)) {
g_set_error (error,
GSM_CLIENT_ERROR,
GSM_CLIENT_ERROR_NOT_REGISTERED,
@@ -574,7 +572,7 @@ dbus_client_end_session (GsmClient *client,
dbus_message_iter_init_append (message, &iter);
dbus_message_iter_append_basic (&iter, DBUS_TYPE_UINT32, &flags);
- if (!dbus_connection_send (dbus_client->priv->connection, message, NULL)) {
+ if (!dbus_connection_send (dbus_client->connection, message, NULL)) {
g_set_error (error,
GSM_CLIENT_ERROR,
GSM_CLIENT_ERROR_NOT_REGISTERED,
@@ -610,7 +608,7 @@ dbus_client_cancel_end_session (GsmClient *client,
"Unable to send CancelEndSession message");
goto out;
}
- if (!dbus_message_set_destination (message, dbus_client->priv->bus_name)) {
+ if (!dbus_message_set_destination (message, dbus_client->bus_name)) {
g_set_error (error,
GSM_CLIENT_ERROR,
GSM_CLIENT_ERROR_NOT_REGISTERED,
@@ -618,7 +616,7 @@ dbus_client_cancel_end_session (GsmClient *client,
goto out;
}
- if (!dbus_connection_send (dbus_client->priv->connection, message, NULL)) {
+ if (!dbus_connection_send (dbus_client->connection, message, NULL)) {
g_set_error (error,
GSM_CLIENT_ERROR,
GSM_CLIENT_ERROR_NOT_REGISTERED,
@@ -646,7 +644,7 @@ gsm_dbus_client_dispose (GObject *object)
client = GSM_DBUS_CLIENT (object);
- dbus_connection_remove_filter (client->priv->connection, client_dbus_filter_function, client);
+ dbus_connection_remove_filter (client->connection, client_dbus_filter_function, client);
G_OBJECT_CLASS (gsm_dbus_client_parent_class)->dispose (object);
}
@@ -679,8 +677,6 @@ gsm_dbus_client_class_init (GsmDBusClientClass *klass)
"bus-name",
NULL,
G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
-
- g_type_class_add_private (klass, sizeof (GsmDBusClientPrivate));
}
GsmClient *
diff --git a/mate-session/gsm-dbus-client.h b/mate-session/gsm-dbus-client.h
index 4b9dc7a..a1007cc 100644
--- a/mate-session/gsm-dbus-client.h
+++ b/mate-session/gsm-dbus-client.h
@@ -23,32 +23,10 @@
#include "gsm-client.h"
-#ifdef __cplusplus
-extern "C" {
-#endif
+G_BEGIN_DECLS
#define GSM_TYPE_DBUS_CLIENT (gsm_dbus_client_get_type ())
-#define GSM_DBUS_CLIENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GSM_TYPE_DBUS_CLIENT, GsmDBusClient))
-#define GSM_DBUS_CLIENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GSM_TYPE_DBUS_CLIENT, GsmDBusClientClass))
-#define GSM_IS_DBUS_CLIENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GSM_TYPE_DBUS_CLIENT))
-#define GSM_IS_DBUS_CLIENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GSM_TYPE_DBUS_CLIENT))
-#define GSM_DBUS_CLIENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GSM_TYPE_DBUS_CLIENT, GsmDBusClientClass))
-
-typedef struct _GsmDBusClient GsmDBusClient;
-typedef struct _GsmDBusClientClass GsmDBusClientClass;
-
-typedef struct GsmDBusClientPrivate GsmDBusClientPrivate;
-
-struct _GsmDBusClient
-{
- GsmClient parent;
- GsmDBusClientPrivate *priv;
-};
-
-struct _GsmDBusClientClass
-{
- GsmClientClass parent_class;
-};
+G_DECLARE_FINAL_TYPE (GsmDBusClient, gsm_dbus_client, GSM, DBUS_CLIENT, GsmClient)
typedef enum
{
@@ -64,14 +42,10 @@ GType gsm_dbus_client_error_get_type (void);
GQuark gsm_dbus_client_error_quark (void);
-GType gsm_dbus_client_get_type (void) G_GNUC_CONST;
-
GsmClient * gsm_dbus_client_new (const char *startup_id,
const char *bus_name);
const char * gsm_dbus_client_get_bus_name (GsmDBusClient *client);
-#ifdef __cplusplus
-}
-#endif
+G_END_DECLS
#endif /* __GSM_DBUS_CLIENT_H__ */
diff --git a/mate-session/gsm-inhibit-dialog.c b/mate-session/gsm-inhibit-dialog.c
index 1ea58ed..7c6ec97 100644
--- a/mate-session/gsm-inhibit-dialog.c
+++ b/mate-session/gsm-inhibit-dialog.c
@@ -43,8 +43,6 @@
#include <X11/extensions/Xrender.h>
#endif
-#define GSM_INHIBIT_DIALOG_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GSM_TYPE_INHIBIT_DIALOG, GsmInhibitDialogPrivate))
-
#define GTKBUILDER_FILE "gsm-inhibit-dialog.ui"
#ifndef DEFAULT_ICON_SIZE
@@ -57,8 +55,9 @@
#define DIALOG_RESPONSE_LOCK_SCREEN 1
-struct GsmInhibitDialogPrivate
+struct _GsmInhibitDialog
{
+ GtkDialog parent;
GtkBuilder *xml;
int action;
gboolean is_done;
@@ -108,7 +107,7 @@ on_response (GsmInhibitDialog *dialog,
gint response_id)
{
- if (dialog->priv->is_done) {
+ if (dialog->is_done) {
g_signal_stop_emission_by_name (dialog, "response");
return;
}
@@ -119,7 +118,7 @@ on_response (GsmInhibitDialog *dialog,
lock_screen (dialog);
break;
default:
- dialog->priv->is_done = TRUE;
+ dialog->is_done = TRUE;
break;
}
}
@@ -128,7 +127,7 @@ static void
gsm_inhibit_dialog_set_action (GsmInhibitDialog *dialog,
int action)
{
- dialog->priv->action = action;
+ dialog->action = action;
}
static gboolean
@@ -142,7 +141,7 @@ find_inhibitor (GsmInhibitDialog *dialog,
g_assert (GSM_IS_INHIBIT_DIALOG (dialog));
found_item = FALSE;
- model = GTK_TREE_MODEL (dialog->priv->list_store);
+ model = GTK_TREE_MODEL (dialog->list_store);
if (!gtk_tree_model_get_iter_first (model, iter)) {
return FALSE;
@@ -479,7 +478,7 @@ add_inhibitor (GsmInhibitDialog *dialog,
xid = gsm_inhibitor_peek_toplevel_xid (inhibitor);
g_debug ("GsmInhibitDialog: inhibitor has XID %u", xid);
- if (xid > 0 && dialog->priv->have_xrender) {
+ if (xid > 0 && dialog->have_xrender) {
pixbuf = get_pixbuf_for_window (gdkdisplay, xid, DEFAULT_SNAPSHOT_SIZE, DEFAULT_SNAPSHOT_SIZE);
if (pixbuf == NULL) {
g_debug ("GsmInhibitDialog: unable to read pixbuf from %u", xid);
@@ -567,7 +566,7 @@ add_inhibitor (GsmInhibitDialog *dialog,
client_id = gsm_inhibitor_peek_client_id (inhibitor);
if (! IS_STRING_EMPTY (client_id)) {
GsmClient *client;
- client = GSM_CLIENT (gsm_store_lookup (dialog->priv->clients, client_id));
+ client = GSM_CLIENT (gsm_store_lookup (dialog->clients, client_id));
if (client != NULL) {
freeme = gsm_client_get_app_name (client);
name = freeme;
@@ -592,7 +591,7 @@ add_inhibitor (GsmInhibitDialog *dialog,
NULL);
}
- gtk_list_store_insert_with_values (dialog->priv->list_store,
+ gtk_list_store_insert_with_values (dialog->list_store,
NULL, 0,
INHIBIT_IMAGE_COLUMN, pixbuf,
INHIBIT_NAME_COLUMN, name,
@@ -628,7 +627,7 @@ update_dialog_text (GsmInhibitDialog *dialog)
const char *header_text;
GtkWidget *widget;
- if (model_has_one_entry (GTK_TREE_MODEL (dialog->priv->list_store))) {
+ if (model_has_one_entry (GTK_TREE_MODEL (dialog->list_store))) {
g_debug ("Found one entry in model");
header_text = _("A program is still running:");
description_text = _("Waiting for the program to finish. Interrupting the program may cause you to lose work.");
@@ -638,7 +637,7 @@ update_dialog_text (GsmInhibitDialog *dialog)
description_text = _("Waiting for programs to finish. Interrupting these programs may cause you to lose work.");
}
- widget = GTK_WIDGET (gtk_builder_get_object (dialog->priv->xml,
+ widget = GTK_WIDGET (gtk_builder_get_object (dialog->xml,
"header-label"));
if (widget != NULL) {
char *markup;
@@ -647,7 +646,7 @@ update_dialog_text (GsmInhibitDialog *dialog)
g_free (markup);
}
- widget = GTK_WIDGET (gtk_builder_get_object (dialog->priv->xml,
+ widget = GTK_WIDGET (gtk_builder_get_object (dialog->xml,
"description-label"));
if (widget != NULL) {
gtk_label_set_text (GTK_LABEL (widget), description_text);
@@ -664,7 +663,7 @@ on_store_inhibitor_added (GsmStore *store,
g_debug ("GsmInhibitDialog: inhibitor added: %s", id);
- if (dialog->priv->is_done) {
+ if (dialog->is_done) {
return;
}
@@ -687,18 +686,18 @@ on_store_inhibitor_removed (GsmStore *store,
g_debug ("GsmInhibitDialog: inhibitor removed: %s", id);
- if (dialog->priv->is_done) {
+ if (dialog->is_done) {
return;
}
/* Remove from model */
if (find_inhibitor (dialog, id, &iter)) {
- gtk_list_store_remove (dialog->priv->list_store, &iter);
+ gtk_list_store_remove (dialog->list_store, &iter);
update_dialog_text (dialog);
}
/* if there are no inhibitors left then trigger response */
- if (! gtk_tree_model_get_iter_first (GTK_TREE_MODEL (dialog->priv->list_store), &iter)) {
+ if (! gtk_tree_model_get_iter_first (GTK_TREE_MODEL (dialog->list_store), &iter)) {
gtk_dialog_response (GTK_DIALOG (dialog), GTK_RESPONSE_ACCEPT);
}
}
@@ -713,28 +712,28 @@ gsm_inhibit_dialog_set_inhibitor_store (GsmInhibitDialog *dialog,
g_object_ref (store);
}
- if (dialog->priv->inhibitors != NULL) {
- g_signal_handlers_disconnect_by_func (dialog->priv->inhibitors,
+ if (dialog->inhibitors != NULL) {
+ g_signal_handlers_disconnect_by_func (dialog->inhibitors,
on_store_inhibitor_added,
dialog);
- g_signal_handlers_disconnect_by_func (dialog->priv->inhibitors,
+ g_signal_handlers_disconnect_by_func (dialog->inhibitors,
on_store_inhibitor_removed,
dialog);
- g_object_unref (dialog->priv->inhibitors);
+ g_object_unref (dialog->inhibitors);
}
g_debug ("GsmInhibitDialog: setting store %p", store);
- dialog->priv->inhibitors = store;
+ dialog->inhibitors = store;
- if (dialog->priv->inhibitors != NULL) {
- g_signal_connect (dialog->priv->inhibitors,
+ if (dialog->inhibitors != NULL) {
+ g_signal_connect (dialog->inhibitors,
"added",
G_CALLBACK (on_store_inhibitor_added),
dialog);
- g_signal_connect (dialog->priv->inhibitors,
+ g_signal_connect (dialog->inhibitors,
"removed",
G_CALLBACK (on_store_inhibitor_removed),
dialog);
@@ -751,11 +750,11 @@ gsm_inhibit_dialog_set_client_store (GsmInhibitDialog *dialog,
g_object_ref (store);
}
- if (dialog->priv->clients != NULL) {
- g_object_unref (dialog->priv->clients);
+ if (dialog->clients != NULL) {
+ g_object_unref (dialog->clients);
}
- dialog->priv->clients = store;
+ dialog->clients = store;
}
static void
@@ -792,13 +791,13 @@ gsm_inhibit_dialog_get_property (GObject *object,
switch (prop_id) {
case PROP_ACTION:
- g_value_set_int (value, dialog->priv->action);
+ g_value_set_int (value, dialog->action);
break;
case PROP_INHIBITOR_STORE:
- g_value_set_object (value, dialog->priv->inhibitors);
+ g_value_set_object (value, dialog->inhibitors);
break;
case PROP_CLIENT_STORE:
- g_value_set_object (value, dialog->priv->clients);
+ g_value_set_object (value, dialog->clients);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
@@ -849,7 +848,7 @@ add_to_model (const char *id,
static void
populate_model (GsmInhibitDialog *dialog)
{
- gsm_store_foreach_remove (dialog->priv->inhibitors,
+ gsm_store_foreach_remove (dialog->inhibitors,
(GsmStoreFunc)add_to_model,
dialog);
update_dialog_text (dialog);
@@ -863,7 +862,7 @@ setup_dialog (GsmInhibitDialog *dialog)
GtkTreeViewColumn *column;
GtkCellRenderer *renderer;
- switch (dialog->priv->action) {
+ switch (dialog->action) {
case GSM_LOGOUT_ACTION_SWITCH_USER:
button_text = _("Switch User Anyway");
break;
@@ -901,17 +900,17 @@ setup_dialog (GsmInhibitDialog *dialog)
G_CALLBACK (on_response),
dialog);
- dialog->priv->list_store = gtk_list_store_new (NUMBER_OF_COLUMNS,
- GDK_TYPE_PIXBUF,
- G_TYPE_STRING,
- G_TYPE_STRING,
- G_TYPE_STRING);
+ dialog->list_store = gtk_list_store_new (NUMBER_OF_COLUMNS,
+ GDK_TYPE_PIXBUF,
+ G_TYPE_STRING,
+ G_TYPE_STRING,
+ G_TYPE_STRING);
- treeview = GTK_WIDGET (gtk_builder_get_object (dialog->priv->xml,
+ treeview = GTK_WIDGET (gtk_builder_get_object (dialog->xml,
"inhibitors-treeview"));
gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (treeview), FALSE);
gtk_tree_view_set_model (GTK_TREE_VIEW (treeview),
- GTK_TREE_MODEL (dialog->priv->list_store));
+ GTK_TREE_MODEL (dialog->list_store));
/* IMAGE COLUMN */
renderer = gtk_cell_renderer_pixbuf_new ();
@@ -953,25 +952,25 @@ gsm_inhibit_dialog_constructor (GType type,
GdkDisplay *gdkdisplay;
#endif /* HAVE_XRENDER */
dialog = GSM_INHIBIT_DIALOG (G_OBJECT_CLASS (gsm_inhibit_dialog_parent_class)->constructor (type,
- n_construct_properties,
- construct_properties));
+ n_construct_properties,
+ construct_properties));
#ifdef HAVE_XRENDER
gdkdisplay = gdk_display_get_default ();
gdk_x11_display_error_trap_push (gdkdisplay);
- if (XRenderQueryExtension (GDK_DISPLAY_XDISPLAY (gdkdisplay), &dialog->priv->xrender_event_base, &dialog->priv->xrender_error_base)) {
+ if (XRenderQueryExtension (GDK_DISPLAY_XDISPLAY (gdkdisplay), &dialog->xrender_event_base, &dialog->xrender_error_base)) {
g_debug ("GsmInhibitDialog: Initialized XRender extension");
- dialog->priv->have_xrender = TRUE;
+ dialog->have_xrender = TRUE;
} else {
g_debug ("GsmInhibitDialog: Unable to initialize XRender extension");
- dialog->priv->have_xrender = FALSE;
+ dialog->have_xrender = FALSE;
}
gdk_display_sync (gdkdisplay);
gdk_x11_display_error_trap_pop_ignored (gdkdisplay);
#endif /* HAVE_XRENDER */
/* FIXME: turn this on when it is ready */
- dialog->priv->have_xrender = FALSE;
+ dialog->have_xrender = FALSE;
setup_dialog (dialog);
@@ -992,26 +991,26 @@ gsm_inhibit_dialog_dispose (GObject *object)
g_debug ("GsmInhibitDialog: dispose called");
- if (dialog->priv->list_store != NULL) {
- g_object_unref (dialog->priv->list_store);
- dialog->priv->list_store = NULL;
+ if (dialog->list_store != NULL) {
+ g_object_unref (dialog->list_store);
+ dialog->list_store = NULL;
}
- if (dialog->priv->inhibitors != NULL) {
- g_signal_handlers_disconnect_by_func (dialog->priv->inhibitors,
+ if (dialog->inhibitors != NULL) {
+ g_signal_handlers_disconnect_by_func (dialog->inhibitors,
on_store_inhibitor_added,
dialog);
- g_signal_handlers_disconnect_by_func (dialog->priv->inhibitors,
+ g_signal_handlers_disconnect_by_func (dialog->inhibitors,
on_store_inhibitor_removed,
dialog);
- g_object_unref (dialog->priv->inhibitors);
- dialog->priv->inhibitors = NULL;
+ g_object_unref (dialog->inhibitors);
+ dialog->inhibitors = NULL;
}
- if (dialog->priv->xml != NULL) {
- g_object_unref (dialog->priv->xml);
- dialog->priv->xml = NULL;
+ if (dialog->xml != NULL) {
+ g_object_unref (dialog->xml);
+ dialog->xml = NULL;
}
G_OBJECT_CLASS (gsm_inhibit_dialog_parent_class)->dispose (object);
@@ -1051,8 +1050,6 @@ gsm_inhibit_dialog_class_init (GsmInhibitDialogClass *klass)
NULL,
GSM_TYPE_STORE,
G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
-
- g_type_class_add_private (klass, sizeof (GsmInhibitDialogPrivate));
}
static void
@@ -1062,13 +1059,11 @@ gsm_inhibit_dialog_init (GsmInhibitDialog *dialog)
GtkWidget *widget;
GError *error;
- dialog->priv = GSM_INHIBIT_DIALOG_GET_PRIVATE (dialog);
-
- dialog->priv->xml = gtk_builder_new ();
- gtk_builder_set_translation_domain (dialog->priv->xml, GETTEXT_PACKAGE);
+ dialog->xml = gtk_builder_new ();
+ gtk_builder_set_translation_domain (dialog->xml, GETTEXT_PACKAGE);
error = NULL;
- if (!gtk_builder_add_from_file (dialog->priv->xml,
+ if (!gtk_builder_add_from_file (dialog->xml,
GTKBUILDER_DIR "/" GTKBUILDER_FILE,
&error)) {
if (error) {
@@ -1081,7 +1076,7 @@ gsm_inhibit_dialog_init (GsmInhibitDialog *dialog)
}
content_area = gtk_dialog_get_content_area (GTK_DIALOG (dialog));
- widget = GTK_WIDGET (gtk_builder_get_object (dialog->priv->xml,
+ widget = GTK_WIDGET (gtk_builder_get_object (dialog->xml,
"main-box"));
gtk_container_add (GTK_CONTAINER (content_area), widget);
@@ -1103,7 +1098,7 @@ gsm_inhibit_dialog_finalize (GObject *object)
dialog = GSM_INHIBIT_DIALOG (object);
- g_return_if_fail (dialog->priv != NULL);
+ g_return_if_fail (dialog != NULL);
g_debug ("GsmInhibitDialog: finalizing");
diff --git a/mate-session/gsm-inhibit-dialog.h b/mate-session/gsm-inhibit-dialog.h
index c48dc90..89c7121 100644
--- a/mate-session/gsm-inhibit-dialog.h
+++ b/mate-session/gsm-inhibit-dialog.h
@@ -26,18 +26,10 @@
#include "gsm-store.h"
-#ifdef __cplusplus
-extern "C" {
-#endif
+G_BEGIN_DECLS
#define GSM_TYPE_INHIBIT_DIALOG (gsm_inhibit_dialog_get_type ())
-#define GSM_INHIBIT_DIALOG(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GSM_TYPE_INHIBIT_DIALOG, GsmInhibitDialog))
-#define GSM_INHIBIT_DIALOG_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), GSM_TYPE_INHIBIT_DIALOG, GsmInhibitDialogClass))
-#define GSM_IS_INHIBIT_DIALOG(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GSM_TYPE_INHIBIT_DIALOG))
-#define GSM_IS_INHIBIT_DIALOG_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GSM_TYPE_INHIBIT_DIALOG))
-#define GSM_INHIBIT_DIALOG_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GSM_TYPE_INHIBIT_DIALOG, GsmInhibitDialogClass))
-
-typedef struct GsmInhibitDialogPrivate GsmInhibitDialogPrivate;
+G_DECLARE_FINAL_TYPE (GsmInhibitDialog, gsm_inhibit_dialog, GSM, INHIBIT_DIALOG, GtkDialog)
typedef enum
{
@@ -49,26 +41,11 @@ typedef enum
GSM_LOGOUT_ACTION_SLEEP
} GsmLogoutAction;
-typedef struct
-{
- GtkDialog parent;
- GsmInhibitDialogPrivate *priv;
-} GsmInhibitDialog;
-
-typedef struct
-{
- GtkDialogClass parent_class;
-} GsmInhibitDialogClass;
-
-GType gsm_inhibit_dialog_get_type (void);
-
GtkWidget * gsm_inhibit_dialog_new (GsmStore *inhibitors,
GsmStore *clients,
int action);
GtkTreeModel * gsm_inhibit_dialog_get_model (GsmInhibitDialog *dialog);
-#ifdef __cplusplus
-}
-#endif
+G_END_DECLS
#endif /* __GSM_INHIBIT_DIALOG_H */
diff --git a/mate-session/gsm-inhibitor.c b/mate-session/gsm-inhibitor.c
index 6f4e229..6129ddb 100644
--- a/mate-session/gsm-inhibitor.c
+++ b/mate-session/gsm-inhibitor.c
@@ -34,10 +34,9 @@
static guint32 inhibitor_serial = 1;
-#define GSM_INHIBITOR_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GSM_TYPE_INHIBITOR, GsmInhibitorPrivate))
-
-struct GsmInhibitorPrivate
+struct _GsmInhibitor
{
+ GObject parent;
char *id;
char *bus_name;
char *app_id;
@@ -115,8 +114,8 @@ register_inhibitor (GsmInhibitor *inhibitor)
GError *error;
error = NULL;
- inhibitor->priv->connection = dbus_g_bus_get (DBUS_BUS_SESSION, &error);
- if (inhibitor->priv->connection == NULL) {
+ inhibitor->connection = dbus_g_bus_get (DBUS_BUS_SESSION, &error);
+ if (inhibitor->connection == NULL) {
if (error != NULL) {
g_critical ("error getting session bus: %s", error->message);
g_error_free (error);
@@ -124,7 +123,7 @@ register_inhibitor (GsmInhibitor *inhibitor)
return FALSE;
}
- dbus_g_connection_register_g_object (inhibitor->priv->connection, inhibitor->priv->id, G_OBJECT (inhibitor));
+ dbus_g_connection_register_g_object (inhibitor->connection, inhibitor->id, G_OBJECT (inhibitor));
return TRUE;
}
@@ -141,8 +140,8 @@ gsm_inhibitor_constructor (GType type,
n_construct_properties,
construct_properties));
- g_free (inhibitor->priv->id);
- inhibitor->priv->id = g_strdup_printf ("/org/gnome/SessionManager/Inhibitor%u", get_next_inhibitor_serial ());
+ g_free (inhibitor->id);
+ inhibitor->id = g_strdup_printf ("/org/gnome/SessionManager/Inhibitor%u", get_next_inhibitor_serial ());
res = register_inhibitor (inhibitor);
if (! res) {
g_warning ("Unable to register inhibitor with session bus");
@@ -154,7 +153,6 @@ gsm_inhibitor_constructor (GType type,
static void
gsm_inhibitor_init (GsmInhibitor *inhibitor)
{
- inhibitor->priv = GSM_INHIBITOR_GET_PRIVATE (inhibitor);
}
static void
@@ -163,12 +161,12 @@ gsm_inhibitor_set_bus_name (GsmInhibitor *inhibitor,
{
g_return_if_fail (GSM_IS_INHIBITOR (inhibitor));
- g_free (inhibitor->priv->bus_name);
+ g_free (inhibitor->bus_name);
if (bus_name != NULL) {
- inhibitor->priv->bus_name = g_strdup (bus_name);
+ inhibitor->bus_name = g_strdup (bus_name);
} else {
- inhibitor->priv->bus_name = g_strdup ("");
+ inhibitor->bus_name = g_strdup ("");
}
g_object_notify (G_OBJECT (inhibitor), "bus-name");
}
@@ -179,9 +177,9 @@ gsm_inhibitor_set_app_id (GsmInhibitor *inhibitor,
{
g_return_if_fail (GSM_IS_INHIBITOR (inhibitor));
- g_free (inhibitor->priv->app_id);
+ g_free (inhibitor->app_id);
- inhibitor->priv->app_id = g_strdup (app_id);
+ inhibitor->app_id = g_strdup (app_id);
g_object_notify (G_OBJECT (inhibitor), "app-id");
}
@@ -191,14 +189,14 @@ gsm_inhibitor_set_client_id (GsmInhibitor *inhibitor,
{
g_return_if_fail (GSM_IS_INHIBITOR (inhibitor));
- g_free (inhibitor->priv->client_id);
+ g_free (inhibitor->client_id);
g_debug ("GsmInhibitor: setting client-id = %s", client_id);
if (client_id != NULL) {
- inhibitor->priv->client_id = g_strdup (client_id);
+ inhibitor->client_id = g_strdup (client_id);
} else {
- inhibitor->priv->client_id = g_strdup ("");
+ inhibitor->client_id = g_strdup ("");
}
g_object_notify (G_OBJECT (inhibitor), "client-id");
}
@@ -209,12 +207,12 @@ gsm_inhibitor_set_reason (GsmInhibitor *inhibitor,
{
g_return_if_fail (GSM_IS_INHIBITOR (inhibitor));
- g_free (inhibitor->priv->reason);
+ g_free (inhibitor->reason);
if (reason != NULL) {
- inhibitor->priv->reason = g_strdup (reason);
+ inhibitor->reason = g_strdup (reason);
} else {
- inhibitor->priv->reason = g_strdup ("");
+ inhibitor->reason = g_strdup ("");
}
g_object_notify (G_OBJECT (inhibitor), "reason");
}
@@ -225,8 +223,8 @@ gsm_inhibitor_set_cookie (GsmInhibitor *inhibitor,
{
g_return_if_fail (GSM_IS_INHIBITOR (inhibitor));
- if (inhibitor->priv->cookie != cookie) {
- inhibitor->priv->cookie = cookie;
+ if (inhibitor->cookie != cookie) {
+ inhibitor->cookie = cookie;
g_object_notify (G_OBJECT (inhibitor), "cookie");
}
}
@@ -237,8 +235,8 @@ gsm_inhibitor_set_flags (GsmInhibitor *inhibitor,
{
g_return_if_fail (GSM_IS_INHIBITOR (inhibitor));
- if (inhibitor->priv->flags != flags) {
- inhibitor->priv->flags = flags;
+ if (inhibitor->flags != flags) {
+ inhibitor->flags = flags;
g_object_notify (G_OBJECT (inhibitor), "flags");
}
}
@@ -249,8 +247,8 @@ gsm_inhibitor_set_toplevel_xid (GsmInhibitor *inhibitor,
{
g_return_if_fail (GSM_IS_INHIBITOR (inhibitor));
- if (inhibitor->priv->toplevel_xid != xid) {
- inhibitor->priv->toplevel_xid = xid;
+ if (inhibitor->toplevel_xid != xid) {
+ inhibitor->toplevel_xid = xid;
g_object_notify (G_OBJECT (inhibitor), "toplevel-xid");
}
}
@@ -260,7 +258,7 @@ gsm_inhibitor_peek_bus_name (GsmInhibitor *inhibitor)
{
g_return_val_if_fail (GSM_IS_INHIBITOR (inhibitor), NULL);
- return inhibitor->priv->bus_name;
+ return inhibitor->bus_name;
}
gboolean
@@ -270,8 +268,8 @@ gsm_inhibitor_get_app_id (GsmInhibitor *inhibitor,
{
g_return_val_if_fail (GSM_IS_INHIBITOR (inhibitor), FALSE);
- if (inhibitor->priv->app_id != NULL) {
- *id = g_strdup (inhibitor->priv->app_id);
+ if (inhibitor->app_id != NULL) {
+ *id = g_strdup (inhibitor->app_id);
} else {
*id = g_strdup ("");
}
@@ -287,7 +285,7 @@ gsm_inhibitor_get_client_id (GsmInhibitor *inhibitor,
g_return_val_if_fail (GSM_IS_INHIBITOR (inhibitor), FALSE);
/* object paths are not allowed to be NULL or blank */
- if (IS_STRING_EMPTY (inhibitor->priv->client_id)) {
+ if (IS_STRING_EMPTY (inhibitor->client_id)) {
g_set_error (error,
GSM_INHIBITOR_ERROR,
GSM_INHIBITOR_ERROR_NOT_SET,
@@ -295,7 +293,7 @@ gsm_inhibitor_get_client_id (GsmInhibitor *inhibitor,
return FALSE;
}
- *id = g_strdup (inhibitor->priv->client_id);
+ *id = g_strdup (inhibitor->client_id);
g_debug ("GsmInhibitor: getting client-id = '%s'", *id);
@@ -309,8 +307,8 @@ gsm_inhibitor_get_reason (GsmInhibitor *inhibitor,
{
g_return_val_if_fail (GSM_IS_INHIBITOR (inhibitor), FALSE);
- if (inhibitor->priv->reason != NULL) {
- *reason = g_strdup (inhibitor->priv->reason);
+ if (inhibitor->reason != NULL) {
+ *reason = g_strdup (inhibitor->reason);
} else {
*reason = g_strdup ("");
}
@@ -325,7 +323,7 @@ gsm_inhibitor_get_flags (GsmInhibitor *inhibitor,
{
g_return_val_if_fail (GSM_IS_INHIBITOR (inhibitor), FALSE);
- *flags = inhibitor->priv->flags;
+ *flags = inhibitor->flags;
return TRUE;
}
@@ -337,7 +335,7 @@ gsm_inhibitor_get_toplevel_xid (GsmInhibitor *inhibitor,
{
g_return_val_if_fail (GSM_IS_INHIBITOR (inhibitor), FALSE);
- *xid = inhibitor->priv->toplevel_xid;
+ *xid = inhibitor->toplevel_xid;
return TRUE;
}
@@ -347,7 +345,7 @@ gsm_inhibitor_peek_id (GsmInhibitor *inhibitor)
{
g_return_val_if_fail (GSM_IS_INHIBITOR (inhibitor), NULL);
- return inhibitor->priv->id;
+ return inhibitor->id;
}
const char *
@@ -355,7 +353,7 @@ gsm_inhibitor_peek_app_id (GsmInhibitor *inhibitor)
{
g_return_val_if_fail (GSM_IS_INHIBITOR (inhibitor), NULL);
- return inhibitor->priv->app_id;
+ return inhibitor->app_id;
}
const char *
@@ -363,7 +361,7 @@ gsm_inhibitor_peek_client_id (GsmInhibitor *inhibitor)
{
g_return_val_if_fail (GSM_IS_INHIBITOR (inhibitor), NULL);
- return inhibitor->priv->client_id;
+ return inhibitor->client_id;
}
const char *
@@ -371,7 +369,7 @@ gsm_inhibitor_peek_reason (GsmInhibitor *inhibitor)
{
g_return_val_if_fail (GSM_IS_INHIBITOR (inhibitor), NULL);
- return inhibitor->priv->reason;
+ return inhibitor->reason;
}
guint
@@ -379,7 +377,7 @@ gsm_inhibitor_peek_flags (GsmInhibitor *inhibitor)
{
g_return_val_if_fail (GSM_IS_INHIBITOR (inhibitor), 0);
- return inhibitor->priv->flags;
+ return inhibitor->flags;
}
guint
@@ -387,7 +385,7 @@ gsm_inhibitor_peek_toplevel_xid (GsmInhibitor *inhibitor)
{
g_return_val_if_fail (GSM_IS_INHIBITOR (inhibitor), 0);
- return inhibitor->priv->toplevel_xid;
+ return inhibitor->toplevel_xid;
}
guint
@@ -395,7 +393,7 @@ gsm_inhibitor_peek_cookie (GsmInhibitor *inhibitor)
{
g_return_val_if_fail (GSM_IS_INHIBITOR (inhibitor), 0);
- return inhibitor->priv->cookie;
+ return inhibitor->cookie;
}
static void
@@ -448,25 +446,25 @@ gsm_inhibitor_get_property (GObject *object,
switch (prop_id) {
case PROP_BUS_NAME:
- g_value_set_string (value, self->priv->bus_name);
+ g_value_set_string (value, self->bus_name);
break;
case PROP_APP_ID:
- g_value_set_string (value, self->priv->app_id);
+ g_value_set_string (value, self->app_id);
break;
case PROP_CLIENT_ID:
- g_value_set_string (value, self->priv->client_id);
+ g_value_set_string (value, self->client_id);
break;
case PROP_REASON:
- g_value_set_string (value, self->priv->reason);
+ g_value_set_string (value, self->reason);
break;
case PROP_FLAGS:
- g_value_set_uint (value, self->priv->flags);
+ g_value_set_uint (value, self->flags);
break;
case PROP_COOKIE:
- g_value_set_uint (value, self->priv->cookie);
+ g_value_set_uint (value, self->cookie);
break;
case PROP_TOPLEVEL_XID:
- g_value_set_uint (value, self->priv->toplevel_xid);
+ g_value_set_uint (value, self->toplevel_xid);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
@@ -479,11 +477,11 @@ gsm_inhibitor_finalize (GObject *object)
{
GsmInhibitor *inhibitor = (GsmInhibitor *) object;
- g_free (inhibitor->priv->id);
- g_free (inhibitor->priv->bus_name);
- g_free (inhibitor->priv->app_id);
- g_free (inhibitor->priv->client_id);
- g_free (inhibitor->priv->reason);
+ g_free (inhibitor->id);
+ g_free (inhibitor->bus_name);
+ g_free (inhibitor->app_id);
+ g_free (inhibitor->client_id);
+ g_free (inhibitor->reason);
G_OBJECT_CLASS (gsm_inhibitor_parent_class)->finalize (object);
}
@@ -556,7 +554,6 @@ gsm_inhibitor_class_init (GsmInhibitorClass *klass)
dbus_g_object_type_install_info (GSM_TYPE_INHIBITOR, &dbus_glib_gsm_inhibitor_object_info);
dbus_g_error_domain_register (GSM_INHIBITOR_ERROR, NULL, GSM_INHIBITOR_TYPE_ERROR);
- g_type_class_add_private (klass, sizeof (GsmInhibitorPrivate));
}
GsmInhibitor *
diff --git a/mate-session/gsm-inhibitor.h b/mate-session/gsm-inhibitor.h
index 66aba28..653f717 100644
--- a/mate-session/gsm-inhibitor.h
+++ b/mate-session/gsm-inhibitor.h
@@ -24,32 +24,12 @@
#include <glib-object.h>
#include <sys/types.h>
-#ifdef __cplusplus
-extern "C" {
-#endif
+G_BEGIN_DECLS
#define GSM_TYPE_INHIBITOR (gsm_inhibitor_get_type ())
-#define GSM_INHIBITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GSM_TYPE_INHIBITOR, GsmInhibitor))
-#define GSM_INHIBITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GSM_TYPE_INHIBITOR, GsmInhibitorClass))
-#define GSM_IS_INHIBITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GSM_TYPE_INHIBITOR))
-#define GSM_IS_INHIBITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GSM_TYPE_INHIBITOR))
-#define GSM_INHIBITOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GSM_TYPE_INHIBITOR, GsmInhibitorClass))
-
-typedef struct _GsmInhibitor GsmInhibitor;
-typedef struct _GsmInhibitorClass GsmInhibitorClass;
-
-typedef struct GsmInhibitorPrivate GsmInhibitorPrivate;
-
-struct _GsmInhibitor
-{
- GObject parent;
- GsmInhibitorPrivate *priv;
-};
-
-struct _GsmInhibitorClass
-{
- GObjectClass parent_class;
-};
+#define GSM_INHIBITOR_ERROR (gsm_inhibitor_error_quark ())
+#define GSM_INHIBITOR_TYPE_ERROR (gsm_inhibitor_error_get_type ())
+G_DECLARE_FINAL_TYPE (GsmInhibitor, gsm_inhibitor, GSM, INHIBITOR, GObject)
typedef enum {
GSM_INHIBITOR_FLAG_LOGOUT = 1 << 0,
@@ -65,14 +45,10 @@ typedef enum
GSM_INHIBITOR_NUM_ERRORS
} GsmInhibitorError;
-#define GSM_INHIBITOR_ERROR gsm_inhibitor_error_quark ()
GType gsm_inhibitor_error_get_type (void);
-#define GSM_INHIBITOR_TYPE_ERROR (gsm_inhibitor_error_get_type ())
GQuark gsm_inhibitor_error_quark (void);
-GType gsm_inhibitor_get_type (void) G_GNUC_CONST;
-
GsmInhibitor * gsm_inhibitor_new (const char *app_id,
guint toplevel_xid,
guint flags,
@@ -112,9 +88,6 @@ gboolean gsm_inhibitor_get_toplevel_xid (GsmInhibitor *inhibitor,
guint *xid,
GError **error);
-
-#ifdef __cplusplus
-}
-#endif
+G_END_DECLS
#endif /* __GSM_INHIBITOR_H__ */
diff --git a/mate-session/gsm-logout-dialog.c b/mate-session/gsm-logout-dialog.c
index 3183036..0b5741c 100644
--- a/mate-session/gsm-logout-dialog.c
+++ b/mate-session/gsm-logout-dialog.c
@@ -34,9 +34,6 @@
#include "gsm-consolekit.h"
#include "mdm.h"
-#define GSM_LOGOUT_DIALOG_GET_PRIVATE(o) \
- (G_TYPE_INSTANCE_GET_PRIVATE ((o), GSM_TYPE_LOGOUT_DIALOG, GsmLogoutDialogPrivate))
-
#define GSM_ICON_LOGOUT "system-log-out"
#define GSM_ICON_SHUTDOWN "system-shutdown"
@@ -51,8 +48,9 @@ typedef enum {
GSM_DIALOG_LOGOUT_TYPE_SHUTDOWN
} GsmDialogLogoutType;
-struct _GsmLogoutDialogPrivate
+struct _GsmLogoutDialog
{
+ GtkMessageDialog parent;
GsmDialogLogoutType type;
#ifdef HAVE_SYSTEMD
GsmSystemd *systemd;
@@ -133,32 +131,28 @@ gsm_logout_dialog_class_init (GsmLogoutDialogClass *klass)
g_object_class_override_property (gobject_class,
PROP_MESSAGE_TYPE,
"message-type");
-
- g_type_class_add_private (klass, sizeof (GsmLogoutDialogPrivate));
}
static void
gsm_logout_dialog_init (GsmLogoutDialog *logout_dialog)
{
- logout_dialog->priv = GSM_LOGOUT_DIALOG_GET_PRIVATE (logout_dialog);
-
- logout_dialog->priv->timeout_id = 0;
- logout_dialog->priv->timeout = 0;
- logout_dialog->priv->default_response = GTK_RESPONSE_CANCEL;
+ logout_dialog->timeout_id = 0;
+ logout_dialog->timeout = 0;
+ logout_dialog->default_response = GTK_RESPONSE_CANCEL;
- GtkStyleContext *context;
- context = gtk_widget_get_style_context (GTK_WIDGET (logout_dialog));
- gtk_style_context_add_class (context, "logout-dialog");
+ GtkStyleContext *context;
+ context = gtk_widget_get_style_context (GTK_WIDGET (logout_dialog));
+ gtk_style_context_add_class (context, "logout-dialog");
gtk_window_set_skip_taskbar_hint (GTK_WINDOW (logout_dialog), TRUE);
gtk_window_set_keep_above (GTK_WINDOW (logout_dialog), TRUE);
gtk_window_stick (GTK_WINDOW (logout_dialog));
#ifdef HAVE_SYSTEMD
if (LOGIND_RUNNING())
- logout_dialog->priv->systemd = gsm_get_systemd ();
+ logout_dialog->systemd = gsm_get_systemd ();
else
#endif
- logout_dialog->priv->consolekit = gsm_get_consolekit ();
+ logout_dialog->consolekit = gsm_get_consolekit ();
g_signal_connect (logout_dialog,
"destroy",
@@ -175,20 +169,20 @@ static void
gsm_logout_dialog_destroy (GsmLogoutDialog *logout_dialog,
gpointer data)
{
- if (logout_dialog->priv->timeout_id != 0) {
- g_source_remove (logout_dialog->priv->timeout_id);
- logout_dialog->priv->timeout_id = 0;
+ if (logout_dialog->timeout_id != 0) {
+ g_source_remove (logout_dialog->timeout_id);
+ logout_dialog->timeout_id = 0;
}
#ifdef HAVE_SYSTEMD
- if (logout_dialog->priv->systemd) {
- g_object_unref (logout_dialog->priv->systemd);
- logout_dialog->priv->systemd = NULL;
+ if (logout_dialog->systemd) {
+ g_object_unref (logout_dialog->systemd);
+ logout_dialog->systemd = NULL;
}
#endif
- if (logout_dialog->priv->consolekit) {
- g_object_unref (logout_dialog->priv->consolekit);
- logout_dialog->priv->consolekit = NULL;
+ if (logout_dialog->consolekit) {
+ g_object_unref (logout_dialog->consolekit);
+ logout_dialog->consolekit = NULL;
}
current_dialog = NULL;
@@ -201,10 +195,10 @@ gsm_logout_supports_system_suspend (GsmLogoutDialog *logout_dialog)
ret = FALSE;
#ifdef HAVE_SYSTEMD
if (LOGIND_RUNNING())
- ret = gsm_systemd_can_suspend (logout_dialog->priv->systemd);
+ ret = gsm_systemd_can_suspend (logout_dialog->systemd);
else
#endif
- ret = gsm_consolekit_can_suspend (logout_dialog->priv->consolekit);
+ ret = gsm_consolekit_can_suspend (logout_dialog->consolekit);
return ret;
}
@@ -215,10 +209,10 @@ gsm_logout_supports_system_hibernate (GsmLogoutDialog *logout_dialog)
ret = FALSE;
#ifdef HAVE_SYSTEMD
if (LOGIND_RUNNING())
- ret = gsm_systemd_can_hibernate (logout_dialog->priv->systemd);
+ ret = gsm_systemd_can_hibernate (logout_dialog->systemd);
else
#endif
- ret = gsm_consolekit_can_hibernate (logout_dialog->priv->consolekit);
+ ret = gsm_consolekit_can_hibernate (logout_dialog->consolekit);
return ret;
}
@@ -237,10 +231,10 @@ gsm_logout_supports_switch_user (GsmLogoutDialog *logout_dialog)
if (!locked) {
#ifdef HAVE_SYSTEMD
if (LOGIND_RUNNING())
- ret = gsm_systemd_can_switch_user (logout_dialog->priv->systemd);
+ ret = gsm_systemd_can_switch_user (logout_dialog->systemd);
else
#endif
- ret = gsm_consolekit_can_switch_user (logout_dialog->priv->consolekit);
+ ret = gsm_consolekit_can_switch_user (logout_dialog->consolekit);
}
return ret;
@@ -253,10 +247,10 @@ gsm_logout_supports_reboot (GsmLogoutDialog *logout_dialog)
#ifdef HAVE_SYSTEMD
if (LOGIND_RUNNING())
- ret = gsm_systemd_can_restart (logout_dialog->priv->systemd);
+ ret = gsm_systemd_can_restart (logout_dialog->systemd);
else
#endif
- ret = gsm_consolekit_can_restart (logout_dialog->priv->consolekit);
+ ret = gsm_consolekit_can_restart (logout_dialog->consolekit);
if (!ret) {
ret = mdm_supports_logout_action (MDM_LOGOUT_ACTION_REBOOT);
}
@@ -271,10 +265,10 @@ gsm_logout_supports_shutdown (GsmLogoutDialog *logout_dialog)
#ifdef HAVE_SYSTEMD
if (LOGIND_RUNNING())
- ret = gsm_systemd_can_stop (logout_dialog->priv->systemd);
+ ret = gsm_systemd_can_stop (logout_dialog->systemd);
else
#endif
- ret = gsm_consolekit_can_stop (logout_dialog->priv->consolekit);
+ ret = gsm_consolekit_can_stop (logout_dialog->consolekit);
if (!ret) {
ret = mdm_supports_logout_action (MDM_LOGOUT_ACTION_SHUTDOWN);
@@ -300,20 +294,20 @@ gsm_logout_dialog_timeout (gpointer data)
logout_dialog = (GsmLogoutDialog *) data;
- if (!logout_dialog->priv->timeout) {
+ if (!logout_dialog->timeout) {
gtk_dialog_response (GTK_DIALOG (logout_dialog),
- logout_dialog->priv->default_response);
+ logout_dialog->default_response);
return FALSE;
}
- switch (logout_dialog->priv->type) {
+ switch (logout_dialog->type) {
case GSM_DIALOG_LOGOUT_TYPE_LOGOUT:
seconds_warning = ngettext ("You will be automatically logged "
"out in %d second",
"You will be automatically logged "
"out in %d seconds",
- logout_dialog->priv->timeout);
+ logout_dialog->timeout);
break;
case GSM_DIALOG_LOGOUT_TYPE_SHUTDOWN:
@@ -321,13 +315,13 @@ gsm_logout_dialog_timeout (gpointer data)
"shut down in %d second",
"This system will be automatically "
"shut down in %d seconds",
- logout_dialog->priv->timeout);
+ logout_dialog->timeout);
break;
default:
g_assert_not_reached ();
}
- seconds_warning = g_strdup_printf (seconds_warning, logout_dialog->priv->timeout);
+ seconds_warning = g_strdup_printf (seconds_warning, logout_dialog->timeout);
if (session_type == NULL) {
#ifdef HAVE_SYSTEMD
@@ -370,16 +364,16 @@ gsm_logout_dialog_timeout (gpointer data)
secondary_text = g_strdup (seconds_warning);
}
- gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (logout_dialog->priv->progressbar),
- logout_dialog->priv->timeout / 60.0);
- gtk_progress_bar_set_text (GTK_PROGRESS_BAR (logout_dialog->priv->progressbar),
+ gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (logout_dialog->progressbar),
+ logout_dialog->timeout / 60.0);
+ gtk_progress_bar_set_text (GTK_PROGRESS_BAR (logout_dialog->progressbar),
seconds_warning);
gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (logout_dialog),
secondary_text,
NULL);
- logout_dialog->priv->timeout--;
+ logout_dialog->timeout--;
g_free (secondary_text);
g_free (seconds_warning);
@@ -394,22 +388,22 @@ gsm_logout_dialog_set_timeout (GsmLogoutDialog *logout_dialog)
settings = g_settings_new (SESSION_SCHEMA);
- logout_dialog->priv->timeout = g_settings_get_int (settings, KEY_LOGOUT_TIMEOUT);
+ logout_dialog->timeout = g_settings_get_int (settings, KEY_LOGOUT_TIMEOUT);
- if (logout_dialog->priv->timeout > 0) {
+ if (logout_dialog->timeout > 0) {
/* Sets the secondary text */
gsm_logout_dialog_timeout (logout_dialog);
- if (logout_dialog->priv->timeout_id != 0) {
- g_source_remove (logout_dialog->priv->timeout_id);
+ if (logout_dialog->timeout_id != 0) {
+ g_source_remove (logout_dialog->timeout_id);
}
- logout_dialog->priv->timeout_id = g_timeout_add (1000,
- gsm_logout_dialog_timeout,
- logout_dialog);
+ logout_dialog->timeout_id = g_timeout_add (1000,
+ gsm_logout_dialog_timeout,
+ logout_dialog);
}
else {
- gtk_widget_hide (logout_dialog->priv->progressbar);
+ gtk_widget_hide (logout_dialog->progressbar);
}
g_object_unref (settings);
@@ -435,7 +429,7 @@ gsm_get_dialog (GsmDialogLogoutType type,
gtk_window_set_title (GTK_WINDOW (logout_dialog), "");
- logout_dialog->priv->type = type;
+ logout_dialog->type = type;
icon_name = NULL;
primary_text = NULL;
@@ -445,7 +439,7 @@ gsm_get_dialog (GsmDialogLogoutType type,
icon_name = GSM_ICON_LOGOUT;
primary_text = _("Log out of this system now?");
- logout_dialog->priv->default_response = GSM_LOGOUT_RESPONSE_LOGOUT;
+ logout_dialog->default_response = GSM_LOGOUT_RESPONSE_LOGOUT;
if (gsm_logout_supports_switch_user (logout_dialog)) {
gtk_dialog_add_button (GTK_DIALOG (logout_dialog),
@@ -466,7 +460,7 @@ gsm_get_dialog (GsmDialogLogoutType type,
icon_name = GSM_ICON_SHUTDOWN;
primary_text = _("Shut down this system now?");
- logout_dialog->priv->default_response = GSM_LOGOUT_RESPONSE_SHUTDOWN;
+ logout_dialog->default_response = GSM_LOGOUT_RESPONSE_SHUTDOWN;
if (gsm_logout_supports_system_suspend (logout_dialog)) {
gtk_dialog_add_button (GTK_DIALOG (logout_dialog),
@@ -501,11 +495,11 @@ gsm_get_dialog (GsmDialogLogoutType type,
}
hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
- logout_dialog->priv->progressbar = gtk_progress_bar_new ();
- gtk_progress_bar_set_show_text (GTK_PROGRESS_BAR (logout_dialog->priv->progressbar), TRUE);
- gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (logout_dialog->priv->progressbar), 1.0);
+ logout_dialog->progressbar = gtk_progress_bar_new ();
+ gtk_progress_bar_set_show_text (GTK_PROGRESS_BAR (logout_dialog->progressbar), TRUE);
+ gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (logout_dialog->progressbar), 1.0);
gtk_box_pack_start (GTK_BOX (hbox),
- logout_dialog->priv->progressbar,
+ logout_dialog->progressbar,
TRUE, TRUE, 12);
gtk_widget_show_all (hbox);
gtk_container_add (GTK_CONTAINER (gtk_dialog_get_content_area (GTK_DIALOG (logout_dialog))), hbox);
@@ -515,7 +509,7 @@ gsm_get_dialog (GsmDialogLogoutType type,
gtk_message_dialog_set_markup (GTK_MESSAGE_DIALOG (logout_dialog), primary_text);
gtk_dialog_set_default_response (GTK_DIALOG (logout_dialog),
- logout_dialog->priv->default_response);
+ logout_dialog->default_response);
gtk_window_set_screen (GTK_WINDOW (logout_dialog), screen);
diff --git a/mate-session/gsm-logout-dialog.h b/mate-session/gsm-logout-dialog.h
index dcde2cb..2166521 100644
--- a/mate-session/gsm-logout-dialog.h
+++ b/mate-session/gsm-logout-dialog.h
@@ -26,9 +26,10 @@
#include <gtk/gtk.h>
-#ifdef __cplusplus
-extern "C" {
-#endif
+G_BEGIN_DECLS
+
+#define GSM_TYPE_LOGOUT_DIALOG (gsm_logout_dialog_get_type ())
+G_DECLARE_FINAL_TYPE (GsmLogoutDialog, gsm_logout_dialog, GSM, LOGOUT_DIALOG, GtkMessageDialog)
enum
{
@@ -40,38 +41,11 @@ enum
GSM_LOGOUT_RESPONSE_SLEEP
};
-#define GSM_TYPE_LOGOUT_DIALOG (gsm_logout_dialog_get_type ())
-#define GSM_LOGOUT_DIALOG(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GSM_TYPE_LOGOUT_DIALOG, GsmLogoutDialog))
-#define GSM_LOGOUT_DIALOG_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), GSM_TYPE_LOGOUT_DIALOG, GsmLogoutDialogClass))
-#define GSM_IS_LOGOUT_DIALOG(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GSM_TYPE_LOGOUT_DIALOG))
-#define GSM_IS_LOGOUT_DIALOG_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GSM_TYPE_LOGOUT_DIALOG))
-#define GSM_LOGOUT_DIALOG_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GSM_TYPE_LOGOUT_DIALOG, GsmLogoutDialogClass))
-
-typedef struct _GsmLogoutDialog GsmLogoutDialog;
-typedef struct _GsmLogoutDialogClass GsmLogoutDialogClass;
-typedef struct _GsmLogoutDialogPrivate GsmLogoutDialogPrivate;
-
-struct _GsmLogoutDialog
-{
- GtkMessageDialog parent;
-
- GsmLogoutDialogPrivate *priv;
-};
-
-struct _GsmLogoutDialogClass
-{
- GtkMessageDialogClass parent_class;
-};
-
-GType gsm_logout_dialog_get_type (void) G_GNUC_CONST;
-
GtkWidget *gsm_get_logout_dialog (GdkScreen *screen,
guint32 activate_time);
GtkWidget *gsm_get_shutdown_dialog (GdkScreen *screen,
guint32 activate_time);
-#ifdef __cplusplus
-}
-#endif
+G_END_DECLS
#endif /* __GSM_LOGOUT_DIALOG_H__ */
diff --git a/mate-session/gsm-store.c b/mate-session/gsm-store.c
index 2d1721f..e715e73 100644
--- a/mate-session/gsm-store.c
+++ b/mate-session/gsm-store.c
@@ -32,13 +32,11 @@
#include "gsm-store.h"
-#define GSM_STORE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GSM_TYPE_STORE, GsmStorePrivate))
-
-struct GsmStorePrivate
+typedef struct
{
GHashTable *objects;
gboolean locked;
-};
+} GsmStorePrivate;
enum {
ADDED,
@@ -57,7 +55,7 @@ static void gsm_store_class_init (GsmStoreClass *klass);
static void gsm_store_init (GsmStore *store);
static void gsm_store_finalize (GObject *object);
-G_DEFINE_TYPE (GsmStore, gsm_store, G_TYPE_OBJECT)
+G_DEFINE_TYPE_WITH_PRIVATE (GsmStore, gsm_store, G_TYPE_OBJECT)
GQuark
gsm_store_error_quark (void)
@@ -73,7 +71,9 @@ gsm_store_error_quark (void)
guint
gsm_store_size (GsmStore *store)
{
- return g_hash_table_size (store->priv->objects);
+ GsmStorePrivate *priv;
+ priv = gsm_store_get_instance_private (store);
+ return g_hash_table_size (priv->objects);
}
gboolean
@@ -83,10 +83,12 @@ gsm_store_remove (GsmStore *store,
GObject *found;
gboolean removed;
char *id_copy;
+ GsmStorePrivate *priv;
g_return_val_if_fail (store != NULL, FALSE);
- found = g_hash_table_lookup (store->priv->objects, id);
+ priv = gsm_store_get_instance_private (store);
+ found = g_hash_table_lookup (priv->objects, id);
if (found == NULL) {
return FALSE;
}
@@ -95,7 +97,7 @@ gsm_store_remove (GsmStore *store,
g_object_ref (found);
- removed = g_hash_table_remove (store->priv->objects, id_copy);
+ removed = g_hash_table_remove (priv->objects, id_copy);
g_assert (removed);
g_signal_emit (store, signals [REMOVED], 0, id_copy);
@@ -113,8 +115,10 @@ gsm_store_foreach (GsmStore *store,
{
g_return_if_fail (store != NULL);
g_return_if_fail (func != NULL);
+ GsmStorePrivate *priv;
+ priv = gsm_store_get_instance_private (store);
- g_hash_table_find (store->priv->objects,
+ g_hash_table_find (priv->objects,
(GHRFunc)func,
user_data);
}
@@ -125,11 +129,13 @@ gsm_store_find (GsmStore *store,
gpointer user_data)
{
GObject *object;
+ GsmStorePrivate *priv;
g_return_val_if_fail (store != NULL, NULL);
g_return_val_if_fail (predicate != NULL, NULL);
+ priv = gsm_store_get_instance_private (store);
- object = g_hash_table_find (store->priv->objects,
+ object = g_hash_table_find (priv->objects,
(GHRFunc)predicate,
user_data);
return object;
@@ -140,11 +146,13 @@ gsm_store_lookup (GsmStore *store,
const char *id)
{
GObject *object;
+ GsmStorePrivate *priv;
g_return_val_if_fail (store != NULL, NULL);
g_return_val_if_fail (id != NULL, NULL);
+ priv = gsm_store_get_instance_private (store);
- object = g_hash_table_lookup (store->priv->objects, id);
+ object = g_hash_table_lookup (priv->objects, id);
return object;
}
@@ -180,16 +188,18 @@ gsm_store_foreach_remove (GsmStore *store,
{
guint ret;
WrapperData data;
+ GsmStorePrivate *priv;
g_return_val_if_fail (store != NULL, 0);
g_return_val_if_fail (func != NULL, 0);
+ priv = gsm_store_get_instance_private (store);
data.store = store;
data.user_data = user_data;
data.func = func;
data.removed = NULL;
- ret = g_hash_table_foreach_remove (store->priv->objects,
+ ret = g_hash_table_foreach_remove (priv->objects,
(GHRFunc)foreach_remove_wrapper,
&data);
@@ -231,19 +241,22 @@ gsm_store_add (GsmStore *store,
const char *id,
GObject *object)
{
+ GsmStorePrivate *priv;
g_return_val_if_fail (store != NULL, FALSE);
g_return_val_if_fail (id != NULL, FALSE);
g_return_val_if_fail (object != NULL, FALSE);
+ priv = gsm_store_get_instance_private (store);
+
/* If we're locked, we don't accept any new session
objects. */
- if (store->priv->locked) {
+ if (priv->locked) {
return FALSE;
}
g_debug ("GsmStore: Adding object id %s to store", id);
- g_hash_table_insert (store->priv->objects,
+ g_hash_table_insert (priv->objects,
g_strdup (id),
g_object_ref (object));
@@ -256,17 +269,21 @@ void
gsm_store_set_locked (GsmStore *store,
gboolean locked)
{
+ GsmStorePrivate *priv;
g_return_if_fail (GSM_IS_STORE (store));
+ priv = gsm_store_get_instance_private (store);
- store->priv->locked = locked;
+ priv->locked = locked;
}
gboolean
gsm_store_get_locked (GsmStore *store)
{
+ GsmStorePrivate *priv;
g_return_val_if_fail (GSM_IS_STORE (store), FALSE);
+ priv = gsm_store_get_instance_private (store);
- return store->priv->locked;
+ return priv->locked;
}
static void
@@ -296,12 +313,14 @@ gsm_store_get_property (GObject *object,
GParamSpec *pspec)
{
GsmStore *self;
+ GsmStorePrivate *priv;
self = GSM_STORE (object);
+ priv = gsm_store_get_instance_private (self);
switch (prop_id) {
case PROP_LOCKED:
- g_value_set_boolean (value, self->priv->locked);
+ g_value_set_boolean (value, priv->locked);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
@@ -361,8 +380,6 @@ gsm_store_class_init (GsmStoreClass *klass)
NULL,
FALSE,
G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
-
- g_type_class_add_private (klass, sizeof (GsmStorePrivate));
}
static void
@@ -375,28 +392,30 @@ _destroy_object (GObject *object)
static void
gsm_store_init (GsmStore *store)
{
+ GsmStorePrivate *priv;
+ priv = gsm_store_get_instance_private (store);
- store->priv = GSM_STORE_GET_PRIVATE (store);
-
- store->priv->objects = g_hash_table_new_full (g_str_hash,
- g_str_equal,
- g_free,
- (GDestroyNotify) _destroy_object);
+ priv->objects = g_hash_table_new_full (g_str_hash,
+ g_str_equal,
+ g_free,
+ (GDestroyNotify) _destroy_object);
}
static void
gsm_store_finalize (GObject *object)
{
GsmStore *store;
+ GsmStorePrivate *priv;
g_return_if_fail (object != NULL);
g_return_if_fail (GSM_IS_STORE (object));
store = GSM_STORE (object);
+ priv = gsm_store_get_instance_private (store);
- g_return_if_fail (store->priv != NULL);
+ g_return_if_fail (priv != NULL);
- g_hash_table_destroy (store->priv->objects);
+ g_hash_table_destroy (priv->objects);
G_OBJECT_CLASS (gsm_store_parent_class)->finalize (object);
}
diff --git a/mate-session/gsm-store.h b/mate-session/gsm-store.h
index c7b1c85..5a7f408 100644
--- a/mate-session/gsm-store.h
+++ b/mate-session/gsm-store.h
@@ -24,26 +24,12 @@
#include <glib-object.h>
-#ifdef __cplusplus
-extern "C" {
-#endif
+G_BEGIN_DECLS
#define GSM_TYPE_STORE (gsm_store_get_type ())
-#define GSM_STORE(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GSM_TYPE_STORE, GsmStore))
-#define GSM_STORE_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), GSM_TYPE_STORE, GsmStoreClass))
-#define GSM_IS_STORE(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GSM_TYPE_STORE))
-#define GSM_IS_STORE_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GSM_TYPE_STORE))
-#define GSM_STORE_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GSM_TYPE_STORE, GsmStoreClass))
+G_DECLARE_DERIVABLE_TYPE (GsmStore, gsm_store, GSM, STORE, GObject)
-typedef struct GsmStorePrivate GsmStorePrivate;
-
-typedef struct
-{
- GObject parent;
- GsmStorePrivate *priv;
-} GsmStore;
-
-typedef struct
+struct _GsmStoreClass
{
GObjectClass parent_class;
@@ -51,7 +37,7 @@ typedef struct
const char *id);
void (* removed) (GsmStore *store,
const char *id);
-} GsmStoreClass;
+};
typedef enum
{
@@ -65,7 +51,7 @@ typedef gboolean (*GsmStoreFunc) (const char *id,
gpointer user_data);
GQuark gsm_store_error_quark (void);
-GType gsm_store_get_type (void);
+GType gsm_store_get_type (void) G_GNUC_CONST;
GsmStore * gsm_store_new (void);
@@ -93,9 +79,6 @@ GObject * gsm_store_find (GsmStore *store,
GObject * gsm_store_lookup (GsmStore *store,
const char *id);
-
-#ifdef __cplusplus
-}
-#endif
+G_END_DECLS
#endif /* __GSM_STORE_H */
diff --git a/mate-session/gsm-systemd.c b/mate-session/gsm-systemd.c
index 3ef6e48..5eafaed 100644
--- a/mate-session/gsm-systemd.c
+++ b/mate-session/gsm-systemd.c
@@ -44,16 +44,13 @@
#define SD_SEAT_INTERFACE "org.freedesktop.login1.Seat"
#define SD_SESSION_INTERFACE "org.freedesktop.login1.Session"
-#define GSM_SYSTEMD_GET_PRIVATE(o) \
- (G_TYPE_INSTANCE_GET_PRIVATE ((o), GSM_TYPE_SYSTEMD, GsmSystemdPrivate))
-
-struct _GsmSystemdPrivate
+typedef struct
{
DBusGConnection *dbus_connection;
DBusGProxy *bus_proxy;
DBusGProxy *sd_proxy;
guint32 is_connected : 1;
-};
+} GsmSystemdPrivate;
enum {
PROP_0,
@@ -84,7 +81,7 @@ static void gsm_systemd_on_name_owner_changed (DBusGProxy *bus_proxy,
const char *new_owner,
GsmSystemd *manager);
-G_DEFINE_TYPE (GsmSystemd, gsm_systemd, G_TYPE_OBJECT);
+G_DEFINE_TYPE_WITH_PRIVATE (GsmSystemd, gsm_systemd, G_TYPE_OBJECT);
static void
gsm_systemd_get_property (GObject *object,
@@ -92,12 +89,15 @@ gsm_systemd_get_property (GObject *object,
GValue *value,
GParamSpec *pspec)
{
+ GsmSystemdPrivate *priv;
GsmSystemd *manager = GSM_SYSTEMD (object);
+ priv = gsm_systemd_get_instance_private (manager);
+
switch (prop_id) {
case PROP_IS_CONNECTED:
g_value_set_boolean (value,
- manager->priv->is_connected);
+ priv->is_connected);
break;
default:
@@ -148,8 +148,6 @@ gsm_systemd_class_init (GsmSystemdClass *manager_class)
gsm_marshal_VOID__BOOLEAN_BOOLEAN_POINTER,
G_TYPE_NONE,
3, G_TYPE_BOOLEAN, G_TYPE_BOOLEAN, G_TYPE_POINTER);
-
- g_type_class_add_private (manager_class, sizeof (GsmSystemdPrivate));
}
static DBusHandlerResult
@@ -177,64 +175,67 @@ gsm_systemd_ensure_sd_connection (GsmSystemd *manager,
{
GError *connection_error;
gboolean is_connected;
+ GsmSystemdPrivate *priv;
connection_error = NULL;
- if (manager->priv->dbus_connection == NULL) {
+ priv = gsm_systemd_get_instance_private (manager);
+
+ if (priv->dbus_connection == NULL) {
DBusConnection *connection;
- manager->priv->dbus_connection = dbus_g_bus_get (DBUS_BUS_SYSTEM,
- &connection_error);
+ priv->dbus_connection = dbus_g_bus_get (DBUS_BUS_SYSTEM,
+ &connection_error);
- if (manager->priv->dbus_connection == NULL) {
+ if (priv->dbus_connection == NULL) {
g_propagate_error (error, connection_error);
is_connected = FALSE;
goto out;
}
- connection = dbus_g_connection_get_connection (manager->priv->dbus_connection);
+ connection = dbus_g_connection_get_connection (priv->dbus_connection);
dbus_connection_set_exit_on_disconnect (connection, FALSE);
dbus_connection_add_filter (connection,
gsm_systemd_dbus_filter,
manager, NULL);
}
- if (manager->priv->bus_proxy == NULL) {
- manager->priv->bus_proxy =
- dbus_g_proxy_new_for_name_owner (manager->priv->dbus_connection,
+ if (priv->bus_proxy == NULL) {
+ priv->bus_proxy =
+ dbus_g_proxy_new_for_name_owner (priv->dbus_connection,
DBUS_SERVICE_DBUS,
DBUS_PATH_DBUS,
DBUS_INTERFACE_DBUS,
&connection_error);
- if (manager->priv->bus_proxy == NULL) {
+ if (priv->bus_proxy == NULL) {
g_propagate_error (error, connection_error);
is_connected = FALSE;
goto out;
}
- dbus_g_proxy_add_signal (manager->priv->bus_proxy,
+ dbus_g_proxy_add_signal (priv->bus_proxy,
"NameOwnerChanged",
G_TYPE_STRING,
G_TYPE_STRING,
G_TYPE_STRING,
G_TYPE_INVALID);
- dbus_g_proxy_connect_signal (manager->priv->bus_proxy,
+ dbus_g_proxy_connect_signal (priv->bus_proxy,
"NameOwnerChanged",
G_CALLBACK (gsm_systemd_on_name_owner_changed),
manager, NULL);
}
- if (manager->priv->sd_proxy == NULL) {
- manager->priv->sd_proxy =
- dbus_g_proxy_new_for_name_owner (manager->priv->dbus_connection,
+ if (priv->sd_proxy == NULL) {
+ priv->sd_proxy =
+ dbus_g_proxy_new_for_name_owner (priv->dbus_connection,
SD_NAME,
SD_PATH,
SD_INTERFACE,
&connection_error);
- if (manager->priv->sd_proxy == NULL) {
+ if (priv->sd_proxy == NULL) {
g_propagate_error (error, connection_error);
is_connected = FALSE;
goto out;
@@ -244,26 +245,26 @@ gsm_systemd_ensure_sd_connection (GsmSystemd *manager,
is_connected = TRUE;
out:
- if (manager->priv->is_connected != is_connected) {
- manager->priv->is_connected = is_connected;
+ if (priv->is_connected != is_connected) {
+ priv->is_connected = is_connected;
g_object_notify (G_OBJECT (manager), "is-connected");
}
if (!is_connected) {
- if (manager->priv->dbus_connection == NULL) {
- if (manager->priv->bus_proxy != NULL) {
- g_object_unref (manager->priv->bus_proxy);
- manager->priv->bus_proxy = NULL;
+ if (priv->dbus_connection == NULL) {
+ if (priv->bus_proxy != NULL) {
+ g_object_unref (priv->bus_proxy);
+ priv->bus_proxy = NULL;
}
- if (manager->priv->sd_proxy != NULL) {
- g_object_unref (manager->priv->sd_proxy);
- manager->priv->sd_proxy = NULL;
+ if (priv->sd_proxy != NULL) {
+ g_object_unref (priv->sd_proxy);
+ priv->sd_proxy = NULL;
}
- } else if (manager->priv->bus_proxy == NULL) {
- if (manager->priv->sd_proxy != NULL) {
- g_object_unref (manager->priv->sd_proxy);
- manager->priv->sd_proxy = NULL;
+ } else if (priv->bus_proxy == NULL) {
+ if (priv->sd_proxy != NULL) {
+ g_object_unref (priv->sd_proxy);
+ priv->sd_proxy = NULL;
}
}
}
@@ -278,13 +279,16 @@ gsm_systemd_on_name_owner_changed (DBusGProxy *bus_proxy,
const char *new_owner,
GsmSystemd *manager)
{
+ GsmSystemdPrivate *priv;
+
+ priv = gsm_systemd_get_instance_private (manager);
if (name != NULL && g_strcmp0 (name, SD_NAME) != 0) {
return;
}
- if (manager->priv->sd_proxy != NULL) {
- g_object_unref (manager->priv->sd_proxy);
- manager->priv->sd_proxy = NULL;
+ if (priv->sd_proxy != NULL) {
+ g_object_unref (priv->sd_proxy);
+ priv->sd_proxy = NULL;
}
gsm_systemd_ensure_sd_connection (manager, NULL);
@@ -295,8 +299,6 @@ gsm_systemd_init (GsmSystemd *manager)
{
GError *error;
- manager->priv = GSM_SYSTEMD_GET_PRIVATE (manager);
-
error = NULL;
if (!gsm_systemd_ensure_sd_connection (manager, &error)) {
@@ -309,25 +311,28 @@ gsm_systemd_init (GsmSystemd *manager)
static void
gsm_systemd_free_dbus (GsmSystemd *manager)
{
- if (manager->priv->bus_proxy != NULL) {
- g_object_unref (manager->priv->bus_proxy);
- manager->priv->bus_proxy = NULL;
+ GsmSystemdPrivate *priv;
+
+ priv = gsm_systemd_get_instance_private (manager);
+ if (priv->bus_proxy != NULL) {
+ g_object_unref (priv->bus_proxy);
+ priv->bus_proxy = NULL;
}
- if (manager->priv->sd_proxy != NULL) {
- g_object_unref (manager->priv->sd_proxy);
- manager->priv->sd_proxy = NULL;
+ if (priv->sd_proxy != NULL) {
+ g_object_unref (priv->sd_proxy);
+ priv->sd_proxy = NULL;
}
- if (manager->priv->dbus_connection != NULL) {
+ if (priv->dbus_connection != NULL) {
DBusConnection *connection;
- connection = dbus_g_connection_get_connection (manager->priv->dbus_connection);
+ connection = dbus_g_connection_get_connection (priv->dbus_connection);
dbus_connection_remove_filter (connection,
gsm_systemd_dbus_filter,
manager);
- dbus_g_connection_unref (manager->priv->dbus_connection);
- manager->priv->dbus_connection = NULL;
+ dbus_g_connection_unref (priv->dbus_connection);
+ priv->dbus_connection = NULL;
}
}
@@ -421,8 +426,10 @@ gsm_systemd_attempt_restart (GsmSystemd *manager)
{
gboolean res;
GError *error;
+ GsmSystemdPrivate *priv;
error = NULL;
+ priv = gsm_systemd_get_instance_private (manager);
if (!gsm_systemd_ensure_sd_connection (manager, &error)) {
g_warning ("Could not connect to Systemd: %s",
@@ -432,7 +439,7 @@ gsm_systemd_attempt_restart (GsmSystemd *manager)
return;
}
- res = dbus_g_proxy_call_with_timeout (manager->priv->sd_proxy,
+ res = dbus_g_proxy_call_with_timeout (priv->sd_proxy,
"Reboot",
INT_MAX,
&error,
@@ -454,8 +461,10 @@ gsm_systemd_attempt_stop (GsmSystemd *manager)
{
gboolean res;
GError *error;
+ GsmSystemdPrivate *priv;
error = NULL;
+ priv = gsm_systemd_get_instance_private (manager);
if (!gsm_systemd_ensure_sd_connection (manager, &error)) {
g_warning ("Could not connect to Systemd: %s",
@@ -465,7 +474,7 @@ gsm_systemd_attempt_stop (GsmSystemd *manager)
return;
}
- res = dbus_g_proxy_call_with_timeout (manager->priv->sd_proxy,
+ res = dbus_g_proxy_call_with_timeout (priv->sd_proxy,
"PowerOff",
INT_MAX,
&error,
@@ -552,8 +561,10 @@ gsm_systemd_set_session_idle (GsmSystemd *manager,
DBusMessage *reply;
DBusError dbus_error;
DBusMessageIter iter;
+ GsmSystemdPrivate *priv;
error = NULL;
+ priv = gsm_systemd_get_instance_private (manager);
if (!gsm_systemd_ensure_sd_connection (manager, &error)) {
g_warning ("Could not connect to Systemd: %s",
@@ -562,7 +573,7 @@ gsm_systemd_set_session_idle (GsmSystemd *manager,
return;
}
- gsm_systemd_get_session_path (dbus_g_connection_get_connection (manager->priv->dbus_connection), &session_path);
+ gsm_systemd_get_session_path (dbus_g_connection_get_connection (priv->dbus_connection), &session_path);
g_return_if_fail (session_path != NULL);
@@ -581,7 +592,7 @@ gsm_systemd_set_session_idle (GsmSystemd *manager,
/* FIXME: use async? */
dbus_error_init (&dbus_error);
- reply = dbus_connection_send_with_reply_and_block (dbus_g_connection_get_connection (manager->priv->dbus_connection),
+ reply = dbus_connection_send_with_reply_and_block (dbus_g_connection_get_connection (priv->dbus_connection),
message,
-1,
&dbus_error);
@@ -638,8 +649,8 @@ gboolean
gsm_systemd_get_restart_privileges (GsmSystemd *manager)
{
g_signal_emit (G_OBJECT (manager),
- signals [PRIVILEGES_COMPLETED],
- 0, TRUE, TRUE, NULL);
+ signals [PRIVILEGES_COMPLETED],
+ 0, TRUE, TRUE, NULL);
return TRUE;
}
@@ -648,8 +659,8 @@ gboolean
gsm_systemd_get_stop_privileges (GsmSystemd *manager)
{
g_signal_emit (G_OBJECT (manager),
- signals [PRIVILEGES_COMPLETED],
- 0, TRUE, TRUE, NULL);
+ signals [PRIVILEGES_COMPLETED],
+ 0, TRUE, TRUE, NULL);
return TRUE;
}
@@ -661,8 +672,10 @@ gsm_systemd_can_restart (GsmSystemd *manager)
gchar *value;
gboolean can_restart;
GError *error;
+ GsmSystemdPrivate *priv;
error = NULL;
+ priv = gsm_systemd_get_instance_private (manager);
if (!gsm_systemd_ensure_sd_connection (manager, &error)) {
g_warning ("Could not connect to Systemd: %s",
@@ -671,7 +684,7 @@ gsm_systemd_can_restart (GsmSystemd *manager)
return FALSE;
}
- res = dbus_g_proxy_call_with_timeout (manager->priv->sd_proxy,
+ res = dbus_g_proxy_call_with_timeout (priv->sd_proxy,
"CanReboot",
INT_MAX,
&error,
@@ -698,8 +711,10 @@ gsm_systemd_can_stop (GsmSystemd *manager)
gchar *value;
gboolean can_stop;
GError *error;
+ GsmSystemdPrivate *priv;
error = NULL;
+ priv = gsm_systemd_get_instance_private (manager);
if (!gsm_systemd_ensure_sd_connection (manager, &error)) {
g_warning ("Could not connect to Systemd: %s",
@@ -708,7 +723,7 @@ gsm_systemd_can_stop (GsmSystemd *manager)
return FALSE;
}
- res = dbus_g_proxy_call_with_timeout (manager->priv->sd_proxy,
+ res = dbus_g_proxy_call_with_timeout (priv->sd_proxy,
"CanPowerOff",
INT_MAX,
&error,
@@ -736,26 +751,28 @@ gsm_systemd_can_hibernate (GsmSystemd *manager)
gchar *value;
gboolean can_hibernate;
GError *error;
+ GsmSystemdPrivate *priv;
error = NULL;
+ priv = gsm_systemd_get_instance_private (manager);
if (!gsm_systemd_ensure_sd_connection (manager, &error)) {
g_warning ("Could not connect to Systemd: %s",
- error->message);
+ error->message);
g_error_free (error);
return FALSE;
}
- res = dbus_g_proxy_call_with_timeout (manager->priv->sd_proxy,
- "CanHibernate",
- INT_MAX,
- &error,
- G_TYPE_INVALID,
- G_TYPE_STRING, &value,
- G_TYPE_INVALID);
+ res = dbus_g_proxy_call_with_timeout (priv->sd_proxy,
+ "CanHibernate",
+ INT_MAX,
+ &error,
+ G_TYPE_INVALID,
+ G_TYPE_STRING, &value,
+ G_TYPE_INVALID);
if (res == FALSE) {
g_warning ("Could not make DBUS call: %s",
- error->message);
+ error->message);
g_error_free (error);
return FALSE;
}
@@ -773,26 +790,28 @@ gsm_systemd_can_suspend (GsmSystemd *manager)
gchar *value;
gboolean can_suspend;
GError *error;
+ GsmSystemdPrivate *priv;
error = NULL;
+ priv = gsm_systemd_get_instance_private (manager);
if (!gsm_systemd_ensure_sd_connection (manager, &error)) {
g_warning ("Could not connect to Systemd: %s",
- error->message);
+ error->message);
g_error_free (error);
return FALSE;
}
- res = dbus_g_proxy_call_with_timeout (manager->priv->sd_proxy,
- "CanSuspend",
- INT_MAX,
- &error,
- G_TYPE_INVALID,
- G_TYPE_STRING, &value,
- G_TYPE_INVALID);
+ res = dbus_g_proxy_call_with_timeout (priv->sd_proxy,
+ "CanSuspend",
+ INT_MAX,
+ &error,
+ G_TYPE_INVALID,
+ G_TYPE_STRING, &value,
+ G_TYPE_INVALID);
if (res == FALSE) {
g_warning ("Could not make DBUS call: %s",
- error->message);
+ error->message);
g_error_free (error);
return FALSE;
}
@@ -808,26 +827,28 @@ gsm_systemd_attempt_hibernate (GsmSystemd *manager)
{
gboolean res;
GError *error;
+ GsmSystemdPrivate *priv;
error = NULL;
+ priv = gsm_systemd_get_instance_private (manager);
if (!gsm_systemd_ensure_sd_connection (manager, &error)) {
g_warning ("Could not connect to Systemd: %s",
- error->message);
+ error->message);
g_error_free (error);
return;
}
- res = dbus_g_proxy_call_with_timeout (manager->priv->sd_proxy,
- "Hibernate",
- INT_MAX,
- &error,
+ res = dbus_g_proxy_call_with_timeout (priv->sd_proxy,
+ "Hibernate",
+ INT_MAX,
+ &error,
G_TYPE_BOOLEAN, TRUE, /* interactive */
- G_TYPE_INVALID,
- G_TYPE_INVALID);
+ G_TYPE_INVALID,
+ G_TYPE_INVALID);
if (res == FALSE) {
g_warning ("Could not make DBUS call: %s",
- error->message);
+ error->message);
g_error_free (error);
return;
}
@@ -839,26 +860,28 @@ gsm_systemd_attempt_suspend (GsmSystemd *manager)
{
gboolean res;
GError *error;
+ GsmSystemdPrivate *priv;
error = NULL;
+ priv = gsm_systemd_get_instance_private (manager);
if (!gsm_systemd_ensure_sd_connection (manager, &error)) {
g_warning ("Could not connect to Systemd: %s",
- error->message);
+ error->message);
g_error_free (error);
return;
}
- res = dbus_g_proxy_call_with_timeout (manager->priv->sd_proxy,
- "Suspend",
- INT_MAX,
- &error,
+ res = dbus_g_proxy_call_with_timeout (priv->sd_proxy,
+ "Suspend",
+ INT_MAX,
+ &error,
G_TYPE_BOOLEAN, TRUE, /* interactive */
G_TYPE_INVALID,
- G_TYPE_INVALID);
+ G_TYPE_INVALID);
if (res == FALSE) {
g_warning ("Could not make DBUS call: %s",
- error->message);
+ error->message);
g_error_free (error);
return;
}
diff --git a/mate-session/gsm-systemd.h b/mate-session/gsm-systemd.h
index e0e21c4..5d6b654 100644
--- a/mate-session/gsm-systemd.h
+++ b/mate-session/gsm-systemd.h
@@ -27,32 +27,15 @@
#include <glib.h>
#include <glib-object.h>
-#ifdef __cplusplus
-extern "C" {
-#endif
+G_BEGIN_DECLS
#define GSM_TYPE_SYSTEMD (gsm_systemd_get_type ())
-#define GSM_SYSTEMD(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GSM_TYPE_SYSTEMD, GsmSystemd))
-#define GSM_SYSTEMD_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GSM_TYPE_SYSTEMD, GsmSystemdClass))
-#define GSM_IS_SYSTEMD(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GSM_TYPE_SYSTEMD))
-#define GSM_IS_SYSTEMD_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GSM_TYPE_SYSTEMD))
-#define GSM_SYSTEMD_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GSM_TYPE_SYSTEMD, GsmSystemdClass))
#define GSM_SYSTEMD_ERROR (gsm_systemd_error_quark ())
+G_DECLARE_DERIVABLE_TYPE (GsmSystemd, gsm_systemd, GSM, SYSTEMD, GObject)
#define LOGIND_RUNNING() (access("/run/systemd/seats/", F_OK) >= 0)
-
-typedef struct _GsmSystemd GsmSystemd;
-typedef struct _GsmSystemdClass GsmSystemdClass;
-typedef struct _GsmSystemdPrivate GsmSystemdPrivate;
typedef enum _GsmSystemdError GsmSystemdError;
-struct _GsmSystemd
-{
- GObject parent;
-
- GsmSystemdPrivate *priv;
-};
-
struct _GsmSystemdClass
{
GObjectClass parent_class;
@@ -73,7 +56,7 @@ enum _GsmSystemdError {
#define GSM_SYSTEMD_SESSION_TYPE_LOGIN_WINDOW "greeter"
-GType gsm_systemd_get_type (void);
+GType gsm_systemd_get_type (void) G_GNUC_CONST;
GQuark gsm_systemd_error_quark (void);
@@ -108,8 +91,6 @@ gchar *gsm_systemd_get_current_session_type (GsmSystemd *manager);
GsmSystemd *gsm_get_systemd (void);
-#ifdef __cplusplus
-}
-#endif
+G_END_DECLS
#endif /* __GSM_SYSTEMD_H__ */
diff --git a/mate-session/gsm-xsmp-client.c b/mate-session/gsm-xsmp-client.c
index 9c61497..5e15744 100644
--- a/mate-session/gsm-xsmp-client.c
+++ b/mate-session/gsm-xsmp-client.c
@@ -40,11 +40,8 @@
#define GsmDesktopFile "_GSM_DesktopFile"
-#define GSM_XSMP_CLIENT_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GSM_TYPE_XSMP_CLIENT, GsmXSMPClientPrivate))
-
-struct GsmXSMPClientPrivate
-{
-
+typedef struct {
+ GsmClient parent;
SmsConn conn;
IceConn ice_connection;
@@ -57,7 +54,7 @@ struct GsmXSMPClientPrivate
int current_save_yourself;
int next_save_yourself;
guint next_save_yourself_allow_interact : 1;
-};
+} GsmXSMPClientPrivate;
enum {
PROP_0,
@@ -72,7 +69,7 @@ enum {
static guint signals[LAST_SIGNAL] = { 0 };
-G_DEFINE_TYPE (GsmXSMPClient, gsm_xsmp_client, GSM_TYPE_CLIENT)
+G_DEFINE_TYPE_WITH_PRIVATE (GsmXSMPClient, gsm_xsmp_client, GSM_TYPE_CLIENT)
static gboolean
client_iochannel_watch (GIOChannel *channel,
@@ -80,15 +77,18 @@ client_iochannel_watch (GIOChannel *channel,
GsmXSMPClient *client)
{
gboolean keep_going;
+ GsmXSMPClientPrivate *priv;
g_object_ref (client);
- switch (IceProcessMessages (client->priv->ice_connection, NULL, NULL)) {
+ priv = gsm_xsmp_client_get_instance_private (client);
+
+ switch (IceProcessMessages (priv->ice_connection, NULL, NULL)) {
case IceProcessMessagesSuccess:
keep_going = TRUE;
break;
case IceProcessMessagesIOError:
- g_debug ("GsmXSMPClient: IceProcessMessagesIOError on '%s'", client->priv->description);
+ g_debug ("GsmXSMPClient: IceProcessMessagesIOError on '%s'", priv->description);
gsm_client_set_status (GSM_CLIENT (client), GSM_CLIENT_FAILED);
/* Emitting "disconnected" will eventually cause
* IceCloseConnection() to be called.
@@ -99,8 +99,8 @@ client_iochannel_watch (GIOChannel *channel,
case IceProcessMessagesConnectionClosed:
g_debug ("GsmXSMPClient: IceProcessMessagesConnectionClosed on '%s'",
- client->priv->description);
- client->priv->ice_connection = NULL;
+ priv->description);
+ priv->ice_connection = NULL;
keep_going = FALSE;
break;
@@ -119,9 +119,12 @@ find_property (GsmXSMPClient *client,
{
SmProp *prop;
int i;
+ GsmXSMPClientPrivate *priv;
+
+ priv = gsm_xsmp_client_get_instance_private (client);
- for (i = 0; i < client->priv->props->len; i++) {
- prop = client->priv->props->pdata[i];
+ for (i = 0; i < priv->props->len; i++) {
+ prop = priv->props->pdata[i];
if (!strcmp (prop->name, name)) {
if (index) {
@@ -139,21 +142,23 @@ set_description (GsmXSMPClient *client)
{
SmProp *prop;
const char *id;
+ GsmXSMPClientPrivate *priv;
+ priv = gsm_xsmp_client_get_instance_private (client);
prop = find_property (client, SmProgram, NULL);
id = gsm_client_peek_startup_id (GSM_CLIENT (client));
- g_free (client->priv->description);
+ g_free (priv->description);
if (prop) {
- client->priv->description = g_strdup_printf ("%p [%.*s %s]",
- client,
- prop->vals[0].length,
- (char *)prop->vals[0].value,
- id);
+ priv->description = g_strdup_printf ("%p [%.*s %s]",
+ client,
+ prop->vals[0].length,
+ (char *)prop->vals[0].value,
+ id);
} else if (id != NULL) {
- client->priv->description = g_strdup_printf ("%p [%s]", client, id);
+ priv->description = g_strdup_printf ("%p [%s]", client, id);
} else {
- client->priv->description = g_strdup_printf ("%p", client);
+ priv->description = g_strdup_printf ("%p", client);
}
}
@@ -162,21 +167,23 @@ setup_connection (GsmXSMPClient *client)
{
GIOChannel *channel;
int fd;
+ GsmXSMPClientPrivate *priv;
+ priv = gsm_xsmp_client_get_instance_private (client);
g_debug ("GsmXSMPClient: Setting up new connection");
- fd = IceConnectionNumber (client->priv->ice_connection);
+ fd = IceConnectionNumber (priv->ice_connection);
fcntl (fd, F_SETFD, fcntl (fd, F_GETFD, 0) | FD_CLOEXEC);
channel = g_io_channel_unix_new (fd);
- client->priv->watch_id = g_io_add_watch (channel,
- G_IO_IN | G_IO_ERR,
- (GIOFunc)client_iochannel_watch,
- client);
+ priv->watch_id = g_io_add_watch (channel,
+ G_IO_IN | G_IO_ERR,
+ (GIOFunc)client_iochannel_watch,
+ client);
g_io_channel_unref (channel);
set_description (client);
- g_debug ("GsmXSMPClient: New client '%s'", client->priv->description);
+ g_debug ("GsmXSMPClient: New client '%s'", priv->description);
}
static GObject *
@@ -197,12 +204,14 @@ gsm_xsmp_client_constructor (GType type,
static void
gsm_xsmp_client_init (GsmXSMPClient *client)
{
- client->priv = GSM_XSMP_CLIENT_GET_PRIVATE (client);
+ GsmXSMPClientPrivate *priv;
- client->priv->props = g_ptr_array_new ();
- client->priv->current_save_yourself = -1;
- client->priv->next_save_yourself = -1;
- client->priv->next_save_yourself_allow_interact = FALSE;
+ priv = gsm_xsmp_client_get_instance_private (client);
+
+ priv->props = g_ptr_array_new ();
+ priv->current_save_yourself = -1;
+ priv->next_save_yourself = -1;
+ priv->next_save_yourself_allow_interact = FALSE;
}
@@ -212,6 +221,9 @@ delete_property (GsmXSMPClient *client,
{
int index;
SmProp *prop;
+ GsmXSMPClientPrivate *priv;
+
+ priv = gsm_xsmp_client_get_instance_private (client);
prop = find_property (client, name, &index);
if (!prop) {
@@ -231,7 +243,7 @@ delete_property (GsmXSMPClient *client,
}
#endif
- g_ptr_array_remove_index_fast (client->priv->props, index);
+ g_ptr_array_remove_index_fast (priv->props, index);
SmFreeProperty (prop);
}
@@ -274,14 +286,17 @@ set_properties_callback (SmsConn conn,
int num_props,
SmProp **props)
{
- GsmXSMPClient *client = manager_data;
int i;
+ GsmXSMPClientPrivate *priv;
+ GsmXSMPClient *client = manager_data;
+
+ priv = gsm_xsmp_client_get_instance_private (client);
- g_debug ("GsmXSMPClient: Set properties from client '%s'", client->priv->description);
+ g_debug ("GsmXSMPClient: Set properties from client '%s'", priv->description);
for (i = 0; i < num_props; i++) {
delete_property (client, props[i]->name);
- g_ptr_array_add (client->priv->props, props[i]);
+ g_ptr_array_add (priv->props, props[i]);
debug_print_property (props[i]);
@@ -299,10 +314,13 @@ delete_properties_callback (SmsConn conn,
int num_props,
char **prop_names)
{
- GsmXSMPClient *client = manager_data;
int i;
+ GsmXSMPClientPrivate *priv;
+ GsmXSMPClient *client = manager_data;
+
+ priv = gsm_xsmp_client_get_instance_private (client);
- g_debug ("GsmXSMPClient: Delete properties from '%s'", client->priv->description);
+ g_debug ("GsmXSMPClient: Delete properties from '%s'", priv->description);
for (i = 0; i < num_props; i++) {
delete_property (client, prop_names[i]);
@@ -317,13 +335,16 @@ static void
get_properties_callback (SmsConn conn,
SmPointer manager_data)
{
+ GsmXSMPClientPrivate *priv;
GsmXSMPClient *client = manager_data;
- g_debug ("GsmXSMPClient: Get properties request from '%s'", client->priv->description);
+ priv = gsm_xsmp_client_get_instance_private (client);
+
+ g_debug ("GsmXSMPClient: Get properties request from '%s'", priv->description);
SmsReturnProperties (conn,
- client->priv->props->len,
- (SmProp **)client->priv->props->pdata);
+ priv->props->len,
+ (SmProp **)priv->props->pdata);
}
static char *
@@ -404,30 +425,33 @@ do_save_yourself (GsmXSMPClient *client,
int save_type,
gboolean allow_interact)
{
- g_assert (client->priv->conn != NULL);
+ GsmXSMPClientPrivate *priv;
- if (client->priv->next_save_yourself != -1) {
+ priv = gsm_xsmp_client_get_instance_private (client);
+ g_assert (priv->conn != NULL);
+
+ if (priv->next_save_yourself != -1) {
/* Either we're currently doing a shutdown and there's a checkpoint
* queued after it, or vice versa. Either way, the new SaveYourself
* is redundant.
*/
g_debug ("GsmXSMPClient: skipping redundant SaveYourself for '%s'",
- client->priv->description);
- } else if (client->priv->current_save_yourself != -1) {
+ priv->description);
+ } else if (priv->current_save_yourself != -1) {
g_debug ("GsmXSMPClient: queuing new SaveYourself for '%s'",
- client->priv->description);
- client->priv->next_save_yourself = save_type;
- client->priv->next_save_yourself_allow_interact = allow_interact;
+ priv->description);
+ priv->next_save_yourself = save_type;
+ priv->next_save_yourself_allow_interact = allow_interact;
} else {
- client->priv->current_save_yourself = save_type;
+ priv->current_save_yourself = save_type;
/* make sure we don't have anything queued */
- client->priv->next_save_yourself = -1;
- client->priv->next_save_yourself_allow_interact = FALSE;
+ priv->next_save_yourself = -1;
+ priv->next_save_yourself_allow_interact = FALSE;
switch (save_type) {
case SmSaveLocal:
/* Save state */
- SmsSaveYourself (client->priv->conn,
+ SmsSaveYourself (priv->conn,
SmSaveLocal,
FALSE,
SmInteractStyleNone,
@@ -437,13 +461,13 @@ do_save_yourself (GsmXSMPClient *client,
default:
/* Logout */
if (!allow_interact) {
- SmsSaveYourself (client->priv->conn,
+ SmsSaveYourself (priv->conn,
save_type, /* save type */
TRUE, /* shutdown */
SmInteractStyleNone, /* interact style */
TRUE); /* fast */
} else {
- SmsSaveYourself (client->priv->conn,
+ SmsSaveYourself (priv->conn,
save_type, /* save type */
TRUE, /* shutdown */
SmInteractStyleAny, /* interact style */
@@ -457,32 +481,38 @@ do_save_yourself (GsmXSMPClient *client,
static void
xsmp_save_yourself_phase2 (GsmClient *client)
{
- GsmXSMPClient *xsmp = (GsmXSMPClient *) client;
+ GsmXSMPClientPrivate *priv;
+
+ priv = gsm_xsmp_client_get_instance_private (GSM_XSMP_CLIENT(client));
- g_debug ("GsmXSMPClient: xsmp_save_yourself_phase2 ('%s')", xsmp->priv->description);
+ g_debug ("GsmXSMPClient: xsmp_save_yourself_phase2 ('%s')", priv->description);
- SmsSaveYourselfPhase2 (xsmp->priv->conn);
+ SmsSaveYourselfPhase2 (priv->conn);
}
static void
xsmp_interact (GsmClient *client)
{
- GsmXSMPClient *xsmp = (GsmXSMPClient *) client;
+ GsmXSMPClientPrivate *priv;
+
+ priv = gsm_xsmp_client_get_instance_private (GSM_XSMP_CLIENT(client));
- g_debug ("GsmXSMPClient: xsmp_interact ('%s')", xsmp->priv->description);
+ g_debug ("GsmXSMPClient: xsmp_interact ('%s')", priv->description);
- SmsInteract (xsmp->priv->conn);
+ SmsInteract (priv->conn);
}
static gboolean
xsmp_cancel_end_session (GsmClient *client,
GError **error)
{
- GsmXSMPClient *xsmp = (GsmXSMPClient *) client;
+ GsmXSMPClientPrivate *priv;
- g_debug ("GsmXSMPClient: xsmp_cancel_end_session ('%s')", xsmp->priv->description);
+ priv = gsm_xsmp_client_get_instance_private (GSM_XSMP_CLIENT(client));
- if (xsmp->priv->conn == NULL) {
+ g_debug ("GsmXSMPClient: xsmp_cancel_end_session ('%s')", priv->description);
+
+ if (priv->conn == NULL) {
g_set_error (error,
GSM_CLIENT_ERROR,
GSM_CLIENT_ERROR_NOT_REGISTERED,
@@ -490,12 +520,12 @@ xsmp_cancel_end_session (GsmClient *client,
return FALSE;
}
- SmsShutdownCancelled (xsmp->priv->conn);
+ SmsShutdownCancelled (priv->conn);
/* reset the state */
- xsmp->priv->current_save_yourself = -1;
- xsmp->priv->next_save_yourself = -1;
- xsmp->priv->next_save_yourself_allow_interact = FALSE;
+ priv->current_save_yourself = -1;
+ priv->next_save_yourself = -1;
+ priv->next_save_yourself_allow_interact = FALSE;
return TRUE;
}
@@ -523,9 +553,9 @@ get_desktop_file_path (GsmXSMPClient *client)
* try to find the desktop file from its program name */
prop = find_property (client, SmProgram, NULL);
- if (!prop) {
- goto out;
- }
+ if (!prop) {
+ goto out;
+ }
program_name = prop->vals[0].value;
@@ -563,7 +593,7 @@ set_desktop_file_keys_from_client (GsmClient *client,
* properties. But it could still be that SmProgram is not set.
*/
name = _("Remembered Application");
- }
+ }
comment = g_strdup_printf ("Client %s which was automatically saved",
gsm_client_peek_startup_id (client));
@@ -700,11 +730,13 @@ static gboolean
xsmp_stop (GsmClient *client,
GError **error)
{
- GsmXSMPClient *xsmp = (GsmXSMPClient *) client;
+ GsmXSMPClientPrivate *priv;
+
+ priv = gsm_xsmp_client_get_instance_private (GSM_XSMP_CLIENT(client));
- g_debug ("GsmXSMPClient: xsmp_stop ('%s')", xsmp->priv->description);
+ g_debug ("GsmXSMPClient: xsmp_stop ('%s')", priv->description);
- if (xsmp->priv->conn == NULL) {
+ if (priv->conn == NULL) {
g_set_error (error,
GSM_CLIENT_ERROR,
GSM_CLIENT_ERROR_NOT_REGISTERED,
@@ -712,7 +744,7 @@ xsmp_stop (GsmClient *client,
return FALSE;
}
- SmsDie (xsmp->priv->conn);
+ SmsDie (priv->conn);
return TRUE;
}
@@ -724,8 +756,11 @@ xsmp_query_end_session (GsmClient *client,
{
gboolean allow_interact;
int save_type;
+ GsmXSMPClientPrivate *priv;
- if (GSM_XSMP_CLIENT (client)->priv->conn == NULL) {
+ priv = gsm_xsmp_client_get_instance_private (GSM_XSMP_CLIENT(client));
+
+ if (priv->conn == NULL) {
g_set_error (error,
GSM_CLIENT_ERROR,
GSM_CLIENT_ERROR_NOT_REGISTERED,
@@ -752,8 +787,11 @@ xsmp_end_session (GsmClient *client,
GError **error)
{
gboolean phase2;
+ GsmXSMPClientPrivate *priv;
+
+ priv = gsm_xsmp_client_get_instance_private (GSM_XSMP_CLIENT(client));
- if (GSM_XSMP_CLIENT (client)->priv->conn == NULL) {
+ if (priv->conn == NULL) {
g_set_error (error,
GSM_CLIENT_ERROR,
GSM_CLIENT_ERROR_NOT_REGISTERED,
@@ -794,7 +832,7 @@ xsmp_get_app_name (GsmClient *client)
prop = find_property (GSM_XSMP_CLIENT (client), SmProgram, NULL);
if (prop) {
- name = prop_to_command (prop);
+ name = prop_to_command (prop);
}
return name;
@@ -804,7 +842,10 @@ static void
gsm_client_set_ice_connection (GsmXSMPClient *client,
gpointer conn)
{
- client->priv->ice_connection = conn;
+ GsmXSMPClientPrivate *priv;
+
+ priv = gsm_xsmp_client_get_instance_private (client);
+ priv->ice_connection = conn;
}
static void
@@ -833,13 +874,13 @@ gsm_xsmp_client_get_property (GObject *object,
GValue *value,
GParamSpec *pspec)
{
- GsmXSMPClient *self;
+ GsmXSMPClientPrivate *priv;
- self = GSM_XSMP_CLIENT (object);
+ priv = gsm_xsmp_client_get_instance_private (GSM_XSMP_CLIENT(object));
switch (prop_id) {
case PROP_ICE_CONNECTION:
- g_value_set_pointer (value, self->priv->ice_connection);
+ g_value_set_pointer (value, priv->ice_connection);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
@@ -850,31 +891,39 @@ gsm_xsmp_client_get_property (GObject *object,
static void
gsm_xsmp_client_disconnect (GsmXSMPClient *client)
{
- if (client->priv->watch_id > 0) {
- g_source_remove (client->priv->watch_id);
+ GsmXSMPClientPrivate *priv;
+
+ priv = gsm_xsmp_client_get_instance_private (client);
+ if (priv->watch_id > 0) {
+ g_source_remove (priv->watch_id);
}
- if (client->priv->conn != NULL) {
- SmsCleanUp (client->priv->conn);
+ if (priv->conn != NULL) {
+ SmsCleanUp (priv->conn);
}
- if (client->priv->ice_connection != NULL) {
- IceSetShutdownNegotiation (client->priv->ice_connection, FALSE);
- IceCloseConnection (client->priv->ice_connection);
+ if (priv->ice_connection != NULL) {
+ IceSetShutdownNegotiation (priv->ice_connection, FALSE);
+ IceCloseConnection (priv->ice_connection);
}
}
static void
gsm_xsmp_client_finalize (GObject *object)
{
- GsmXSMPClient *client = (GsmXSMPClient *) object;
+ GsmXSMPClientPrivate *priv;
+ GsmXSMPClient *client;
+
+ client = GSM_XSMP_CLIENT(object);
+
+ priv = gsm_xsmp_client_get_instance_private (client);
- g_debug ("GsmXSMPClient: xsmp_finalize (%s)", client->priv->description);
+ g_debug ("GsmXSMPClient: xsmp_finalize (%s)", priv->description);
gsm_xsmp_client_disconnect (client);
- g_free (client->priv->description);
- g_ptr_array_foreach (client->priv->props, (GFunc)SmFreeProperty, NULL);
- g_ptr_array_free (client->priv->props, TRUE);
+ g_free (priv->description);
+ g_ptr_array_foreach (priv->props, (GFunc)SmFreeProperty, NULL);
+ g_ptr_array_free (priv->props, TRUE);
G_OBJECT_CLASS (gsm_xsmp_client_parent_class)->finalize (object);
}
@@ -1026,8 +1075,6 @@ gsm_xsmp_client_class_init (GsmXSMPClientClass *klass)
"ice-connection",
"ice-connection",
G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
-
- g_type_class_add_private (klass, sizeof (GsmXSMPClientPrivate));
}
GsmClient *
@@ -1047,12 +1094,15 @@ register_client_callback (SmsConn conn,
SmPointer manager_data,
char *previous_id)
{
- GsmXSMPClient *client = manager_data;
gboolean handled;
char *id;
+ GsmXSMPClientPrivate *priv;
+
+ GsmXSMPClient *client = manager_data;
+ priv = gsm_xsmp_client_get_instance_private (client);
g_debug ("GsmXSMPClient: Client '%s' received RegisterClient(%s)",
- client->priv->description,
+ priv->description,
previous_id ? previous_id : "NULL");
@@ -1083,7 +1133,7 @@ register_client_callback (SmsConn conn,
set_description (client);
- g_debug ("GsmXSMPClient: Sending RegisterClientReply to '%s'", client->priv->description);
+ g_debug ("GsmXSMPClient: Sending RegisterClientReply to '%s'", priv->description);
SmsRegisterClientReply (conn, id);
@@ -1091,7 +1141,7 @@ register_client_callback (SmsConn conn,
/* Send the initial SaveYourself. */
g_debug ("GsmXSMPClient: Sending initial SaveYourself");
SmsSaveYourself (conn, SmSaveLocal, False, SmInteractStyleNone, False);
- client->priv->current_save_yourself = SmSaveLocal;
+ priv->current_save_yourself = SmSaveLocal;
}
gsm_client_set_status (GSM_CLIENT (client), GSM_CLIENT_REGISTERED);
@@ -1112,10 +1162,13 @@ save_yourself_request_callback (SmsConn conn,
Bool fast,
Bool global)
{
+ GsmXSMPClientPrivate *priv;
GsmXSMPClient *client = manager_data;
+ priv = gsm_xsmp_client_get_instance_private (client);
+
g_debug ("GsmXSMPClient: Client '%s' received SaveYourselfRequest(%s, %s, %s, %s, %s)",
- client->priv->description,
+ priv->description,
save_type == SmSaveLocal ? "SmSaveLocal" :
save_type == SmSaveGlobal ? "SmSaveGlobal" : "SmSaveBoth",
shutdown ? "Shutdown" : "!Shutdown",
@@ -1169,12 +1222,15 @@ static void
save_yourself_phase2_request_callback (SmsConn conn,
SmPointer manager_data)
{
+ GsmXSMPClientPrivate *priv;
GsmXSMPClient *client = manager_data;
+ priv = gsm_xsmp_client_get_instance_private (client);
+
g_debug ("GsmXSMPClient: Client '%s' received SaveYourselfPhase2Request",
- client->priv->description);
+ priv->description);
- client->priv->current_save_yourself = -1;
+ priv->current_save_yourself = -1;
/* this is a valid response to SaveYourself and therefore
may be a response to a QES or ES */
@@ -1188,14 +1244,17 @@ interact_request_callback (SmsConn conn,
SmPointer manager_data,
int dialog_type)
{
+ GsmXSMPClientPrivate *priv;
GsmXSMPClient *client = manager_data;
+
+ priv = gsm_xsmp_client_get_instance_private (client);
#if 0
gboolean res;
GError *error;
#endif
g_debug ("GsmXSMPClient: Client '%s' received InteractRequest(%s)",
- client->priv->description,
+ priv->description,
dialog_type == SmDialogNormal ? "Dialog" : "Errors");
gsm_client_end_session_response (GSM_CLIENT (client),
@@ -1223,10 +1282,13 @@ interact_done_callback (SmsConn conn,
SmPointer manager_data,
Bool cancel_shutdown)
{
+ GsmXSMPClientPrivate *priv;
GsmXSMPClient *client = manager_data;
+ priv = gsm_xsmp_client_get_instance_private (client);
+
g_debug ("GsmXSMPClient: Client '%s' received InteractDone(cancel_shutdown = %s)",
- client->priv->description,
+ priv->description,
cancel_shutdown ? "True" : "False");
gsm_client_end_session_response (GSM_CLIENT (client),
@@ -1239,16 +1301,19 @@ save_yourself_done_callback (SmsConn conn,
SmPointer manager_data,
Bool success)
{
+ GsmXSMPClientPrivate *priv;
GsmXSMPClient *client = manager_data;
+ priv = gsm_xsmp_client_get_instance_private (client);
+
g_debug ("GsmXSMPClient: Client '%s' received SaveYourselfDone(success = %s)",
- client->priv->description,
+ priv->description,
success ? "True" : "False");
- if (client->priv->current_save_yourself != -1) {
- SmsSaveComplete (client->priv->conn);
- client->priv->current_save_yourself = -1;
- }
+ if (priv->current_save_yourself != -1) {
+ SmsSaveComplete (priv->conn);
+ priv->current_save_yourself = -1;
+ }
/* If success is false then the application couldn't save data. Nothing
* the session manager can do about, though. FIXME: we could display a
@@ -1257,12 +1322,12 @@ save_yourself_done_callback (SmsConn conn,
TRUE, FALSE, FALSE,
NULL);
- if (client->priv->next_save_yourself) {
- int save_type = client->priv->next_save_yourself;
- gboolean allow_interact = client->priv->next_save_yourself_allow_interact;
+ if (priv->next_save_yourself) {
+ int save_type = priv->next_save_yourself;
+ gboolean allow_interact = priv->next_save_yourself_allow_interact;
- client->priv->next_save_yourself = -1;
- client->priv->next_save_yourself_allow_interact = -1;
+ priv->next_save_yourself = -1;
+ priv->next_save_yourself_allow_interact = -1;
do_save_yourself (client, save_type, allow_interact);
}
}
@@ -1273,10 +1338,13 @@ close_connection_callback (SmsConn conn,
int count,
char **reason_msgs)
{
- GsmXSMPClient *client = manager_data;
int i;
+ GsmXSMPClientPrivate *priv;
+ GsmXSMPClient *client = manager_data;
- g_debug ("GsmXSMPClient: Client '%s' received CloseConnection", client->priv->description);
+ priv = gsm_xsmp_client_get_instance_private (client);
+
+ g_debug ("GsmXSMPClient: Client '%s' received CloseConnection", priv->description);
for (i = 0; i < count; i++) {
g_debug ("GsmXSMPClient: close reason: '%s'", reason_msgs[i]);
}
@@ -1292,9 +1360,12 @@ gsm_xsmp_client_connect (GsmXSMPClient *client,
unsigned long *mask_ret,
SmsCallbacks *callbacks_ret)
{
- client->priv->conn = conn;
+ GsmXSMPClientPrivate *priv;
+
+ priv = gsm_xsmp_client_get_instance_private (client);
+ priv->conn = conn;
- g_debug ("GsmXSMPClient: Initializing client %s", client->priv->description);
+ g_debug ("GsmXSMPClient: Initializing client %s", priv->description);
*mask_ret = 0;
diff --git a/mate-session/gsm-xsmp-client.h b/mate-session/gsm-xsmp-client.h
index f14ab61..0078d64 100644
--- a/mate-session/gsm-xsmp-client.h
+++ b/mate-session/gsm-xsmp-client.h
@@ -25,27 +25,10 @@
#include <X11/SM/SMlib.h>
-#ifdef __cplusplus
-extern "C" {
-#endif
+G_BEGIN_DECLS
-#define GSM_TYPE_XSMP_CLIENT (gsm_xsmp_client_get_type ())
-#define GSM_XSMP_CLIENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GSM_TYPE_XSMP_CLIENT, GsmXSMPClient))
-#define GSM_XSMP_CLIENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GSM_TYPE_XSMP_CLIENT, GsmXSMPClientClass))
-#define GSM_IS_XSMP_CLIENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GSM_TYPE_XSMP_CLIENT))
-#define GSM_IS_XSMP_CLIENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GSM_TYPE_XSMP_CLIENT))
-#define GSM_XSMP_CLIENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GSM_TYPE_XSMP_CLIENT, GsmXSMPClientClass))
-
-typedef struct _GsmXSMPClient GsmXSMPClient;
-typedef struct _GsmXSMPClientClass GsmXSMPClientClass;
-
-typedef struct GsmXSMPClientPrivate GsmXSMPClientPrivate;
-
-struct _GsmXSMPClient
-{
- GsmClient parent;
- GsmXSMPClientPrivate *priv;
-};
+#define GSM_TYPE_XSMP_CLIENT (gsm_xsmp_client_get_type ())
+G_DECLARE_DERIVABLE_TYPE (GsmXSMPClient, gsm_xsmp_client, GSM, XSMP_CLIENT, GsmClient)
struct _GsmXSMPClientClass
{
@@ -86,8 +69,6 @@ void gsm_xsmp_client_save_yourself_phase2 (GsmXSMPClient *client);
void gsm_xsmp_client_interact (GsmXSMPClient *client);
void gsm_xsmp_client_shutdown_cancelled (GsmXSMPClient *client);
-#ifdef __cplusplus
-}
-#endif
+G_END_DECLS
#endif /* __GSM_XSMP_CLIENT_H__ */
diff --git a/mate-session/gsm-xsmp-server.c b/mate-session/gsm-xsmp-server.c
index 83ec21f..293ed7a 100644
--- a/mate-session/gsm-xsmp-server.c
+++ b/mate-session/gsm-xsmp-server.c
@@ -61,10 +61,9 @@
#define GSM_ICE_MAGIC_COOKIE_AUTH_NAME "MIT-MAGIC-COOKIE-1"
#define GSM_ICE_MAGIC_COOKIE_LEN 16
-#define GSM_XSMP_SERVER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GSM_TYPE_XSMP_SERVER, GsmXsmpServerPrivate))
-
-struct GsmXsmpServerPrivate
+struct _GsmXsmpServer
{
+ GObject parent;
GsmStore *client_store;
IceListenObj *xsmp_sockets;
@@ -229,14 +228,14 @@ gsm_xsmp_server_start (GsmXsmpServer *server)
GIOChannel *channel;
int i;
- for (i = 0; i < server->priv->num_local_xsmp_sockets; i++) {
+ for (i = 0; i < server->num_local_xsmp_sockets; i++) {
GsmIceConnectionData *data;
data = g_new0 (GsmIceConnectionData, 1);
data->server = server;
- data->listener = server->priv->xsmp_sockets[i];
+ data->listener = server->xsmp_sockets[i];
- channel = g_io_channel_unix_new (IceGetListenConnectionNumber (server->priv->xsmp_sockets[i]));
+ channel = g_io_channel_unix_new (IceGetListenConnectionNumber (server->xsmp_sockets[i]));
g_io_add_watch_full (channel,
G_PRIORITY_DEFAULT,
G_IO_IN | G_IO_HUP | G_IO_ERR,
@@ -257,11 +256,11 @@ gsm_xsmp_server_set_client_store (GsmXsmpServer *xsmp_server,
g_object_ref (store);
}
- if (xsmp_server->priv->client_store != NULL) {
- g_object_unref (xsmp_server->priv->client_store);
+ if (xsmp_server->client_store != NULL) {
+ g_object_unref (xsmp_server->client_store);
}
- xsmp_server->priv->client_store = store;
+ xsmp_server->client_store = store;
}
static void
@@ -296,7 +295,7 @@ gsm_xsmp_server_get_property (GObject *object,
switch (prop_id) {
case PROP_CLIENT_STORE:
- g_value_set_object (value, self->priv->client_store);
+ g_value_set_object (value, self->client_store);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
@@ -319,7 +318,7 @@ accept_xsmp_connection (SmsConn sms_conn,
GsmIceConnectionWatch *data;
/* FIXME: what about during shutdown but before gsm_xsmp_shutdown? */
- if (server->priv->xsmp_sockets == NULL) {
+ if (server->xsmp_sockets == NULL) {
g_debug ("GsmXsmpServer: In shutdown, rejecting new client");
*failure_reason_ret = strdup (_("Refusing new client connection because the session is currently being shut down\n"));
@@ -334,7 +333,7 @@ accept_xsmp_connection (SmsConn sms_conn,
client = gsm_xsmp_client_new (ice_conn);
- gsm_store_add (server->priv->client_store, gsm_client_peek_id (client), G_OBJECT (client));
+ gsm_store_add (server->client_store, gsm_client_peek_id (client), G_OBJECT (client));
/* the store will own the ref */
g_object_unref (client);
@@ -448,9 +447,9 @@ update_iceauthority (GsmXsmpServer *server,
return FALSE;
}
- our_network_ids = g_malloc (server->priv->num_local_xsmp_sockets * sizeof (char *));
- for (i = 0; i < server->priv->num_local_xsmp_sockets; i++) {
- our_network_ids[i] = IceGetListenConnectionString (server->priv->xsmp_sockets[i]);
+ our_network_ids = g_malloc (server->num_local_xsmp_sockets * sizeof (char *));
+ for (i = 0; i < server->num_local_xsmp_sockets; i++) {
+ our_network_ids[i] = IceGetListenConnectionString (server->xsmp_sockets[i]);
}
entries = NULL;
@@ -469,13 +468,13 @@ update_iceauthority (GsmXsmpServer *server,
continue;
}
- for (i = 0; i < server->priv->num_local_xsmp_sockets; i++) {
+ for (i = 0; i < server->num_local_xsmp_sockets; i++) {
if (!strcmp (auth_entry->network_id, our_network_ids[i])) {
IceFreeAuthFileEntry (auth_entry);
break;
}
}
- if (i != server->priv->num_local_xsmp_sockets) {
+ if (i != server->num_local_xsmp_sockets) {
continue;
}
@@ -503,7 +502,7 @@ update_iceauthority (GsmXsmpServer *server,
}
if (adding) {
- for (i = 0; i < server->priv->num_local_xsmp_sockets; i++) {
+ for (i = 0; i < server->num_local_xsmp_sockets; i++) {
entries = g_slist_append (entries,
auth_entry_new ("ICE", our_network_ids[i]));
entries = g_slist_prepend (entries,
@@ -523,7 +522,7 @@ update_iceauthority (GsmXsmpServer *server,
cleanup:
IceUnlockAuthFile (filename);
- for (i = 0; i < server->priv->num_local_xsmp_sockets; i++) {
+ for (i = 0; i < server->num_local_xsmp_sockets; i++) {
free (our_network_ids[i]);
}
g_free (our_network_ids);
@@ -579,8 +578,8 @@ setup_listener (GsmXsmpServer *server)
*/
saved_umask = umask (0);
umask (saved_umask);
- res = IceListenForConnections (&server->priv->num_xsmp_sockets,
- &server->priv->xsmp_sockets,
+ res = IceListenForConnections (&server->num_xsmp_sockets,
+ &server->xsmp_sockets,
sizeof (error),
error);
if (! res) {
@@ -592,28 +591,28 @@ setup_listener (GsmXsmpServer *server)
/* Find the local sockets in the returned socket list and move them
* to the start of the list.
*/
- for (i = server->priv->num_local_xsmp_sockets = 0; i < server->priv->num_xsmp_sockets; i++) {
- char *id = IceGetListenConnectionString (server->priv->xsmp_sockets[i]);
+ for (i = server->num_local_xsmp_sockets = 0; i < server->num_xsmp_sockets; i++) {
+ char *id = IceGetListenConnectionString (server->xsmp_sockets[i]);
if (!strncmp (id, "local/", sizeof ("local/") - 1) ||
!strncmp (id, "unix/", sizeof ("unix/") - 1)) {
- if (i > server->priv->num_local_xsmp_sockets) {
+ if (i > server->num_local_xsmp_sockets) {
IceListenObj tmp;
- tmp = server->priv->xsmp_sockets[i];
- server->priv->xsmp_sockets[i] = server->priv->xsmp_sockets[server->priv->num_local_xsmp_sockets];
- server->priv->xsmp_sockets[server->priv->num_local_xsmp_sockets] = tmp;
+ tmp = server->xsmp_sockets[i];
+ server->xsmp_sockets[i] = server->xsmp_sockets[server->num_local_xsmp_sockets];
+ server->xsmp_sockets[server->num_local_xsmp_sockets] = tmp;
}
- server->priv->num_local_xsmp_sockets++;
+ server->num_local_xsmp_sockets++;
}
free (id);
}
- if (server->priv->num_local_xsmp_sockets == 0) {
+ if (server->num_local_xsmp_sockets == 0) {
gsm_util_init_error (TRUE, "IceListenForConnections did not return a local listener!");
}
#ifdef HAVE_XTRANS
- if (server->priv->num_local_xsmp_sockets != server->priv->num_xsmp_sockets) {
+ if (server->num_local_xsmp_sockets != server->num_xsmp_sockets) {
/* Xtrans was apparently compiled with support for some
* non-local transport besides TCP (which we disabled above); we
* won't create IO watches on those extra sockets, so
@@ -624,10 +623,10 @@ setup_listener (GsmXsmpServer *server)
* stop it, the fix is to add additional _IceTransNoListen()
* calls above.
*/
- network_id_list = IceComposeNetworkIdList (server->priv->num_xsmp_sockets - server->priv->num_local_xsmp_sockets,
- server->priv->xsmp_sockets + server->priv->num_local_xsmp_sockets);
+ network_id_list = IceComposeNetworkIdList (server->num_xsmp_sockets - server->num_local_xsmp_sockets,
+ server->xsmp_sockets + server->num_local_xsmp_sockets);
g_warning ("IceListenForConnections returned %d non-local listeners: %s",
- server->priv->num_xsmp_sockets - server->priv->num_local_xsmp_sockets,
+ server->num_xsmp_sockets - server->num_local_xsmp_sockets,
network_id_list);
free (network_id_list);
}
@@ -641,8 +640,8 @@ setup_listener (GsmXsmpServer *server)
IceAuthFileName ());
}
- network_id_list = IceComposeNetworkIdList (server->priv->num_local_xsmp_sockets,
- server->priv->xsmp_sockets);
+ network_id_list = IceComposeNetworkIdList (server->num_local_xsmp_sockets,
+ server->xsmp_sockets);
gsm_util_setenv ("SESSION_MANAGER", network_id_list);
g_debug ("GsmXsmpServer: SESSION_MANAGER=%s\n", network_id_list);
@@ -681,15 +680,11 @@ gsm_xsmp_server_class_init (GsmXsmpServerClass *klass)
NULL,
GSM_TYPE_STORE,
G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
-
- g_type_class_add_private (klass, sizeof (GsmXsmpServerPrivate));
}
static void
gsm_xsmp_server_init (GsmXsmpServer *xsmp_server)
{
- xsmp_server->priv = GSM_XSMP_SERVER_GET_PRIVATE (xsmp_server);
-
}
static void
@@ -702,13 +697,11 @@ gsm_xsmp_server_finalize (GObject *object)
xsmp_server = GSM_XSMP_SERVER (object);
- g_return_if_fail (xsmp_server->priv != NULL);
-
- IceFreeListenObjs (xsmp_server->priv->num_xsmp_sockets,
- xsmp_server->priv->xsmp_sockets);
+ IceFreeListenObjs (xsmp_server->num_xsmp_sockets,
+ xsmp_server->xsmp_sockets);
- if (xsmp_server->priv->client_store != NULL) {
- g_object_unref (xsmp_server->priv->client_store);
+ if (xsmp_server->client_store != NULL) {
+ g_object_unref (xsmp_server->client_store);
}
G_OBJECT_CLASS (gsm_xsmp_server_parent_class)->finalize (object);
diff --git a/mate-session/gsm-xsmp-server.h b/mate-session/gsm-xsmp-server.h
index 3c4998a..29f72db 100644
--- a/mate-session/gsm-xsmp-server.h
+++ b/mate-session/gsm-xsmp-server.h
@@ -26,37 +26,14 @@
#include "gsm-store.h"
-#ifdef __cplusplus
-extern "C" {
-#endif
+G_BEGIN_DECLS
#define GSM_TYPE_XSMP_SERVER (gsm_xsmp_server_get_type ())
-#define GSM_XSMP_SERVER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GSM_TYPE_XSMP_SERVER, GsmXsmpServer))
-#define GSM_XSMP_SERVER_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), GSM_TYPE_XSMP_SERVER, GsmXsmpServerClass))
-#define GSM_IS_XSMP_SERVER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GSM_TYPE_XSMP_SERVER))
-#define GSM_IS_XSMP_SERVER_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GSM_TYPE_XSMP_SERVER))
-#define GSM_XSMP_SERVER_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GSM_TYPE_XSMP_SERVER, GsmXsmpServerClass))
-
-typedef struct GsmXsmpServerPrivate GsmXsmpServerPrivate;
-
-typedef struct
-{
- GObject parent;
- GsmXsmpServerPrivate *priv;
-} GsmXsmpServer;
-
-typedef struct
-{
- GObjectClass parent_class;
-} GsmXsmpServerClass;
-
-GType gsm_xsmp_server_get_type (void);
+G_DECLARE_FINAL_TYPE (GsmXsmpServer, gsm_xsmp_server, GSM, XSMP_SERVER, GObject)
GsmXsmpServer * gsm_xsmp_server_new (GsmStore *client_store);
void gsm_xsmp_server_start (GsmXsmpServer *server);
-#ifdef __cplusplus
-}
-#endif
+G_END_DECLS
#endif /* __GSM_XSMP_SERVER_H */