Commit graph

2 commits

Author SHA1 Message Date
Michael Gratton
df7889d732 Make plugin activation and deactivation async and throw errors
This makes plugin implementation substatially less verbose.
2020-03-17 19:23:24 +11:00
Michael Gratton
154bb2d2c5 Rework and clean up how plugin extensions work
Since libpeas doesn't allow a single plugin instance to have multiple
extensions, define a single libpeas extension as a base class for all
plugins and define extensions as non-libpeas interfaces shared by a
single plugin. Manage loading/unloading these ourselves.

This also defines a new trusted extension interface for plugins that
need access to Geary's internals, new error domain for plugis, and
made the notification context a plugin interface that is implemented by
the application object.
2020-03-17 19:23:24 +11:00