2015-02-26 15:02:31 +00:00
|
|
|
|
|
|
|
#include <iostream>
|
|
|
|
|
2015-06-01 15:28:29 +00:00
|
|
|
#include "trick/Executive.hh"
|
2015-02-26 15:02:31 +00:00
|
|
|
|
|
|
|
Trick::JobData * Trick::Executive::get_job(std::string job_name, unsigned int j_instance) {
|
|
|
|
|
|
|
|
unsigned int ii ;
|
|
|
|
std::multimap<std::string , Trick::JobData *>::iterator it ;
|
|
|
|
std::pair<std::multimap<std::string , Trick::JobData *>::iterator , std::multimap<std::string , Trick::JobData *>::iterator> range ;
|
|
|
|
|
|
|
|
/** @par Detailed Design */
|
|
|
|
|
|
|
|
/** @li Find all jobs that have the target name and hold them in a list */
|
|
|
|
range = all_jobs.equal_range(job_name) ;
|
|
|
|
|
|
|
|
/** @li Move to the j_instance-th item in the list */
|
|
|
|
for ( it = range.first , ii = 1 ; (it != range.second) && (ii < j_instance) ; it++ , ii++ ) ;
|
|
|
|
|
|
|
|
/** @li If the j_instance-th item doesn't exist return NULL */
|
|
|
|
if ( it == range.second ) {
|
|
|
|
return(NULL) ;
|
|
|
|
}
|
|
|
|
|
|
|
|
/** @li return the j_instance-th item */
|
|
|
|
return((*it).second) ;
|
|
|
|
|
|
|
|
}
|
|
|
|
|