/** * midgard_object_purge_attachments: * @self: #MidgardObject instance * @delete_blob: whether blob should be deleted as well * @n_params: number of properties * @parameters: properties list * * Purge object's attachments(s) which match given properties' values. * Properties list in @parameters is optional. All object's attachments are * purged ( if exist ) if @parameters is explicitly set to %NULL. * * @delete_blob should be set to %TRUE if midgard_attachment holds a reference * to blob located on filesystem ( it should be set to %TRUE by default ). * However, if midgard_attachment is created for blobs sharing and file should not * be deleted, @delete_blob should be set to %FALSE. * * There's no way to determine if midgard_attachment is sharing blob, so aplication * itelf is responsible to create such own logic. * * Returns: %TRUE on success, %FALSE if at least one of the attachment could not be purged */ gboolean midgard_object_purge_attachments(MidgardObject *self, gboolean delete_blob, guint n_params, const GParameter *parameters) { g_assert(self != NULL); if(!MGD_OBJECT_GUID (self)) { g_warning("Object is not fetched from database. Empty guid"); } gboolean rv = FALSE; if(delete_blob) { rv = midgard_core_object_parameters_purge_with_blob( MGD_OBJECT_CNC (self), "midgard_attachment", MGD_OBJECT_GUID (self), n_params, parameters); } else { rv = midgard_core_object_parameters_purge( MGD_OBJECT_CNC (self), "midgard_attachment", MGD_OBJECT_GUID (self), n_params, parameters); } return rv; }
/** * midgard_object_purge_parameters: * @self: #MidgardObject instance * @n_params: number of properties * @parameters: properties list * * Purge object's parameter(s) which match given properties' values. * Properties list in @parameters is optional. All object's parameters are * purged ( if exist ) if @parameters is explicitly set to %NULL. * * Returns: %TRUE on success, %FALSE if at least one of the parameters could not be purged */ gboolean midgard_object_purge_parameters(MidgardObject *self, guint n_params, const GParameter *parameters) { g_assert(self != NULL); if(!MGD_OBJECT_GUID (self)) { g_warning("Object is not fetched from database. Empty guid"); } return midgard_core_object_parameters_purge( MGD_OBJECT_CNC (self), "midgard_parameter", MGD_OBJECT_GUID (self), n_params, parameters); }