• Allison Karlitskaya's avatar
    GIcon: add g_icon_[de]serialize() · c16f914b
    Allison Karlitskaya authored
    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).
gemblemedicon.c 11.9 KB