gboolean tm_source_file_init(TMSourceFile *source_file, const char *file_name , gboolean update, const char* name) { if (0 == source_file_class_id) source_file_class_id = tm_work_object_register(tm_source_file_free , tm_source_file_update, NULL); #ifdef TM_DEBUG g_message("Source File init: %s", file_name); #endif if (FALSE == tm_work_object_init(&(source_file->work_object), source_file_class_id, file_name, FALSE)) return FALSE; source_file->inactive = FALSE; if (NULL == LanguageTable) { initializeParsing(); installLanguageMapDefaults(); if (NULL == TagEntryFunction) TagEntryFunction = tm_source_file_tags; if (NULL == TagEntrySetArglistFunction) TagEntrySetArglistFunction = tm_source_file_set_tag_arglist; } if (name == NULL) source_file->lang = LANG_AUTO; else source_file->lang = getNamedLanguage(name); if (update) tm_source_file_update(TM_WORK_OBJECT(source_file), TRUE, FALSE, FALSE); return TRUE; }
static gboolean tm_create_workspace(void) { workspace_class_id = tm_work_object_register(tm_workspace_free, tm_workspace_update , tm_workspace_find_object); theWorkspace = g_new(TMWorkspace, 1); if (FALSE == tm_work_object_init(TM_WORK_OBJECT(theWorkspace), workspace_class_id, NULL, TRUE)) { g_free(theWorkspace); theWorkspace = NULL; g_warning("Failed to initialize workspace"); return FALSE; } theWorkspace->global_tags = NULL; theWorkspace->work_objects = NULL; return TRUE; }