G_DEFINE_TYPE (${upperCamel}, ${lowerSnake}, I_CAL_TYPE_OBJECT) static void ${lowerSnake}_class_init (G_GNUC_UNUSED ${upperCamel}Class *klass) { } static void ${lowerSnake}_init (G_GNUC_UNUSED ${upperCamel} *self) { } /** * ${lowerSnake}_new_full: (skip) * @native: The native libical object.$^!${isBare} * @owner: The parent.^$$^${isPossibleGlobal} * @is_global_memory: Whether it is allocated in the global memory.^$ * * Create a new libical-glib object from the native libical object and the owner. * * Returns: (transfer full): The newly create libical-glib object. * * Since: 1.0 **/ ${new_full} { ${upperCamel} *object;$^${isBare} ${native} *clone;^$$^!${isBare} if (native == NULL) return NULL;^$ ${new_full_extraCode} $^${isBare} clone = g_new (${native}, 1); *clone = native;^$ object = i_cal_object_construct (${namespaceLowerSnake}_TYPE_${nameLowerSnake}, $^!${isBare}(gpointer) native^$$^${isBare}(gpointer) clone^$, (GDestroyNotify) ${destroyFunc}, $^${isPossibleGlobal}is_global_memory^$$^!${isPossibleGlobal}FALSE^$, $^!${isBare}owner^$$^${isBare}NULL^$); return object; } ${body_declaration}