#define ${upperSnake}_TYPE \
        (${lowerSnake}_get_type ())
#define ${upperSnake}(obj) \
        (G_TYPE_CHECK_INSTANCE_CAST \
        ((obj), ${upperSnake}_TYPE, ${upperCamel}))
#define ${upperSnake}_CLASS(klass) \
        (G_TYPE_CHECK_CLASS_CAST \
        ((klass), ${upperSnake}_TYPE, ${upperCamel}Class))
#define ${namespaceLowerSnake}_IS_${nameLowerSnake}(obj) \
        (G_TYPE_CHECK_INSTANCE_TYPE \
        ((obj), ${upperSnake}_TYPE))
#define ${namespaceLowerSnake}_IS_${nameLowerSnake}_CLASS(klass) \
        (G_TYPE_CHECK_CLASS_TYPE \
        ((klass), ${upperSnake}_TYPE))

/**
 * ${upperCamel}:
 *
 * This is the ${upperCamel} instance.
 */
typedef struct _${upperCamel} ${upperCamel};

/**
 * ${upperCamel}Class:
 *
 * This is the ${upperCamel} class.
 */
typedef struct _${upperCamel}Class ${upperCamel}Class;

struct _${upperCamel} {
	/*< private >*/
	ICalObject parent;
};

struct _${upperCamel}Class {
	/*< private >*/
	ICalObjectClass parent;
};

