[evolution] Use G_BEGIN_DECLS / G_END_DECLS macros.



commit 67159043da2de9df576f6a4eaa245e0c3926f004
Author: Matthew Barnes <mbarnes redhat com>
Date:   Thu Jun 18 12:56:51 2009 -0400

    Use G_BEGIN_DECLS / G_END_DECLS macros.

 a11y/addressbook/ea-addressbook-view.h             |    9 ++-------
 a11y/addressbook/ea-minicard-view.h                |    9 ++-------
 a11y/addressbook/ea-minicard.h                     |    9 ++-------
 a11y/calendar/ea-cal-view-event.h                  |    8 ++------
 a11y/calendar/ea-cal-view.h                        |    8 ++------
 a11y/calendar/ea-day-view-cell.h                   |    8 ++------
 a11y/calendar/ea-day-view-main-item.h              |    8 ++------
 a11y/calendar/ea-day-view.h                        |    8 ++------
 a11y/calendar/ea-gnome-calendar.h                  |    8 ++------
 a11y/calendar/ea-jump-button.h                     |    8 ++------
 a11y/calendar/ea-week-view-cell.h                  |    8 ++------
 a11y/calendar/ea-week-view-main-item.h             |    8 ++------
 a11y/calendar/ea-week-view.h                       |    8 ++------
 a11y/e-table/gal-a11y-e-cell-toggle.h              |    8 ++------
 a11y/e-table/gal-a11y-e-cell-vbox.h                |    8 ++------
 a11y/widgets/ea-calendar-cell.h                    |    8 ++------
 a11y/widgets/ea-calendar-item.h                    |    8 ++------
 addressbook/gui/widgets/e-minicard-label.h         |    9 ++-------
 addressbook/gui/widgets/e-minicard.h               |    9 ++-------
 addressbook/gui/widgets/eab-config.h               |    9 ++-------
 addressbook/gui/widgets/eab-menu.h                 |    9 ++-------
 addressbook/gui/widgets/eab-popup.h                |    9 ++-------
 addressbook/tools/evolution-addressbook-export.h   |    9 ++-------
 calendar/gui/dialogs/calendar-setup.h              |    9 ++-------
 calendar/gui/e-cal-config.h                        |    9 ++-------
 calendar/gui/e-cal-event.h                         |    9 ++-------
 calendar/gui/e-cal-menu.h                          |    9 ++-------
 calendar/gui/e-cal-popup.h                         |    9 ++-------
 calendar/gui/e-day-view-layout.h                   |    8 ++------
 calendar/gui/e-day-view-main-item.h                |    8 ++------
 calendar/gui/e-day-view-time-item.h                |    8 ++------
 calendar/gui/e-day-view-top-item.h                 |    8 ++------
 calendar/gui/e-meeting-attendee.h                  |    9 ++-------
 calendar/gui/e-meeting-time-sel-item.h             |    4 +---
 calendar/gui/e-meeting-types.h                     |    9 ++-------
 calendar/gui/e-meeting-utils.h                     |    9 ++-------
 calendar/gui/e-week-view-event-item.h              |    8 ++------
 calendar/gui/e-week-view-layout.h                  |    8 ++------
 calendar/gui/e-week-view-main-item.h               |    8 ++------
 calendar/gui/e-week-view-titles-item.h             |    8 ++------
 calendar/gui/e-week-view.h                         |    8 ++------
 e-util/e-bconf-map.h                               |    9 ++-------
 e-util/e-bit-array.h                               |    8 ++------
 e-util/e-config.h                                  |    9 ++-------
 e-util/e-event.h                                   |    9 ++-------
 e-util/e-import.h                                  |    9 ++-------
 e-util/e-menu.h                                    |    9 ++-------
 e-util/e-popup.h                                   |    9 ++-------
 e-util/e-profile-event.h                           |    9 ++-------
 e-util/e-signature.h                               |    9 ++-------
 e-util/e-sorter.h                                  |    8 ++------
 e-util/e-text-event-processor-emacs-like.h         |    9 ++-------
 e-util/e-text-event-processor.h                    |    9 ++-------
 filter/filter-file.h                               |    9 ++-------
 mail/em-account-editor.h                           |    9 ++-------
 mail/em-account-prefs.h                            |    9 ++-------
 mail/em-composer-utils.h                           |    9 ++-------
 mail/em-config.h                                   |    9 ++-------
 mail/em-event.h                                    |    9 ++-------
 mail/em-folder-browser.h                           |    9 ++-------
 mail/em-folder-properties.h                        |    9 ++-------
 mail/em-folder-selection-button.h                  |    9 ++-------
 mail/em-folder-selection.h                         |    9 ++-------
 mail/em-folder-tree-model.h                        |    9 ++-------
 mail/em-folder-tree.h                              |    9 ++-------
 mail/em-format-hook.h                              |    9 ++-------
 mail/em-html-stream.h                              |    9 ++-------
 mail/em-icon-stream.h                              |    9 ++-------
 mail/em-inline-filter.h                            |   13 ++++---------
 mail/em-junk-hook.h                                |    9 ++-------
 mail/em-mailer-prefs.h                             |   11 +++--------
 mail/em-menu.h                                     |    9 ++-------
 mail/em-migrate.h                                  |    9 ++-------
 mail/em-network-prefs.h                            |   11 +++--------
 mail/em-popup.h                                    |    9 ++-------
 mail/em-stripsig-filter.h                          |    9 ++-------
 mail/em-utils.h                                    |    9 ++-------
 mail/mail-config-factory.h                         |    9 ++-------
 mail/mail-config.h                                 |    9 ++-------
 mail/mail-crypto.h                                 |    9 ++-------
 mail/mail-ops.h                                    |    9 ++-------
 mail/mail-session.h                                |    9 ++-------
 mail/mail-types.h                                  |    9 ++-------
 mail/message-list.h                                |    9 ++-------
 mail/message-tag-editor.h                          |    9 ++-------
 mail/message-tag-followup.h                        |    9 ++-------
 .../exchange-operations/exchange-change-password.h |    9 ++-------
 .../exchange-operations/exchange-config-listener.h |    9 ++-------
 .../exchange-operations/exchange-delegates-user.h  |    9 ++-------
 plugins/exchange-operations/exchange-delegates.h   |    9 ++-------
 .../exchange-folder-size-display.h                 |    9 ++-------
 plugins/exchange-operations/exchange-operations.h  |    9 ++-------
 .../exchange-permissions-dialog.h                  |    9 ++-------
 plugins/groupwise-features/junk-settings.h         |    9 ++-------
 plugins/groupwise-features/share-folder.h          |    9 ++-------
 shell/e-component-registry.h                       |    9 ++-------
 shell/e-component-view.h                           |    9 ++-------
 shell/e-corba-config-page.h                        |    9 ++-------
 shell/e-shell-settings-dialog.h                    |    9 ++-------
 shell/e-shell-view.h                               |    9 ++-------
 shell/e-shell.h                                    |    9 ++-------
 shell/e-user-creatable-items-handler.h             |    9 ++-------
 shell/es-event.h                                   |    9 ++-------
 shell/es-menu.h                                    |    9 ++-------
 shell/evolution-shell-component-utils.h            |    9 ++-------
 shell/importer/evolution-importer-client.h         |    9 ++-------
 shell/importer/evolution-importer-listener.h       |    9 ++-------
 shell/importer/evolution-importer.h                |    9 ++-------
 shell/importer/evolution-intelligent-importer.h    |    9 ++-------
 widgets/menus/gal-define-views-dialog.h            |    9 ++-------
 widgets/menus/gal-define-views-model.h             |    8 ++------
 widgets/menus/gal-view-factory-etable.h            |    8 ++------
 widgets/menus/gal-view-factory.h                   |    8 ++------
 widgets/menus/gal-view-instance-save-as-dialog.h   |    9 ++-------
 widgets/menus/gal-view-new-dialog.h                |    9 ++-------
 widgets/menus/gal-view.h                           |    8 ++------
 widgets/misc/e-activity-handler.h                  |    9 ++-------
 widgets/misc/e-calendar-item.h                     |    8 ++------
 widgets/misc/e-calendar.h                          |    8 ++------
 widgets/misc/e-canvas-vbox.h                       |    9 ++-------
 widgets/misc/e-canvas.h                            |    9 ++-------
 widgets/misc/e-combo-button.h                      |    9 ++-------
 widgets/misc/e-config-page.h                       |    9 ++-------
 widgets/misc/e-dropdown-button.h                   |    9 ++-------
 widgets/misc/e-filter-bar.h                        |    9 ++-------
 widgets/misc/e-info-label.h                        |    9 ++-------
 widgets/misc/e-multi-config-dialog.h               |    9 ++-------
 widgets/misc/e-reflow-model.h                      |    8 ++------
 widgets/misc/e-reflow.h                            |    9 ++-------
 widgets/misc/e-selection-model-array.h             |    8 ++------
 widgets/misc/e-selection-model-simple.h            |    8 ++------
 widgets/misc/e-selection-model.h                   |    8 ++------
 widgets/misc/e-task-bar.h                          |    9 ++-------
 widgets/misc/e-task-widget.h                       |    9 ++-------
 widgets/misc/e-url-entry.h                         |    9 ++-------
 widgets/table/e-table-defines.h                    |    8 ++------
 widgets/table/e-table-field-chooser-dialog.h       |    9 ++-------
 widgets/table/e-table-header-utils.h               |    8 ++------
 widgets/table/e-table-selection-model.h            |    8 ++------
 widgets/table/e-table-without.h                    |    8 ++------
 widgets/table/e-tree-memory-callbacks.h            |    8 ++------
 widgets/table/e-tree-selection-model.h             |    8 ++------
 142 files changed, 287 insertions(+), 953 deletions(-)
---
diff --git a/a11y/addressbook/ea-addressbook-view.h b/a11y/addressbook/ea-addressbook-view.h
index f223f24..4607746 100644
--- a/a11y/addressbook/ea-addressbook-view.h
+++ b/a11y/addressbook/ea-addressbook-view.h
@@ -26,10 +26,7 @@
 #include <gtk/gtk.h>
 #include "e-addressbook-view.h"
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 #define EA_TYPE_AB_VIEW			(ea_ab_view_get_type ())
 #define EA_AB_VIEW(obj)			(G_TYPE_CHECK_INSTANCE_CAST ((obj), EA_TYPE_AB_VIEW, EaABView))
@@ -54,9 +51,7 @@ struct _EaABViewClass
 GType ea_ab_view_get_type (void);
 AtkObject* ea_ab_view_new(GObject *obj);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 
 #endif /* __EA_ADDRESSBOOK_VIEW_H__ */
diff --git a/a11y/addressbook/ea-minicard-view.h b/a11y/addressbook/ea-minicard-view.h
index f20ef44..c564dac 100644
--- a/a11y/addressbook/ea-minicard-view.h
+++ b/a11y/addressbook/ea-minicard-view.h
@@ -26,10 +26,7 @@
 #include <atk/atkgobjectaccessible.h>
 #include "e-minicard-view.h"
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 #define EA_TYPE_MINICARD_VIEW			(ea_minicard_view_get_type ())
 #define EA_MINICARD_VIEW(obj)			(G_TYPE_CHECK_INSTANCE_CAST ((obj), EA_TYPE_MINICARD_VIEW, EaMinicardView))
@@ -56,9 +53,7 @@ GType ea_minicard_view_get_type (void);
 
 AtkObject* ea_minicard_view_new(GObject *obj);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 
 #endif /* __EA_MINICARD_VIEW_H__ */
diff --git a/a11y/addressbook/ea-minicard.h b/a11y/addressbook/ea-minicard.h
index 15f89e1..879463b 100644
--- a/a11y/addressbook/ea-minicard.h
+++ b/a11y/addressbook/ea-minicard.h
@@ -27,10 +27,7 @@
 #include "e-minicard.h"
 #include "e-minicard-label.h"
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 #define EA_TYPE_MINICARD			(ea_minicard_get_type ())
 #define EA_MINICARD(obj)			(G_TYPE_CHECK_INSTANCE_CAST ((obj), EA_TYPE_MINICARD, EaMinicard))
@@ -55,9 +52,7 @@ struct _EaMinicardClass
 GType ea_minicard_get_type (void);
 AtkObject* ea_minicard_new(GObject *obj);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 
 #endif /* __EA_MINICARD_H__ */
diff --git a/a11y/calendar/ea-cal-view-event.h b/a11y/calendar/ea-cal-view-event.h
index fccf023..548e42b 100644
--- a/a11y/calendar/ea-cal-view-event.h
+++ b/a11y/calendar/ea-cal-view-event.h
@@ -25,9 +25,7 @@
 
 #include <atk/atkgobjectaccessible.h>
 
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 #define EA_TYPE_CAL_VIEW_EVENT                   (ea_cal_view_event_get_type ())
 #define EA_CAL_VIEW_EVENT(obj)                   (G_TYPE_CHECK_INSTANCE_CAST ((obj), EA_TYPE_CAL_VIEW_EVENT, EaCalViewEvent))
@@ -54,9 +52,7 @@ struct _EaCalViewEventClass
 
 AtkObject *ea_cal_view_event_new (GObject *obj);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 
 #endif /* __EA_CAL_VIEW_EVENT_H__ */
diff --git a/a11y/calendar/ea-cal-view.h b/a11y/calendar/ea-cal-view.h
index 9aa026e..959f781 100644
--- a/a11y/calendar/ea-cal-view.h
+++ b/a11y/calendar/ea-cal-view.h
@@ -27,9 +27,7 @@
 #include <gtk/gtk.h>
 #include "e-calendar-view.h"
 
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 #define EA_TYPE_CAL_VIEW                     (ea_cal_view_get_type ())
 #define EA_CAL_VIEW(obj)                     (G_TYPE_CHECK_INSTANCE_CAST ((obj), EA_TYPE_CAL_VIEW, EaCalView))
@@ -55,8 +53,6 @@ struct _EaCalViewClass
 
 AtkObject* ea_cal_view_new (GtkWidget *widget);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* __EA_CAL_VIEW_H__ */
diff --git a/a11y/calendar/ea-day-view-cell.h b/a11y/calendar/ea-day-view-cell.h
index e0394c6..669fb1a 100644
--- a/a11y/calendar/ea-day-view-cell.h
+++ b/a11y/calendar/ea-day-view-cell.h
@@ -27,9 +27,7 @@
 #include <atk/atkgobjectaccessible.h>
 #include "e-day-view.h"
 
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 #define E_TYPE_DAY_VIEW_CELL                     (e_day_view_cell_get_type ())
 #define E_DAY_VIEW_CELL(obj)                     (G_TYPE_CHECK_INSTANCE_CAST ((obj), E_TYPE_DAY_VIEW_CELL, EDayViewCell))
@@ -82,8 +80,6 @@ struct _EaDayViewCellClass
 
 AtkObject*     ea_day_view_cell_new         (GObject *gobj);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* __EA_DAY_VIEW_CELL_H__ */
