Skip to content
  • Richard Hult's avatar
    Build dependency graph in one go, and add functions to add/remove a single · 97044fe0
    Richard Hult authored
    2004-08-01  Richard Hult  <richard@imendio.com>
    
    	* libplanner/mrp-task-manager.c:
    	(task_manager_clean_graph_func),
    	(task_manager_build_dependency_graph),
    	(add_predecessor_to_dependency_graph),
    	(remove_predecessor_from_dependency_graph_recursive),
    	(remove_predecessor_from_dependency_graph),
    	(remove_parent_from_dependency_graph),
    	(add_parent_to_dependency_graph),
    	(remove_task_from_dependency_graph),
    	(add_task_to_dependency_graph): Build dependency graph in one go,
    	and add functions to add/remove a single task.
    
    	(task_manager_traverse_dependency_graph),
    	(task_manager_calc_relation),
    	(task_manager_do_forward_pass_helper),
    	(task_manager_do_forward_pass), (task_manager_do_backward_pass),
    	(mrp_task_manager_rebuild), (mrp_task_manager_recalc): Use the new
    	dependency graph when doing the CPM forward/backward passes.
    
    	(check_predecessor_traverse),
    	(mrp_task_manager_check_predecessor),
    	(mrp_task_manager_check_move): Check for loops in the graph when
    	adding a predecessor or moving a subtree.
    
    	* libplanner/mrp-private.h:
    	* libplanner/mrp-task.c: (task_init), (task_finalize),
    	(task_remove_subtree_cb), (imrp_task_insert_child),
    	(imrp_task_get_graph_node): Replace the dependency tree + links
    	with a graph.
    
    	* tests/files/test-2.planner:
    	* tests/scheduler-test.c: (main): Make it simple to add more test
    	files, and add one.
    97044fe0