rendered paste body 193 // State management 194 { 195 >---// put everything "empty" in deps 196 >---XPathResult* resdeps = get_xpath_result_ordered(gen, "/generic_appl_descr/proc_groups/proc_group",- 197 >--->--->--->--->--->--->---evaluator,- 198 >--->--->--->--->--->--->---docNSResolver); 199 >---for(unsigned i=0; i!=resdeps->getSnapshotLength(); i++) 200 >--- { 201 >--- char* id = get_node_attr(resdeps->snapshotItem(i), "id"); 202 >--- state_mgt.add_id(id); 203 //>- cerr << "add id: "<<id<<endl; 204 >--- } 205 } 206 { 207 >---// deals with "plain" dependency 208 >---XPathResult* resdeps = get_xpath_result_ordered(gen, "/generic_appl_descr/dependency",- 209 >--->--->--->--->--->--->---evaluator,- 210 >--->--->--->--->--->--->---docNSResolver); 211 >--- 212 >---for(unsigned i=0; i!=resdeps->getSnapshotLength(); i++) 213 >--- { 214 >--- char* id = get_node_attr(resdeps->snapshotItem(i), "what"); 215 >--- char* wait = get_node_attr(resdeps->snapshotItem(i), "wait"); 216 >--- bool recursive = (wait && strcasecmp(wait, "all-ready")==0); 217 >--- XPathResult* resonwhat = get_xpath_result_ordered(resdeps->snapshotItem(i), "onwhat",- 218 >--->--->--->--->--->--->--- evaluator,- 219 >--->--->--->--->--->--->--- docNSResolver); 220 >--- for(unsigned j=0; j!=resonwhat->getSnapshotLength(); j++) 221 >--- { 222 >---//>-char* onwhat = get_node_string(resonwhat->snapshotItem(j)); 223 >--->---cerr << "\tdeps: "<<id<<" -> "<<onwhat<<endl; 224 >--->---if (recursive) 225 >--->--- state_mgt.add_recursive_dependency(id,onwhat); 226 >--->---else 227 >--->--- state_mgt.add_dependency(id,onwhat); 228 >--- } 229 >--- } 230 } 231 state_mgt.compute_recursive_dependency(); 232 state_mgt.dump_deps();