libpurple/whiteboard.c

branch
soc.2013.gobjectification.plugins
changeset 36710
16a60fe59d22
parent 36709
6e915db4db35
child 36728
313d07370a7b
--- a/libpurple/whiteboard.c	Fri Sep 13 19:02:07 2013 +0530
+++ b/libpurple/whiteboard.c	Fri Sep 13 19:07:59 2013 +0530
@@ -39,6 +39,9 @@
 	PurpleAccount *account;         /**< Account associated with this session */
 	char *who;                      /**< Name of the remote user              */
 
+	void *proto_data;               /**< Protocol specific data
+	                                     TODO Remove this, and use
+	                                          protocol-specific subclasses    */
 	PurpleWhiteboardOps *protocol_ops; /**< Protocol operations */
 
 	GList *draw_list;               /**< List of drawing elements/deltas to
@@ -282,6 +285,24 @@
 	priv->draw_list = draw_list;
 }
 
+void purple_whiteboard_set_protocol_data(PurpleWhiteboard *wb, gpointer proto_data)
+{
+	PurpleWhiteboardPrivate *priv = PURPLE_WHITEBOARD_GET_PRIVATE(wb);
+
+	g_return_if_fail(priv != NULL);
+
+	priv->proto_data = proto_data;
+}
+
+gpointer purple_whiteboard_get_protocol_data(const PurpleWhiteboard *wb)
+{
+	PurpleWhiteboardPrivate *priv = PURPLE_WHITEBOARD_GET_PRIVATE(wb);
+
+	g_return_val_if_fail(priv != NULL, NULL);
+
+	return priv->proto_data;
+}
+
 void purple_whiteboard_set_ui_data(PurpleWhiteboard *wb, gpointer ui_data)
 {
 	g_return_if_fail(wb != NULL);

mercurial