gboolean tm_source_file_buffer_update(TMWorkObject *source_file, guchar* text_buf, gint buf_size, gboolean update_parent) { #ifdef TM_DEBUG g_message("Buffer updating based on source file %s", source_file->file_name); #endif tm_source_file_buffer_parse (TM_SOURCE_FILE(source_file), text_buf, buf_size); tm_tags_sort(source_file->tags_array, NULL, FALSE); /* source_file->analyze_time = time(NULL); */ if ((source_file->parent) && update_parent) { #ifdef TM_DEBUG g_message("Updating parent [project] from buffer.."); #endif tm_work_object_update(source_file->parent, TRUE, FALSE, TRUE); } #ifdef TM_DEBUG else g_message("Skipping parent update because parent is %s and update_parent is %s" , source_file->parent?"NOT NULL":"NULL", update_parent?"TRUE":"FALSE"); #endif return TRUE; }
gboolean tm_workspace_update(TMWorkObject *workspace, gboolean force , gboolean recurse, gboolean __unused__ update_parent) { guint i; gboolean update_tags = force; #ifdef TM_DEBUG g_message("Updating workspace"); #endif if (workspace != TM_WORK_OBJECT(theWorkspace)) return FALSE; if (NULL == theWorkspace) return TRUE; if ((recurse) && (theWorkspace->work_objects)) { for (i=0; i < theWorkspace->work_objects->len; ++i) { if (TRUE == tm_work_object_update(TM_WORK_OBJECT( theWorkspace->work_objects->pdata[i]), FALSE, TRUE, FALSE)) update_tags = TRUE; } } if (update_tags) tm_workspace_recreate_tags_array(); /* workspace->analyze_time = time(NULL); */ return update_tags; }
gboolean tm_source_file_update(TMWorkObject *source_file, gboolean force , gboolean UNUSED recurse, gboolean update_parent) { if (force) { tm_source_file_parse(TM_SOURCE_FILE(source_file)); tm_tags_sort(source_file->tags_array, NULL, FALSE); /* source_file->analyze_time = tm_get_file_timestamp(source_file->file_name); */ if ((source_file->parent) && update_parent) { tm_work_object_update(source_file->parent, TRUE, FALSE, TRUE); } return TRUE; } else { #ifdef TM_DEBUG g_message ("no parsing of %s has been done", source_file->file_name); #endif return FALSE; } }