← Back to team overview

ayatana-commits team mailing list archive

[Merge] lp:~ted/dbusmenu/break-abi-for-series-4 into lp:dbusmenu

 

Ted Gould has proposed merging lp:~ted/dbusmenu/break-abi-for-series-4 into lp:dbusmenu.

Requested reviews:
  DBus Menu Team (dbusmenu-team)


An ABI break, because we love it!  This does a couple of things that are important.

 * It reinstates all of our reserved entries
 * It moves the privates to a pointer access instead of a lookup

Since we're going to have to bump for all our other changes anyway, let's get max benefit!
-- 
https://code.launchpad.net/~ted/dbusmenu/break-abi-for-series-4/+merge/38285
Your team ayatana-commits is subscribed to branch lp:dbusmenu.
=== modified file 'configure.ac'
--- configure.ac	2010-09-22 15:17:58 +0000
+++ configure.ac	2010-10-12 21:39:44 +0000
@@ -98,8 +98,8 @@
 # Lib versioning 
 ###########################
 
-LIBDBUSMENU_CURRENT=1
-LIBDBUSMENU_REVISION=17
+LIBDBUSMENU_CURRENT=2
+LIBDBUSMENU_REVISION=0
 LIBDBUSMENU_AGE=0
 
 AC_SUBST(LIBDBUSMENU_CURRENT)

=== modified file 'libdbusmenu-glib/client.c'
--- libdbusmenu-glib/client.c	2010-08-27 22:01:01 +0000
+++ libdbusmenu-glib/client.c	2010-10-12 21:39:44 +0000
@@ -62,7 +62,6 @@
 
 static guint signals[LAST_SIGNAL] = { 0 };
 
-typedef struct _DbusmenuClientPrivate DbusmenuClientPrivate;
 struct _DbusmenuClientPrivate
 {
 	DbusmenuMenuitem * root;
@@ -113,8 +112,7 @@
 };
 
 
-#define DBUSMENU_CLIENT_GET_PRIVATE(o) \
-(G_TYPE_INSTANCE_GET_PRIVATE ((o), DBUSMENU_TYPE_CLIENT, DbusmenuClientPrivate))
+#define DBUSMENU_CLIENT_GET_PRIVATE(o) (DBUSMENU_CLIENT(o)->priv)
 
 /* GObject Stuff */
 static void dbusmenu_client_class_init (DbusmenuClientClass *klass);
@@ -254,6 +252,8 @@
 static void
 dbusmenu_client_init (DbusmenuClient *self)
 {
+	self->priv = G_TYPE_INSTANCE_GET_PRIVATE ((self), DBUSMENU_TYPE_CLIENT, DbusmenuClientPrivate);
+
 	DbusmenuClientPrivate * priv = DBUSMENU_CLIENT_GET_PRIVATE(self);
 
 	priv->root = NULL;

=== modified file 'libdbusmenu-glib/client.h'
--- libdbusmenu-glib/client.h	2010-08-26 19:45:26 +0000
+++ libdbusmenu-glib/client.h	2010-10-12 21:39:44 +0000
@@ -56,6 +56,8 @@
 #define DBUSMENU_CLIENT_TYPES_SEPARATOR    "separator"
 #define DBUSMENU_CLIENT_TYPES_IMAGE        "standard"
 
+typedef struct _DbusmenuClientPrivate DbusmenuClientPrivate;
+
 /**
 	DbusmenuClientClass:
 	@parent_class: #GObjectClass
@@ -65,6 +67,10 @@
 	@event_result: Slot for #DbusmenuClient::event-error.
 	@reserved1: Reserved for future use.
 	@reserved2: Reserved for future use.
+	@reserved3: Reserved for future use.
+	@reserved4: Reserved for future use.
+	@reserved5: Reserved for future use.
+	@reserved6: Reserved for future use.
 
 	A simple class that takes all of the information from a
 	#DbusmenuServer over DBus and makes the same set of 
@@ -80,11 +86,13 @@
 	void (*item_activate) (DbusmenuMenuitem * item, guint timestamp);
 	void (*event_result) (DbusmenuMenuitem * item, gchar * event, GValue * data, guint timestamp, GError * error);
 
-	/* Reserved for future use */
+	/*< Private >*/
 	void (*reserved1) (void);
 	void (*reserved2) (void);
-	/* void (*reserved3) (void); */
-	/* void (*reserved4) (void); */
+	void (*reserved3) (void);
+	void (*reserved4) (void);
+	void (*reserved5) (void);
+	void (*reserved6) (void);
 };
 
 /**
@@ -97,6 +105,9 @@
 typedef struct _DbusmenuClient      DbusmenuClient;
 struct _DbusmenuClient {
 	GObject parent;
+
+	/*< Private >*/
+	DbusmenuClientPrivate * priv;
 };
 
 typedef gboolean (*DbusmenuClientTypeHandler) (DbusmenuMenuitem * newitem, DbusmenuMenuitem * parent, DbusmenuClient * client);