diff --git a/a11y/calendar/ea-day-view-main-item.h b/a11y/calendar/ea-day-view-main-item.h
index 0ee7b5e..c782e6a 100644
--- a/a11y/calendar/ea-day-view-main-item.h
+++ b/a11y/calendar/ea-day-view-main-item.h
@@ -27,9 +27,7 @@
 #include <atk/atkgobjectaccessible.h>
 #include "e-day-view-main-item.h"
 
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 #define EA_TYPE_DAY_VIEW_MAIN_ITEM                     (ea_day_view_main_item_get_type ())
 #define EA_DAY_VIEW_MAIN_ITEM(obj)                     (G_TYPE_CHECK_INSTANCE_CAST ((obj), EA_TYPE_DAY_VIEW_MAIN_ITEM, EaDayViewMainItem))
@@ -55,8 +53,6 @@ struct _EaDayViewMainItemClass
 
 AtkObject*     ea_day_view_main_item_new         (GObject *obj);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* __EA_DAY_VIEW_MAIN_ITEM_H__ */
diff --git a/a11y/calendar/ea-day-view.h b/a11y/calendar/ea-day-view.h
index 011064a..33399f6 100644
--- a/a11y/calendar/ea-day-view.h
+++ b/a11y/calendar/ea-day-view.h
@@ -26,9 +26,7 @@
 #include "ea-cal-view.h"
 #include "e-day-view.h"
 
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 #define EA_TYPE_DAY_VIEW                     (ea_day_view_get_type ())
 #define EA_DAY_VIEW(obj)                     (G_TYPE_CHECK_INSTANCE_CAST ((obj), EA_TYPE_DAY_VIEW, EaDayView))
@@ -54,8 +52,6 @@ struct _EaDayViewClass
 
 AtkObject*     ea_day_view_new         (GtkWidget       *widget);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* __EA_DAY_VIEW_H__ */
diff --git a/a11y/calendar/ea-gnome-calendar.h b/a11y/calendar/ea-gnome-calendar.h
index 56e695a..b0d2cf7 100644
--- a/a11y/calendar/ea-gnome-calendar.h
+++ b/a11y/calendar/ea-gnome-calendar.h
@@ -26,9 +26,7 @@
 #include <gtk/gtk.h>
 #include "gnome-cal.h"
 
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 #define EA_TYPE_GNOME_CALENDAR            (ea_gnome_calendar_get_type ())
 #define EA_GNOME_CALENDAR(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), EA_TYPE_GNOME_CALENDAR, EaGnomeCalendar))
@@ -56,9 +54,7 @@ AtkObject*     ea_gnome_calendar_new         (GtkWidget       *widget);
 
 const gchar *	ea_gnome_calendar_get_label_description (GnomeCalendar *gcal);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 
 #endif /* __EA_GNOME_CALENDAR_H__ */
diff --git a/a11y/calendar/ea-jump-button.h b/a11y/calendar/ea-jump-button.h
index cb2bea3..cd3b6e2 100644
--- a/a11y/calendar/ea-jump-button.h
+++ b/a11y/calendar/ea-jump-button.h
@@ -26,9 +26,7 @@
 
 #include <atk/atkgobjectaccessible.h>
 
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 #define EA_TYPE_JUMP_BUTTON                   (ea_jump_button_get_type ())
 #define EA_JUMP_BUTTON(obj)                   (G_TYPE_CHECK_INSTANCE_CAST ((obj), EA_TYPE_JUMP_BUTTON, EaJumpButton))
@@ -54,9 +52,7 @@ struct _EaJumpButtonClass
 
 AtkObject *ea_jump_button_new (GObject *obj);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 
 #endif /* __EA_JUMP_BUTTON_H__ */
diff --git a/a11y/calendar/ea-week-view-cell.h b/a11y/calendar/ea-week-view-cell.h
index 4cd2971..1524e9d 100644
--- a/a11y/calendar/ea-week-view-cell.h
+++ b/a11y/calendar/ea-week-view-cell.h
@@ -27,9 +27,7 @@
 #include <atk/atkgobjectaccessible.h>
 #include "e-week-view.h"
 
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 #define E_TYPE_WEEK_VIEW_CELL                     (e_week_view_cell_get_type ())
 #define E_WEEK_VIEW_CELL(obj)                     (G_TYPE_CHECK_INSTANCE_CAST ((obj), E_TYPE_WEEK_VIEW_CELL, EWeekViewCell))
@@ -82,8 +80,6 @@ struct _EaWeekViewCellClass
 
 AtkObject*     ea_week_view_cell_new         (GObject *gobj);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* __EA_WEEK_VIEW_CELL_H__ */
diff --git a/a11y/calendar/ea-week-view-main-item.h b/a11y/calendar/ea-week-view-main-item.h
index 2093de1..d911016 100644
--- a/a11y/calendar/ea-week-view-main-item.h
+++ b/a11y/calendar/ea-week-view-main-item.h
@@ -28,9 +28,7 @@
 #include <atk/atkgobjectaccessible.h>
 #include "e-week-view-main-item.h"
 
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 #define EA_TYPE_WEEK_VIEW_MAIN_ITEM                     (ea_week_view_main_item_get_type ())
 #define EA_WEEK_VIEW_MAIN_ITEM(obj)                     (G_TYPE_CHECK_INSTANCE_CAST ((obj), EA_TYPE_WEEK_VIEW_MAIN_ITEM, EaWeekViewMainItem))
@@ -56,8 +54,6 @@ struct _EaWeekViewMainItemClass
 
 AtkObject*     ea_week_view_main_item_new         (GObject *obj);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* __EA_WEEK_VIEW_MAIN_ITEM_H__ */
diff --git a/a11y/calendar/ea-week-view.h b/a11y/calendar/ea-week-view.h
index 5a83276..bb71c17 100644
--- a/a11y/calendar/ea-week-view.h
+++ b/a11y/calendar/ea-week-view.h
@@ -27,9 +27,7 @@
 #include "ea-cal-view.h"
 #include "e-week-view.h"
 
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 #define EA_TYPE_WEEK_VIEW                     (ea_week_view_get_type ())
 #define EA_WEEK_VIEW(obj)                     (G_TYPE_CHECK_INSTANCE_CAST ((obj), EA_TYPE_WEEK_VIEW, EaWeekView))
@@ -55,9 +53,7 @@ struct _EaWeekViewClass
 
 AtkObject*     ea_week_view_new         (GtkWidget       *widget);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 
 #endif /* __EA_WEEK_VIEW_H__ */
diff --git a/a11y/e-table/gal-a11y-e-cell-toggle.h b/a11y/e-table/gal-a11y-e-cell-toggle.h
index 1f41ae1..8e9b4de 100644
--- a/a11y/e-table/gal-a11y-e-cell-toggle.h
+++ b/a11y/e-table/gal-a11y-e-cell-toggle.h
@@ -26,9 +26,7 @@
 #include "gal-a11y-e-cell.h"
 #include "gal-a11y-e-cell-toggle.h"
 
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 #define GAL_A11Y_TYPE_E_CELL_TOGGLE            (gal_a11y_e_cell_toggle_get_type ())
 #define GAL_A11Y_E_CELL_TOGGLE(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAL_A11Y_TYPE_E_CELL_TOGGLE, GalA11yECellToggle))
@@ -60,9 +58,7 @@ AtkObject *gal_a11y_e_cell_toggle_new  (ETableItem *item,
                                         gint         view_col,
                                         gint         row);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 
 #endif /* __GAL_A11Y_E_CELL_TOGGLE_H__ */
diff --git a/a11y/e-table/gal-a11y-e-cell-vbox.h b/a11y/e-table/gal-a11y-e-cell-vbox.h
index b8f8bdd..657cb5d 100644
--- a/a11y/e-table/gal-a11y-e-cell-vbox.h
+++ b/a11y/e-table/gal-a11y-e-cell-vbox.h
@@ -27,9 +27,7 @@
 
 #include "gal-a11y-e-cell.h"
 
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 #define GAL_A11Y_TYPE_E_CELL_VBOX            (gal_a11y_e_cell_vbox_get_type ())
 #define GAL_A11Y_E_CELL_VBOX(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAL_A11Y_TYPE_E_CELL_VBOX, GalA11yECellVbox))
@@ -61,7 +59,5 @@ AtkObject *gal_a11y_e_cell_vbox_new	(ETableItem *item,
 					 gint         view_col,
 					 gint         row);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 #endif /* __GAL_A11Y_E_CELL_VBOX_H__ */
diff --git a/a11y/widgets/ea-calendar-cell.h b/a11y/widgets/ea-calendar-cell.h
index be35c66..fa68fdc 100644
--- a/a11y/widgets/ea-calendar-cell.h
+++ b/a11y/widgets/ea-calendar-cell.h
@@ -26,9 +26,7 @@
 #include <atk/atkgobjectaccessible.h>
 #include "misc/e-calendar-item.h"
 
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 #define E_TYPE_CALENDAR_CELL                     (e_calendar_cell_get_type ())
 #define E_CALENDAR_CELL(obj)                     (G_TYPE_CHECK_INSTANCE_CAST ((obj), E_TYPE_CALENDAR_CELL, ECalendarCell))
@@ -83,8 +81,6 @@ struct _EaCalendarCellClass
 
 AtkObject*     ea_calendar_cell_new         (GObject *gobj);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* __EA_CALENDAR_CELL_H__ */
diff --git a/a11y/widgets/ea-calendar-item.h b/a11y/widgets/ea-calendar-item.h
index b5f1b0c..36cc671 100644
--- a/a11y/widgets/ea-calendar-item.h
+++ b/a11y/widgets/ea-calendar-item.h
@@ -26,9 +26,7 @@
 #include <atk/atkgobjectaccessible.h>
 #include <misc/e-calendar-item.h>
 
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 #define EA_TYPE_CALENDAR_ITEM                   (ea_calendar_item_get_type ())
 #define EA_CALENDAR_ITEM(obj)                   (G_TYPE_CHECK_INSTANCE_CAST ((obj), EA_TYPE_CALENDAR_ITEM, EaCalendarItem))
