Ryan Lortie c16f914b40 GIcon: add g_icon_[de]serialize()
Add support for serialising a GIcon to a GVariant and deserialising the
result back to a GIcon.

This solves a number of problems suffered by the existing to_string()
API, primarily these:

 - not forcing the icon to be a utf8 string means that we can
   efficiently encode a PNG (ie: just give the array of bytes)

 - there is no need to ensure that proper types are loaded before using
   the deserialisation interface.  'Foreign' icon types will probably
   emit a serialised format the deserialises to a GBytesIcon.

We additionally clearly document what is required for being a consumer
or implementation of #GIcon.

Further patches will be required to GdkPixbuf and GVfsIcon to bring
their implementations in line with the new rules (essentially: introduce
implementations of the new serialize() API).

https://bugzilla.gnome.org/show_bug.cgi?id=688820
2013-04-21 16:31:14 -04:00
..
2013-01-21 09:51:09 -05:00
2013-04-21 16:31:14 -04:00
2012-12-12 15:20:22 +01:00
2012-02-02 16:22:42 +01:00
2013-02-15 05:39:20 -05:00
2013-04-21 16:31:14 -04:00
2013-04-21 16:25:15 -04:00
2012-07-03 21:14:41 -04:00
2013-01-29 09:46:04 -05:00
2013-01-29 09:46:04 -05:00
2013-04-21 16:31:14 -04:00
2013-02-04 22:35:29 -05:00
2013-04-21 16:31:14 -04:00
2012-11-28 00:58:03 -05:00
2013-04-21 16:31:14 -04:00
2013-04-21 16:31:14 -04:00
2012-12-12 15:20:22 +01:00
2012-01-01 19:01:14 +01:00
2013-04-21 16:25:15 -04:00
2011-06-07 08:55:31 +08:00
2012-11-29 16:29:47 -03:00
2013-04-21 16:25:15 -04:00
2013-01-29 09:46:04 -05:00
2013-01-29 09:46:04 -05:00
2011-02-08 10:05:00 -05:00
2013-04-19 14:52:51 -04:00
2013-04-19 14:52:51 -04:00
2013-01-13 22:59:40 -05:00
2013-02-15 05:39:20 -05:00
2012-12-12 15:20:22 +01:00
2012-12-12 15:20:22 +01:00
2013-01-29 09:46:04 -05:00
2011-02-08 10:05:00 -05:00
2012-08-19 02:19:27 -04:00
2012-08-19 02:21:02 -04:00
2012-08-19 02:21:02 -04:00
2011-06-04 18:48:19 -04:00
2012-08-18 23:15:58 -04:00
2012-01-13 17:12:57 +01:00
2012-12-29 00:22:34 -05:00
2011-08-29 14:49:32 -04:00
2011-10-16 21:41:15 -04:00
2013-03-26 10:51:48 +01:00
2011-10-02 22:33:10 -04:00
2012-12-12 15:20:22 +01:00
2012-12-12 15:20:22 +01:00
2012-12-12 15:20:22 +01:00
2012-12-12 15:20:22 +01:00
2013-04-21 16:31:14 -04:00
2012-07-03 21:14:41 -04:00
2012-11-15 14:19:06 -05:00
2012-08-18 23:15:58 -04:00
2013-04-21 16:25:15 -04:00