X-Git-Url: http://pileus.org/git/?p=grits;a=blobdiff_plain;f=src%2Faweather-plugin.c;h=87cf35cb1e59620e5ed45041d69bd42114239391;hp=8546f76bc8ab8cef4046503ca7d35b1fd2c555ba;hb=55d69c616a9f4f3bae23045f1174047003e2e1d4;hpb=d6cf708a2db6eae88dda328a17bf2157c9c90ca8 diff --git a/src/aweather-plugin.c b/src/aweather-plugin.c index 8546f76..87cf35c 100644 --- a/src/aweather-plugin.c +++ b/src/aweather-plugin.c @@ -15,4 +15,36 @@ * along with this program. If not, see . */ +#include +#include "aweather-plugin.h" + +static void aweather_plugin_base_init(gpointer g_class) +{ + static gboolean is_initialized = FALSE; + if (!is_initialized) { + /* add properties and signals to the interface here */ + is_initialized = TRUE; + } +} + +GType aweather_plugin_get_type() +{ + static GType type = 0; + if (type == 0) { + static const GTypeInfo info = { + sizeof(AWeatherPluginInterface), + aweather_plugin_base_init, + NULL, + }; + type = g_type_register_static(G_TYPE_INTERFACE, + "AWeatherPlugin", &info, 0); + } + return type; +} + +void aweather_plugin_expose(AWeatherPlugin *self) +{ + g_return_if_fail(AWEATHER_IS_PLUGIN(self)); + AWEATHER_PLUGIN_GET_INTERFACE(self)->expose(self); +}