/* cute-thing.h */
/* insert (c)/licensing information) */

#ifndef __CUTE_THING_H__
#define __CUTE_THING_H__

#include <glib-object.h>
/* other include files */

G_BEGIN_DECLS

/* convenience macros */
#define CUTE_TYPE_THING             (cute_thing_get_type())
#define CUTE_THING(obj)             (G_TYPE_CHECK_INSTANCE_CAST((obj),CUTE_TYPE_THING,CuteThing))
#define CUTE_THING_CLASS(klass)     (G_TYPE_CHECK_CLASS_CAST((klass),CUTE_TYPE_THING,GObject))
#define CUTE_IS_THING(obj)          (G_TYPE_CHECK_INSTANCE_TYPE((obj),CUTE_TYPE_THING))
#define CUTE_IS_THING_CLASS(klass)  (G_TYPE_CHECK_CLASS_TYPE((klass),CUTE_TYPE_THING))
#define CUTE_THING_GET_CLASS(obj)   (G_TYPE_INSTANCE_GET_CLASS((obj),CUTE_TYPE_THING,CuteThingClass))

typedef struct _CuteThing      CuteThing;
typedef struct _CuteThingClass CuteThingClass;

struct _CuteThing {
	 GObject parent;
	/* insert public members, if any */
};

struct _CuteThingClass {
	GObjectClass parent_class;
	/* insert signal callback declarations, eg. */
	/* void (* my_event) (CuteThing* obj); */
};

/* member functions */
GType        cute_thing_get_type    (void) G_GNUC_CONST;

/* typical parameter-less _new function */
/* if this is a kind of GtkWidget, it should probably return at GtkWidget* */
CuteThing*    cute_thing_new         (void);

/* fill in other public functions, eg.: */
/* 	void       cute_thing_do_something (CuteThing *self, const gchar* param); */
/* 	gboolean   cute_thing_has_foo      (CuteThing *self, gint value); */


G_END_DECLS

#endif /* __CUTE_THING_H__ */

