static void as_require_finalize (GObject *object) { AsRequire *require = AS_REQUIRE (object); AsRequirePrivate *priv = GET_PRIVATE (require); if (priv->version != NULL) as_ref_string_unref (priv->version); if (priv->value != NULL) as_ref_string_unref (priv->value); G_OBJECT_CLASS (as_require_parent_class)->finalize (object); }
static void as_content_rating_key_free (AsContentRatingKey *key) { if (key->id != NULL) as_ref_string_unref (key->id); g_slice_free (AsContentRatingKey, key); }
/** * as_require_set_value: * @require: a #AsRequire instance. * @value: an require version, e.g. `firmware` * * Sets the require value. * * Since: 0.6.7 **/ void as_require_set_value (AsRequire *require, const gchar *value) { AsRequirePrivate *priv = GET_PRIVATE (require); if (priv->value != NULL) as_ref_string_unref (priv->value); priv->value = as_ref_string_new (value); }
/** * as_require_set_version: * @require: a #AsRequire instance. * @version: an version number, e.g. `0.1.2` * * Sets the require version. * * Since: 0.6.7 **/ void as_require_set_version (AsRequire *require, const gchar *version) { AsRequirePrivate *priv = GET_PRIVATE (require); if (priv->version != NULL) as_ref_string_unref (priv->version); priv->version = as_ref_string_new (version); }
static void as_review_finalize (GObject *object) { AsReview *review = AS_REVIEW (object); AsReviewPrivate *priv = GET_PRIVATE (review); if (priv->id != NULL) as_ref_string_unref (priv->id); if (priv->summary != NULL) as_ref_string_unref (priv->summary); if (priv->description != NULL) as_ref_string_unref (priv->description); if (priv->locale != NULL) as_ref_string_unref (priv->locale); if (priv->version != NULL) as_ref_string_unref (priv->version); if (priv->reviewer_id != NULL) as_ref_string_unref (priv->reviewer_id); if (priv->reviewer_name != NULL) as_ref_string_unref (priv->reviewer_name); g_hash_table_unref (priv->metadata); if (priv->date != NULL) g_date_time_unref (priv->date); G_OBJECT_CLASS (as_review_parent_class)->finalize (object); }
static void as_image_finalize (GObject *object) { AsImage *image = AS_IMAGE (object); AsImagePrivate *priv = GET_PRIVATE (image); if (priv->pixbuf != NULL) g_object_unref (priv->pixbuf); if (priv->url != NULL) as_ref_string_unref (priv->url); if (priv->md5 != NULL) as_ref_string_unref (priv->md5); if (priv->basename != NULL) as_ref_string_unref (priv->basename); if (priv->locale != NULL) as_ref_string_unref (priv->locale); G_OBJECT_CLASS (as_image_parent_class)->finalize (object); }
/** * as_ref_string_assign_safe: * @rstr_ptr: (out): a #AsRefString * @str: a string, or a #AsRefString * * This function unrefs and clears @rstr_ptr if set, then sets @rstr if * non-NULL. If @rstr and @rstr_ptr are the same string the action is ignored. * * This function should be used when @str cannot be guaranteed to be a * refcounted string and is suitable for use in existing object setters. * * Since: 0.6.6 */ void as_ref_string_assign_safe (AsRefString **rstr_ptr, const gchar *str) { g_return_if_fail (rstr_ptr != NULL); if (*rstr_ptr != NULL) { as_ref_string_unref (*rstr_ptr); *rstr_ptr = NULL; } if (str != NULL) *rstr_ptr = as_ref_string_new (str); }
static void as_provide_finalize (GObject *object) { AsProvide *provide = AS_PROVIDE (object); AsProvidePrivate *priv = GET_PRIVATE (provide); if (priv->value != NULL) as_ref_string_unref (priv->value); G_OBJECT_CLASS (as_provide_parent_class)->finalize (object); }
static void as_content_rating_finalize (GObject *object) { AsContentRating *content_rating = AS_CONTENT_RATING (object); AsContentRatingPrivate *priv = GET_PRIVATE (content_rating); if (priv->kind != NULL) as_ref_string_unref (priv->kind); g_ptr_array_unref (priv->keys); G_OBJECT_CLASS (as_content_rating_parent_class)->finalize (object); }
/** * as_ref_string_assign: * @rstr_ptr: (out): a #AsRefString * @rstr: a #AsRefString * * This function unrefs and clears @rstr_ptr if set, then sets @rstr if * non-NULL. If @rstr and @rstr_ptr are the same string the action is ignored. * * This function can ONLY be used when @str is guaranteed to be a * refcounted string and is suitable for use when getting strings from * methods without a fixed API. * * This function is slightly faster than as_ref_string_assign_safe() as no * hash table lookup is done on the @rstr pointer. * * Since: 0.6.6 */ void as_ref_string_assign (AsRefString **rstr_ptr, AsRefString *rstr) { g_return_if_fail (rstr_ptr != NULL); if (*rstr_ptr == rstr) return; if (*rstr_ptr != NULL) { as_ref_string_unref (*rstr_ptr); *rstr_ptr = NULL; } if (rstr != NULL) *rstr_ptr = as_ref_string_ref (rstr); }