<snippet>
	<text>#ifndef __${1:NAME}_H__
#define __$1_H__

#include &lt;${2:glib-object.h}&gt;

G_BEGIN_DECLS

#define $&lt;${3}:
import string
s = string.split(${1},'_')
print string.join([s[0],'TYPE'] + s[1:], '_'),&gt;		($&lt;${4}:print ${1}.lower() + '_get_type',&gt; ())
#define ${1}(obj)		(G_TYPE_CHECK_INSTANCE_CAST ((obj), ${3}, $&lt;${5}:
import string
s = string.split(${1},'_')
res = []
for t in s:
  res.append(t.capitalize())
print string.join(res,'')&gt;))
#define ${1}_CLASS(klass)		(G_TYPE_CHECK_CLASS_CAST ((klass), ${3}, ${5}Class))
#define $&lt;${6}:
import string
s = string.split(${1},'_')
print string.join([s[0],'IS'] + s[1:], '_'),&gt;(obj)		(G_TYPE_CHECK_INSTANCE_TYPE ((obj), ${3}))
#define ${6}_CLASS(klass)	(G_TYPE_CHECK_CLASS_TYPE ((klass), ${3}))
#define ${1}_GET_CLASS(obj)	(G_TYPE_INSTANCE_GET_CLASS ((obj), ${3}, ${5}Class))

typedef struct _${5}		${5};
typedef struct _${5}Class		${5}Class;
typedef struct _${5}Private		${5}Private;

struct _${5}
{
	${7:GObject parent};
	
	${5}Private *priv;
};

struct _${5}Class
{
	${7}_class;
}

GType	${4} (void) G_GNUC_CONST;

${0}

G_END_DECLS

#endif /* __$1_H__ */
</text>
	<tag>gobj</tag>
	<description>GObject definition</description>
	<accelerator></accelerator>
</snippet>