@@ -64,9 +62,7 @@ gboolean e_calendar_item_get_date_for_offset (ECalendarItem *calitem,
 gint e_calendar_item_get_n_days_from_week_start (ECalendarItem *calitem,
 						 gint year, gint month);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 
 #endif /* __EA_CALENDAR_ITEM_H__ */
diff --git a/addressbook/gui/widgets/e-minicard-label.h b/addressbook/gui/widgets/e-minicard-label.h
index f6b0607..df68210 100644
--- a/addressbook/gui/widgets/e-minicard-label.h
+++ b/addressbook/gui/widgets/e-minicard-label.h
@@ -26,10 +26,7 @@
 #include <glib.h>
 #include <libgnomecanvas/gnome-canvas.h>
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 /* EMinicardLabel - A label doing focus with non-marching ants.
  *
@@ -81,9 +78,7 @@ GType      e_minicard_label_get_type (void);
 GnomeCanvasItem *e_minicard_label_new(GnomeCanvasGroup *parent);
 void e_minicard_label_construct (GnomeCanvasItem *item);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 
 #endif /* __E_MINICARD_LABEL_H__ */
diff --git a/addressbook/gui/widgets/e-minicard.h b/addressbook/gui/widgets/e-minicard.h
index 9ab0251..64fa90b 100644
--- a/addressbook/gui/widgets/e-minicard.h
+++ b/addressbook/gui/widgets/e-minicard.h
@@ -28,10 +28,7 @@
 #include <libgnomecanvas/gnome-canvas.h>
 #include <libebook/e-contact.h>
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 /* EMinicard - A small card displaying information about a contact.
  *
@@ -127,9 +124,7 @@ gint         e_minicard_selected     (EMinicard *minicard,
 				     GdkEvent  *event);
 gboolean    e_minicard_activate_editor	(EMinicard *minicard);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 
 #endif /* __E_MINICARD_H__ */
diff --git a/addressbook/gui/widgets/eab-config.h b/addressbook/gui/widgets/eab-config.h
index edc13bb..8ecc852 100644
--- a/addressbook/gui/widgets/eab-config.h
+++ b/addressbook/gui/widgets/eab-config.h
@@ -28,10 +28,7 @@
 
 #include "e-util/e-config.h"
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif
+G_BEGIN_DECLS
 
 typedef struct _EABConfig EABConfig;
 typedef struct _EABConfigClass EABConfigClass;
@@ -78,8 +75,6 @@ struct _EABConfigHookClass {
 
 GType eab_config_hook_get_type (void);
 
-#ifdef __cplusplus
-}
-#endif
+G_END_DECLS
 
 #endif
diff --git a/addressbook/gui/widgets/eab-menu.h b/addressbook/gui/widgets/eab-menu.h
index 53e2e88..9ab4b10 100644
--- a/addressbook/gui/widgets/eab-menu.h
+++ b/addressbook/gui/widgets/eab-menu.h
@@ -28,10 +28,7 @@
 
 #include "e-util/e-menu.h"
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 struct _EBook;
 
@@ -103,8 +100,6 @@ struct _EABMenuHookClass {
 
 GType eab_menu_hook_get_type(void);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* __EAB_MENU_H__ */
diff --git a/addressbook/gui/widgets/eab-popup.h b/addressbook/gui/widgets/eab-popup.h
index 2be355c..d1d0ed3 100644
--- a/addressbook/gui/widgets/eab-popup.h
+++ b/addressbook/gui/widgets/eab-popup.h
@@ -28,10 +28,7 @@
 
 #include "e-util/e-popup.h"
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 #define ADAPTED_TO_E_NAME_SELECTOR 1
 
@@ -194,8 +191,6 @@ struct _EABPopupHookClass {
 
 GType eab_popup_hook_get_type(void);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* __EAB_POPUP_H__ */
diff --git a/addressbook/tools/evolution-addressbook-export.h b/addressbook/tools/evolution-addressbook-export.h
index 815f524..1d150b3 100644
--- a/addressbook/tools/evolution-addressbook-export.h
+++ b/addressbook/tools/evolution-addressbook-export.h
@@ -26,10 +26,7 @@
 
 #include <glib.h>
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 #define SUCCESS 0
 #define FAILED  -1
@@ -74,8 +71,6 @@ guint action_list_folders_init (ActionContext * p_actctx);
 /*action list cards*/
 guint action_list_cards_init (ActionContext * p_actctx);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* _EVOLUTION_ADDRESSBOOK_EXPORT_H_ */
diff --git a/calendar/gui/dialogs/calendar-setup.h b/calendar/gui/dialogs/calendar-setup.h
index 4ec9980..d92993c 100644
--- a/calendar/gui/dialogs/calendar-setup.h
+++ b/calendar/gui/dialogs/calendar-setup.h
@@ -27,10 +27,7 @@
 struct _GtkWindow;
 struct _ESource;
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif
+G_BEGIN_DECLS
 
 void calendar_setup_edit_calendar  (struct _GtkWindow *parent, struct _ESource *source, struct _ESourceGroup *group);
 void calendar_setup_new_calendar   (struct _GtkWindow *parent);
@@ -41,8 +38,6 @@ void calendar_setup_new_task_list  (struct _GtkWindow *parent);
 void calendar_setup_edit_memo_list (struct _GtkWindow *parent, ESource *source);
 void calendar_setup_new_memo_list (struct _GtkWindow *parent);
 
-#ifdef __cplusplus
-}
-#endif
+G_END_DECLS
 
 #endif /* __CALENDAR_SETUP_H__ */
diff --git a/calendar/gui/e-cal-config.h b/calendar/gui/e-cal-config.h
index f9876e7..52989aa 100644
--- a/calendar/gui/e-cal-config.h
+++ b/calendar/gui/e-cal-config.h
@@ -29,10 +29,7 @@
 #include <libecal/e-cal.h>
 #include "e-util/e-config.h"
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif
+G_BEGIN_DECLS
 
 typedef struct _ECalConfig ECalConfig;
 typedef struct _ECalConfigClass ECalConfigClass;
@@ -89,8 +86,6 @@ struct _ECalConfigHookClass {
 
 GType e_cal_config_hook_get_type (void);
 
-#ifdef __cplusplus
-}
-#endif
+G_END_DECLS
 
 #endif
diff --git a/calendar/gui/e-cal-event.h b/calendar/gui/e-cal-event.h
index 0802640..8fb28df 100644
--- a/calendar/gui/e-cal-event.h
+++ b/calendar/gui/e-cal-event.h
@@ -28,10 +28,7 @@
 
 #include "e-util/e-event.h"
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif
+G_BEGIN_DECLS
 
 typedef struct _ECalEvent ECalEvent;
 typedef struct _ECalEventClass ECalEventClass;
@@ -82,8 +79,6 @@ struct _ECalEventHookClass {
 
 GType e_cal_event_hook_get_type (void);
 
-#ifdef __cplusplus
-}
-#endif
+G_END_DECLS
 
 #endif /* __E_CAL_EVENT_H__ */
diff --git a/calendar/gui/e-cal-menu.h b/calendar/gui/e-cal-menu.h
index f1d9f4b..0667f92 100644
--- a/calendar/gui/e-cal-menu.h
+++ b/calendar/gui/e-cal-menu.h
@@ -28,10 +28,7 @@
 
 #include "e-util/e-menu.h"
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 typedef struct _ECalMenu ECalMenu;
 typedef struct _ECalMenuClass ECalMenuClass;
@@ -119,8 +116,6 @@ struct _ECalMenuHookClass {
 
 GType e_cal_menu_hook_get_type(void);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* __E_CAL_MENU_H__ */
diff --git a/calendar/gui/e-cal-popup.h b/calendar/gui/e-cal-popup.h
index 9887c66..ed59ae2 100644
--- a/calendar/gui/e-cal-popup.h
+++ b/calendar/gui/e-cal-popup.h
@@ -29,10 +29,7 @@
 #include "e-util/e-popup.h"
 #include "dialogs/comp-editor.h"
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 typedef struct _ECalPopup ECalPopup;
 typedef struct _ECalPopupClass ECalPopupClass;
@@ -211,8 +208,6 @@ struct _ECalPopupHookClass {
 
 GType e_cal_popup_hook_get_type(void);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* __E_CAL_POPUP_H__ */
diff --git a/calendar/gui/e-day-view-layout.h b/calendar/gui/e-day-view-layout.h
index f3d431c..36f2e0c 100644
--- a/calendar/gui/e-day-view-layout.h
+++ b/calendar/gui/e-day-view-layout.h
@@ -26,9 +26,7 @@
 
 #include "e-day-view.h"
 
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 /* I've split these functions away from EDayView so we can use them for
    printing. */
@@ -51,8 +49,6 @@ gboolean   e_day_view_find_long_event_days	(EDayViewEvent	*event,
 						 gint		*start_day,
 						 gint		*end_day);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* _E_DAY_VIEW_LAYOUT_H_ */
diff --git a/calendar/gui/e-day-view-main-item.h b/calendar/gui/e-day-view-main-item.h
index c9ce721..3f28bde 100644
--- a/calendar/gui/e-day-view-main-item.h
+++ b/calendar/gui/e-day-view-main-item.h
@@ -25,9 +25,7 @@
 
 #include "e-day-view.h"
 
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 /*
  * EDayViewMainItem - canvas item which displays most of the appointment
@@ -57,8 +55,6 @@ typedef struct {
 GType    e_day_view_main_item_get_type      (void);
 
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* _E_DAY_VIEW_MAIN_ITEM_H_ */
diff --git a/calendar/gui/e-day-view-time-item.h b/calendar/gui/e-day-view-time-item.h
index 9d7bdca..237b556 100644
--- a/calendar/gui/e-day-view-time-item.h
+++ b/calendar/gui/e-day-view-time-item.h
@@ -26,9 +26,7 @@
 
 #include "e-day-view.h"
 
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 /*
  * EDayViewTimeItem - canvas item which displays the times down the left of
@@ -71,8 +69,6 @@ GType    e_day_view_time_item_get_type      (void);
 gint	 e_day_view_time_item_get_column_width (EDayViewTimeItem *dvtmitem);
 
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* _E_DAY_VIEW_TIME_ITEM_H_ */
diff --git a/calendar/gui/e-day-view-top-item.h b/calendar/gui/e-day-view-top-item.h
index 01a7c44..61dfdce 100644
--- a/calendar/gui/e-day-view-top-item.h
+++ b/calendar/gui/e-day-view-top-item.h
@@ -26,9 +26,7 @@
 
 #include "e-day-view.h"
 
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 /*
  * EDayViewTopItem - displays the top part of the Day/Work Week calendar view.
@@ -62,8 +60,6 @@ void e_day_view_top_item_get_day_label (EDayView *day_view, gint day,
 					gchar *buffer, gint buffer_len);
 
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* _E_DAY_VIEW_TOP_ITEM_H_ */
diff --git a/calendar/gui/e-meeting-attendee.h b/calendar/gui/e-meeting-attendee.h
index a259de6..fb7e32e 100644
--- a/calendar/gui/e-meeting-attendee.h
+++ b/calendar/gui/e-meeting-attendee.h
@@ -32,10 +32,7 @@
 #include <libecal/e-cal-component.h>
 #include "e-meeting-types.h"
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 #define E_TYPE_MEETING_ATTENDEE			(e_meeting_attendee_get_type ())
 #define E_MEETING_ATTENDEE(obj)			(G_TYPE_CHECK_INSTANCE_CAST ((obj), E_TYPE_MEETING_ATTENDEE, EMeetingAttendee))
@@ -169,8 +166,6 @@ gboolean e_meeting_attendee_set_end_busy_range (EMeetingAttendee *ia,
 
 void e_meeting_attendee_clear_busy_periods (EMeetingAttendee *ia);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* _E_MEETING_ATTENDEE_H_ */
diff --git a/calendar/gui/e-meeting-time-sel-item.h b/calendar/gui/e-meeting-time-sel-item.h
index 310eb4c..e9daa3d 100644
--- a/calendar/gui/e-meeting-time-sel-item.h
+++ b/calendar/gui/e-meeting-time-sel-item.h
@@ -33,9 +33,7 @@
 
 #include "e-meeting-time-sel.h"
 
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 
 #define E_MEETING_TIME_SELECTOR_ITEM(obj)          (G_TYPE_CHECK_INSTANCE_CAST((obj), e_meeting_time_selector_item_get_type (), EMeetingTimeSelectorItem))
diff --git a/calendar/gui/e-meeting-types.h b/calendar/gui/e-meeting-types.h
index bfcdfc5..49ddaf2 100644
--- a/calendar/gui/e-meeting-types.h
+++ b/calendar/gui/e-meeting-types.h
@@ -31,10 +31,7 @@
 #include <glib.h>
 #include "e-meeting-types.h"
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 
 
@@ -73,8 +70,6 @@ struct _EMeetingFreeBusyPeriod
 	EMeetingFreeBusyType busy_type;
 };
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* _E_MEETING_TYPES_H_ */
diff --git a/calendar/gui/e-meeting-utils.h b/calendar/gui/e-meeting-utils.h
index c71efec..cd2e76d 100644
--- a/calendar/gui/e-meeting-utils.h
+++ b/calendar/gui/e-meeting-utils.h
@@ -31,19 +31,14 @@
 #include <glib.h>
 #include "e-meeting-types.h"
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 
 
 gint e_meeting_time_compare_times (EMeetingTime *time1,
 				   EMeetingTime *time2);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* _E_MEETING_UTILS_H_ */
 
diff --git a/calendar/gui/e-week-view-event-item.h b/calendar/gui/e-week-view-event-item.h
index 69d041f..ebc5d07 100644
--- a/calendar/gui/e-week-view-event-item.h
+++ b/calendar/gui/e-week-view-event-item.h
@@ -26,9 +26,7 @@
 
 #include "e-week-view.h"
 
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 /*
  * EWeekViewEventItem - displays the background, times and icons for an event
@@ -63,8 +61,6 @@ GType    e_week_view_event_item_get_type      (void);
 
 
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* _E_WEEK_VIEW_EVENT_ITEM_H_ */
diff --git a/calendar/gui/e-week-view-layout.h b/calendar/gui/e-week-view-layout.h
index 0acd41d..67975b2 100644
--- a/calendar/gui/e-week-view-layout.h
+++ b/calendar/gui/e-week-view-layout.h
@@ -26,9 +26,7 @@
 
 #include "e-week-view.h"
 
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 /* I've split these functions away from EWeekView so we can use them for
    printing. */
@@ -63,8 +61,6 @@ gboolean e_week_view_layout_get_span_position (EWeekViewEvent *event,
 					       gboolean	 compress_weekend,
 					       gint	*span_num_days);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* _E_WEEK_VIEW_LAYOUT_H_ */
diff --git a/calendar/gui/e-week-view-main-item.h b/calendar/gui/e-week-view-main-item.h
index 34bdfa2..135a25e 100644
--- a/calendar/gui/e-week-view-main-item.h
+++ b/calendar/gui/e-week-view-main-item.h
@@ -26,9 +26,7 @@
 
 #include "e-week-view.h"
 
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 /*
  * EWeekViewMainItem - displays the background grid and dates for the Week and
@@ -59,8 +57,6 @@ GType    e_week_view_main_item_get_type      (void);
 
 
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* _E_WEEK_VIEW_MAIN_ITEM_H_ */
diff --git a/calendar/gui/e-week-view-titles-item.h b/calendar/gui/e-week-view-titles-item.h
index 0463c95..6ee6cda 100644
--- a/calendar/gui/e-week-view-titles-item.h
+++ b/calendar/gui/e-week-view-titles-item.h
@@ -26,9 +26,7 @@
 
 #include "e-week-view.h"
 
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 /*
  * EWeekViewTitlesItem - displays the 'Monday', 'Tuesday' etc. at the top of
@@ -59,8 +57,6 @@ GType    e_week_view_titles_item_get_type      (void);
 
 
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* _E_WEEK_VIEW_TITLES_ITEM_H_ */
diff --git a/calendar/gui/e-week-view.h b/calendar/gui/e-week-view.h
index 605c96b..513dae2 100644
--- a/calendar/gui/e-week-view.h
+++ b/calendar/gui/e-week-view.h
@@ -29,9 +29,7 @@
 #include "e-calendar-view.h"
 #include "gnome-cal.h"
 
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 /*
  * EWeekView - displays the Week & Month views of the calendar.
@@ -449,8 +447,6 @@ gboolean e_week_view_is_jump_button_visible (EWeekView *week_view,
 					     gint day);
 void e_week_view_jump_to_button_item (EWeekView *week_view, GnomeCanvasItem *item);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* _E_WEEK_VIEW_H_ */
diff --git a/e-util/e-bconf-map.h b/e-util/e-bconf-map.h
index 57ba17e..4e72f5e 100644
--- a/e-util/e-bconf-map.h
+++ b/e-util/e-bconf-map.h
@@ -28,10 +28,7 @@
 
 #include <libxml/tree.h>
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 enum {
 	E_BCONF_MAP_END = 0,        /* end of table */
@@ -95,8 +92,6 @@ typedef struct {
 
 gint e_bconf_import (GConfClient *gconf, xmlDocPtr config_xmldb, e_gconf_map_list_t *remap_list);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* __E_BCONF_MAP_H__ */
diff --git a/e-util/e-bit-array.h b/e-util/e-bit-array.h
index a9bf113..6f021c5 100644
--- a/e-util/e-bit-array.h
+++ b/e-util/e-bit-array.h
@@ -26,9 +26,7 @@
 
 #include <glib-object.h>
 
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 #define E_BIT_ARRAY_TYPE        (e_bit_array_get_type ())
 #define E_BIT_ARRAY(o)          (G_TYPE_CHECK_INSTANCE_CAST ((o), E_BIT_ARRAY_TYPE, EBitArray))
@@ -95,9 +93,7 @@ void       e_bit_array_move_row            (EBitArray    *esm,
 gboolean   e_bit_array_cross_and           (EBitArray    *esm);
 gboolean   e_bit_array_cross_or            (EBitArray    *esm);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 
 #endif /* _E_BIT_ARRAY_H_ */
diff --git a/e-util/e-config.h b/e-util/e-config.h
index 55bd6ab..2f2e4a2 100644
--- a/e-util/e-config.h
+++ b/e-util/e-config.h
@@ -27,10 +27,7 @@
 #include <glib-object.h>
 #include "libedataserver/e-msgport.h"
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 struct _GtkWindow;
 struct _GtkWidget;
@@ -386,8 +383,6 @@ GType e_config_hook_get_type(void);
 /* for implementors */
 void e_config_hook_class_add_target_map(EConfigHookClass *klass, const EConfigHookTargetMap *);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* __E_CONFIG_H__ */
diff --git a/e-util/e-event.h b/e-util/e-event.h
index 3ea5c82..6f561a0 100644
--- a/e-util/e-event.h
+++ b/e-util/e-event.h
@@ -30,10 +30,7 @@
 
 #include <glib-object.h>
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 /* This is an abstract event management class. */
 
@@ -231,8 +228,6 @@ GType e_event_hook_get_type(void);
 /* for implementors */
 void e_event_hook_class_add_target_map(EEventHookClass *klass, const EEventHookTargetMap *);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* __E_EVENT_H__ */
diff --git a/e-util/e-import.h b/e-util/e-import.h
index 5e95d6a..4474db1 100644
--- a/e-util/e-import.h
+++ b/e-util/e-import.h
@@ -27,10 +27,7 @@
 #include <glib-object.h>
 #include "libedataserver/e-msgport.h"
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 struct _GtkWindow;
 struct _GtkWidget;
@@ -265,8 +262,6 @@ GType e_import_hook_get_type(void);
 void e_import_hook_class_add_target_map(EImportHookClass *klass, const EImportHookTargetMap *);
 
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* __E_IMPORT_H__ */
diff --git a/e-util/e-menu.h b/e-util/e-menu.h
index d0a8e99..7b8d6f5 100644
--- a/e-util/e-menu.h
+++ b/e-util/e-menu.h
@@ -27,10 +27,7 @@
 #include <glib-object.h>
 #include "libedataserver/e-msgport.h"
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 /* This is an abstract popup menu management/merging class.
 
@@ -317,8 +314,6 @@ GType e_menu_hook_get_type(void);
 /* for implementors */
 void e_menu_hook_class_add_target_map(EMenuHookClass *klass, const EMenuHookTargetMap *);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* __E_MENU_H__ */
diff --git a/e-util/e-popup.h b/e-util/e-popup.h
index 8779ce8..6ca872b 100644
--- a/e-util/e-popup.h
+++ b/e-util/e-popup.h
@@ -27,10 +27,7 @@
 #include <glib-object.h>
 #include "libedataserver/e-msgport.h"
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 /* This is an abstract popup menu management/merging class.
 
@@ -303,8 +300,6 @@ GType e_popup_hook_get_type(void);
 /* for implementors */
 void e_popup_hook_class_add_target_map(EPopupHookClass *klass, const EPopupHookTargetMap *);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* __E_POPUP_H__ */
diff --git a/e-util/e-profile-event.h b/e-util/e-profile-event.h
index 5caa50c..256bec2 100644
--- a/e-util/e-profile-event.h
+++ b/e-util/e-profile-event.h
@@ -29,10 +29,7 @@
 
 #include "e-util/e-event.h"
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 struct _CamelFolder;
 struct _CamelMimeMessage;
@@ -103,8 +100,6 @@ struct _EProfileEventHookClass {
 
 GType e_profile_event_hook_get_type(void);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* __E_PROFILE_EVENT_H__ */
diff --git a/e-util/e-signature.h b/e-util/e-signature.h
index e965f9c..a58a429 100644
--- a/e-util/e-signature.h
+++ b/e-util/e-signature.h
@@ -26,10 +26,7 @@
 
 #include <glib-object.h>
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 #define E_TYPE_SIGNATURE            (e_signature_get_type ())
 #define E_SIGNATURE(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), E_TYPE_SIGNATURE, ESignature))
@@ -69,8 +66,6 @@ gboolean e_signature_set_from_xml (ESignature *sig, const gchar *xml);
 
 gchar *e_signature_to_xml (ESignature *sig);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* __E_SIGNATURE_H__ */
diff --git a/e-util/e-sorter.h b/e-util/e-sorter.h
index 579d9bd..37015e5 100644
--- a/e-util/e-sorter.h
+++ b/e-util/e-sorter.h
@@ -26,9 +26,7 @@
 
 #include <glib-object.h>
 
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 #define E_SORTER_TYPE        (e_sorter_get_type ())
 #define E_SORTER(o)          (G_TYPE_CHECK_INSTANCE_CAST ((o), E_SORTER_TYPE, ESorter))
@@ -75,8 +73,6 @@ void      e_sorter_get_sorted_to_model_array  (ESorter  *sorter,
 
 gboolean  e_sorter_needs_sorting              (ESorter  *sorter);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* _E_SORTER_H_ */
diff --git a/e-util/e-text-event-processor-emacs-like.h b/e-util/e-text-event-processor-emacs-like.h
index efb8c7e..a93db0f 100644
--- a/e-util/e-text-event-processor-emacs-like.h
+++ b/e-util/e-text-event-processor-emacs-like.h
@@ -26,10 +26,7 @@
 
 #include <e-util/e-text-event-processor.h>
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 /* ETextEventProcessorEmacsLike - Turns events on a text widget into commands.  Uses an emacs-ish interface.
  *
@@ -62,9 +59,7 @@ struct _ETextEventProcessorEmacsLikeClass
 GType      e_text_event_processor_emacs_like_get_type (void);
 ETextEventProcessor *e_text_event_processor_emacs_like_new (void);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 
 #endif /* __E_TEXT_EVENT_PROCESSOR_EMACS_LIKE_H__ */
diff --git a/e-util/e-text-event-processor.h b/e-util/e-text-event-processor.h
index a9d329c..1f313bd 100644
--- a/e-util/e-text-event-processor.h
+++ b/e-util/e-text-event-processor.h
@@ -26,10 +26,7 @@
 #include <gtk/gtk.h>
 #include <e-util/e-text-event-processor-types.h>
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 /* ETextEventProcessor - Turns events on a text widget into commands.
  *
@@ -67,9 +64,7 @@ struct _ETextEventProcessorClass
 GType      e_text_event_processor_get_type (void);
 gint       e_text_event_processor_handle_event (ETextEventProcessor *tep, ETextEventProcessorEvent *event);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 
 #endif /* __E_TEXT_EVENT_PROCESSOR_H__ */
diff --git a/filter/filter-file.h b/filter/filter-file.h
index 3aa30ad..2b4af5f 100644
--- a/filter/filter-file.h
+++ b/filter/filter-file.h
@@ -24,10 +24,7 @@
 #ifndef __FILTER_FILE_H__
 #define __FILTER_FILE_H__
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 #include "filter-element.h"
 
@@ -66,8 +63,6 @@ FilterFile *filter_file_new_type_name (const gchar *type);
 /* methods */
 void filter_file_set_path (FilterFile *file, const gchar *path);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* ! __FILTER_FILE_H__ */
diff --git a/mail/em-account-editor.h b/mail/em-account-editor.h
index 4567f36..01d9dbd 100644
--- a/mail/em-account-editor.h
+++ b/mail/em-account-editor.h
@@ -26,10 +26,7 @@
 
 #include <gtk/gtk.h>
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 struct _EAccount;
 
@@ -83,8 +80,6 @@ void em_account_editor_build_extra_conf (EMAccountEditor *gui, const gchar *url)
 
 void em_account_editor_auto_detect_extra_conf (EMAccountEditor *gui);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* EM_ACCOUNT_EDITOR_H */
diff --git a/mail/em-account-prefs.h b/mail/em-account-prefs.h
index 0dabc8a..9539661 100644
--- a/mail/em-account-prefs.h
+++ b/mail/em-account-prefs.h
@@ -33,10 +33,7 @@
 
 #include <shell/Evolution.h>
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 
 #define EM_ACCOUNT_PREFS_TYPE        (em_account_prefs_get_type ())
@@ -84,8 +81,6 @@ GtkWidget *em_account_prefs_new (GNOME_Evolution_Shell shell);
 /* needed by global config */
 #define EM_ACCOUNT_PREFS_CONTROL_ID "OAFIID:GNOME_Evolution_Mail_AccountPrefs_ConfigControl:" BASE_VERSION
 
-#ifdef __cplusplus
-}
-#endif
+G_END_DECLS
 
 #endif /* __EM_ACCOUNT_PREFS_H__ */
diff --git a/mail/em-composer-utils.h b/mail/em-composer-utils.h
index ab4a863..3ba3c5e 100644
--- a/mail/em-composer-utils.h
+++ b/mail/em-composer-utils.h
@@ -26,10 +26,7 @@
 
 #include <glib.h>
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 struct _CamelFolder;
 struct _CamelMimeMessage;
@@ -85,8 +82,6 @@ void em_utils_get_reply_all (struct _CamelMimeMessage *message, struct _CamelInt
 struct _EMsgComposer * em_utils_reply_to_message (struct _CamelFolder *, const gchar *uid, struct _CamelMimeMessage *message, gint mode, struct _EMFormat *source);
 struct _EDestination ** em_utils_camel_address_to_destination (struct _CamelInternetAddress *iaddr);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* __EM_COMPOSER_UTILS_H__ */
diff --git a/mail/em-config.h b/mail/em-config.h
index 4ebfa05..b2d3bde 100644
--- a/mail/em-config.h
+++ b/mail/em-config.h
@@ -27,10 +27,7 @@
 
 #include "e-util/e-config.h"
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 struct _GConfClient;
 
@@ -107,8 +104,6 @@ struct _EMConfigHookClass {
 
 GType em_config_hook_get_type(void);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* __EM_CONFIG_H__ */
diff --git a/mail/em-event.h b/mail/em-event.h
index 5dc11bd..b58a0f2 100644
--- a/mail/em-event.h
+++ b/mail/em-event.h
@@ -29,10 +29,7 @@
 #include "e-util/e-event.h"
 #include "mail/em-folder-browser.h"
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 struct _CamelFolder;
 struct _CamelMimeMessage;
@@ -177,8 +174,6 @@ struct _EMEventHookClass {
 
 GType em_event_hook_get_type(void);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* __EM_EVENT_H__ */
diff --git a/mail/em-folder-browser.h b/mail/em-folder-browser.h
index e2c74ec..966d3a3 100644
--- a/mail/em-folder-browser.h
+++ b/mail/em-folder-browser.h
@@ -26,10 +26,7 @@
 
 #include "mail/em-folder-view.h"
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 typedef struct _EMFolderBrowser EMFolderBrowser;
 typedef struct _EMFolderBrowserClass EMFolderBrowserClass;
@@ -60,8 +57,6 @@ void em_folder_browser_show_wide(EMFolderBrowser *emfv, gboolean state);
 gboolean em_folder_browser_get_wide(EMFolderBrowser *emfv);
 void em_folder_browser_suppress_message_selection(EMFolderBrowser *emfb);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* ! _EM_FOLDER_BROWSER_H */
diff --git a/mail/em-folder-properties.h b/mail/em-folder-properties.h
index cdaec27..d28eefe 100644
--- a/mail/em-folder-properties.h
+++ b/mail/em-folder-properties.h
@@ -24,18 +24,13 @@
 #ifndef __EM_FOLDER_PROPERTIES_H__
 #define __EM_FOLDER_PROPERTIES_H__
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 struct _CamelFolder;
 struct _GtkWindow;
 
 void em_folder_properties_show(struct _GtkWindow *parent, struct _CamelFolder *folder, const gchar *uri);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* __EM_FOLDER_PROPERTIES_H__ */
diff --git a/mail/em-folder-selection-button.h b/mail/em-folder-selection-button.h
index 7b2a1b4..c047473 100644
--- a/mail/em-folder-selection-button.h
+++ b/mail/em-folder-selection-button.h
@@ -26,10 +26,7 @@
 
 #include <gtk/gtk.h>
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 #define EM_TYPE_FOLDER_SELECTION_BUTTON            (em_folder_selection_button_get_type ())
 #define EM_FOLDER_SELECTION_BUTTON(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), EM_TYPE_FOLDER_SELECTION_BUTTON, EMFolderSelectionButton))
@@ -68,8 +65,6 @@ GList *em_folder_selection_button_get_selection_mult (EMFolderSelectionButton *b
 void     em_folder_selection_button_set_multiselect (EMFolderSelectionButton *button, gboolean value);
 gboolean em_folder_selection_button_get_multiselect (EMFolderSelectionButton *button);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* __EM_FOLDER_SELECTION_BUTTON_H__ */
diff --git a/mail/em-folder-selection.h b/mail/em-folder-selection.h
index 098fa2b..8a15526 100644
--- a/mail/em-folder-selection.h
+++ b/mail/em-folder-selection.h
@@ -24,10 +24,7 @@
 #ifndef EM_FOLDER_SELECTION_H
 #define EM_FOLDER_SELECTION_H
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 #include "em-folder-tree.h"
 
@@ -38,8 +35,6 @@ void em_select_folder (struct _GtkWindow *parent_window, const gchar *title, con
 		       void (*done)(const gchar *uri, gpointer data),
 		       gpointer data);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* EM_FOLDER_SELECTION_H */
diff --git a/mail/em-folder-tree-model.h b/mail/em-folder-tree-model.h
index 563ede2..2c2274f 100644
--- a/mail/em-folder-tree-model.h
+++ b/mail/em-folder-tree-model.h
@@ -31,10 +31,7 @@
 
 #include <libedataserver/e-account-list.h>
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 #define EM_TYPE_FOLDER_TREE_MODEL		(em_folder_tree_model_get_type ())
 #define EM_FOLDER_TREE_MODEL(obj)		(G_TYPE_CHECK_INSTANCE_CAST ((obj), EM_TYPE_FOLDER_TREE_MODEL, EMFolderTreeModel))
@@ -150,8 +147,6 @@ void em_folder_tree_model_set_unread_count (EMFolderTreeModel *model, CamelStore
 gboolean em_folder_tree_model_is_type_inbox (EMFolderTreeModel *model, CamelStore *store, const gchar *full);
 gchar * em_folder_tree_model_get_folder_name (EMFolderTreeModel *model, CamelStore *store, const gchar *full);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* __EM_FOLDER_TREE_MODEL_H__ */
diff --git a/mail/em-folder-tree.h b/mail/em-folder-tree.h
index 265616a..ba02ff1 100644
--- a/mail/em-folder-tree.h
+++ b/mail/em-folder-tree.h
@@ -29,10 +29,7 @@
 
 #include "mail/em-folder-tree-model.h"
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 #define EM_TYPE_FOLDER_TREE            (em_folder_tree_get_type ())
 #define EM_FOLDER_TREE(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), EM_TYPE_FOLDER_TREE, EMFolderTree))
@@ -97,8 +94,6 @@ gboolean em_folder_tree_create_folder (EMFolderTree *emft, const gchar *full_nam
 GtkWidget * em_folder_tree_get_tree_view (EMFolderTree *emft);
 void em_folder_tree_set_skip_double_click (EMFolderTree *emft, gboolean skip);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* __EM_FOLDER_TREE_H__ */
diff --git a/mail/em-format-hook.h b/mail/em-format-hook.h
index 553eb7a..3f02167 100644
--- a/mail/em-format-hook.h
+++ b/mail/em-format-hook.h
@@ -30,10 +30,7 @@
 
 #include "mail/em-format.h"
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 typedef struct _EMFormatHookItem EMFormatHookItem;
 typedef struct _EMFormatHookGroup EMFormatHookGroup;
@@ -91,8 +88,6 @@ GType em_format_hook_get_type(void);
 /* register a type as a possible formatter hook point */
 void em_format_hook_register_type(GType type);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* __EM_FORMAT_HOOK_H__ */
diff --git a/mail/em-html-stream.h b/mail/em-html-stream.h
index 86baa5c..1f832fa 100644
--- a/mail/em-html-stream.h
+++ b/mail/em-html-stream.h
@@ -24,10 +24,7 @@
 #ifndef EM_HTML_STREAM_H
 #define EM_HTML_STREAM_H
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 #define EM_HTML_STREAM_TYPE     (em_html_stream_get_type ())
 #define EM_HTML_STREAM(obj)     (CAMEL_CHECK_CAST((obj), EM_HTML_STREAM_TYPE, EMHTMLStream))
@@ -60,8 +57,6 @@ CamelType    em_html_stream_get_type (void);
 CamelStream *em_html_stream_new(struct _GtkHTML *html, struct _GtkHTMLStream *html_stream);
 void em_html_stream_set_flags (EMHTMLStream *emhs, GtkHTMLBeginFlags flags);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* EM_HTML_STREAM_H */
diff --git a/mail/em-icon-stream.h b/mail/em-icon-stream.h
index 24f4ace..17d4246 100644
--- a/mail/em-icon-stream.h
+++ b/mail/em-icon-stream.h
@@ -23,10 +23,7 @@
 #ifndef EM_ICON_STREAM_H
 #define EM_ICON_STREAM_H
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 #define EM_ICON_STREAM_TYPE     (em_icon_stream_get_type ())
 #define EM_ICON_STREAM(obj)     (CAMEL_CHECK_CAST((obj), EM_ICON_STREAM_TYPE, EMIconStream))
@@ -62,8 +59,6 @@ gint em_icon_stream_is_resized(const gchar *key, guint maxwidth, guint maxheight
 
 void em_icon_stream_clear_cache(void);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* EM_ICON_STREAM_H */
diff --git a/mail/em-inline-filter.h b/mail/em-inline-filter.h
index ed5b688..b0af215 100644
--- a/mail/em-inline-filter.h
+++ b/mail/em-inline-filter.h
@@ -24,18 +24,15 @@
 #ifndef EM_INLINE_FILTER_H
 #define EM_INLINE_FILTER_H
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
+#include <camel/camel-mime-filter.h>
+#include <camel/camel-mime-utils.h>
 
 #define EM_INLINE_FILTER_TYPE     (em_inline_filter_get_type ())
 #define EM_INLINE_FILTER(obj)     (CAMEL_CHECK_CAST((obj), EM_INLINE_FILTER_TYPE, EMInlineFilter))
 #define EM_INLINE_FILTER_CLASS(k) (CAMEL_CHECK_CLASS_CAST ((k), EM_INLINE_FILTER_TYPE, EMInlineFilterClass))
 #define EM_IS_INLINE_FILTER(o)    (CAMEL_CHECK_TYPE((o), EM_INLINE_FILTER_TYPE))
 
-#include <camel/camel-mime-filter.h>
-#include <camel/camel-mime-utils.h>
+G_BEGIN_DECLS
 
 typedef struct _EMInlineFilter {
 	CamelMimeFilter filter;
@@ -58,8 +55,6 @@ CamelType    em_inline_filter_get_type(void);
 EMInlineFilter *em_inline_filter_new(CamelTransferEncoding base_encoding, CamelContentType *type);
 struct _CamelMultipart *em_inline_filter_get_multipart(EMInlineFilter *emif);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* EM_INLINE_FILTER_H */
diff --git a/mail/em-junk-hook.h b/mail/em-junk-hook.h
index 9e7c999..1f66518 100644
--- a/mail/em-junk-hook.h
+++ b/mail/em-junk-hook.h
@@ -28,10 +28,7 @@
 
 #include <camel/camel-junk-plugin.h>
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 typedef struct _EMJunkHookItem EMJunkHookItem;
 typedef struct _EMJunkHookGroup EMJunkHookGroup;
@@ -99,8 +96,6 @@ struct _EMJunkClass {
 
 GType emj_get_type(void);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* __EM_JUNK_HOOK_H__ */
diff --git a/mail/em-mailer-prefs.h b/mail/em-mailer-prefs.h
index 917c00c..c556951 100644
--- a/mail/em-mailer-prefs.h
+++ b/mail/em-mailer-prefs.h
@@ -23,11 +23,6 @@
 #ifndef __EM_MAILER_PREFS_H__
 #define __EM_MAILER_PREFS_H__
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
-
 #include <gtk/gtk.h>
 #include <shell/Evolution.h>
 
@@ -51,6 +46,8 @@ struct _GtkWindow;
 #define EM_IS_MAILER_PREFS(o)       (G_TYPE_CHECK_INSTANCE_TYPE ((o), EM_MAILER_PREFS_TYPE))
 #define EM_IS_MAILER_PREFS_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), EM_MAILER_PREFS_TYPE))
 
+G_BEGIN_DECLS
+
 typedef struct _EMMailerPrefs EMMailerPrefs;
 typedef struct _EMMailerPrefsClass EMMailerPrefsClass;
 typedef struct _EMMailerPrefsHeader EMMailerPrefsHeader;
@@ -157,8 +154,6 @@ void em_mailer_prefs_header_free(EMMailerPrefsHeader *header);
 /* needed by global config */
 #define EM_MAILER_PREFS_CONTROL_ID "OAFIID:GNOME_Evolution_Mail_MailerPrefs_ConfigControl:" BASE_VERSION
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* __EM_MAILER_PREFS_H__ */
diff --git a/mail/em-menu.h b/mail/em-menu.h
index 96f5714..3e7ca19 100644
--- a/mail/em-menu.h
+++ b/mail/em-menu.h
@@ -28,10 +28,7 @@
 
 #include "e-util/e-menu.h"
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 typedef struct _EMMenu EMMenu;
 typedef struct _EMMenuClass EMMenuClass;
@@ -118,8 +115,6 @@ struct _EMMenuHookClass {
 
 GType em_menu_hook_get_type(void);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* __EM_MENU_H__ */
diff --git a/mail/em-migrate.h b/mail/em-migrate.h
index f6d43c1..89896d4 100644
--- a/mail/em-migrate.h
+++ b/mail/em-migrate.h
@@ -25,15 +25,10 @@
 
 #include <camel/camel-exception.h>
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 gint em_migrate (const gchar *evolution_dir, gint major, gint minor, gint revision, CamelException *ex);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* __EM_MIGRATE_H__ */
diff --git a/mail/em-network-prefs.h b/mail/em-network-prefs.h
index 3d933a7..79b22c5 100644
--- a/mail/em-network-prefs.h
+++ b/mail/em-network-prefs.h
@@ -23,11 +23,6 @@
 #ifndef __EM_NETWORK_PREFS_H__
 #define __EM_NETWORK_PREFS_H__
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
-
 #include <gtk/gtk.h>
 
 #define EM_NETWORK_PREFS_TYPE        (em_network_prefs_get_type ())
@@ -36,6 +31,8 @@ extern "C" {
 #define EM_IS_NETWORK_PREFS(o)       (G_TYPE_CHECK_INSTANCE_TYPE ((o), EM_NETWORK_PREFS_TYPE))
 #define EM_IS_NETWORK_PREFS_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), EM_NETWORK_PREFS_TYPE))
 
+G_BEGIN_DECLS
+
 typedef struct _EMNetworkPrefs EMNetworkPrefs;
 typedef struct _EMNetworkPrefsClass EMNetworkPrefsClass;
 
@@ -109,8 +106,6 @@ struct _GtkWidget *em_network_prefs_new (void);
 /* needed by global config */
 #define EM_NETWORK_PREFS_CONTROL_ID "OAFIID:GNOME_Evolution_Mail_NetworkPrefs_ConfigControl:" BASE_VERSION
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* __EM_NETWORK_PREFS_H__ */
diff --git a/mail/em-popup.h b/mail/em-popup.h
index dea4aee..cdac00b 100644
--- a/mail/em-popup.h
+++ b/mail/em-popup.h
@@ -28,10 +28,7 @@
 
 #include "e-util/e-popup.h"
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 typedef struct _EMPopup EMPopup;
 typedef struct _EMPopupClass EMPopupClass;
@@ -258,8 +255,6 @@ struct _EMPopupHookClass {
 
 GType em_popup_hook_get_type(void);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* __EM_POPUP_H__ */
diff --git a/mail/em-stripsig-filter.h b/mail/em-stripsig-filter.h
index 761d466..9a09d1a 100644
--- a/mail/em-stripsig-filter.h
+++ b/mail/em-stripsig-filter.h
@@ -25,10 +25,7 @@
 
 #include <camel/camel-mime-filter.h>
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 #define EM_TYPE_STRIPSIG_FILTER            (em_stripsig_filter_get_type ())
 #define EM_STRIPSIG_FILTER(obj)            (CAMEL_CHECK_CAST ((obj), EM_TYPE_STRIPSIG_FILTER, EMStripSigFilter))
@@ -56,8 +53,6 @@ CamelType em_stripsig_filter_get_type (void);
 
 CamelMimeFilter *em_stripsig_filter_new (void);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* __EM_STRIPSIG_FILTER_H__ */
diff --git a/mail/em-utils.h b/mail/em-utils.h
index 19a0da6..523d350 100644
--- a/mail/em-utils.h
+++ b/mail/em-utils.h
@@ -25,10 +25,7 @@
 
 #include <glib.h>
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 #include <sys/types.h>
 
@@ -117,8 +114,6 @@ const gchar *em_utils_snoop_type(struct _CamelMimePart *part);
 /* clears flag 'get_password_canceled' at every known accounts, so if needed, get_password will show dialog */
 void em_utils_clear_get_password_canceled_accounts_flag (void);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* __EM_UTILS_H__ */
diff --git a/mail/mail-config-factory.h b/mail/mail-config-factory.h
index 428598a..e32d730 100644
--- a/mail/mail-config-factory.h
+++ b/mail/mail-config-factory.h
@@ -23,10 +23,7 @@
 #ifndef __MAIL_CONFIG_FACTORY_H__
 #define __MAIL_CONFIG_FACTORY_H__
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 #include <bonobo/bonobo-generic-factory.h>
 #include "evolution-config-control.h"
@@ -37,8 +34,6 @@ gboolean mail_config_register_factory (GNOME_Evolution_Shell shell);
 
 BonoboObject *mail_config_control_factory_cb (BonoboGenericFactory *factory, const gchar *component_id, gpointer user_data);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* __MAIL_CONFIG_FACTORY_H__ */
diff --git a/mail/mail-config.h b/mail/mail-config.h
index d2fef97..8ebb3dc 100644
--- a/mail/mail-config.h
+++ b/mail/mail-config.h
@@ -40,10 +40,7 @@ struct _GtkWindow;
 
 struct _CamelFolder;
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 typedef struct _MailConfigSignature {
 	gint id;
@@ -166,8 +163,6 @@ GType evolution_mail_config_get_type (void);
 
 gboolean evolution_mail_config_factory_init (void);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* MAIL_CONFIG_H */
diff --git a/mail/mail-crypto.h b/mail/mail-crypto.h
index a6ba393..0ed51e3 100644
--- a/mail/mail-crypto.h
+++ b/mail/mail-crypto.h
@@ -23,18 +23,13 @@
 #ifndef MAIL_CRYPTO_H
 #define MAIL_CRYPTO_H
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus  */
+G_BEGIN_DECLS
 
 struct _EAccount;
 
 /* PGP/MIME convenience wrappers */
 struct _CamelCipherContext *mail_crypto_get_pgp_cipher_context(struct _EAccount *account);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* ! MAIL_CRYPTO_H */
diff --git a/mail/mail-ops.h b/mail/mail-ops.h
index 12e8632..4bc1a9b 100644
--- a/mail/mail-ops.h
+++ b/mail/mail-ops.h
@@ -24,10 +24,7 @@
 #ifndef MAIL_OPS_H
 #define MAIL_OPS_H
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 #include "mail-mt.h"
 
@@ -168,8 +165,6 @@ void mail_execute_shell_command (CamelFilterDriver *driver, gint argc, gchar **a
 gint mail_check_service(const gchar *url, CamelProviderType type,
 		       void (*done)(const gchar *url, CamelProviderType type, GList *authtypes, gpointer data), gpointer data);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* MAIL_OPS_H */
diff --git a/mail/mail-session.h b/mail/mail-session.h
index d0595ba..aa22622 100644
--- a/mail/mail-session.h
+++ b/mail/mail-session.h
@@ -27,10 +27,7 @@
 #include <bonobo/bonobo-ui-component.h>
 #include <camel/camel-session.h>
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 void mail_session_init (const gchar *base_directory);
 void mail_session_shutdown (void);
@@ -57,8 +54,6 @@ void mail_session_set_junk_headers (const gchar **name, const gchar **value, gin
 
 extern CamelSession *session;
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* ! MAIL_SESSION_H */
diff --git a/mail/mail-types.h b/mail/mail-types.h
index 6acbeaf..c5c737e 100644
--- a/mail/mail-types.h
+++ b/mail/mail-types.h
@@ -21,10 +21,7 @@
 #ifndef MAIL_TYPES_H
 #define MAIL_TYPES_H 1
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus }*/
+G_BEGIN_DECLS
 
 
 typedef struct  _FolderBrowser     FolderBrowser;
@@ -33,8 +30,6 @@ typedef struct  _SubscribeDialog   SubscribeDialog;
 typedef struct  _MessageList       MessageList;
 typedef struct  _MailDisplay       MailDisplay;
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* MAIL_TYPES_H */
diff --git a/mail/message-list.h b/mail/message-list.h
index 04a9370..8949b91 100644
--- a/mail/message-list.h
+++ b/mail/message-list.h
@@ -28,10 +28,7 @@
 #include <table/e-table-simple.h>
 #include <table/e-tree-scrolled.h>
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 #define MESSAGE_LIST_TYPE        (message_list_get_type ())
 #define MESSAGE_LIST(o)          (G_TYPE_CHECK_INSTANCE_CAST ((o), MESSAGE_LIST_TYPE, MessageList))
@@ -240,8 +237,6 @@ void           message_list_set_scrollbar_position (MessageList *ml, double pos)
 #define MESSAGE_LIST_LOCK(m, l) g_mutex_lock(((MessageList *)m)->l)
 #define MESSAGE_LIST_UNLOCK(m, l) g_mutex_unlock(((MessageList *)m)->l)
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* _MESSAGE_LIST_H_ */
diff --git a/mail/message-tag-editor.h b/mail/message-tag-editor.h
index 5193ac2..3b097c1 100644
--- a/mail/message-tag-editor.h
+++ b/mail/message-tag-editor.h
@@ -28,10 +28,7 @@
 #include <camel/camel-folder.h>
 #include <camel/camel-folder-summary.h>
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 #define MESSAGE_TAG_EDITOR_TYPE            (message_tag_editor_get_type ())
 #define MESSAGE_TAG_EDITOR(obj)		   (G_TYPE_CHECK_INSTANCE_CAST (obj, MESSAGE_TAG_EDITOR_TYPE, MessageTagEditor))
@@ -65,8 +62,6 @@ GType message_tag_editor_get_type (void);
 CamelTag *message_tag_editor_get_tag_list (MessageTagEditor *editor);
 void      message_tag_editor_set_tag_list (MessageTagEditor *editor, CamelTag *tags);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* __MESSAGE_TAG_EDITOR_H__ */
diff --git a/mail/message-tag-followup.h b/mail/message-tag-followup.h
index 7e362df..bc8c793 100644
--- a/mail/message-tag-followup.h
+++ b/mail/message-tag-followup.h
@@ -27,10 +27,7 @@
 #include <mail/message-tag-editor.h>
 #include <time.h>
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 #define MESSAGE_TAG_FOLLOWUP_TYPE            (message_tag_followup_get_type ())
 #define MESSAGE_TAG_FOLLOWUP(obj)	     (G_TYPE_CHECK_INSTANCE_CAST (obj, MESSAGE_TAG_FOLLOWUP_TYPE, MessageTagFollowUp))
@@ -72,8 +69,6 @@ void message_tag_followup_append_message (MessageTagFollowUp *editor,
 					  const gchar *from,
 					  const gchar *subject);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* __MESSAGE_TAG_FOLLOWUP_H__ */
diff --git a/plugins/exchange-operations/exchange-change-password.h b/plugins/exchange-operations/exchange-change-password.h
index 389922f..c33a887 100644
--- a/plugins/exchange-operations/exchange-change-password.h
+++ b/plugins/exchange-operations/exchange-change-password.h
@@ -23,16 +23,11 @@
 
 #include <exchange-types.h>
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 gchar *exchange_get_new_password (const gchar *existing_password,
 				 gboolean    voluntary);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* __EXCHANGE_CHANGE_PASSWORD_H__ */
diff --git a/plugins/exchange-operations/exchange-config-listener.h b/plugins/exchange-operations/exchange-config-listener.h
index c079b7e..07051bc 100644
--- a/plugins/exchange-operations/exchange-config-listener.h
+++ b/plugins/exchange-operations/exchange-config-listener.h
@@ -29,10 +29,7 @@
 #include <libedataserver/e-source-list.h>
 #include <libedataserver/e-source-group.h>
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 typedef enum {
 	CONFIG_LISTENER_STATUS_OK,
@@ -82,8 +79,6 @@ void exchange_config_listener_modify_esource_group_name (ExchangeConfigListener
 ExchangeAccountResult exchange_config_listener_authenticate (ExchangeConfigListener *excl,
 							ExchangeAccount *account);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* __EXCHANGE_CONFIG_LISTENER_H__ */
diff --git a/plugins/exchange-operations/exchange-delegates-user.h b/plugins/exchange-operations/exchange-delegates-user.h
index d1a38ca..deb5b04 100644
--- a/plugins/exchange-operations/exchange-delegates-user.h
+++ b/plugins/exchange-operations/exchange-delegates-user.h
@@ -25,10 +25,7 @@
 #include <e2k-security-descriptor.h>
 #include <gtk/gtk.h>
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 #define EXCHANGE_TYPE_DELEGATES_USER			(exchange_delegates_user_get_type ())
 #define EXCHANGE_DELEGATES_USER(obj)			(G_TYPE_CHECK_INSTANCE_CAST ((obj), EXCHANGE_TYPE_DELEGATES_USER, ExchangeDelegatesUser))
@@ -81,8 +78,6 @@ gboolean  exchange_delegates_user_edit (ExchangeAccount  *account, ExchangeDeleg
 
 
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* __EXCHANGE_DELEGATES_USER_H__ */
diff --git a/plugins/exchange-operations/exchange-delegates.h b/plugins/exchange-operations/exchange-delegates.h
index 5defd27..ae89047 100644
--- a/plugins/exchange-operations/exchange-delegates.h
+++ b/plugins/exchange-operations/exchange-delegates.h
@@ -24,16 +24,11 @@
 #include <exchange-types.h>
 #include <gtk/gtk.h>
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 void exchange_delegates (ExchangeAccount *account, GtkWidget *parent);
 const gchar *email_look_up (const gchar *delegate_legacy, ExchangeAccount *account);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* __EXCHANGE_DELEGATES_CONTROL_H__ */
diff --git a/plugins/exchange-operations/exchange-folder-size-display.h b/plugins/exchange-operations/exchange-folder-size-display.h
index 08f22c7..13d112c 100644
--- a/plugins/exchange-operations/exchange-folder-size-display.h
+++ b/plugins/exchange-operations/exchange-folder-size-display.h
@@ -23,16 +23,11 @@
 
 #include <gtk/gtk.h>
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 void exchange_folder_size_display (GtkListStore *model, GtkWidget *parent);
 gchar * exchange_folder_size_get_val (GtkListStore *model, const gchar *folder_name);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* __EXCHANGE_FOLDER_SIZE_DISPLAY_H__ */
diff --git a/plugins/exchange-operations/exchange-operations.h b/plugins/exchange-operations/exchange-operations.h
index 3b4518f..d735ff8 100644
--- a/plugins/exchange-operations/exchange-operations.h
+++ b/plugins/exchange-operations/exchange-operations.h
@@ -29,10 +29,7 @@
 #include "exchange-config-listener.h"
 #include <exchange-account.h>
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 #define ERROR_DOMAIN "org-gnome-exchange-operations"
 
@@ -54,8 +51,6 @@ void exchange_operations_update_child_esources (ESource *source, const gchar *ol
 
 gboolean is_exchange_personal_folder (ExchangeAccount *account, gchar *uri);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif
diff --git a/plugins/exchange-operations/exchange-permissions-dialog.h b/plugins/exchange-operations/exchange-permissions-dialog.h
index 18bdcd4..ad2f47d 100644
--- a/plugins/exchange-operations/exchange-permissions-dialog.h
+++ b/plugins/exchange-operations/exchange-permissions-dialog.h
@@ -26,10 +26,7 @@
 #include "e-folder.h"
 #include "exchange-types.h"
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 #define EXCHANGE_TYPE_PERMISSIONS_DIALOG            (exchange_permissions_dialog_get_type ())
 #define EXCHANGE_PERMISSIONS_DIALOG(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), EXCHANGE_TYPE_PERMISSIONS_DIALOG, ExchangePermissionsDialog))
@@ -54,8 +51,6 @@ void       exchange_permissions_dialog_new      (ExchangeAccount *account,
 						 EFolder         *folder,
 						 GtkWidget       *parent);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* __EXCHANGE_PERMISSIONS_DIALOG_H__ */
diff --git a/plugins/groupwise-features/junk-settings.h b/plugins/groupwise-features/junk-settings.h
index 13e8a25..fd728cb 100644
--- a/plugins/groupwise-features/junk-settings.h
+++ b/plugins/groupwise-features/junk-settings.h
@@ -24,10 +24,7 @@
 #ifndef __JUNK_SETTINGS_H__
 #define __JUNK_SETTINGS_H__
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 #include <gtk/gtk.h>
 #include <camel/camel-store.h>
@@ -95,8 +92,6 @@ GType junk_settings_get_type (void);
 struct _JunkSettings * junk_settings_new (EGwConnection *ccnc);
 void commit_changes (JunkSettings *js);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* __JUNK_SETTINGS_H__ */
diff --git a/plugins/groupwise-features/share-folder.h b/plugins/groupwise-features/share-folder.h
index 8ff4ec3..d95d973 100644
--- a/plugins/groupwise-features/share-folder.h
+++ b/plugins/groupwise-features/share-folder.h
@@ -24,10 +24,7 @@
 #ifndef __SHARE_FOLDER_H__
 #define __SHARE_FOLDER_H__
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 #include <gtk/gtk.h>
 #include <camel/camel-store.h>
@@ -112,8 +109,6 @@ void share_folder(struct _ShareFolder *sf);
 gchar * get_container_id (EGwConnection *cnc, const gchar *fname);
 EGwConnection * get_cnc (CamelStore *store);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* __SHARE_FOLDER_H__ */
diff --git a/shell/e-component-registry.h b/shell/e-component-registry.h
index c8c292a..1b4dd97 100644
--- a/shell/e-component-registry.h
+++ b/shell/e-component-registry.h
@@ -29,10 +29,7 @@
 #include <gdk-pixbuf/gdk-pixbuf.h>
 
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 
 #define E_TYPE_COMPONENT_REGISTRY		(e_component_registry_get_type ())
@@ -97,8 +94,6 @@ GNOME_Evolution_Component  e_component_registry_activate  (EComponentRegistry *r
 							   CORBA_Environment  *ev);
 
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* __E_COMPONENT_REGISTRY_H__ */
diff --git a/shell/e-component-view.h b/shell/e-component-view.h
index 9b74183..ef8a6e8 100644
--- a/shell/e-component-view.h
+++ b/shell/e-component-view.h
@@ -26,10 +26,7 @@
 
 #include <bonobo/bonobo-object.h>
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 struct _GtkWidget;
 
@@ -71,9 +68,7 @@ EComponentView *e_component_view_new_controls(GNOME_Evolution_ShellView parent,
 void e_component_view_set_title(EComponentView *ecv, const gchar *title);
 void e_component_view_set_button_icon (EComponentView *ecv, const gchar *iconName);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* _E_COMPONENT_VIEW_H_ */
 
diff --git a/shell/e-corba-config-page.h b/shell/e-corba-config-page.h
index 8f0690f..a09b86d 100644
--- a/shell/e-corba-config-page.h
+++ b/shell/e-corba-config-page.h
@@ -29,10 +29,7 @@
 
 #include <bonobo/bonobo-object.h>
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 #define E_TYPE_CORBA_CONFIG_PAGE			(e_corba_config_page_get_type ())
 #define E_CORBA_CONFIG_PAGE(obj)			(G_TYPE_CHECK_INSTANCE_CAST ((obj), E_TYPE_CORBA_CONFIG_PAGE, ECorbaConfigPage))
@@ -61,8 +58,6 @@ GtkWidget *e_corba_config_page_new_from_objref  (GNOME_Evolution_ConfigControl
 gboolean   e_corba_config_page_construct        (ECorbaConfigPage              *corba_config_page,
 						 GNOME_Evolution_ConfigControl  objref);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* _E_CORBA_CONFIG_PAGE_H_ */
diff --git a/shell/e-shell-settings-dialog.h b/shell/e-shell-settings-dialog.h
index ba636e6..b39bc7b 100644
--- a/shell/e-shell-settings-dialog.h
+++ b/shell/e-shell-settings-dialog.h
@@ -26,10 +26,7 @@
 
 #include "e-multi-config-dialog.h"
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 #define E_TYPE_SHELL_SETTINGS_DIALOG			(e_shell_settings_dialog_get_type ())
 #define E_SHELL_SETTINGS_DIALOG(obj)			(G_TYPE_CHECK_INSTANCE_CAST ((obj), E_TYPE_SHELL_SETTINGS_DIALOG, EShellSettingsDialog))
@@ -58,8 +55,6 @@ GtkWidget *e_shell_settings_dialog_new       (void);
 void       e_shell_settings_dialog_show_type (EShellSettingsDialog *dialog,
 					      const gchar           *type);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* _E_SHELL_SETTINGS_DIALOG_H_ */
diff --git a/shell/e-shell-view.h b/shell/e-shell-view.h
index dd500ef..1ca2656 100644
--- a/shell/e-shell-view.h
+++ b/shell/e-shell-view.h
@@ -26,10 +26,7 @@
 #include <bonobo-activation/bonobo-activation.h>
 #include <bonobo/bonobo-object.h>
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 struct _EShell;
 
@@ -62,9 +59,7 @@ struct _EShellViewClass {
 GType                e_shell_view_get_type   (void);
 EShellView *e_shell_view_new(struct _EShellWindow *window);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* _E_SHELL_VIEW_H_ */
 
diff --git a/shell/e-shell.h b/shell/e-shell.h
index 4f26846..c5ae461 100644
--- a/shell/e-shell.h
+++ b/shell/e-shell.h
@@ -26,10 +26,7 @@
 #include <bonobo-activation/bonobo-activation.h>
 #include <bonobo/bonobo-object.h>
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 typedef struct _EShell        EShell;
 typedef struct _EShellPrivate EShellPrivate;
@@ -141,8 +138,6 @@ const gchar *e_shell_construct_result_to_string (EShellConstructResult result);
 typedef gboolean (*EMainShellFunc) (EShell *shell, EShellWindow *window, gpointer user_data);
 void e_shell_foreach_shell_window (EShell *shell, EMainShellFunc func, gpointer user_data);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* _E_SHELL_H_ */
diff --git a/shell/e-user-creatable-items-handler.h b/shell/e-user-creatable-items-handler.h
index 5350691..922c7f7 100644
--- a/shell/e-user-creatable-items-handler.h
+++ b/shell/e-user-creatable-items-handler.h
@@ -27,10 +27,7 @@
 #include <bonobo/bonobo-ui-component.h>
 #include <bonobo/bonobo-window.h>
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 #define E_TYPE_USER_CREATABLE_ITEMS_HANDLER		(e_user_creatable_items_handler_get_type ())
 #define E_USER_CREATABLE_ITEMS_HANDLER(obj)		(G_TYPE_CHECK_INSTANCE_CAST ((obj), E_TYPE_USER_CREATABLE_ITEMS_HANDLER, EUserCreatableItemsHandler))
@@ -63,8 +60,6 @@ EUserCreatableItemsHandler *e_user_creatable_items_handler_new        (const gch
 void                        e_user_creatable_items_handler_activate   (EUserCreatableItemsHandler *handler,
 								       BonoboUIComponent          *ui_component);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* _E_USER_CREATABLE_ITEMS_HANDLER_H_ */
diff --git a/shell/es-event.h b/shell/es-event.h
index 0fa2ae0..b422151 100644
--- a/shell/es-event.h
+++ b/shell/es-event.h
@@ -28,10 +28,7 @@
 
 #include "e-util/e-event.h"
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 struct _EShell;  /* Avoid including "e-shell.h" */
 
@@ -120,8 +117,6 @@ struct _ESEventHookClass {
 
 GType es_event_hook_get_type(void);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* __ES_EVENT_H__ */
diff --git a/shell/es-menu.h b/shell/es-menu.h
index 298de64..d8ac21a 100644
--- a/shell/es-menu.h
+++ b/shell/es-menu.h
@@ -28,10 +28,7 @@
 
 #include "e-util/e-menu.h"
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 typedef struct _ESMenu ESMenu;
 typedef struct _ESMenuClass ESMenuClass;
@@ -90,8 +87,6 @@ struct _ESMenuHookClass {
 
 GType es_menu_hook_get_type(void);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* __ES_MENU_H__ */
diff --git a/shell/evolution-shell-component-utils.h b/shell/evolution-shell-component-utils.h
index 477643e..1c2412e 100644
--- a/shell/evolution-shell-component-utils.h
+++ b/shell/evolution-shell-component-utils.h
@@ -25,10 +25,7 @@
 #include <bonobo/bonobo-ui-component.h>
 #include <gtk/gtk.h>
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 typedef struct _EPixmap {
 	const gchar *path;
@@ -45,8 +42,6 @@ void e_pixmaps_update (BonoboUIComponent *uic, EPixmap *pixcache);
 
 gchar *e_get_activation_failure_msg  (CORBA_Environment *ev);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* __EVOLUTION_SHELL_COMPONENT_UTILS_H__ */
diff --git a/shell/importer/evolution-importer-client.h b/shell/importer/evolution-importer-client.h
index 2a71e58..e945842 100644
--- a/shell/importer/evolution-importer-client.h
+++ b/shell/importer/evolution-importer-client.h
@@ -28,10 +28,7 @@
 #include <importer/evolution-importer.h>
 #include <importer/evolution-importer-listener.h>
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif
+G_BEGIN_DECLS
 
 #define EVOLUTION_TYPE_IMPORTER_CLIENT (evolution_importer_client_get_type ())
 #define EVOLUTION_IMPORTER_CLIENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EVOLUTION_TYPE_IMPORTER_CLIENT, EvolutionImporterClient))
@@ -67,8 +64,6 @@ void evolution_importer_client_process_item (EvolutionImporterClient *client,
 					     EvolutionImporterListener *listener);
 const gchar *evolution_importer_client_get_error (EvolutionImporterClient *client);
 
-#ifdef __cplusplus
-}
-#endif
+G_END_DECLS
 
 #endif
diff --git a/shell/importer/evolution-importer-listener.h b/shell/importer/evolution-importer-listener.h
index e4df945..39bf2a0 100644
--- a/shell/importer/evolution-importer-listener.h
+++ b/shell/importer/evolution-importer-listener.h
@@ -28,10 +28,7 @@
 #include <importer/GNOME_Evolution_Importer.h>
 #include "evolution-importer.h"
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* cplusplus */
+G_BEGIN_DECLS
 
 #define EVOLUTION_TYPE_IMPORTER_LISTENER            (evolution_importer_listener_get_type ())
 #define EVOLUTION_IMPORTER_LISTENER(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), EVOLUTION_TYPE_IMPORTER_LISTENER, EvolutionImporterListener))
@@ -64,8 +61,6 @@ GType evolution_importer_listener_get_type (void);
 EvolutionImporterListener *evolution_importer_listener_new (EvolutionImporterListenerCallback callback,
 							    gpointer closure);
 
-#ifdef __cplusplus
-}
-#endif
+G_END_DECLS
 
 #endif
diff --git a/shell/importer/evolution-importer.h b/shell/importer/evolution-importer.h
index b4bf549..5c7560d 100644
--- a/shell/importer/evolution-importer.h
+++ b/shell/importer/evolution-importer.h
@@ -27,10 +27,7 @@
 #include <bonobo/bonobo-object.h>
 #include <importer/GNOME_Evolution_Importer.h>
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* cplusplus */
+G_BEGIN_DECLS
 
 #define EVOLUTION_TYPE_IMPORTER            (evolution_importer_get_type ())
 #define EVOLUTION_IMPORTER(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), EVOLUTION_TYPE_IMPORTER, EvolutionImporter))
@@ -93,8 +90,6 @@ EvolutionImporter *evolution_importer_new (EvolutionImporterCreateControlFn  cre
 					   void                             *closure);
 
 
-#ifdef __cplusplus
-}
-#endif
+G_END_DECLS
 
 #endif
diff --git a/shell/importer/evolution-intelligent-importer.h b/shell/importer/evolution-intelligent-importer.h
index 99d5d2b..d9613d3 100644
--- a/shell/importer/evolution-intelligent-importer.h
+++ b/shell/importer/evolution-intelligent-importer.h
@@ -27,10 +27,7 @@
 #include <bonobo/bonobo-object.h>
 #include <importer/GNOME_Evolution_Importer.h>
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 #define EVOLUTION_TYPE_INTELLIGENT_IMPORTER            (evolution_intelligent_importer_get_type ())
 #define EVOLUTION_INTELLIGENT_IMPORTER(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), EVOLUTION_TYPE_INTELLIGENT_IMPORTER, EvolutionIntelligentImporter))
@@ -67,8 +64,6 @@ EvolutionIntelligentImporter *evolution_intelligent_importer_new (EvolutionIntel
 								  const gchar *message,
 								  gpointer closure);
 
-#ifdef __cplusplus
-}
-#endif
+G_END_DECLS
 
 #endif
diff --git a/widgets/menus/gal-define-views-dialog.h b/widgets/menus/gal-define-views-dialog.h
index 14112df..ab499d4 100644
--- a/widgets/menus/gal-define-views-dialog.h
+++ b/widgets/menus/gal-define-views-dialog.h
@@ -28,10 +28,7 @@
 
 #include <widgets/menus/gal-view-collection.h>
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 /* GalDefineViewsDialog - A dialog displaying information about a contact.
  *
@@ -70,9 +67,7 @@ struct _GalDefineViewsDialogClass
 GtkWidget               *gal_define_views_dialog_new          (GalViewCollection *collection);
 GType                    gal_define_views_dialog_get_type     (void);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 
 #endif /* __GAL_DEFINE_VIEWS_DIALOG_H__ */
diff --git a/widgets/menus/gal-define-views-model.h b/widgets/menus/gal-define-views-model.h
index 2441cf7..c408fea 100644
--- a/widgets/menus/gal-define-views-model.h
+++ b/widgets/menus/gal-define-views-model.h
@@ -28,9 +28,7 @@
 #include <widgets/menus/gal-view.h>
 #include <widgets/menus/gal-view-collection.h>
 
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 #define GAL_DEFINE_VIEWS_MODEL_TYPE        (gal_define_views_model_get_type ())
 #define GAL_DEFINE_VIEWS_MODEL(o)          (G_TYPE_CHECK_INSTANCE_CAST ((o), GAL_DEFINE_VIEWS_MODEL_TYPE, GalDefineViewsModel))
@@ -65,8 +63,6 @@ void         gal_define_views_model_delete_view  (GalDefineViewsModel *model,
 void         gal_define_views_model_copy_view    (GalDefineViewsModel *model,
 						  gint                  i);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* _GAL_DEFINE_VIEWS_MODEL_H_ */
diff --git a/widgets/menus/gal-view-factory-etable.h b/widgets/menus/gal-view-factory-etable.h
index 440d6c6..50d3a0a 100644
--- a/widgets/menus/gal-view-factory-etable.h
+++ b/widgets/menus/gal-view-factory-etable.h
@@ -28,9 +28,7 @@
 #include <widgets/menus/gal-view-factory.h>
 #include <table/e-table-specification.h>
 
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 #define GAL_VIEW_FACTORY_ETABLE_TYPE        (gal_view_factory_etable_get_type ())
 #define GAL_VIEW_FACTORY_ETABLE(o)          (G_TYPE_CHECK_INSTANCE_CAST ((o), GAL_VIEW_FACTORY_ETABLE_TYPE, GalViewFactoryEtable))
@@ -55,8 +53,6 @@ GalViewFactory *gal_view_factory_etable_new        (ETableSpecification  *spec);
 GalViewFactory *gal_view_factory_etable_construct  (GalViewFactoryEtable *factory,
 						    ETableSpecification  *spec);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* _GAL_VIEW_FACTORY_ETABLE_H_ */
diff --git a/widgets/menus/gal-view-factory.h b/widgets/menus/gal-view-factory.h
index 59f46a2..41b7564 100644
--- a/widgets/menus/gal-view-factory.h
+++ b/widgets/menus/gal-view-factory.h
@@ -27,9 +27,7 @@
 #include <glib-object.h>
 #include <widgets/menus/gal-view.h>
 
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 #define GAL_VIEW_FACTORY_TYPE        (gal_view_factory_get_type ())
 #define GAL_VIEW_FACTORY(o)          (G_TYPE_CHECK_INSTANCE_CAST ((o), GAL_VIEW_FACTORY_TYPE, GalViewFactory))
@@ -71,9 +69,7 @@ const gchar *gal_view_factory_get_type_code  (GalViewFactory *factory);
 GalView    *gal_view_factory_new_view       (GalViewFactory *factory,
 					     const gchar     *name);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 
 #endif /* _GAL_VIEW_FACTORY_H_ */
diff --git a/widgets/menus/gal-view-instance-save-as-dialog.h b/widgets/menus/gal-view-instance-save-as-dialog.h
index 2135bc5..600aa67 100644
--- a/widgets/menus/gal-view-instance-save-as-dialog.h
+++ b/widgets/menus/gal-view-instance-save-as-dialog.h
@@ -28,10 +28,7 @@
 #include <widgets/menus/gal-view-collection.h>
 #include <widgets/menus/gal-view-instance.h>
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 /* GalViewInstanceSaveAsDialog - A dialog displaying information about a contact.
  *
@@ -83,9 +80,7 @@ GType      gal_view_instance_save_as_dialog_get_type  (void);
 
 void       gal_view_instance_save_as_dialog_save      (GalViewInstanceSaveAsDialog *dialog);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 
 #endif /* __GAL_VIEW_INSTANCE_SAVE_AS_DIALOG_H__ */
diff --git a/widgets/menus/gal-view-new-dialog.h b/widgets/menus/gal-view-new-dialog.h
index d2acd5d..06bcb96 100644
--- a/widgets/menus/gal-view-new-dialog.h
+++ b/widgets/menus/gal-view-new-dialog.h
@@ -27,10 +27,7 @@
 #include <glade/glade.h>
 #include <gal-view-collection.h>
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 /* GalViewNewDialog - A dialog displaying information about a contact.
  *
@@ -76,9 +73,7 @@ GType      gal_view_new_dialog_get_type   (void);
 GtkWidget *gal_view_new_dialog_construct  (GalViewNewDialog  *dialog,
 					   GalViewCollection *collection);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 
 #endif /* __GAL_VIEW_NEW_DIALOG_H__ */
diff --git a/widgets/menus/gal-view.h b/widgets/menus/gal-view.h
index ce73400..8973733 100644
--- a/widgets/menus/gal-view.h
+++ b/widgets/menus/gal-view.h
@@ -27,9 +27,7 @@
 #include <gtk/gtk.h>
 #include <libxml/tree.h>
 
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 #define GAL_VIEW_TYPE        (gal_view_get_type ())
 #define GAL_VIEW(o)          (G_TYPE_CHECK_INSTANCE_CAST ((o), GAL_VIEW_TYPE, GalView))
@@ -91,8 +89,6 @@ GalView    *gal_view_clone          (GalView    *view);
 void        gal_view_changed        (GalView    *view);
 
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* _GAL_VIEW_H_ */
diff --git a/widgets/misc/e-activity-handler.h b/widgets/misc/e-activity-handler.h
index 65bd1de..8809728 100644
--- a/widgets/misc/e-activity-handler.h
+++ b/widgets/misc/e-activity-handler.h
@@ -27,10 +27,7 @@
 #include "e-util/e-logger.h"
 #include <glib-object.h>
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 #define E_TYPE_ACTIVITY_HANDLER			(e_activity_handler_get_type ())
 #define E_ACTIVITY_HANDLER(obj)			(G_TYPE_CHECK_INSTANCE_CAST ((obj), E_TYPE_ACTIVITY_HANDLER, EActivityHandler))
@@ -101,8 +98,6 @@ e_activity_handler_operation_set_error (EActivityHandler *activity_handler,
 void
 e_activity_handler_set_error_flush_time (EActivityHandler *handler, gint time);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* _E_ACTIVITY_HANDLER_H_ */
diff --git a/widgets/misc/e-calendar-item.h b/widgets/misc/e-calendar-item.h
index 926ba1c..f86fc4f 100644
--- a/widgets/misc/e-calendar-item.h
+++ b/widgets/misc/e-calendar-item.h
@@ -27,9 +27,7 @@
 
 #include <libgnomecanvas/gnome-canvas.h>
 
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 /*
  * ECalendarItem - canvas item displaying a calendar.
@@ -367,8 +365,6 @@ gint e_calendar_item_get_week_number	(ECalendarItem *calitem,
 void e_calendar_item_style_set (GtkWidget *widget, ECalendarItem *calitem);
 
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* _E_CALENDAR_ITEM_H_ */
diff --git a/widgets/misc/e-calendar.h b/widgets/misc/e-calendar.h
index 7a3c8fd..911e9ee 100644
--- a/widgets/misc/e-calendar.h
+++ b/widgets/misc/e-calendar.h
@@ -27,9 +27,7 @@
 #include <misc/e-canvas.h>
 #include "e-calendar-item.h"
 
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 /*
  * ECalendar - displays a table of monthly calendars, allowing highlighting
@@ -95,8 +93,6 @@ void	   e_calendar_get_border_size	(ECalendar	*cal,
 
 void       e_calendar_set_focusable (ECalendar *cal, gboolean focusable);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* _E_CALENDAR_H_ */
diff --git a/widgets/misc/e-canvas-vbox.h b/widgets/misc/e-canvas-vbox.h
index 7fa38fa..fb049c3 100644
--- a/widgets/misc/e-canvas-vbox.h
+++ b/widgets/misc/e-canvas-vbox.h
@@ -26,10 +26,7 @@
 #include <gtk/gtk.h>
 #include <libgnomecanvas/gnome-canvas.h>
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 /* ECanvasVbox - A canvas item container.
  *
@@ -84,9 +81,7 @@ void       e_canvas_vbox_add_item(ECanvasVbox *e_canvas_vbox, GnomeCanvasItem *i
 void       e_canvas_vbox_add_item_start(ECanvasVbox *e_canvas_vbox, GnomeCanvasItem *item);
 GType      e_canvas_vbox_get_type (void);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 
 #endif /* __E_CANVAS_VBOX_H__ */
diff --git a/widgets/misc/e-canvas.h b/widgets/misc/e-canvas.h
index 5f60fc4..58994d6 100644
--- a/widgets/misc/e-canvas.h
+++ b/widgets/misc/e-canvas.h
@@ -26,10 +26,7 @@
 #include <gtk/gtk.h>
 #include <libgnomecanvas/gnome-canvas.h>
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 /* ECanvas - A class derived from canvas for the purpose of adding
  * evolution specific canvas hacks.
@@ -148,9 +145,7 @@ void       e_canvas_popup_tooltip                        (ECanvas
 							  gint                              y);
 void       e_canvas_hide_tooltip                         (ECanvas                         *canvas);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 
 #endif /* __E_CANVAS_H__ */
diff --git a/widgets/misc/e-combo-button.h b/widgets/misc/e-combo-button.h
index c36948c..29d4b2e 100644
--- a/widgets/misc/e-combo-button.h
+++ b/widgets/misc/e-combo-button.h
@@ -29,10 +29,7 @@
 
 #include <gtk/gtk.h>
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 #define E_TYPE_COMBO_BUTTON			(e_combo_button_get_type ())
 #define E_COMBO_BUTTON(obj)			(G_TYPE_CHECK_INSTANCE_CAST ((obj), E_TYPE_COMBO_BUTTON, EComboButton))
@@ -76,8 +73,6 @@ GtkWidget *e_combo_button_get_label  (EComboButton *combo_button);
 
 gboolean   e_combo_button_popup_menu (EComboButton *combo_button);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* _E_COMBO_BUTTON_H_ */
diff --git a/widgets/misc/e-config-page.h b/widgets/misc/e-config-page.h
index 886d89d..1de9591 100644
--- a/widgets/misc/e-config-page.h
+++ b/widgets/misc/e-config-page.h
@@ -29,10 +29,7 @@
 
 #include <gtk/gtk.h>
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 #define E_TYPE_CONFIG_PAGE			(e_config_page_get_type ())
 #define E_CONFIG_PAGE(obj)			(G_TYPE_CHECK_INSTANCE_CAST ((obj), E_TYPE_CONFIG_PAGE, EConfigPage))
@@ -60,8 +57,6 @@ struct _EConfigPageClass {
 GType      e_config_page_get_type    (void);
 GtkWidget *e_config_page_new         (void);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* _E_CONFIG_PAGE_H_ */
diff --git a/widgets/misc/e-dropdown-button.h b/widgets/misc/e-dropdown-button.h
index 19f678b..f58cd73 100644
--- a/widgets/misc/e-dropdown-button.h
+++ b/widgets/misc/e-dropdown-button.h
@@ -29,10 +29,7 @@
 
 #include <gtk/gtk.h>
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 #define E_TYPE_DROPDOWN_BUTTON		  (e_dropdown_button_get_type ())
 #define E_DROPDOWN_BUTTON(obj)		  (G_TYPE_CHECK_INSTANCE_CAST ((obj), E_TYPE_DROPDOWN_BUTTON, EDropdownButton))
@@ -63,8 +60,6 @@ void       e_dropdown_button_construct  (EDropdownButton *dropdown_button,
 GtkWidget *e_dropdown_button_new        (const gchar      *label_text,
 					 GtkMenu         *menu);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* _E_DROPDOWN_BUTTON_H_ */
diff --git a/widgets/misc/e-filter-bar.h b/widgets/misc/e-filter-bar.h
index 3e22182..f25a66f 100644
--- a/widgets/misc/e-filter-bar.h
+++ b/widgets/misc/e-filter-bar.h
@@ -32,10 +32,7 @@
 #include "filter/rule-context.h"
 #include "filter/filter-rule.h"
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 /* EFilterBar - A filter rule driven search bar.
  *
@@ -137,9 +134,7 @@ e_filter_bar_new_construct	  (RuleContext *context,
 				   EFilterBarConfigRule config,
 				   gpointer data ,EFilterBar *bar );
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 
 #endif /* __E_FILTER_BAR_H__ */
diff --git a/widgets/misc/e-info-label.h b/widgets/misc/e-info-label.h
index 1541fb8..8509e30 100644
--- a/widgets/misc/e-info-label.h
+++ b/widgets/misc/e-info-label.h
@@ -26,10 +26,7 @@
 
 #include <gtk/gtk.h>
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 #define E_INFO_LABEL_GET_CLASS(emfv)  ((EInfoLabelClass *) G_OBJECT_GET_CLASS (emfv))
 
@@ -52,8 +49,6 @@ GType e_info_label_get_type(void);
 GtkWidget *e_info_label_new(const gchar *icon);
 void e_info_label_set_info(EInfoLabel *, const gchar *loc, const gchar *info);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* ! _E_INFO_LABEL_H */
diff --git a/widgets/misc/e-multi-config-dialog.h b/widgets/misc/e-multi-config-dialog.h
index 88a538b..1bc310b 100644
--- a/widgets/misc/e-multi-config-dialog.h
+++ b/widgets/misc/e-multi-config-dialog.h
@@ -31,10 +31,7 @@
 
 #include <gtk/gtk.h>
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 #define E_TYPE_MULTI_CONFIG_DIALOG			(e_multi_config_dialog_get_type ())
 #define E_MULTI_CONFIG_DIALOG(obj)			(G_TYPE_CHECK_INSTANCE_CAST ((obj), E_TYPE_MULTI_CONFIG_DIALOG, EMultiConfigDialog))
@@ -69,8 +66,6 @@ void  e_multi_config_dialog_add_page  (EMultiConfigDialog *dialog,
 void  e_multi_config_dialog_show_page (EMultiConfigDialog *dialog,
 				       gint                 page);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* _E_MULTI_CONFIG_DIALOG_H_ */
diff --git a/widgets/misc/e-reflow-model.h b/widgets/misc/e-reflow-model.h
index d606edf..ebbf3c1 100644
--- a/widgets/misc/e-reflow-model.h
+++ b/widgets/misc/e-reflow-model.h
@@ -27,9 +27,7 @@
 #include <glib-object.h>
 #include <libgnomecanvas/gnome-canvas.h>
 
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 #define E_REFLOW_MODEL_TYPE        (e_reflow_model_get_type ())
 #define E_REFLOW_MODEL(o)          (G_TYPE_CHECK_INSTANCE_CAST ((o), E_REFLOW_MODEL_TYPE, EReflowModel))
@@ -105,8 +103,6 @@ void             e_reflow_model_item_removed       (EReflowModel     *e_reflow_m
 void             e_reflow_model_item_changed       (EReflowModel     *e_reflow_model,
 						    gint               n);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* _E_REFLOW_MODEL_H_ */
diff --git a/widgets/misc/e-reflow.h b/widgets/misc/e-reflow.h
index 69527bd..19e6d4a 100644
--- a/widgets/misc/e-reflow.h
+++ b/widgets/misc/e-reflow.h
@@ -28,10 +28,7 @@
 #include <misc/e-selection-model.h>
 #include <e-util/e-sorter-array.h>
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 /* EReflow - A canvas item container.
  *
@@ -139,8 +136,6 @@ struct _EReflowClass
  */
 GType    e_reflow_get_type       (void);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* __E_REFLOW_H__ */
diff --git a/widgets/misc/e-selection-model-array.h b/widgets/misc/e-selection-model-array.h
index be21a55..3f69fca 100644
--- a/widgets/misc/e-selection-model-array.h
+++ b/widgets/misc/e-selection-model-array.h
@@ -28,9 +28,7 @@
 #include <misc/e-selection-model.h>
 #include <e-util/e-bit-array.h>
 
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 #define E_SELECTION_MODEL_ARRAY_TYPE        (e_selection_model_array_get_type ())
 #define E_SELECTION_MODEL_ARRAY(o)          (G_TYPE_CHECK_INSTANCE_CAST ((o), E_SELECTION_MODEL_ARRAY_TYPE, ESelectionModelArray))
@@ -89,9 +87,7 @@ void     e_selection_model_array_confirm_row_count  (ESelectionModelArray *esm);
 /* Protected Virtual Function */
 gint     e_selection_model_array_get_row_count      (ESelectionModelArray *esm);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 
 #endif /* _E_SELECTION_MODEL_ARRAY_H_ */
diff --git a/widgets/misc/e-selection-model-simple.h b/widgets/misc/e-selection-model-simple.h
index 8db463b..2433543 100644
--- a/widgets/misc/e-selection-model-simple.h
+++ b/widgets/misc/e-selection-model-simple.h
@@ -26,9 +26,7 @@
 
 #include <misc/e-selection-model-array.h>
 
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 #define E_SELECTION_MODEL_SIMPLE_TYPE        (e_selection_model_simple_get_type ())
 #define E_SELECTION_MODEL_SIMPLE(o)          (G_TYPE_CHECK_INSTANCE_CAST ((o), E_SELECTION_MODEL_SIMPLE_TYPE, ESelectionModelSimple))
@@ -62,9 +60,7 @@ void                   e_selection_model_simple_move_row       (ESelectionModelS
 void                   e_selection_model_simple_set_row_count  (ESelectionModelSimple *selection,
 								gint                    row_count);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* _E_SELECTION_MODEL_SIMPLE_H_ */
 
diff --git a/widgets/misc/e-selection-model.h b/widgets/misc/e-selection-model.h
index 1619400..c87ccf9 100644
--- a/widgets/misc/e-selection-model.h
+++ b/widgets/misc/e-selection-model.h
@@ -27,9 +27,7 @@
 #include <gtk/gtk.h>
 #include <e-util/e-sorter.h>
 
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 #define E_SELECTION_MODEL_TYPE         (e_selection_model_get_type ())
 #define E_SELECTION_MODEL(o)           (G_TYPE_CHECK_INSTANCE_CAST ((o), E_SELECTION_MODEL_TYPE, ESelectionModel))
@@ -160,9 +158,7 @@ void      e_selection_model_selection_row_changed  (ESelectionModel *selection,
 						    gint              row);
 void      e_selection_model_selection_changed      (ESelectionModel *selection);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 
 #endif /* _E_SELECTION_MODEL_H_ */
diff --git a/widgets/misc/e-task-bar.h b/widgets/misc/e-task-bar.h
index f208603..d88c069 100644
--- a/widgets/misc/e-task-bar.h
+++ b/widgets/misc/e-task-bar.h
@@ -27,10 +27,7 @@
 
 #include <gtk/gtk.h>
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 #define E_TYPE_TASK_BAR			(e_task_bar_get_type ())
 #define E_TASK_BAR(obj)			(G_TYPE_CHECK_INSTANCE_CAST ((obj), E_TYPE_TASK_BAR, ETaskBar))
@@ -74,8 +71,6 @@ void	    e_task_bar_remove_task_from_id (ETaskBar *task_bar,
 ETaskWidget *e_task_bar_get_task_widget  (ETaskBar    *task_bar,
 					  gint          n);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* _E_TASK_BAR_H_ */
diff --git a/widgets/misc/e-task-widget.h b/widgets/misc/e-task-widget.h
index c023d45..b650bd8 100644
--- a/widgets/misc/e-task-widget.h
+++ b/widgets/misc/e-task-widget.h
@@ -25,10 +25,7 @@
 
 #include <gtk/gtk.h>
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 #define E_TYPE_TASK_WIDGET			(e_task_widget_get_type ())
 #define E_TASK_WIDGET(obj)			(G_TYPE_CHECK_INSTANCE_CAST ((obj), E_TYPE_TASK_WIDGET, ETaskWidget))
@@ -75,8 +72,6 @@ void		e_task_wiget_alert		(ETaskWidget *task_widget);
 void		e_task_wiget_unalert		(ETaskWidget *task_widget);
 const gchar *	e_task_widget_get_component_id	(ETaskWidget *task_widget);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* _E_TASK_WIDGET_H_ */
diff --git a/widgets/misc/e-url-entry.h b/widgets/misc/e-url-entry.h
index a4edc51..e5c8332 100644
--- a/widgets/misc/e-url-entry.h
+++ b/widgets/misc/e-url-entry.h
@@ -29,10 +29,7 @@
 
 #include <gtk/gtk.h>
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 #define E_TYPE_URL_ENTRY			(e_url_entry_get_type ())
 #define E_URL_ENTRY(obj)			(G_TYPE_CHECK_INSTANCE_CAST ((obj), E_TYPE_URL_ENTRY, EUrlEntry))
@@ -61,8 +58,6 @@ GType      e_url_entry_get_type  (void);
 GtkWidget *e_url_entry_new       (void);
 GtkWidget *e_url_entry_get_entry (EUrlEntry *url_entry);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* _E_URL_ENTRY_H_ */
diff --git a/widgets/table/e-table-defines.h b/widgets/table/e-table-defines.h
index c2511c0..de23cb9 100644
--- a/widgets/table/e-table-defines.h
+++ b/widgets/table/e-table-defines.h
@@ -24,9 +24,7 @@
 #ifndef __E_TABLE_DEFINES__
 #define __E_TABLE_DEFINES__ 1
 
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 #define BUTTON_HEIGHT        10
 #define BUTTON_PADDING       2
@@ -37,9 +35,7 @@ extern "C" {
 
 #define MIN_ARROW_SIZE 10
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 
 #endif
diff --git a/widgets/table/e-table-field-chooser-dialog.h b/widgets/table/e-table-field-chooser-dialog.h
index e0bc591..8d12eb3 100644
--- a/widgets/table/e-table-field-chooser-dialog.h
+++ b/widgets/table/e-table-field-chooser-dialog.h
@@ -27,10 +27,7 @@
 #include <table/e-table-field-chooser.h>
 #include <table/e-table-header.h>
 
-#ifdef __cplusplus
-extern "C" {
-#pragma }
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 /* ETableFieldChooserDialog - A dialog displaying information about a contact.
  *
@@ -70,9 +67,7 @@ struct _ETableFieldChooserDialogClass
 GtkWidget *e_table_field_chooser_dialog_new(void);
 GType      e_table_field_chooser_dialog_get_type (void);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 
 #endif /* __E_TABLE_FIELD_CHOOSER_DIALOG_H__ */
diff --git a/widgets/table/e-table-header-utils.h b/widgets/table/e-table-header-utils.h
index 60b373e..9117262 100644
--- a/widgets/table/e-table-header-utils.h
+++ b/widgets/table/e-table-header-utils.h
@@ -28,9 +28,7 @@
 
 #include <table/e-table-col.h>
 
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 gdouble  e_table_header_compute_height (ETableCol *ecol,
 				       GtkWidget *widget);
@@ -48,8 +46,6 @@ void    e_table_header_draw_button     (GdkDrawable    *drawable,
 					gint             button_height,
 					ETableColArrow  arrow);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif
diff --git a/widgets/table/e-table-selection-model.h b/widgets/table/e-table-selection-model.h
index cbd7390..380f49c 100644
--- a/widgets/table/e-table-selection-model.h
+++ b/widgets/table/e-table-selection-model.h
@@ -29,9 +29,7 @@
 #include <table/e-table-model.h>
 #include <table/e-table-header.h>
 
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 #define E_TABLE_SELECTION_MODEL_TYPE        (e_table_selection_model_get_type ())
 #define E_TABLE_SELECTION_MODEL(o)          (G_TYPE_CHECK_INSTANCE_CAST ((o), E_TABLE_SELECTION_MODEL_TYPE, ETableSelectionModel))
@@ -68,9 +66,7 @@ typedef struct {
 GType                 e_table_selection_model_get_type            (void);
 ETableSelectionModel *e_table_selection_model_new                 (void);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 
 #endif /* _E_TABLE_SELECTION_MODEL_H_ */
diff --git a/widgets/table/e-table-without.h b/widgets/table/e-table-without.h
index e4aabbd..799c107 100644
--- a/widgets/table/e-table-without.h
+++ b/widgets/table/e-table-without.h
@@ -27,9 +27,7 @@
 #include <glib-object.h>
 #include <table/e-table-subset.h>
 
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 #define E_TABLE_WITHOUT_TYPE        (e_table_without_get_type ())
 #define E_TABLE_WITHOUT(o)          (G_TYPE_CHECK_INSTANCE_CAST ((o), E_TABLE_WITHOUT_TYPE, ETableWithout))
@@ -82,9 +80,7 @@ void         e_table_without_hide_adopt (ETableWithout                 *etw,
 void         e_table_without_show       (ETableWithout                 *etw,
 					 void                          *key);
 void         e_table_without_show_all   (ETableWithout                 *etw);
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 
 #endif /* _E_TABLE_WITHOUT_H_ */
diff --git a/widgets/table/e-tree-memory-callbacks.h b/widgets/table/e-tree-memory-callbacks.h
index a770579..e76c687 100644
--- a/widgets/table/e-tree-memory-callbacks.h
+++ b/widgets/table/e-tree-memory-callbacks.h
@@ -25,9 +25,7 @@
 
 #include <table/e-tree-memory.h>
 
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 #define E_TREE_MEMORY_CALLBACKS_TYPE        (e_tree_memory_callbacks_get_type ())
 #define E_TREE_MEMORY_CALLBACKS(o)          (G_TYPE_CHECK_INSTANCE_CAST ((o), E_TREE_MEMORY_CALLBACKS_TYPE, ETreeMemoryCallbacks))
@@ -112,8 +110,6 @@ ETreeModel *e_tree_memory_callbacks_new  (ETreeMemoryCallbacksIconAtFn icon_at,
 
 					  gpointer                                 model_data);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 #endif /* _E_TREE_MEMORY_CALLBACKS_H_ */
diff --git a/widgets/table/e-tree-selection-model.h b/widgets/table/e-tree-selection-model.h
index 8652851..c112c40 100644
--- a/widgets/table/e-tree-selection-model.h
+++ b/widgets/table/e-tree-selection-model.h
@@ -28,9 +28,7 @@
 #include <misc/e-selection-model.h>
 #include <table/e-tree-model.h>
 
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 typedef void (*ETreeForeachFunc) (ETreePath path,
 				  gpointer closure);
@@ -69,9 +67,7 @@ void             e_tree_selection_model_change_cursor       (ETreeSelectionModel
 							     ETreePath            path);
 ETreePath        e_tree_selection_model_get_cursor          (ETreeSelectionModel *etsm);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+G_END_DECLS
 
 
 #endif /* _E_TREE_SELECTION_MODEL_H_ */



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