]> Pileus Git - grits/blobdiff - src/aweather-plugin.h
Example plugin in GObject plugin format
[grits] / src / aweather-plugin.h
index 8546f76bc8ab8cef4046503ca7d35b1fd2c555ba..7112e64983f26ef781578935509c71ec3b6efd4d 100644 (file)
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#ifndef __AWEATHER_PLUGIN_H__
+#define __AWEATHER_PLUGIN_H__
 
 
+#include <glib-object.h>
+
+#define AWEATHER_TYPE_PLUGIN                (aweather_plugin_get_type())
+#define AWEATHER_PLUGIN(obj)                (G_TYPE_CHECK_INSTANCE_CAST   ((obj),  AWEATHER_TYPE_PLUGIN, AWeatherPlugin))
+#define AWEATHER_IS_PLUGIN(obj)             (G_TYPE_CHECK_INSTANCE_TYPE   ((obj),  AWEATHER_TYPE_PLUGIN))
+#define AWEATHER_PLUGIN_GET_INTERFACE(inst) (G_TYPE_INSTANCE_GET_INTERFACE((inst), AWEATHER_TYPE_PLUGIN, AWeatherPluginInterface))
+
+
+typedef struct _AWeatherPlugin          AWeatherPlugin;
+typedef struct _AWeatherPluginInterface AWeatherPluginInterface;
+
+struct _AWeatherPluginInterface
+{
+       GTypeInterface parent_iface;
+
+       /* Virtual functions */
+       void (*expose)(AWeatherPlugin *self);
+};
+
+GType aweather_plugin_get_type(void);
+
+void aweather_plugin_expose(AWeatherPlugin *self);
+
+#endif