[evolution-exchange] Remove E2K_MAKE_TYPE macros.
- From: Matthew Barnes <mbarnes src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [evolution-exchange] Remove E2K_MAKE_TYPE macros.
- Date: Fri, 12 Aug 2011 15:23:04 +0000 (UTC)
commit 870d1df18d7bfb0fafb16f55c772e2ae56da8aa3
Author: Matthew Barnes <mbarnes redhat com>
Date: Fri Aug 12 11:11:54 2011 -0400
Remove E2K_MAKE_TYPE macros.
Use G_DEFINE_TYPE instead.
addressbook/e-book-backend-exchange.c | 7 ++-
addressbook/e-book-backend-gal.c | 28 ++++----
calendar/e-cal-backend-exchange-calendar.c | 46 ++++++--------
calendar/e-cal-backend-exchange-tasks.c | 46 ++++++--------
calendar/e-cal-backend-exchange.c | 81 +++++++++++-------------
eplugin/exchange-config-listener.c | 32 ++++------
eplugin/exchange-delegates-user.c | 18 ++++--
eplugin/exchange-permissions-dialog.c | 21 +++----
eplugin/exchange-send-options.c | 16 ++---
eplugin/exchange-user-dialog.c | 23 ++++----
server/lib/e2k-context.c | 44 +++++++-------
server/lib/e2k-global-catalog.c | 24 ++++----
server/lib/e2k-security-descriptor.c | 19 +++---
server/lib/e2k-sid.c | 21 +++----
server/lib/e2k-types.h | 56 -----------------
server/storage/e-folder-exchange.c | 24 ++++----
server/storage/exchange-account.c | 24 ++++----
server/storage/exchange-hierarchy-favorites.c | 33 +++++-----
server/storage/exchange-hierarchy-foreign.c | 43 +++++++-------
server/storage/exchange-hierarchy-gal.c | 15 ++++-
server/storage/exchange-hierarchy-somedav.c | 29 ++++-----
server/storage/exchange-hierarchy-webdav.c | 39 ++++--------
server/storage/exchange-hierarchy.c | 42 +++++++------
tools/exchange-share-config-listener.c | 31 ++++------
24 files changed, 334 insertions(+), 428 deletions(-)
---
diff --git a/addressbook/e-book-backend-exchange.c b/addressbook/e-book-backend-exchange.c
index 13587f0..7370bd7 100644
--- a/addressbook/e-book-backend-exchange.c
+++ b/addressbook/e-book-backend-exchange.c
@@ -63,7 +63,6 @@
#define SUMMARY_FLUSH_TIMEOUT 5000
-#define PARENT_TYPE E_TYPE_BOOK_BACKEND_SYNC
static EBookBackendClass *parent_class;
struct EBookBackendExchangePrivate {
@@ -115,6 +114,11 @@ static GPtrArray *field_names_array;
static const gchar **field_names;
static gint n_field_names;
+G_DEFINE_TYPE (
+ EBookBackendExchange,
+ e_book_backend_exchange,
+ E_TYPE_BOOK_BACKEND_SYNC)
+
static void
http_status_to_error (E2kHTTPStatus status, GError **perror)
{
@@ -2776,4 +2780,3 @@ e_book_backend_exchange_init (EBookBackendExchange *backend)
backend->priv = priv;
}
-E2K_MAKE_TYPE (e_book_backend_exchange, EBookBackendExchange, e_book_backend_exchange_class_init, e_book_backend_exchange_init, PARENT_TYPE)
diff --git a/addressbook/e-book-backend-gal.c b/addressbook/e-book-backend-gal.c
index c18a376..22d436f 100644
--- a/addressbook/e-book-backend-gal.c
+++ b/addressbook/e-book-backend-gal.c
@@ -84,9 +84,6 @@ static void build_query (EBookBackendGAL *bl, const gchar *query, const gchar *l
#define EDB_ERROR_EX(_code, _msg) e_data_book_create_error (E_DATA_BOOK_STATUS_ ## _code, _msg)
#define EDB_ERROR_MSG_TYPE(_msg_type) e_data_book_create_error_fmt (E_DATA_BOOK_STATUS_INVALID_ARG, "Incorrect msg type %d passed to %s", _msg_type, G_STRFUNC)
-#define PARENT_TYPE E_TYPE_BOOK_BACKEND
-static EBookBackendClass *parent_class;
-
typedef struct LDAPOp LDAPOp;
static const gchar **search_attrs;
@@ -223,6 +220,11 @@ struct prop_info {
#undef GROUP_PROP
};
+G_DEFINE_TYPE (
+ EBookBackendGAL,
+ e_book_backend_gal,
+ E_TYPE_BOOK_BACKEND)
+
static gboolean
can_browse (EBookBackend *backend)
{
@@ -2800,7 +2802,7 @@ gal_get_backend_property (EBookBackend *backend, EDataBook *book, guint32 opid,
} else if (g_str_equal (prop_name, BOOK_BACKEND_PROPERTY_SUPPORTED_AUTH_METHODS)) {
e_data_book_respond_get_backend_property (book, opid, NULL, NULL);
} else {
- (* E_BOOK_BACKEND_CLASS (parent_class)->get_backend_property) (backend, book, opid, cancellable, prop_name);
+ (* E_BOOK_BACKEND_CLASS (e_book_backend_gal_parent_class)->get_backend_property) (backend, book, opid, cancellable, prop_name);
}
}
@@ -2886,19 +2888,20 @@ dispose (GObject *object)
bl->priv = NULL;
}
- G_OBJECT_CLASS (parent_class)->dispose (object);
+ G_OBJECT_CLASS (e_book_backend_gal_parent_class)->dispose (object);
}
static void
-class_init (EBookBackendGALClass *klass)
+e_book_backend_gal_class_init (EBookBackendGALClass *class)
{
- GObjectClass *object_class = G_OBJECT_CLASS (klass);
- EBookBackendClass *backend_class = E_BOOK_BACKEND_CLASS (klass);
+ GObjectClass *object_class;
+ EBookBackendClass *backend_class;
gint i;
- parent_class = g_type_class_peek_parent (klass);
+ object_class = G_OBJECT_CLASS (class);
+ object_class->dispose = dispose;
- /* Set the virtual methods. */
+ backend_class = E_BOOK_BACKEND_CLASS (class);
backend_class->open = gal_open;
backend_class->remove = gal_remove;
backend_class->get_backend_property = gal_get_backend_property;
@@ -2913,8 +2916,6 @@ class_init (EBookBackendGALClass *klass)
backend_class->authenticate_user = authenticate_user;
backend_class->set_online = set_online;
- object_class->dispose = dispose;
-
/* Set up static data */
search_attrs = g_new (const gchar *, G_N_ELEMENTS (prop_info) + 1);
for (i = 0; i < G_N_ELEMENTS (prop_info); i++)
@@ -2923,7 +2924,7 @@ class_init (EBookBackendGALClass *klass)
}
static void
-init (EBookBackendGAL *backend)
+e_book_backend_gal_init (EBookBackendGAL *backend)
{
EBookBackendGALPrivate *priv;
@@ -2942,4 +2943,3 @@ init (EBookBackendGAL *backend)
#endif
}
-E2K_MAKE_TYPE (e_book_backend_gal, EBookBackendGAL, class_init, init, PARENT_TYPE)
diff --git a/calendar/e-cal-backend-exchange-calendar.c b/calendar/e-cal-backend-exchange-calendar.c
index b85e063..65d2229 100644
--- a/calendar/e-cal-backend-exchange-calendar.c
+++ b/calendar/e-cal-backend-exchange-calendar.c
@@ -52,9 +52,6 @@ enum {
EX_ALL
};
-#define PARENT_TYPE E_TYPE_CAL_BACKEND_EXCHANGE
-static ECalBackendExchange *parent_class = NULL;
-
#define d(x)
static gboolean modify_object_with_href (ECalBackendSync *backend, EDataCal *cal, GCancellable *cancellable, const gchar *calobj, CalObjModType mod, gchar **old_object, gchar **new_object, const gchar *href, const gchar *rid_to_remove, GError **error);
@@ -66,6 +63,11 @@ static gboolean check_owner_partstatus_for_declined (ECalBackendSync *backend,
gboolean check_for_send_options (icalcomponent *icalcomp, E2kProperties *props);
static void update_x_properties (ECalBackendExchange *cbex, ECalComponent *comp);
+G_DEFINE_TYPE (
+ ECalBackendExchangeCalendar,
+ e_cal_backend_exchange_calendar,
+ E_TYPE_CAL_BACKEND_EXCHANGE)
+
static void
add_timezones_from_comp (ECalBackendExchange *cbex, icalcomponent *icalcomp)
{
@@ -583,7 +585,7 @@ authenticate_user (ECalBackendSync *backend, GCancellable *cancellable, ECredent
ECalBackendExchangeCalendar *cbexc = E_CAL_BACKEND_EXCHANGE_CALENDAR (backend);
/* Do the generic part */
- E_CAL_BACKEND_SYNC_CLASS (parent_class)->authenticate_user_sync (backend, cancellable, credentials, &error);
+ E_CAL_BACKEND_SYNC_CLASS (e_cal_backend_exchange_calendar_parent_class)->authenticate_user_sync (backend, cancellable, credentials, &error);
if (error) {
g_propagate_error (perror, error);
return;
@@ -2418,20 +2420,6 @@ get_free_busy (ECalBackendSync *backend, EDataCal *cal, GCancellable *cancellabl
}
static void
-init (ECalBackendExchangeCalendar *cbexc)
-{
- cbexc->priv = g_new0 (ECalBackendExchangeCalendarPrivate, 1);
- cbexc->priv->is_loaded = FALSE;
- cbexc->priv->mutex = g_mutex_new ();
-}
-
-static void
-dispose (GObject *object)
-{
- G_OBJECT_CLASS (parent_class)->dispose (object);
-}
-
-static void
finalize (GObject *object)
{
ECalBackendExchangeCalendar *cbexc =
@@ -2444,17 +2432,19 @@ finalize (GObject *object)
g_free (cbexc->priv);
- G_OBJECT_CLASS (parent_class)->finalize (object);
+ G_OBJECT_CLASS (e_cal_backend_exchange_calendar_parent_class)->finalize (object);
}
static void
-class_init (ECalBackendExchangeCalendarClass *klass)
+e_cal_backend_exchange_calendar_class_init (ECalBackendExchangeCalendarClass *class)
{
- GObjectClass *object_class = G_OBJECT_CLASS (klass);
- ECalBackendSyncClass *sync_class = E_CAL_BACKEND_SYNC_CLASS (klass);
+ GObjectClass *object_class = G_OBJECT_CLASS (class);
+ ECalBackendSyncClass *sync_class = E_CAL_BACKEND_SYNC_CLASS (class);
- parent_class = g_type_class_peek_parent (klass);
+ object_class = G_OBJECT_CLASS (class);
+ object_class->finalize = finalize;
+ sync_class = E_CAL_BACKEND_SYNC_CLASS (class);
sync_class->authenticate_user_sync = authenticate_user;
sync_class->refresh_sync = refresh_calendar;
sync_class->create_object_sync = create_object;
@@ -2464,9 +2454,13 @@ class_init (ECalBackendExchangeCalendarClass *klass)
sync_class->send_objects_sync = send_objects;
sync_class->get_free_busy_sync = get_free_busy;
sync_class->discard_alarm_sync = discard_alarm;
+}
- object_class->dispose = dispose;
- object_class->finalize = finalize;
+static void
+e_cal_backend_exchange_calendar_init (ECalBackendExchangeCalendar *cbexc)
+{
+ cbexc->priv = g_new0 (ECalBackendExchangeCalendarPrivate, 1);
+ cbexc->priv->is_loaded = FALSE;
+ cbexc->priv->mutex = g_mutex_new ();
}
-E2K_MAKE_TYPE (e_cal_backend_exchange_calendar, ECalBackendExchangeCalendar, class_init, init, PARENT_TYPE)
diff --git a/calendar/e-cal-backend-exchange-tasks.c b/calendar/e-cal-backend-exchange-tasks.c
index 750ae1c..9d59c01 100644
--- a/calendar/e-cal-backend-exchange-tasks.c
+++ b/calendar/e-cal-backend-exchange-tasks.c
@@ -66,8 +66,10 @@ struct _ECalBackendExchangeTasksPrivate {
gint dummy;
};
-#define PARENT_TYPE E_TYPE_CAL_BACKEND_EXCHANGE
-static ECalBackendExchange *parent_class = NULL;
+G_DEFINE_TYPE (
+ ECalBackendExchangeTasks,
+ e_cal_backend_exchange_tasks,
+ E_TYPE_CAL_BACKEND_EXCHANGE)
static void
get_from (ECalBackendSync *backend, ECalComponent *comp, gchar **from_name, gchar **from_addr)
@@ -999,7 +1001,7 @@ authenticate_user_task (ECalBackendSync *backend, GCancellable *cancellable, ECr
GError *error = NULL;
ECalBackendExchangeTasks *cbext = E_CAL_BACKEND_EXCHANGE_TASKS (backend);
- E_CAL_BACKEND_SYNC_CLASS (parent_class)->authenticate_user_sync (backend, cancellable, credentials, &error);
+ E_CAL_BACKEND_SYNC_CLASS (e_cal_backend_exchange_tasks_parent_class)->authenticate_user_sync (backend, cancellable, credentials, &error);
if (error) {
g_propagate_error (perror, error);
return;
@@ -1475,21 +1477,6 @@ remove_task_object (ECalBackendSync *backend, EDataCal *cal, GCancellable *cance
}
static void
-init (ECalBackendExchangeTasks *cbext)
-{
- cbext->priv = g_new0 (ECalBackendExchangeTasksPrivate, 1);
-
- cbext->priv->mutex = g_mutex_new ();
- cbext->priv->is_loaded = FALSE;
-}
-
-static void
-dispose (GObject *object)
-{
- G_OBJECT_CLASS (parent_class)->dispose (object);
-}
-
-static void
finalize (GObject *object)
{
ECalBackendExchangeTasks *cbext =
@@ -1502,26 +1489,33 @@ finalize (GObject *object)
g_free (cbext->priv);
- G_OBJECT_CLASS (parent_class)->finalize (object);
+ G_OBJECT_CLASS (e_cal_backend_exchange_tasks_parent_class)->finalize (object);
}
static void
-class_init (ECalBackendExchangeTasksClass *klass)
+e_cal_backend_exchange_tasks_class_init (ECalBackendExchangeTasksClass *class)
{
- GObjectClass *object_class = G_OBJECT_CLASS (klass);
- ECalBackendSyncClass *sync_class = E_CAL_BACKEND_SYNC_CLASS (klass);
+ GObjectClass *object_class;
+ ECalBackendSyncClass *sync_class;
- parent_class = g_type_class_peek_parent (klass);
+ object_class = G_OBJECT_CLASS (class);
+ object_class->finalize = finalize;
+ sync_class = E_CAL_BACKEND_SYNC_CLASS (class);
sync_class->authenticate_user_sync = authenticate_user_task;
sync_class->refresh_sync = refresh_task;
sync_class->create_object_sync = create_task_object;
sync_class->modify_object_sync = modify_task_object;
sync_class->remove_object_sync = remove_task_object;
sync_class->receive_objects_sync = receive_task_objects;
+}
- object_class->dispose = dispose;
- object_class->finalize = finalize;
+static void
+e_cal_backend_exchange_tasks_init (ECalBackendExchangeTasks *cbext)
+{
+ cbext->priv = g_new0 (ECalBackendExchangeTasksPrivate, 1);
+
+ cbext->priv->mutex = g_mutex_new ();
+ cbext->priv->is_loaded = FALSE;
}
-E2K_MAKE_TYPE (e_cal_backend_exchange_tasks, ECalBackendExchangeTasks, class_init, init, PARENT_TYPE)
diff --git a/calendar/e-cal-backend-exchange.c b/calendar/e-cal-backend-exchange.c
index a6e6e24..df1828a 100644
--- a/calendar/e-cal-backend-exchange.c
+++ b/calendar/e-cal-backend-exchange.c
@@ -75,14 +75,16 @@ struct ECalBackendExchangePrivate {
GHashTable *timezones;
};
-#define PARENT_TYPE E_TYPE_CAL_BACKEND_SYNC
-static GObjectClass *parent_class = NULL;
-
#define d(x)
static icaltimezone *
internal_get_timezone (ECalBackend *backend, const gchar *tzid);
+G_DEFINE_TYPE (
+ ECalBackendExchange,
+ e_cal_backend_exchange,
+ E_TYPE_CAL_BACKEND_SYNC)
+
static gboolean
get_backend_property (ECalBackendSync *backend, EDataCal *cal, GCancellable *cancellable, const gchar *prop_name, gchar **prop_value, GError **error)
{
@@ -1950,8 +1952,8 @@ internal_get_timezone (ECalBackend *backend, const gchar *tzid)
zone = g_hash_table_lookup (cbex->priv->timezones, tzid);
/* if not found, chain up */
- if (!zone && E_CAL_BACKEND_CLASS (parent_class)->internal_get_timezone)
- zone = E_CAL_BACKEND_CLASS (parent_class)->internal_get_timezone (backend, tzid);
+ if (!zone && E_CAL_BACKEND_CLASS (e_cal_backend_exchange_parent_class)->internal_get_timezone)
+ zone = E_CAL_BACKEND_CLASS (e_cal_backend_exchange_parent_class)->internal_get_timezone (backend, tzid);
return zone;
}
@@ -1993,33 +1995,6 @@ free_exchange_comp (gpointer value)
}
static void
-init (ECalBackendExchange *cbex)
-{
- cbex->priv = g_new0 (ECalBackendExchangePrivate, 1);
-
- cbex->priv->objects = g_hash_table_new_full (
- g_str_hash, g_str_equal,
- NULL, free_exchange_comp);
-
- cbex->priv->timezones = g_hash_table_new_full (
- g_str_hash, g_str_equal,
- g_free, (GDestroyNotify) icaltimezone_free);
-
- cbex->priv->set_lock = g_mutex_new ();
- cbex->priv->open_lock = g_mutex_new ();
- cbex->priv->cache_lock = g_mutex_new ();
- cbex->priv->cache_unseen = NULL;
-
- e_cal_backend_sync_set_lock (E_CAL_BACKEND_SYNC (cbex), TRUE);
-}
-
-static void
-dispose (GObject *object)
-{
- G_OBJECT_CLASS (parent_class)->dispose (object);
-}
-
-static void
finalize (GObject *object)
{
ECalBackendExchange *cbex = E_CAL_BACKEND_EXCHANGE (object);
@@ -2055,20 +2030,25 @@ finalize (GObject *object)
g_free (cbex->priv);
/* Chain up to parent's finalize() method. */
- G_OBJECT_CLASS (parent_class)->finalize (object);
+ G_OBJECT_CLASS (e_cal_backend_exchange_parent_class)->finalize (object);
}
static void
-class_init (ECalBackendExchangeClass *klass)
+e_cal_backend_exchange_class_init (ECalBackendExchangeClass *class)
{
GObjectClass *object_class;
- ECalBackendClass *backend_class = E_CAL_BACKEND_CLASS (klass);
- ECalBackendSyncClass *sync_class = E_CAL_BACKEND_SYNC_CLASS (klass);
+ ECalBackendClass *backend_class;
+ ECalBackendSyncClass *sync_class;
- parent_class = g_type_class_peek_parent (klass);
+ object_class = G_OBJECT_CLASS (class);
+ object_class->finalize = finalize;
- object_class = (GObjectClass *) klass;
+ backend_class = E_CAL_BACKEND_CLASS (class);
+ backend_class->start_view = start_view;
+ backend_class->set_online = set_online;
+ backend_class->internal_get_timezone = internal_get_timezone;
+ sync_class = E_CAL_BACKEND_SYNC_CLASS (class);
sync_class->get_backend_property_sync = get_backend_property;
sync_class->open_sync = open_calendar;
sync_class->authenticate_user_sync = authenticate_user;
@@ -2081,13 +2061,26 @@ class_init (ECalBackendExchangeClass *klass)
sync_class->get_free_busy_sync = get_freebusy;
sync_class->create_object_sync = create_object;
sync_class->modify_object_sync = modify_object;
+}
- backend_class->start_view = start_view;
- backend_class->set_online = set_online;
- backend_class->internal_get_timezone = internal_get_timezone;
+static void
+e_cal_backend_exchange_init (ECalBackendExchange *cbex)
+{
+ cbex->priv = g_new0 (ECalBackendExchangePrivate, 1);
- object_class->dispose = dispose;
- object_class->finalize = finalize;
+ cbex->priv->objects = g_hash_table_new_full (
+ g_str_hash, g_str_equal,
+ NULL, free_exchange_comp);
+
+ cbex->priv->timezones = g_hash_table_new_full (
+ g_str_hash, g_str_equal,
+ g_free, (GDestroyNotify) icaltimezone_free);
+
+ cbex->priv->set_lock = g_mutex_new ();
+ cbex->priv->open_lock = g_mutex_new ();
+ cbex->priv->cache_lock = g_mutex_new ();
+ cbex->priv->cache_unseen = NULL;
+
+ e_cal_backend_sync_set_lock (E_CAL_BACKEND_SYNC (cbex), TRUE);
}
-E2K_MAKE_TYPE (e_cal_backend_exchange, ECalBackendExchange, class_init, init, PARENT_TYPE)
diff --git a/eplugin/exchange-config-listener.c b/eplugin/exchange-config-listener.c
index 7153a39..3d1fbe2 100644
--- a/eplugin/exchange-config-listener.c
+++ b/eplugin/exchange-config-listener.c
@@ -73,13 +73,9 @@ enum {
static guint signals[LAST_SIGNAL] = { 0 };
-#define PARENT_TYPE E_TYPE_ACCOUNT_LIST
-
#define CONF_KEY_SELECTED_CAL_SOURCES "/apps/evolution/calendar/display/selected_calendars"
#define CONF_KEY_SELECTED_TASKS_SOURCES "/apps/evolution/calendar/tasks/selected_tasks"
-static EAccountListClass *parent_class = NULL;
-
static void dispose (GObject *object);
static void finalize (GObject *object);
@@ -97,18 +93,23 @@ static gboolean exchange_camel_urls_is_equal (const gchar *url1,
const gchar *url2);
static void remove_selected_non_offline_esources (ExchangeAccount *account,
const gchar *gconf_key);
+
+G_DEFINE_TYPE (
+ ExchangeConfigListener,
+ exchange_config_listener,
+ E_TYPE_ACCOUNT_LIST)
+
static void
-class_init (GObjectClass *object_class)
+exchange_config_listener_class_init (ExchangeConfigListenerClass *class)
{
- EAccountListClass *e_account_list_class =
- E_ACCOUNT_LIST_CLASS (object_class);
-
- parent_class = g_type_class_ref (PARENT_TYPE);
+ GObjectClass *object_class;
+ EAccountListClass *e_account_list_class;
- /* virtual method override */
+ object_class = G_OBJECT_CLASS (class);
object_class->dispose = dispose;
object_class->finalize = finalize;
+ e_account_list_class = E_ACCOUNT_LIST_CLASS (class);
e_account_list_class->account_added = account_added;
e_account_list_class->account_changed = account_changed;
e_account_list_class->account_removed = account_removed;
@@ -135,11 +136,8 @@ class_init (GObjectClass *object_class)
}
static void
-init (GObject *object)
+exchange_config_listener_init (ExchangeConfigListener *config_listener)
{
- ExchangeConfigListener *config_listener =
- EXCHANGE_CONFIG_LISTENER (object);
-
config_listener->priv = g_new0 (ExchangeConfigListenerPrivate, 1);
}
@@ -159,7 +157,7 @@ dispose (GObject *object)
config_listener->priv->gconf = NULL;
}
- G_OBJECT_CLASS (parent_class)->dispose (object);
+ G_OBJECT_CLASS (exchange_config_listener_parent_class)->dispose (object);
}
static void
@@ -172,11 +170,9 @@ finalize (GObject *object)
g_free (config_listener->priv->configured_uri);
g_free (config_listener->priv);
- G_OBJECT_CLASS (parent_class)->finalize (object);
+ G_OBJECT_CLASS (exchange_config_listener_parent_class)->finalize (object);
}
-E2K_MAKE_TYPE (exchange_config_listener, ExchangeConfigListener, class_init, init, PARENT_TYPE)
-
#define EVOLUTION_URI_PREFIX "evolution:/"
#define EVOLUTION_URI_PREFIX_LEN (sizeof (EVOLUTION_URI_PREFIX) - 1)
diff --git a/eplugin/exchange-delegates-user.c b/eplugin/exchange-delegates-user.c
index 4258567..d822585 100644
--- a/eplugin/exchange-delegates-user.c
+++ b/eplugin/exchange-delegates-user.c
@@ -78,8 +78,10 @@ enum {
static guint signals[LAST_SIGNAL] = { 0 };
-#define PARENT_TYPE G_TYPE_OBJECT
-static GObjectClass *parent_class = NULL;
+G_DEFINE_TYPE (
+ ExchangeDelegatesUser,
+ exchange_delegates_user,
+ G_TYPE_OBJECT)
static void
finalize (GObject *object)
@@ -95,14 +97,15 @@ finalize (GObject *object)
if (user->sid)
g_object_unref (user->sid);
- G_OBJECT_CLASS (parent_class)->finalize (object);
+ G_OBJECT_CLASS (exchange_delegates_user_parent_class)->finalize (object);
}
static void
-class_init (GObjectClass *object_class)
+exchange_delegates_user_class_init (ExchangeDelegatesUserClass *class)
{
- parent_class = g_type_class_ref (PARENT_TYPE);
+ GObjectClass *object_class;
+ object_class = G_OBJECT_CLASS (class);
object_class->finalize = finalize;
/* signals */
@@ -116,7 +119,10 @@ class_init (GObjectClass *object_class)
G_TYPE_NONE, 0);
}
-E2K_MAKE_TYPE (exchange_delegates_user, ExchangeDelegatesUser, class_init, NULL, PARENT_TYPE)
+static void
+exchange_delegates_user_init (ExchangeDelegatesUser *user)
+{
+}
static inline gboolean
is_delegate_role (E2kPermissionsRole role)
diff --git a/eplugin/exchange-permissions-dialog.c b/eplugin/exchange-permissions-dialog.c
index e183d27..671a122 100644
--- a/eplugin/exchange-permissions-dialog.c
+++ b/eplugin/exchange-permissions-dialog.c
@@ -81,8 +81,10 @@ enum {
EXCHANGE_PERMISSIONS_DIALOG_NUM_COLUMNS
};
-#define PARENT_TYPE GTK_TYPE_DIALOG
-static GtkDialogClass *parent_class = NULL;
+G_DEFINE_TYPE (
+ ExchangePermissionsDialog,
+ exchange_permissions_dialog,
+ GTK_TYPE_DIALOG)
static void
finalize (GObject *object)
@@ -98,29 +100,24 @@ finalize (GObject *object)
g_free (dialog->priv);
- G_OBJECT_CLASS (parent_class)->finalize (object);
+ G_OBJECT_CLASS (exchange_permissions_dialog_parent_class)->finalize (object);
}
static void
-class_init (GObjectClass *object_class)
+exchange_permissions_dialog_class_init (ExchangePermissionsDialogClass *class)
{
- parent_class = g_type_class_ref (PARENT_TYPE);
+ GObjectClass *object_class;
- /* virtual method override */
+ object_class = G_OBJECT_CLASS (class);
object_class->finalize = finalize;
}
static void
-init (GObject *object)
+exchange_permissions_dialog_init (ExchangePermissionsDialog *dialog)
{
- ExchangePermissionsDialog *dialog =
- EXCHANGE_PERMISSIONS_DIALOG (object);
-
dialog->priv = g_new0 (ExchangePermissionsDialogPrivate, 1);
}
-E2K_MAKE_TYPE (exchange_permissions_dialog, ExchangePermissionsDialog, class_init, init, PARENT_TYPE)
-
static GtkWidget *create_permissions_vbox (ExchangePermissionsDialog *dialog);
static void setup_user_list (ExchangePermissionsDialog *dialog);
static void display_permissions (ExchangePermissionsDialog *dialog);
diff --git a/eplugin/exchange-send-options.c b/eplugin/exchange-send-options.c
index 7900850..404a21e 100644
--- a/eplugin/exchange-send-options.c
+++ b/eplugin/exchange-send-options.c
@@ -69,7 +69,6 @@ struct _ExchangeSendOptionsDialogPrivate {
static void exchange_sendoptions_dialog_finalize (GObject *object);
static void exchange_sendoptions_dialog_dispose (GObject *object);
-static GObjectClass *parent_class = NULL;
enum {
SOD_RESPONSE,
LAST_SIGNAL
@@ -503,17 +502,16 @@ exchange_sendoptions_dialog_run (ExchangeSendOptionsDialog *sod, GtkWidget *pare
}
static void
-exchange_sendoptions_dialog_class_init (ExchangeSendOptionsDialogClass *klass)
+exchange_sendoptions_dialog_class_init (ExchangeSendOptionsDialogClass *class)
{
GObjectClass *object_class;
- parent_class = g_type_class_peek_parent (klass);
- object_class = G_OBJECT_CLASS (klass);
-
+ object_class = G_OBJECT_CLASS (class);
object_class->finalize = exchange_sendoptions_dialog_finalize;
object_class->dispose = exchange_sendoptions_dialog_dispose;
+
signals[SOD_RESPONSE] = g_signal_new ("sod_response",
- G_TYPE_FROM_CLASS (klass),
+ G_TYPE_FROM_CLASS (class),
G_SIGNAL_RUN_FIRST,
G_STRUCT_OFFSET (ExchangeSendOptionsDialogClass, esod_response),
NULL, NULL,
@@ -573,8 +571,7 @@ exchange_sendoptions_dialog_finalize (GObject *object)
sod->priv = NULL;
}
- if (parent_class->finalize)
- (* parent_class->finalize) (object);
+ G_OBJECT_CLASS (exchange_sendoptions_dialog_parent_class)->finalize (object);
}
@@ -585,8 +582,7 @@ exchange_sendoptions_dialog_dispose (GObject *object)
g_return_if_fail (EXCHANGE_IS_SENDOPTIONS_DIALOG (sod));
- if (parent_class->dispose)
- (* parent_class->dispose) (object);
+ G_OBJECT_CLASS (exchange_sendoptions_dialog_parent_class)->dispose (object);
}
diff --git a/eplugin/exchange-user-dialog.c b/eplugin/exchange-user-dialog.c
index 817ab3c..9eb7485 100644
--- a/eplugin/exchange-user-dialog.c
+++ b/eplugin/exchange-user-dialog.c
@@ -32,11 +32,13 @@ struct _E2kUserDialogPrivate {
GtkWidget *entry, *parent_window;
};
-#define PARENT_TYPE GTK_TYPE_DIALOG
-static GtkDialogClass *parent_class;
-
static void parent_window_destroyed (gpointer dialog, GObject *where_parent_window_was);
+G_DEFINE_TYPE (
+ E2kUserDialog,
+ e2k_user_dialog,
+ GTK_TYPE_DIALOG)
+
static void
finalize (GObject *object)
{
@@ -45,7 +47,7 @@ finalize (GObject *object)
g_free (dialog->priv->section_name);
g_free (dialog->priv);
- G_OBJECT_CLASS (parent_class)->finalize (object);
+ G_OBJECT_CLASS (e2k_user_dialog_parent_class)->finalize (object);
}
static void
@@ -64,22 +66,21 @@ dispose (GObject *object)
dialog->priv->parent_window = NULL;
}
- G_OBJECT_CLASS (parent_class)->dispose (object);
+ G_OBJECT_CLASS (e2k_user_dialog_parent_class)->dispose (object);
}
static void
-class_init (E2kUserDialogClass *class)
+e2k_user_dialog_class_init (E2kUserDialogClass *class)
{
- GObjectClass *object_class = (GObjectClass *) class;
-
- parent_class = g_type_class_ref (GTK_TYPE_DIALOG);
+ GObjectClass *object_class;
+ object_class = G_OBJECT_CLASS (class);
object_class->dispose = dispose;
object_class->finalize = finalize;
}
static void
-init (E2kUserDialog *dialog)
+e2k_user_dialog_init (E2kUserDialog *dialog)
{
GtkWidget *content_area;
@@ -89,8 +90,6 @@ init (E2kUserDialog *dialog)
gtk_box_set_spacing (GTK_BOX (content_area), 6);
}
-E2K_MAKE_TYPE (e2k_user_dialog, E2kUserDialog, class_init, init, PARENT_TYPE)
-
static void
parent_window_destroyed (gpointer user_data, GObject *where_parent_window_was)
{
diff --git a/server/lib/e2k-context.c b/server/lib/e2k-context.c
index 4c848c5..15190f5 100644
--- a/server/lib/e2k-context.c
+++ b/server/lib/e2k-context.c
@@ -73,9 +73,6 @@
#define BIND_STATUS_IS_ADDRINUSE() (errno == EADDRINUSE)
#endif
-#define PARENT_TYPE G_TYPE_OBJECT
-static GObjectClass *parent_class;
-
enum {
REDIRECT,
LAST_SIGNAL
@@ -136,6 +133,11 @@ static gboolean do_notification (GIOChannel *source, GIOCondition condition, gpo
static void setup_message (SoupSession *session, SoupMessage *msg, SoupSocket *socket, gpointer user_data);
static void proxy_settings_changed (EProxy *proxy, gpointer user_data);
+G_DEFINE_TYPE (
+ E2kContext,
+ e2k_context,
+ G_TYPE_OBJECT)
+
static void
proxy_settings_changed (EProxy *proxy, gpointer user_data)
{
@@ -160,21 +162,6 @@ proxy_settings_changed (EProxy *proxy, gpointer user_data)
}
static void
-init (GObject *object)
-{
- E2kContext *ctx = E2K_CONTEXT (object);
-
- ctx->priv = g_new0 (E2kContextPrivate, 1);
- ctx->priv->subscriptions_by_id =
- g_hash_table_new (g_str_hash, g_str_equal);
- ctx->priv->subscriptions_by_uri =
- g_hash_table_new (g_str_hash, g_str_equal);
- ctx->priv->proxy = e_proxy_new ();
- e_proxy_setup_proxy (ctx->priv->proxy);
- g_signal_connect (ctx->priv->proxy, "changed", G_CALLBACK (proxy_settings_changed), ctx);
-}
-
-static void
destroy_sub_list (gpointer uri, gpointer sub_list, gpointer ctx)
{
unsubscribe_internal (ctx, uri, sub_list, TRUE);
@@ -240,15 +227,15 @@ dispose (GObject *object)
}
- G_OBJECT_CLASS (parent_class)->dispose (object);
+ G_OBJECT_CLASS (e2k_context_parent_class)->dispose (object);
}
static void
-class_init (GObjectClass *object_class)
+e2k_context_class_init (E2kContextClass *class)
{
- parent_class = g_type_class_ref (PARENT_TYPE);
+ GObjectClass *object_class;
- /* virtual method override */
+ object_class = G_OBJECT_CLASS (class);
object_class->dispose = dispose;
signals[REDIRECT] =
@@ -270,7 +257,18 @@ class_init (GObjectClass *object_class)
#endif
}
-E2K_MAKE_TYPE (e2k_context, E2kContext, class_init, init, PARENT_TYPE)
+static void
+e2k_context_init (E2kContext *ctx)
+{
+ ctx->priv = g_new0 (E2kContextPrivate, 1);
+ ctx->priv->subscriptions_by_id =
+ g_hash_table_new (g_str_hash, g_str_equal);
+ ctx->priv->subscriptions_by_uri =
+ g_hash_table_new (g_str_hash, g_str_equal);
+ ctx->priv->proxy = e_proxy_new ();
+ e_proxy_setup_proxy (ctx->priv->proxy);
+ g_signal_connect (ctx->priv->proxy, "changed", G_CALLBACK (proxy_settings_changed), ctx);
+}
static void
renew_sub_list (gpointer key, gpointer value, gpointer data)
diff --git a/server/lib/e2k-global-catalog.c b/server/lib/e2k-global-catalog.c
index 4b8d53a..1e02474 100644
--- a/server/lib/e2k-global-catalog.c
+++ b/server/lib/e2k-global-catalog.c
@@ -53,15 +53,19 @@ struct _E2kGlobalCatalogPrivate {
E2kAutoconfigGalAuthPref auth;
};
-#define PARENT_TYPE G_TYPE_OBJECT
-static GObjectClass *parent_class = NULL;
-
static void finalize (GObject *);
static gint get_gc_connection (E2kGlobalCatalog *gc, E2kOperation *op);
+G_DEFINE_TYPE (
+ E2kGlobalCatalog,
+ e2k_global_catalog,
+ G_TYPE_OBJECT)
+
static void
-class_init (GObjectClass *object_class)
+e2k_global_catalog_class_init (E2kGlobalCatalogClass *class)
{
+ GObjectClass *object_class;
+
#ifdef E2K_DEBUG
gchar *e2k_debug = getenv ("E2K_DEBUG");
@@ -75,17 +79,13 @@ class_init (GObjectClass *object_class)
*/
g_setenv ("SASL_PATH", "", TRUE);
- parent_class = g_type_class_ref (PARENT_TYPE);
-
- /* virtual method override */
+ object_class = G_OBJECT_CLASS (class);
object_class->finalize = finalize;
}
static void
-init (GObject *object)
+e2k_global_catalog_init (E2kGlobalCatalog *gc)
{
- E2kGlobalCatalog *gc = E2K_GLOBAL_CATALOG (object);
-
gc->priv = g_new0 (E2kGlobalCatalogPrivate, 1);
gc->priv->ldap_lock = g_mutex_new ();
gc->priv->entries = g_ptr_array_new ();
@@ -163,11 +163,9 @@ finalize (GObject *object)
g_free (gc->domain);
gc->domain = NULL;
- G_OBJECT_CLASS (parent_class)->finalize (object);
+ G_OBJECT_CLASS (e2k_global_catalog_parent_class)->finalize (object);
}
-E2K_MAKE_TYPE (e2k_global_catalog, E2kGlobalCatalog, class_init, init, PARENT_TYPE)
-
static gint
gc_ldap_result (LDAP *ldap, E2kOperation *op,
gint msgid, LDAPMessage **msg)
diff --git a/server/lib/e2k-security-descriptor.c b/server/lib/e2k-security-descriptor.c
index e6885d8..26a73cd 100644
--- a/server/lib/e2k-security-descriptor.c
+++ b/server/lib/e2k-security-descriptor.c
@@ -120,21 +120,24 @@ static const guint32 container_permissions_all = LE (0x1fc9bf);
static const guint32 object_permissions_all = LE (0x1f0fbf);
#undef LE
-#define PARENT_TYPE G_TYPE_OBJECT
-static GObjectClass *parent_class = NULL;
-
static void dispose (GObject *object);
+G_DEFINE_TYPE (
+ E2kSecurityDescriptor,
+ e2k_security_descriptor,
+ G_TYPE_OBJECT)
+
static void
-class_init (GObjectClass *object_class)
+e2k_security_descriptor_class_init (E2kSecurityDescriptorClass *class)
{
- parent_class = g_type_class_ref (PARENT_TYPE);
+ GObjectClass *object_class;
+ object_class = G_OBJECT_CLASS (class);
object_class->dispose = dispose;
}
static void
-init (E2kSecurityDescriptor *sd)
+e2k_security_descriptor_init (E2kSecurityDescriptor *sd)
{
sd->priv = g_new0 (E2kSecurityDescriptorPrivate, 1);
@@ -169,11 +172,9 @@ dispose (GObject *object)
sd->priv = NULL;
}
- G_OBJECT_CLASS (parent_class)->dispose (object);
+ G_OBJECT_CLASS (e2k_security_descriptor_parent_class)->dispose (object);
}
-E2K_MAKE_TYPE (e2k_security_descriptor, E2kSecurityDescriptor, class_init, init, PARENT_TYPE)
-
/* This determines the relative ordering of any two ACEs in a SID.
* See docs/security for details.
*/
diff --git a/server/lib/e2k-sid.c b/server/lib/e2k-sid.c
index e696a68..ecfa2a2 100644
--- a/server/lib/e2k-sid.c
+++ b/server/lib/e2k-sid.c
@@ -44,24 +44,25 @@ struct _E2kSidPrivate {
gchar *display_name;
};
-#define PARENT_TYPE G_TYPE_OBJECT
-static GObjectClass *parent_class = NULL;
-
static void dispose (GObject *object);
+G_DEFINE_TYPE (
+ E2kSid,
+ e2k_sid,
+ G_TYPE_OBJECT)
+
static void
-class_init (GObjectClass *object_class)
+e2k_sid_class_init (E2kSidClass *class)
{
- parent_class = g_type_class_ref (PARENT_TYPE);
+ GObjectClass *object_class;
+ object_class = G_OBJECT_CLASS (class);
object_class->dispose = dispose;
}
static void
-init (GObject *object)
+e2k_sid_init (E2kSid *sid)
{
- E2kSid *sid = E2K_SID (object);
-
sid->priv = g_new0 (E2kSidPrivate, 1);
}
@@ -81,11 +82,9 @@ dispose (GObject *object)
sid->priv = NULL;
}
- G_OBJECT_CLASS (parent_class)->dispose (object);
+ G_OBJECT_CLASS (e2k_sid_parent_class)->dispose (object);
}
-E2K_MAKE_TYPE (e2k_sid, E2kSid, class_init, init, PARENT_TYPE)
-
static E2kSid *
sid_new_internal (E2kSidType type, const gchar *display_name,
const gchar *string_sid, const guint8 *binary_sid)
diff --git a/server/lib/e2k-types.h b/server/lib/e2k-types.h
index a843b86..f8f88f9 100644
--- a/server/lib/e2k-types.h
+++ b/server/lib/e2k-types.h
@@ -31,62 +31,6 @@ typedef struct _E2kSid E2kSid;
typedef struct _E2kSidPrivate E2kSidPrivate;
typedef struct _E2kSidClass E2kSidClass;
-#define E2K_MAKE_TYPE(type_name,TypeName,class_init,init,parent) \
-GType type_name##_get_type (void) \
-{ \
- static volatile gsize type_id__volatile = 0; \
- if (g_once_init_enter (&type_id__volatile)) { \
- static GTypeInfo const object_info = { \
- sizeof (TypeName##Class), \
- \
- (GBaseInitFunc) NULL, \
- (GBaseFinalizeFunc) NULL, \
- \
- (GClassInitFunc) class_init, \
- (GClassFinalizeFunc) NULL, \
- NULL, /* class_data */ \
- \
- sizeof (TypeName), \
- 0, /* n_preallocs */ \
- (GInstanceInitFunc) init, \
- }; \
- GType type = g_type_register_static (parent, #TypeName, &object_info, 0); \
- g_once_init_leave (&type_id__volatile, type); \
- } \
- return type_id__volatile; \
-}
-
-#define E2K_MAKE_TYPE_WITH_IFACE(type_name,TypeName,class_init,init,parent,iface_init,iparent) \
-GType type_name##_get_type (void) \
-{ \
- static volatile gsize type_id__volatile = 0; \
- if (g_once_init_enter (&type_id__volatile)) { \
- static GTypeInfo const object_info = { \
- sizeof (TypeName##Class), \
- \
- (GBaseInitFunc) NULL, \
- (GBaseFinalizeFunc) NULL, \
- \
- (GClassInitFunc) class_init, \
- (GClassFinalizeFunc) NULL, \
- NULL, /* class_data */ \
- \
- sizeof (TypeName), \
- 0, /* n_preallocs */ \
- (GInstanceInitFunc) init, \
- }; \
- static GInterfaceInfo const iface_info = { \
- (GInterfaceInitFunc) iface_init, \
- NULL, \
- NULL \
- }; \
- GType type = g_type_register_static (parent, #TypeName, &object_info, 0); \
- g_type_add_interface_static (type, iparent, &iface_info); \
- g_once_init_leave (&type_id__volatile, type); \
- } \
- return type_id__volatile; \
-}
-
/* Put "E2K_KEEP_PRECEDING_COMMENT_OUT_OF_PO_FILES;" on a line to
* separate a _() from a comment that doesn't go with it.
*/
diff --git a/server/storage/e-folder-exchange.c b/server/storage/e-folder-exchange.c
index a14460e..819220d 100644
--- a/server/storage/e-folder-exchange.c
+++ b/server/storage/e-folder-exchange.c
@@ -58,29 +58,29 @@ struct _EFolderExchangePrivate {
gboolean rescan_tree;
};
-#define PARENT_TYPE E_TYPE_FOLDER
-static EFolderClass *parent_class = NULL;
-
#define EF_CLASS(hier) (E_FOLDER_CLASS (G_OBJECT_GET_CLASS (hier)))
static void dispose (GObject *object);
static void finalize (GObject *object);
+G_DEFINE_TYPE (
+ EFolderExchange,
+ e_folder_exchange,
+ E_TYPE_FOLDER)
+
static void
-class_init (GObjectClass *object_class)
+e_folder_exchange_class_init (EFolderExchangeClass *class)
{
- parent_class = g_type_class_ref (PARENT_TYPE);
+ GObjectClass *object_class;
- /* methods */
+ object_class = G_OBJECT_CLASS (class);
object_class->dispose = dispose;
object_class->finalize = finalize;
}
static void
-init (GObject *object)
+e_folder_exchange_init (EFolderExchange *folder)
{
- EFolderExchange *folder = E_FOLDER_EXCHANGE (object);
-
folder->priv = g_new0 (EFolderExchangePrivate, 1);
folder->priv->rescan_tree = TRUE;
}
@@ -95,7 +95,7 @@ dispose (GObject *object)
folder->priv->hier = NULL;
}
- G_OBJECT_CLASS (parent_class)->dispose (object);
+ G_OBJECT_CLASS (e_folder_exchange_parent_class)->dispose (object);
}
static void
@@ -110,11 +110,9 @@ finalize (GObject *object)
g_free (folder->priv->path);
g_free (folder->priv);
- G_OBJECT_CLASS (parent_class)->finalize (object);
+ G_OBJECT_CLASS (e_folder_exchange_parent_class)->finalize (object);
}
-E2K_MAKE_TYPE (e_folder_exchange, EFolderExchange, class_init, init, PARENT_TYPE)
-
static gchar *
sanitize_path (const gchar *path)
{
diff --git a/server/storage/exchange-account.c b/server/storage/exchange-account.c
index 80a1d0f..0fb3454 100644
--- a/server/storage/exchange-account.c
+++ b/server/storage/exchange-account.c
@@ -95,19 +95,21 @@ enum {
static guint signals[LAST_SIGNAL] = { 0 };
-#define PARENT_TYPE G_TYPE_OBJECT
-static GObjectClass *parent_class = NULL;
-
static void dispose (GObject *);
static void finalize (GObject *);
static void remove_hierarchy (ExchangeAccount *account, ExchangeHierarchy *hier);
+G_DEFINE_TYPE (
+ ExchangeAccount,
+ exchange_account,
+ G_TYPE_OBJECT)
+
static void
-class_init (GObjectClass *object_class)
+exchange_account_class_init (ExchangeAccountClass *class)
{
- parent_class = g_type_class_ref (PARENT_TYPE);
+ GObjectClass *object_class;
- /* virtual method override */
+ object_class = G_OBJECT_CLASS (class);
object_class->dispose = dispose;
object_class->finalize = finalize;
@@ -142,10 +144,8 @@ class_init (GObjectClass *object_class)
}
static void
-init (GObject *object)
+exchange_account_init (ExchangeAccount *account)
{
- ExchangeAccount *account = EXCHANGE_ACCOUNT (object);
-
account->priv = g_new0 (ExchangeAccountPrivate, 1);
account->priv->connect_lock = g_mutex_new ();
account->priv->hierarchies = g_ptr_array_new ();
@@ -225,7 +225,7 @@ dispose (GObject *object)
g_static_rec_mutex_unlock (&account->priv->folders_lock);
- G_OBJECT_CLASS (parent_class)->dispose (object);
+ G_OBJECT_CLASS (exchange_account_parent_class)->dispose (object);
}
static void
@@ -304,11 +304,9 @@ finalize (GObject *object)
g_free (account->priv);
- G_OBJECT_CLASS (parent_class)->finalize (object);
+ G_OBJECT_CLASS (exchange_account_parent_class)->finalize (object);
}
-E2K_MAKE_TYPE (exchange_account, ExchangeAccount, class_init, init, PARENT_TYPE)
-
void
exchange_account_rescan_tree (ExchangeAccount *account)
{
diff --git a/server/storage/exchange-hierarchy-favorites.c b/server/storage/exchange-hierarchy-favorites.c
index 05753d8..cb00801 100644
--- a/server/storage/exchange-hierarchy-favorites.c
+++ b/server/storage/exchange-hierarchy-favorites.c
@@ -44,35 +44,36 @@ struct _ExchangeHierarchyFavoritesPrivate {
GHashTable *shortcuts;
};
-#define PARENT_TYPE EXCHANGE_TYPE_HIERARCHY_SOMEDAV
-static ExchangeHierarchySomeDAVClass *parent_class = NULL;
-
static GPtrArray *get_hrefs (ExchangeHierarchySomeDAV *hsd);
static ExchangeAccountFolderResult remove_folder (ExchangeHierarchy *hier,
EFolder *folder);
static void finalize (GObject *object);
+G_DEFINE_TYPE (
+ ExchangeHierarchyFavorites,
+ exchange_hierarchy_favorites,
+ EXCHANGE_TYPE_HIERARCHY_SOMEDAV)
+
static void
-class_init (GObjectClass *object_class)
+exchange_hierarchy_favorites_class_init (ExchangeHierarchyFavoritesClass *class)
{
- ExchangeHierarchySomeDAVClass *somedav_class =
- EXCHANGE_HIERARCHY_SOMEDAV_CLASS (object_class);
- ExchangeHierarchyClass *hier_class =
- EXCHANGE_HIERARCHY_CLASS (object_class);
+ GObjectClass *object_class;
+ ExchangeHierarchyClass *hier_class;
+ ExchangeHierarchySomeDAVClass *somedav_class;
- parent_class = g_type_class_ref (PARENT_TYPE);
-
- /* virtual method override */
+ object_class = G_OBJECT_CLASS (class);
object_class->finalize = finalize;
+
+ hier_class = EXCHANGE_HIERARCHY_CLASS (class);
hier_class->remove_folder = remove_folder;
+
+ somedav_class = EXCHANGE_HIERARCHY_SOMEDAV_CLASS (class);
somedav_class->get_hrefs = get_hrefs;
}
static void
-init (GObject *object)
+exchange_hierarchy_favorites_init (ExchangeHierarchyFavorites *hfav)
{
- ExchangeHierarchyFavorites *hfav = EXCHANGE_HIERARCHY_FAVORITES (object);
-
hfav->priv = g_new0 (ExchangeHierarchyFavoritesPrivate, 1);
hfav->priv->shortcuts = g_hash_table_new_full (g_str_hash, g_str_equal,
g_free, g_free);
@@ -88,11 +89,9 @@ finalize (GObject *object)
g_free (hfav->priv->shortcuts_uri);
g_free (hfav->priv);
- G_OBJECT_CLASS (parent_class)->finalize (object);
+ G_OBJECT_CLASS (exchange_hierarchy_favorites_parent_class)->finalize (object);
}
-E2K_MAKE_TYPE (exchange_hierarchy_favorites, ExchangeHierarchyFavorites, class_init, init, PARENT_TYPE)
-
static void
add_hrefs (ExchangeHierarchy *hier, EFolder *folder, gpointer hrefs)
{
diff --git a/server/storage/exchange-hierarchy-foreign.c b/server/storage/exchange-hierarchy-foreign.c
index 951da23..4dad96e 100644
--- a/server/storage/exchange-hierarchy-foreign.c
+++ b/server/storage/exchange-hierarchy-foreign.c
@@ -53,9 +53,6 @@ struct _ExchangeHierarchyForeignPrivate {
extern const gchar *exchange_localfreebusy_path;
-#define PARENT_TYPE EXCHANGE_TYPE_HIERARCHY_SOMEDAV
-static ExchangeHierarchySomeDAVClass *parent_class = NULL;
-
static GPtrArray *get_hrefs (ExchangeHierarchySomeDAV *hsd);
static ExchangeAccountFolderResult create_folder (ExchangeHierarchy *hier,
EFolder *parent,
@@ -68,34 +65,38 @@ static ExchangeAccountFolderResult scan_subtree (ExchangeHierarchy *hier,
gint mode);
static void finalize (GObject *object);
+G_DEFINE_TYPE (
+ ExchangeHierarchyForeign,
+ exchange_hierarchy_foreign,
+ EXCHANGE_TYPE_HIERARCHY_SOMEDAV)
+
static void
-class_init (GObjectClass *object_class)
+exchange_hierarchy_foreign_class_init (ExchangeHierarchyForeignClass *class)
{
- ExchangeHierarchyClass *hierarchy_class =
- EXCHANGE_HIERARCHY_CLASS (object_class);
- ExchangeHierarchySomeDAVClass *somedav_class =
- EXCHANGE_HIERARCHY_SOMEDAV_CLASS (object_class);
-
- parent_class = g_type_class_ref (PARENT_TYPE);
+ GObjectClass *object_class;
+ ExchangeHierarchyClass *hierarchy_class;
+ ExchangeHierarchySomeDAVClass *somedav_class;
- /* virtual method override */
+ object_class = G_OBJECT_CLASS (class);
object_class->finalize = finalize;
- hierarchy_class->create_folder = create_folder;
- hierarchy_class->remove_folder = remove_folder;
- hierarchy_class->scan_subtree = scan_subtree;
+ hierarchy_class = EXCHANGE_HIERARCHY_CLASS (class);
+ hierarchy_class->create_folder = create_folder;
+ hierarchy_class->remove_folder = remove_folder;
+ hierarchy_class->scan_subtree = scan_subtree;
- somedav_class->get_hrefs = get_hrefs;
+ somedav_class = EXCHANGE_HIERARCHY_SOMEDAV_CLASS (class);
+ somedav_class->get_hrefs = get_hrefs;
}
static void
-init (GObject *object)
+exchange_hierarchy_foreign_init (ExchangeHierarchyForeign *hfor)
{
- ExchangeHierarchyForeign *hfor = EXCHANGE_HIERARCHY_FOREIGN (object);
- ExchangeHierarchy *hier = EXCHANGE_HIERARCHY (object);
+ ExchangeHierarchy *hier = EXCHANGE_HIERARCHY (hfor);
hfor->priv = g_new0 (ExchangeHierarchyForeignPrivate, 1);
hfor->priv->hide_private_lock = g_mutex_new ();
+
hier->hide_private_items = TRUE;
}
@@ -107,11 +108,9 @@ finalize (GObject *object)
g_mutex_free (hfor->priv->hide_private_lock);
g_free (hfor->priv);
- G_OBJECT_CLASS (parent_class)->finalize (object);
+ G_OBJECT_CLASS (exchange_hierarchy_foreign_parent_class)->finalize (object);
}
-E2K_MAKE_TYPE (exchange_hierarchy_foreign, ExchangeHierarchyForeign, class_init, init, PARENT_TYPE)
-
static const gchar *privacy_props[] = {
PR_DELEGATES_ENTRYIDS,
PR_DELEGATES_SEE_PRIVATE,
@@ -382,7 +381,7 @@ scan_subtree (ExchangeHierarchy *hier, EFolder *folder, gint mode)
check_hide_private (hier);
- folder_result = EXCHANGE_HIERARCHY_CLASS (parent_class)->scan_subtree (hier, folder, mode);
+ folder_result = EXCHANGE_HIERARCHY_CLASS (exchange_hierarchy_foreign_parent_class)->scan_subtree (hier, folder, mode);
if (exchange_hierarchy_is_empty (hier))
hierarchy_foreign_cleanup (hier);
diff --git a/server/storage/exchange-hierarchy-gal.c b/server/storage/exchange-hierarchy-gal.c
index 32b8443..6ce0a02 100644
--- a/server/storage/exchange-hierarchy-gal.c
+++ b/server/storage/exchange-hierarchy-gal.c
@@ -33,9 +33,20 @@
#include <libedataserver/e-source-list.h>
-#define PARENT_TYPE EXCHANGE_TYPE_HIERARCHY
+G_DEFINE_TYPE (
+ ExchangeHierarchyGAL,
+ exchange_hierarchy_gal,
+ EXCHANGE_TYPE_HIERARCHY)
-E2K_MAKE_TYPE (exchange_hierarchy_gal, ExchangeHierarchyGAL, NULL, NULL, PARENT_TYPE)
+static void
+exchange_hierarchy_gal_class_init (ExchangeHierarchyGALClass *class)
+{
+}
+
+static void
+exchange_hierarchy_gal_init (ExchangeHierarchyGAL *hierarchy)
+{
+}
ExchangeHierarchy *
exchange_hierarchy_gal_new (ExchangeAccount *account,
diff --git a/server/storage/exchange-hierarchy-somedav.c b/server/storage/exchange-hierarchy-somedav.c
index 94d6253..a9d880d 100644
--- a/server/storage/exchange-hierarchy-somedav.c
+++ b/server/storage/exchange-hierarchy-somedav.c
@@ -49,26 +49,27 @@ enum {
static guint signals[LAST_SIGNAL] = { 0 };
-#define PARENT_TYPE EXCHANGE_TYPE_HIERARCHY_WEBDAV
-static ExchangeHierarchyWebDAVClass *parent_class = NULL;
-
static ExchangeAccountFolderResult scan_subtree (ExchangeHierarchy *hier,
EFolder *folder,
gint mode);
static void finalize (GObject *object);
+G_DEFINE_TYPE (
+ ExchangeHierarchySomeDAV,
+ exchange_hierarchy_somedav,
+ EXCHANGE_TYPE_HIERARCHY_WEBDAV)
+
static void
-class_init (GObjectClass *object_class)
+exchange_hierarchy_somedav_class_init (ExchangeHierarchySomeDAVClass *class)
{
- ExchangeHierarchyClass *exchange_hierarchy_class =
- EXCHANGE_HIERARCHY_CLASS (object_class);
-
- parent_class = g_type_class_ref (PARENT_TYPE);
+ GObjectClass *object_class;
+ ExchangeHierarchyClass *exchange_hierarchy_class;
- /* virtual method override */
+ object_class = G_OBJECT_CLASS (class);
object_class->finalize = finalize;
- exchange_hierarchy_class->scan_subtree = scan_subtree;
+ exchange_hierarchy_class = EXCHANGE_HIERARCHY_CLASS (class);
+ exchange_hierarchy_class->scan_subtree = scan_subtree;
/* signals */
signals[HREF_UNREADABLE] =
@@ -83,10 +84,8 @@ class_init (GObjectClass *object_class)
}
static void
-init (GObject *object)
+exchange_hierarchy_somedav_init (ExchangeHierarchySomeDAV *hsd)
{
- ExchangeHierarchySomeDAV *hsd = EXCHANGE_HIERARCHY_SOMEDAV (object);
-
hsd->priv = g_new0 (ExchangeHierarchySomeDAVPrivate, 1);
}
@@ -97,11 +96,9 @@ finalize (GObject *object)
g_free (hsd->priv);
- G_OBJECT_CLASS (parent_class)->finalize (object);
+ G_OBJECT_CLASS (exchange_hierarchy_somedav_parent_class)->finalize (object);
}
-E2K_MAKE_TYPE (exchange_hierarchy_somedav, ExchangeHierarchySomeDAV, class_init, init, PARENT_TYPE)
-
static inline gboolean
folder_is_unreadable (E2kProperties *props)
{
diff --git a/server/storage/exchange-hierarchy-webdav.c b/server/storage/exchange-hierarchy-webdav.c
index 101f22f..10ff6ff 100644
--- a/server/storage/exchange-hierarchy-webdav.c
+++ b/server/storage/exchange-hierarchy-webdav.c
@@ -59,12 +59,8 @@ struct _ExchangeHierarchyWebDAVPrivate {
gdouble total_folder_size;
};
-#define PARENT_TYPE EXCHANGE_TYPE_HIERARCHY
-static ExchangeHierarchyClass *parent_class = NULL;
-
static void folder_type_map_init (void);
-static void dispose (GObject *object);
static void finalize (GObject *object);
static gboolean is_empty (ExchangeHierarchy *hier);
static void rescan (ExchangeHierarchy *hier);
@@ -88,20 +84,23 @@ static void hierarchy_new_folder (ExchangeHierarchy *hier, EFolder *folder,
static void hierarchy_removed_folder (ExchangeHierarchy *hier, EFolder *folder,
gpointer user_data);
+G_DEFINE_TYPE (
+ ExchangeHierarchyWebDAV,
+ exchange_hierarchy_webdav,
+ EXCHANGE_TYPE_HIERARCHY)
+
static void
-class_init (GObjectClass *object_class)
+exchange_hierarchy_webdav_class_init (ExchangeHierarchyWebDAVClass *class)
{
- ExchangeHierarchyClass *exchange_hierarchy_class =
- EXCHANGE_HIERARCHY_CLASS (object_class);
+ GObjectClass *object_class;
+ ExchangeHierarchyClass *exchange_hierarchy_class;
folder_type_map_init ();
- parent_class = g_type_class_ref (PARENT_TYPE);
-
- /* virtual method override */
- object_class->dispose = dispose;
+ object_class = G_OBJECT_CLASS (class);
object_class->finalize = finalize;
+ exchange_hierarchy_class = EXCHANGE_HIERARCHY_CLASS (class);
exchange_hierarchy_class->is_empty = is_empty;
exchange_hierarchy_class->rescan = rescan;
exchange_hierarchy_class->scan_subtree = scan_subtree;
@@ -111,27 +110,19 @@ class_init (GObjectClass *object_class)
}
static void
-init (GObject *object)
+exchange_hierarchy_webdav_init (ExchangeHierarchyWebDAV *hwd)
{
- ExchangeHierarchyWebDAV *hwd = EXCHANGE_HIERARCHY_WEBDAV (object);
-
hwd->priv = g_new0 (ExchangeHierarchyWebDAVPrivate, 1);
hwd->priv->folders_by_internal_path = g_hash_table_new_full (g_str_hash, g_str_equal, NULL, (GDestroyNotify) g_object_unref);
hwd->priv->total_folder_size = 0;
- g_signal_connect (object, "new_folder",
+ g_signal_connect (hwd, "new_folder",
G_CALLBACK (hierarchy_new_folder), NULL);
- g_signal_connect (object, "removed_folder",
+ g_signal_connect (hwd, "removed_folder",
G_CALLBACK (hierarchy_removed_folder), NULL);
}
static void
-dispose (GObject *object)
-{
- G_OBJECT_CLASS (parent_class)->dispose (object);
-}
-
-static void
finalize (GObject *object)
{
ExchangeHierarchyWebDAV *hwd = EXCHANGE_HIERARCHY_WEBDAV (object);
@@ -140,11 +131,9 @@ finalize (GObject *object)
g_free (hwd->priv->trash_path);
g_free (hwd->priv);
- G_OBJECT_CLASS (parent_class)->finalize (object);
+ G_OBJECT_CLASS (exchange_hierarchy_webdav_parent_class)->finalize (object);
}
-E2K_MAKE_TYPE (exchange_hierarchy_webdav, ExchangeHierarchyWebDAV, class_init, init, PARENT_TYPE)
-
typedef struct {
const gchar *contentclass, *component;
gboolean offline_supported;
diff --git a/server/storage/exchange-hierarchy.c b/server/storage/exchange-hierarchy.c
index b152ea1..31d62c9 100644
--- a/server/storage/exchange-hierarchy.c
+++ b/server/storage/exchange-hierarchy.c
@@ -38,9 +38,6 @@ enum {
static guint signals[LAST_SIGNAL] = { 0 };
-#define PARENT_TYPE G_TYPE_OBJECT
-static GObjectClass *parent_class = NULL;
-
#define HIER_CLASS(hier) (EXCHANGE_HIERARCHY_CLASS (G_OBJECT_GET_CLASS (hier)))
static void dispose (GObject *object);
@@ -63,25 +60,27 @@ static ExchangeAccountFolderResult xfer_folder (ExchangeHierarchy *hier,
const gchar *dest_name,
gboolean remove_source);
+G_DEFINE_TYPE (
+ ExchangeHierarchy,
+ exchange_hierarchy,
+ G_TYPE_OBJECT)
+
static void
-class_init (GObjectClass *object_class)
+exchange_hierarchy_class_init (ExchangeHierarchyClass *class)
{
- ExchangeHierarchyClass *exchange_hierarchy_class =
- EXCHANGE_HIERARCHY_CLASS (object_class);
+ GObjectClass *object_class;
- parent_class = g_type_class_ref (PARENT_TYPE);
-
- /* methods */
+ object_class = G_OBJECT_CLASS (class);
object_class->dispose = dispose;
object_class->finalize = finalize;
- exchange_hierarchy_class->is_empty = is_empty;
- exchange_hierarchy_class->add_to_storage = add_to_storage;
- exchange_hierarchy_class->rescan = rescan;
- exchange_hierarchy_class->scan_subtree = scan_subtree;
- exchange_hierarchy_class->create_folder = create_folder;
- exchange_hierarchy_class->remove_folder = remove_folder;
- exchange_hierarchy_class->xfer_folder = xfer_folder;
+ class->is_empty = is_empty;
+ class->add_to_storage = add_to_storage;
+ class->rescan = rescan;
+ class->scan_subtree = scan_subtree;
+ class->create_folder = create_folder;
+ class->remove_folder = remove_folder;
+ class->xfer_folder = xfer_folder;
/* signals */
signals[NEW_FOLDER] =
@@ -105,6 +104,11 @@ class_init (GObjectClass *object_class)
}
static void
+exchange_hierarchy_init (ExchangeHierarchy *hierarchy)
+{
+}
+
+static void
dispose (GObject *object)
{
ExchangeHierarchy *hier = EXCHANGE_HIERARCHY (object);
@@ -114,7 +118,7 @@ dispose (GObject *object)
hier->toplevel = NULL;
}
- G_OBJECT_CLASS (parent_class)->dispose (object);
+ G_OBJECT_CLASS (exchange_hierarchy_parent_class)->dispose (object);
}
static void
@@ -126,11 +130,9 @@ finalize (GObject *object)
g_free (hier->owner_email);
g_free (hier->source_uri);
- G_OBJECT_CLASS (parent_class)->finalize (object);
+ G_OBJECT_CLASS (exchange_hierarchy_parent_class)->finalize (object);
}
-E2K_MAKE_TYPE (exchange_hierarchy, ExchangeHierarchy, class_init, NULL, PARENT_TYPE)
-
/**
* exchange_hierarchy_new_folder:
* @hier: the hierarchy
diff --git a/tools/exchange-share-config-listener.c b/tools/exchange-share-config-listener.c
index 3385214..6558da2 100644
--- a/tools/exchange-share-config-listener.c
+++ b/tools/exchange-share-config-listener.c
@@ -70,15 +70,11 @@ enum {
static guint signals[LAST_SIGNAL] = { 0 };
-#define PARENT_TYPE E_TYPE_ACCOUNT_LIST
-
#define CONF_KEY_SELECTED_CAL_SOURCES "/apps/evolution/calendar/display/selected_calendars"
#define CONF_KEY_SELECTED_TASKS_SOURCES "/apps/evolution/calendar/tasks/selected_tasks"
static GStaticMutex ecl_mutex = G_STATIC_MUTEX_INIT;
-static EAccountListClass *parent_class = NULL;
-
static void dispose (GObject *object);
static void finalize (GObject *object);
@@ -92,18 +88,22 @@ static void account_removed (EAccountList *account_listener,
static gboolean exchange_camel_urls_is_equal (const gchar *url1,
const gchar *url2);
+G_DEFINE_TYPE (
+ ExchangeShareConfigListener,
+ exchange_share_config_listener,
+ E_TYPE_ACCOUNT_LIST)
+
static void
-class_init (GObjectClass *object_class)
+exchange_share_config_listener_class_init (ExchangeShareConfigListenerClass *class)
{
- EAccountListClass *e_account_list_class =
- E_ACCOUNT_LIST_CLASS (object_class);
-
- parent_class = g_type_class_ref (PARENT_TYPE);
+ GObjectClass *object_class;
+ EAccountListClass *e_account_list_class;
- /* virtual method override */
+ object_class = G_OBJECT_CLASS (class);
object_class->dispose = dispose;
object_class->finalize = finalize;
+ e_account_list_class = E_ACCOUNT_LIST_CLASS (class);
e_account_list_class->account_added = account_added;
e_account_list_class->account_changed = account_changed;
e_account_list_class->account_removed = account_removed;
@@ -130,11 +130,8 @@ class_init (GObjectClass *object_class)
}
static void
-init (GObject *object)
+exchange_share_config_listener_init (ExchangeShareConfigListener *config_listener)
{
- ExchangeShareConfigListener *config_listener =
- EXCHANGE_SHARE_CONFIG_LISTENER (object);
-
config_listener->priv = g_new0 (ExchangeShareConfigListenerPrivate, 1);
}
@@ -149,7 +146,7 @@ dispose (GObject *object)
config_listener->priv->gconf = NULL;
}
- G_OBJECT_CLASS (parent_class)->dispose (object);
+ G_OBJECT_CLASS (exchange_share_config_listener_parent_class)->dispose (object);
}
static void
@@ -162,11 +159,9 @@ finalize (GObject *object)
g_free (config_listener->priv->configured_uri);
g_free (config_listener->priv);
- G_OBJECT_CLASS (parent_class)->finalize (object);
+ G_OBJECT_CLASS (exchange_share_config_listener_parent_class)->finalize (object);
}
-E2K_MAKE_TYPE (exchange_share_config_listener, ExchangeShareConfigListener, class_init, init, PARENT_TYPE)
-
#define EVOLUTION_URI_PREFIX "evolution:/"
#define EVOLUTION_URI_PREFIX_LEN (sizeof (EVOLUTION_URI_PREFIX) - 1)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]