=== modified file 'libdbusmenu-glib/menuitem-proxy.c'
--- libdbusmenu-glib/menuitem-proxy.c	2010-02-10 23:08:47 +0000
+++ libdbusmenu-glib/menuitem-proxy.c	2010-10-12 21:39:44 +0000
@@ -32,7 +32,6 @@
 
 #include "menuitem-proxy.h"
 
-typedef struct _DbusmenuMenuitemProxyPrivate DbusmenuMenuitemProxyPrivate;
 struct _DbusmenuMenuitemProxyPrivate {
 	DbusmenuMenuitem * mi;
 	gulong sig_property_changed;
@@ -49,8 +48,7 @@
 
 #define PROP_MENU_ITEM_S   "menu-item"
 
-#define DBUSMENU_MENUITEM_PROXY_GET_PRIVATE(o) \
-(G_TYPE_INSTANCE_GET_PRIVATE ((o), DBUSMENU_TYPE_MENUITEM_PROXY, DbusmenuMenuitemProxyPrivate))
+#define DBUSMENU_MENUITEM_PROXY_GET_PRIVATE(o) (DBUSMENU_MENUITEM_PROXY(o)->priv)
 
 static void dbusmenu_menuitem_proxy_class_init (DbusmenuMenuitemProxyClass *klass);
 static void dbusmenu_menuitem_proxy_init       (DbusmenuMenuitemProxy *self);
@@ -92,6 +90,8 @@
 static void
 dbusmenu_menuitem_proxy_init (DbusmenuMenuitemProxy *self)
 {
+	self->priv = G_TYPE_INSTANCE_GET_PRIVATE ((self), DBUSMENU_TYPE_MENUITEM_PROXY, DbusmenuMenuitemProxyPrivate);
+
 	DbusmenuMenuitemProxyPrivate * priv = DBUSMENU_MENUITEM_PROXY_GET_PRIVATE(self);
 
 	priv->mi = NULL;

=== modified file 'libdbusmenu-glib/menuitem-proxy.h'
--- libdbusmenu-glib/menuitem-proxy.h	2010-02-10 22:59:39 +0000
+++ libdbusmenu-glib/menuitem-proxy.h	2010-10-12 21:39:44 +0000
@@ -42,17 +42,28 @@
 #define DBUSMENU_IS_MENUITEM_PROXY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DBUSMENU_TYPE_MENUITEM_PROXY))
 #define DBUSMENU_MENUITEM_PROXY_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj), DBUSMENU_TYPE_MENUITEM_PROXY, DbusmenuMenuitemProxyClass))
 
-typedef struct _DbusmenuMenuitemProxy      DbusmenuMenuitemProxy;
-typedef struct _DbusmenuMenuitemProxyClass DbusmenuMenuitemProxyClass;
+typedef struct _DbusmenuMenuitemProxy        DbusmenuMenuitemProxy;
+typedef struct _DbusmenuMenuitemProxyClass   DbusmenuMenuitemProxyClass;
+typedef struct _DbusmenuMenuitemProxyPrivate DbusmenuMenuitemProxyPrivate;
 
 /**
 	DbusmenuMenuitemProxyClass:
 	@parent_class: The Class of #DbusmeneMenuitem
+	@reserved1: Reserved for future use.
+	@reserved2: Reserved for future use.
+	@reserved3: Reserved for future use.
+	@reserved4: Reserved for future use.
 
 	Functions and signal slots for #DbusmenuMenuitemProxy.
 */
 struct _DbusmenuMenuitemProxyClass {
 	DbusmenuMenuitemClass parent_class;
+
+	/*< Private >*/
+	void (*reserved1) (void);
+	void (*reserved2) (void);
+	void (*reserved3) (void);
+	void (*reserved4) (void);
 };
 
 /**
@@ -63,6 +74,9 @@
 */
 struct _DbusmenuMenuitemProxy {
 	DbusmenuMenuitem parent;
+
+	/*< Private >*/
+	DbusmenuMenuitemProxyPrivate * priv;
 };
 
 GType dbusmenu_menuitem_proxy_get_type (void);

=== modified file 'libdbusmenu-glib/menuitem.c'
--- libdbusmenu-glib/menuitem.c	2010-09-22 14:39:21 +0000
+++ libdbusmenu-glib/menuitem.c	2010-10-12 21:39:44 +0000
@@ -52,7 +52,6 @@
 	out of data that we have.  They can still be gotten using
 	accessor functions, but are protected appropriately.
 */
-typedef struct _DbusmenuMenuitemPrivate DbusmenuMenuitemPrivate;
 struct _DbusmenuMenuitemPrivate
 {
 	gint id;
@@ -84,8 +83,7 @@
 
 #define PROP_ID_S  "id"
 
-#define DBUSMENU_MENUITEM_GET_PRIVATE(o) \
-(G_TYPE_INSTANCE_GET_PRIVATE ((o), DBUSMENU_TYPE_MENUITEM, DbusmenuMenuitemPrivate))
+#define DBUSMENU_MENUITEM_GET_PRIVATE(o)  (DBUSMENU_MENUITEM(o)->priv)
 
 /* Prototypes */
 static void dbusmenu_menuitem_class_init (DbusmenuMenuitemClass *klass);
@@ -290,6 +288,8 @@
 static void
 dbusmenu_menuitem_init (DbusmenuMenuitem *self)
 {
+	self->priv = G_TYPE_INSTANCE_GET_PRIVATE ((self), DBUSMENU_TYPE_MENUITEM, DbusmenuMenuitemPrivate);
+
 	DbusmenuMenuitemPrivate * priv = DBUSMENU_MENUITEM_GET_PRIVATE(self);
 
 	priv->id = -1; 

=== modified file 'libdbusmenu-glib/menuitem.h'
--- libdbusmenu-glib/menuitem.h	2010-09-22 15:01:52 +0000
+++ libdbusmenu-glib/menuitem.h	2010-10-12 21:39:44 +0000
@@ -78,6 +78,8 @@
 
 #define DBUSMENU_MENUITEM_CHILD_DISPLAY_SUBMENU      "submenu"
 
+typedef struct _DbusmenuMenuitemPrivate DbusmenuMenuitemPrivate;
+
 /**
  * DbusmenuMenuitem:
  * 
@@ -92,6 +94,9 @@
 struct _DbusmenuMenuitem
 {
 	GObject parent;
+
+	/*< Private >*/
+	DbusmenuMenuitemPrivate * priv;
 };
 
 /**
@@ -126,6 +131,13 @@
  * @handle_event: This function is to override how events are handled by subclasses.  Look at #dbusmenu_menuitem_handle_event for lots of good information.
  * @send_about_to_show: Virtual function that notifies server that the client is about to show a menu.
  * @show_to_user: Slot for #DbusmenuMenuitem::show-to-user.
+ *
+ * @reserved1: Reserved for future use.
+ * @reserved2: Reserved for future use.
+ * @reserved3: Reserved for future use.
+ * @reserved4: Reserved for future use.
+ * @reserved5: Reserved for future use.
+ * @reserved6: Reserved for future use.
  */
 typedef struct _DbusmenuMenuitemClass DbusmenuMenuitemClass;
 struct _DbusmenuMenuitemClass
@@ -146,10 +158,14 @@
 	void (*send_about_to_show) (DbusmenuMenuitem * mi, void (*cb) (DbusmenuMenuitem * mi, gpointer user_data), gpointer cb_data);
 
 	void (*show_to_user) (DbusmenuMenuitem * mi, guint timestamp, gpointer cb_data);
-	/* void (*reserved1) (void); */
-	/* void (*reserved2) (void); */
-	/* void (*reserved3) (void); */
-	/* void (*reserved4) (void); -- realized, realloc when bumping lib version */
+
+	/*< Private >*/
+	void (*reserved1) (void);
+	void (*reserved2) (void);
+	void (*reserved3) (void);
+	void (*reserved4) (void);
+	void (*reserved5) (void);
+	void (*reserved6) (void);
 };
 
 GType dbusmenu_menuitem_get_type (void);

=== modified file 'libdbusmenu-glib/server.c'
--- libdbusmenu-glib/server.c	2010-09-15 14:24:38 +0000
+++ libdbusmenu-glib/server.c	2010-10-12 21:39:44 +0000
@@ -53,8 +53,6 @@
 #define DBUSMENU_VERSION_NUMBER  2
 
 /* Privates, I'll show you mine... */
-typedef struct _DbusmenuServerPrivate DbusmenuServerPrivate;
-
 struct _DbusmenuServerPrivate
 {
 	DbusmenuMenuitem * root;
@@ -63,8 +61,7 @@
 	guint layout_idle;
 };
 
-#define DBUSMENU_SERVER_GET_PRIVATE(o) \
-(G_TYPE_INSTANCE_GET_PRIVATE ((o), DBUSMENU_TYPE_SERVER, DbusmenuServerPrivate))
+#define DBUSMENU_SERVER_GET_PRIVATE(o) (DBUSMENU_SERVER(o)->priv)
 
 /* Signals */
 enum {
@@ -214,6 +211,8 @@
 static void
 dbusmenu_server_init (DbusmenuServer *self)
 {
+	self->priv = G_TYPE_INSTANCE_GET_PRIVATE ((self), DBUSMENU_TYPE_SERVER, DbusmenuServerPrivate);
+
 	DbusmenuServerPrivate * priv = DBUSMENU_SERVER_GET_PRIVATE(self);
 
 	priv->root = NULL;

=== modified file 'libdbusmenu-glib/server.h'
--- libdbusmenu-glib/server.h	2010-07-20 21:15:25 +0000
+++ libdbusmenu-glib/server.h	2010-10-12 21:39:44 +0000
@@ -53,6 +53,8 @@
 #define DBUSMENU_SERVER_PROP_ROOT_NODE         "root-node"
 #define DBUSMENU_SERVER_PROP_VERSION           "version"
 
+typedef struct _DbusmenuServerPrivate DbusmenuServerPrivate;
+
 /**
 	DbusmenuServerClass:
 	@parent_class: #GObjectClass
@@ -60,9 +62,13 @@
 	@id_update: Slot for #DbusmenuServer::id-update.
 	@layout_updated: Slot for #DbusmenuServer::layout-update.
 	@item_activation_requested: Slot for #DbusmenuServer::item-activation-requested.
-	@dbusmenu_server_reserved1: Reserved for future use.
-	@dbusmenu_server_reserved2: Reserved for future use.
-	@dbusmenu_server_reserved3: Reserved for future use.
+
+	@reserved1: Reserved for future use.
+	@reserved2: Reserved for future use.
+	@reserved3: Reserved for future use.
+	@reserved4: Reserved for future use.
+	@reserved5: Reserved for future use.
+	@reserved6: Reserved for future use.
 
 	The class implementing the virtual functions for #DbusmenuServer.
 */
@@ -76,10 +82,13 @@
 	void (*layout_updated)(gint revision);
 	void (*item_activation)(gint id, guint timestamp);
 
-	/* Reserved */
-	void (*dbusmenu_server_reserved1)(void);
-	void (*dbusmenu_server_reserved2)(void);
-	void (*dbusmenu_server_reserved3)(void);
+	/*< Private >*/
+	void (*reserved1) (void);
+	void (*reserved2) (void);
+	void (*reserved3) (void);
+	void (*reserved4) (void);
+	void (*reserved5) (void);
+	void (*reserved6) (void);
 };
 
 /**
@@ -92,6 +101,9 @@
 typedef struct _DbusmenuServer      DbusmenuServer;
 struct _DbusmenuServer {
 	GObject parent;
+
+	/*< Private >*/
+	DbusmenuServerPrivate * priv;
 };
 
 GType               dbusmenu_server_get_type   (void);

=== modified file 'libdbusmenu-gtk/client.c'
--- libdbusmenu-gtk/client.c	2010-08-30 20:22:43 +0000
+++ libdbusmenu-gtk/client.c	2010-10-12 21:39:44 +0000
@@ -37,13 +37,11 @@
 #include "genericmenuitem.h"
 
 /* Private */
-typedef struct _DbusmenuGtkClientPrivate DbusmenuGtkClientPrivate;
 struct _DbusmenuGtkClientPrivate {
 	GtkAccelGroup * agroup;
 };
 
-#define DBUSMENU_GTKCLIENT_GET_PRIVATE(o) \
-(G_TYPE_INSTANCE_GET_PRIVATE ((o), DBUSMENU_GTKCLIENT_TYPE, DbusmenuGtkClientPrivate))
+#define DBUSMENU_GTKCLIENT_GET_PRIVATE(o) (DBUSMENU_GTKCLIENT(o)->priv)
 
 /* Prototypes */
 static void dbusmenu_gtkclient_class_init (DbusmenuGtkClientClass *klass);
@@ -85,6 +83,8 @@
 static void
 dbusmenu_gtkclient_init (DbusmenuGtkClient *self)
 {
+	self->priv = G_TYPE_INSTANCE_GET_PRIVATE ((self), DBUSMENU_GTKCLIENT_TYPE, DbusmenuGtkClientPrivate);
+
 	DbusmenuGtkClientPrivate * priv = DBUSMENU_GTKCLIENT_GET_PRIVATE(self);
 
 	priv->agroup = NULL;

=== modified file 'libdbusmenu-gtk/client.h'
--- libdbusmenu-gtk/client.h	2010-06-14 21:10:54 +0000
+++ libdbusmenu-gtk/client.h	2010-10-12 21:39:44 +0000
@@ -43,6 +43,8 @@
 
 #define DBUSMENU_GTKCLIENT_SIGNAL_ROOT_CHANGED  DBUSMENU_CLIENT_SIGNAL_ROOT_CHANGED
 
+typedef struct _DbusmenuGtkClientPrivate DbusmenuGtkClientPrivate;
+
 /**
 	DbusmenuGtkClientClass:
 	@parent_class: #GtkMenuClass
@@ -50,6 +52,8 @@
 	@reserved2: Reserved for future use.
 	@reserved3: Reserved for future use.
 	@reserved4: Reserved for future use.
+	@reserved5: Reserved for future use.
+	@reserved6: Reserved for future use.
 */
 typedef struct _DbusmenuGtkClientClass DbusmenuGtkClientClass;
 struct _DbusmenuGtkClientClass {
@@ -58,11 +62,13 @@
 	/* Signals */
 	void (*root_changed) (DbusmenuMenuitem * newroot);
 
-	/* Reserved */
+	/*< Private >*/
 	void (*reserved1) (void);
 	void (*reserved2) (void);
 	void (*reserved3) (void);
 	void (*reserved4) (void);
+	void (*reserved5) (void);
+	void (*reserved6) (void);
 };
 
 /**
@@ -72,6 +78,9 @@
 typedef struct _DbusmenuGtkClient      DbusmenuGtkClient;
 struct _DbusmenuGtkClient {
 	DbusmenuClient parent;
+
+	/*< Private >*/
+	DbusmenuGtkClientPrivate * priv;
 };
 
 GType dbusmenu_gtkclient_get_type (void);

=== modified file 'libdbusmenu-gtk/menu.c'
--- libdbusmenu-gtk/menu.c	2010-04-15 05:54:44 +0000
+++ libdbusmenu-gtk/menu.c	2010-10-12 21:39:44 +0000
@@ -44,7 +44,6 @@
 };
 
 /* Private */
-typedef struct _DbusmenuGtkMenuPrivate DbusmenuGtkMenuPrivate;
 struct _DbusmenuGtkMenuPrivate {
 	DbusmenuGtkClient * client;
 
@@ -52,8 +51,7 @@
 	gchar * dbus_name;
 };
 
-#define DBUSMENU_GTKMENU_GET_PRIVATE(o) \
-(G_TYPE_INSTANCE_GET_PRIVATE ((o), DBUSMENU_GTKMENU_TYPE, DbusmenuGtkMenuPrivate))
+#define DBUSMENU_GTKMENU_GET_PRIVATE(o)  (DBUSMENU_GTKMENU(o)->priv)
 
 /* Prototypes */
 static void dbusmenu_gtkmenu_class_init (DbusmenuGtkMenuClass *klass);
@@ -110,6 +108,8 @@
 static void
 dbusmenu_gtkmenu_init (DbusmenuGtkMenu *self)
 {
+	self->priv = G_TYPE_INSTANCE_GET_PRIVATE ((self), DBUSMENU_GTKMENU_TYPE, DbusmenuGtkMenuPrivate);
+
 	DbusmenuGtkMenuPrivate * priv = DBUSMENU_GTKMENU_GET_PRIVATE(self);
 
 	priv->client = NULL;

=== modified file 'libdbusmenu-gtk/menu.h'
--- libdbusmenu-gtk/menu.h	2009-08-26 22:22:50 +0000
+++ libdbusmenu-gtk/menu.h	2010-10-12 21:39:44 +0000
@@ -42,6 +42,8 @@
 #define DBUSMENU_IS_GTKMENU_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DBUSMENU_GTKMENU_TYPE))
 #define DBUSMENU_GTKMENU_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj), DBUSMENU_GTKMENU_TYPE, DbusmenuGtkMenuClass))
 
+typedef struct _DbusmenuGtkMenuPrivate DbusmenuGtkMenuPrivate;
+
 /**
 	DbusmenuGtkMenuClass:
 	@parent_class: #GtkMenuClass
@@ -49,16 +51,20 @@
 	@reserved2: Reserved for future use.
 	@reserved3: Reserved for future use.
 	@reserved4: Reserved for future use.
+	@reserved5: Reserved for future use.
+	@reserved6: Reserved for future use.
 */
 typedef struct _DbusmenuGtkMenuClass DbusmenuGtkMenuClass;
 struct _DbusmenuGtkMenuClass {
 	GtkMenuClass parent_class;
 
-	/* Reserved */
+	/*< Private >*/
 	void (*reserved1) (void);
 	void (*reserved2) (void);
 	void (*reserved3) (void);
 	void (*reserved4) (void);
+	void (*reserved5) (void);
+	void (*reserved6) (void);
 };
 
 /**
@@ -68,6 +74,9 @@
 typedef struct _DbusmenuGtkMenu      DbusmenuGtkMenu;
 struct _DbusmenuGtkMenu {
 	GtkMenu parent;
+
+	/*< Private >*/
+	DbusmenuGtkMenuPrivate * priv;
 };
 
 GType dbusmenu_gtkmenu_get_type (void);


Follow ups