ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/BOSS/BossPython/BossSession_wrap.cxx
(Generate patch)

Comparing COMP/BOSS/BossPython/BossSession_wrap.cxx (file contents):
Revision 1.21 by gcodispo, Tue Feb 20 09:57:08 2007 UTC vs.
Revision 1.36 by gcodispo, Wed Jul 18 08:59:17 2007 UTC

# Line 654 | Line 654 | SWIG_InstallConstants(PyObject *d, swig_
654  
655   /* -------- TYPES TABLE (BEGIN) -------- */
656  
657 < #define  SWIGTYPE_p_XMLDoc swig_types[0]
658 < #define  SWIGTYPE_p_std__vectorTstd__pairTBossProgram_BossProgramExec_t_t swig_types[1]
657 > #define  SWIGTYPE_p_std__vectorTstd__pairTBossProgram_BossProgramExec_t_t swig_types[0]
658 > #define  SWIGTYPE_p_XMLDoc swig_types[1]
659   #define  SWIGTYPE_p_std__vectorTstd__pairTBossProgram_BossProgramExec_t_t__const_iterator swig_types[2]
660 < #define  SWIGTYPE_p_std__vectorTBossTask_p_t swig_types[3]
661 < #define  SWIGTYPE_p_std__mapTstd__string_std__mapTstd__string_std__string_t_t swig_types[4]
662 < #define  SWIGTYPE_p_std__ostream swig_types[5]
660 > #define  SWIGTYPE_p_BossProgramExec swig_types[3]
661 > #define  SWIGTYPE_p_BossChain swig_types[4]
662 > #define  SWIGTYPE_p_std__mapTstd__string_std__mapTstd__string_std__string_t_t swig_types[5]
663   #define  SWIGTYPE_p_BossTask swig_types[6]
664   #define  SWIGTYPE_p_BossTaskException swig_types[7]
665 < #define  SWIGTYPE_p_printOption swig_types[8]
666 < #define  SWIGTYPE_p_BossAttributeContainer swig_types[9]
667 < #define  SWIGTYPE_p_BossJob swig_types[10]
668 < #define  SWIGTYPE_p_BossDatabase swig_types[11]
669 < #define  SWIGTYPE_p_BossSession swig_types[12]
670 < #define  SWIGTYPE_p_std__vectorTstd__string_t swig_types[13]
671 < #define  SWIGTYPE_p_std__mapTstd__string_std__string_t swig_types[14]
672 < #define  SWIGTYPE_p_BossAdministratorSession swig_types[15]
673 < #define  SWIGTYPE_p_std__vectorTBossJob_p_t__const_iterator swig_types[16]
674 < #define  SWIGTYPE_p_BossTask__job_iterator swig_types[17]
675 < #define  SWIGTYPE_p_jobStates swig_types[18]
676 < static swig_type_info *swig_types[20];
665 > #define  SWIGTYPE_p_std__ostream swig_types[8]
666 > #define  SWIGTYPE_p_BossProgram swig_types[9]
667 > #define  SWIGTYPE_p_printOption swig_types[10]
668 > #define  SWIGTYPE_p_BossAttributeContainer swig_types[11]
669 > #define  SWIGTYPE_p_BossJob swig_types[12]
670 > #define  SWIGTYPE_p_BossDatabase swig_types[13]
671 > #define  SWIGTYPE_p_BossSession swig_types[14]
672 > #define  SWIGTYPE_p_std__vectorTstd__string_t swig_types[15]
673 > #define  SWIGTYPE_p_std__mapTstd__string_std__string_t swig_types[16]
674 > #define  SWIGTYPE_p_BossAdministratorSession swig_types[17]
675 > #define  SWIGTYPE_p_BossTask__job_iterator swig_types[18]
676 > #define  SWIGTYPE_p_BossSession__task_iterator swig_types[19]
677 > #define  SWIGTYPE_p_std__vectorTBossJob_p_t__const_iterator swig_types[20]
678 > #define  SWIGTYPE_p_jobStates swig_types[21]
679 > static swig_type_info *swig_types[23];
680  
681   /* -------- TYPES TABLE (END) -------- */
682  
# Line 923 | Line 926 | static PyObject * SchedulerError;
926   #include "BossAdministratorSession.h"
927   #include "BossTask.h"
928   #include "BossJob.h"
929 + #include "BossChain.h"
930   #include "BossTaskCore.h"
931   #include "BossAttributeContainer.h"
932   #include "BossDBObject.h"
# Line 957 | Line 961 | PyObject *BossSession_schedulers(BossSes
961      std::vector<std::string> my_vec = self->showSchedulers();
962      return BossSession_show( self, my_vec );
963    }
964 < PyObject *BossSession_schedListMatch(BossSession *self,std::string const &scheduler,std::string const &schclassad,std::string const &taskid,std::string const &jobid,unsigned int timeout,bool keepfile){
964 > PyObject *BossSession_schedListMatch(BossSession *self,std::string const &scheduler,std::string const &schclassad,std::string const &taskid,std::string const &jobid,unsigned int timeout){
965      std::vector<std::string> my_vec = self->listMatch( scheduler,
966                                                         schclassad,
963                                                       keepfile,
967                                                         taskid,
968                                                         jobid,
969                                                         timeout);
970      return BossSession_show( self, my_vec );
971    }
972 < PyObject *BossSession_queryTasks(BossSession *self,int filter_opt,std::string const &taskRange,std::string const &jobRange,std::string const &subn,std::string type,std::string user,std::string after,std::string before,unsigned int timeout,bool avoidCheck){
973 <       if ( !avoidCheck ) {
974 <         self->schedulerQuery ( filter_opt, taskRange, jobRange, subn,
972 <                                type, user, after, before, timeout );
973 <       }
974 <       PyObject * job_dict = PyList_New(0);
975 <       std::vector <std::string>
976 <         taskList = self->selectTasks( taskRange, before, after, user);
977 <       for ( std::vector <std::string>::const_iterator it= taskList.begin();
978 <            it!= taskList.end(); ++it ) {
979 <         PyList_Append( job_dict,  PyString_FromString(it->c_str() ) );
980 <      }
981 <       return  job_dict;
982 <     }
983 < PyObject *BossTask_appendToPyDict(BossTask const *self,PyObject *dict,BossAttributeContainer const &obj){
984 <      std::string tmp;
985 <      BossAttributeContainer::const_iterator it_end = obj.end ();
986 <      for (BossAttributeContainer::const_iterator it = obj.begin ();
987 <           it != it_end; ++it) {
988 <        tmp = (*it).first.name ();
989 <        char * key = new char[ tmp.size() ];
990 <        key = strdup(tmp.c_str());
991 <        tmp = (*it).second.value ();
992 <        PyObject * val = PyString_FromString( tmp.c_str() );
993 <        PyDict_SetItemString( dict, key, val );
994 <        delete [] key;
995 <      }
996 <      return dict;
972 > void BossSession_schedulerQuery(BossSession *self,int filter_opt,std::string const &taskRange,std::string const &jobRange,std::string const &subn,std::string type,std::string user,std::string after,std::string before,unsigned int timeout,bool avoidCheck){
973 >      self->query ( filter_opt, taskRange, jobRange, subn, type, user, after, before, timeout, avoidCheck );
974 >      return;
975      }
976 < PyObject *BossTask_jobDict(BossTask const *self,std::vector<BossJob * >::const_iterator &jit){
976 > void BossTask_appendToPyDict(BossTask const *self,PyObject *dict,BossAttributeContainer const &obj){
977 >    std::string tmp;
978 >    BossAttributeContainer::const_iterator it_end = obj.end ();
979 >    for (BossAttributeContainer::const_iterator it = obj.begin ();
980 >         it != it_end; ++it) {
981 >
982 >      PyObject * key = PyString_FromString( (it->first.name()).c_str() );
983 >      PyObject * val = PyString_FromString( (*it).second.value ().c_str() );
984 >      PyDict_SetItem( dict, key, val);
985 >      Py_DECREF(key);
986 >      Py_DECREF(val);
987 >    }
988 >    return;
989 >  }
990 > void BossTask_jobDict(BossTask const *self,BossJob const *jobH,PyObject *job_dict){
991  
992 <    PyObject * job_dict = PyDict_New();
992 >    //    PyObject * job_dict = PyDict_New();
993      std::string tmp;
994  
995 <    BossAttributeContainer obj = (*jit)->getTableEntries("JOB");
996 <    job_dict = BossTask_appendToPyDict ( self, job_dict, obj );
995 >    BossAttributeContainer obj = jobH->getTableEntries("JOB");
996 >    BossTask_appendToPyDict ( self, job_dict, obj );
997  
998 <    std::set<std::string> sch = (*jit)->getSchedulerElements();
998 >    std::set<std::string> sch = jobH->getSchedulerElements();
999      std::set<std::string>::const_iterator sch_end =  sch.end();
1000      for (std::set<std::string>::const_iterator it =sch.begin();
1001           it != sch_end; ++ it ) {
1002 <      tmp = (*it);
1003 <      char * key = new char[ tmp.size() ];
1004 <      key = strdup(tmp.c_str());
1013 <      tmp = (**jit)["JOB_SCHED_INFO."+(*it)];
1002 >
1003 >      tmp = (*jobH)["JOB_SCHED_INFO."+(*it)];
1004 >      PyObject * key = PyString_FromString( it->c_str() );
1005        PyObject * val = PyString_FromString( tmp.c_str() );
1006 <      PyDict_SetItemString( job_dict, key, val );
1007 <      delete [] key;
1006 >      PyDict_SetItem( job_dict, key, val);
1007 >      Py_DECREF(key);
1008 >      Py_DECREF(val);
1009      }
1010 <    return job_dict;
1010 >    return;
1011    }
1012   PyObject *BossTask_jobsDict(BossTask *self){
1013    
# Line 1023 | Line 1015 | PyObject *BossTask_jobsDict(BossTask *se
1015      if ( self->job_begin () == self->job_end ()) self->load(ALL);
1016      for (BossTask::job_iterator jit = self->job_begin ();
1017           jit != self->job_end (); ++jit) {
1018 <      std::string id = (*jit)->chainId();
1019 <      PyObject * tmp =  BossTask_jobDict( self, jit );
1020 <      PyObject * myid =  PyString_FromString(id.c_str() );
1021 <      PyDict_SetItem( job_dict, myid,tmp );
1018 >      PyObject * id = PyString_FromString( ((*jit)->chainId()).c_str() );
1019 >      PyObject * tmp_dict = PyDict_New();
1020 >      BossTask_jobDict( self, *jit, tmp_dict );
1021 >      PyDict_SetItem( job_dict, id, tmp_dict );
1022 >      Py_DECREF(id);
1023 >      Py_DECREF(tmp_dict);
1024 >    }
1025 >    return job_dict;
1026 >  }
1027 > PyObject *BossTask_job(BossTask *self,std::string const &jobid){
1028 >    PyObject * job_dict = PyDict_New();
1029 >    BossTask_jobDict( self, &(*self)[ atoi(jobid.c_str()) ], job_dict );
1030 >    return job_dict;
1031 >  }
1032 > PyObject *BossTask_Chain(BossTask *self,std::string const &jobid){
1033 >  
1034 >    PyObject * chain_dict = PyDict_New();
1035 >    BossAttributeContainer obj =
1036 >      self->chain( jobid ).getTableEntries("CHAIN");
1037 >    BossTask_appendToPyDict ( self, chain_dict, obj );
1038 >    return chain_dict;
1039 >  }
1040 > PyObject *BossTask_jobStates(BossTask *self){
1041 >  
1042 >    PyObject * job_dict = PyDict_New();
1043 >    if ( self->job_begin () == self->job_end ()) self->load(ALL);
1044 >    for (BossTask::job_iterator jit = self->job_begin ();
1045 >         jit != self->job_end (); ++jit) {
1046 >      PyObject * id = PyString_FromString( ((*jit)->chainId()).c_str() );
1047 >      PyObject * status = PyString_FromString( ((**jit)["JOB.STATUS"]).c_str() );
1048 >      PyDict_SetItem( job_dict, id, status );
1049 >      Py_DECREF(id);
1050 >      Py_DECREF(status);
1051 >    }
1052 >    return job_dict;
1053 >  }
1054 > PyObject *BossTask_joblist(BossTask *self){
1055 >    if ( self->job_begin () == self->job_end ()) self->load(ALL);
1056 >    PyObject *  job_list = PyList_New( self->jobsInMemory() );
1057 >    unsigned int index = 0;
1058 >    for (BossTask::job_iterator jit = self->job_begin ();
1059 >         jit != self->job_end (); ++jit, ++index) {
1060 >      PyList_SetItem( job_list,
1061 >                      index,
1062 >                      PyString_FromString( ( (*jit)->chainId() ).c_str() )
1063 >                      );
1064 >    }
1065 >    return job_list;
1066 >  }
1067 > PyObject *BossTask_jobStatistic(BossTask *self){
1068 >  
1069 >    PyObject * job_dict = PyDict_New();
1070 >    if ( self->job_begin () == self->job_end ()) self->load(ALL);
1071 >    std::map< std::string, int > states;
1072 >    for (BossTask::job_iterator jit = self->job_begin ();
1073 >         jit != self->job_end (); ++jit) {
1074 >      ++states[(**jit)["JOB.STATUS"]];
1075 >    }
1076 >
1077 >    std::map< std::string, int >::const_iterator end = states.end ();
1078 >    for (std::map< std::string, int >::const_iterator it = states.begin ();
1079 >         it != end; ++it) {
1080 >      PyObject * status = PyString_FromString( (it->first).c_str() );
1081 >      PyObject * jobs = PyString_FromFormat( "%d", it->second );
1082 >      PyDict_SetItem( job_dict, status, jobs );
1083 >      Py_DECREF(jobs);
1084 >      Py_DECREF(status);
1085      }
1086      return job_dict;
1087    }
# Line 1071 | Line 1126 | PyObject *BossTask_jobPrograms(BossTask
1126      for ( programs_it = programs.begin(); programs_it != programs_it_end;
1127            ++programs_it  ) {
1128        std::string id = (programs_it->first)["PROGRAM.ID"];
1129 <      PyObject * tmp =  BossTask_progDict( self, programs_it );
1129 >      PyObject * tmp_dict =  BossTask_progDict( self, programs_it );
1130        PyObject * myid =  PyString_FromString(id.c_str() );
1131 <      PyDict_SetItem( job_dict, myid,tmp );
1131 >      PyDict_SetItem( job_dict, myid, tmp_dict );
1132 >      Py_DECREF(myid);
1133 >      Py_DECREF(tmp_dict);
1134 >    }
1135 >    return job_dict;
1136 >  }
1137 > PyObject *BossTask_program(BossTask *self,std::string const &jobid,std::string const &programId){
1138 >  
1139 >    PyObject * job_dict = PyDict_New();
1140 >
1141 >    const BossJob * jH = &((*self)[atoi( jobid.c_str() )]);
1142 >    BossAttributeContainer obj =
1143 >      self->queryProgram( jH, programId ).getTableEntries("PROGRAM");
1144 >    BossTask_appendToPyDict ( self, job_dict, obj );
1145 >    return job_dict;
1146 >  }
1147 > PyObject *BossTask_programExec(BossTask *self,std::string const &jobid,std::string const &programId){
1148 >  
1149 >    PyObject * job_dict = PyDict_New();
1150 >
1151 >    const BossJob * jH = &((*self)[atoi( jobid.c_str() )]);
1152 >
1153 >    // PROGRAM_EXEC
1154 >    BossProgramExec programExec = self->queryProgramExec( jH, programId );
1155 >    BossAttributeContainer obj = programExec.getTableEntries("PROGRAM_EXEC");
1156 >    BossTask_appendToPyDict ( self, job_dict, obj );
1157 >
1158 >    // SPECIFICS
1159 >    std::vector < BossAttributeContainer >::const_iterator it;
1160 >    std::vector < BossAttributeContainer >::const_iterator it_end = programExec.specEnd ();
1161 >    for ( it = programExec.specBegin (); it != it_end; ++it) {
1162 >      BossTask_appendToPyDict ( self, job_dict, *it );
1163 >    }
1164 >    return job_dict;
1165 >  }
1166 > PyObject *BossTask_specific(BossTask *self,std::string const &jobid,std::string const &programId){
1167 >  
1168 >    PyObject * job_dict = PyDict_New();
1169 >
1170 >    const BossJob * jH = &((*self)[atoi( jobid.c_str() )]);
1171 >    BossProgramExec programExec = self->queryProgramExec( jH, programId );
1172 >    BossAttributeContainer obj = programExec.getKeys ();
1173 >    BossTask_appendToPyDict ( self, job_dict, obj );
1174 >    
1175 >    std::vector < BossAttributeContainer >::const_iterator it;
1176 >    std::vector < BossAttributeContainer >::const_iterator it_end = programExec.specEnd ();
1177 >    for ( it = programExec.specBegin (); it != it_end; ++it) {
1178 >      BossTask_appendToPyDict ( self, job_dict, *it );
1179      }
1180      return job_dict;
1181    }
# Line 2428 | Line 2530 | static PyObject *_wrap_BossSession_clear
2530   }
2531  
2532  
2533 + static PyObject *_wrap_BossSession_task_begin(PyObject *self, PyObject *args) {
2534 +    PyObject *resultobj;
2535 +    BossSession *arg1 = (BossSession *) 0 ;
2536 +    BossSession::task_iterator result;
2537 +    PyObject * obj0 = 0 ;
2538 +    
2539 +    if(!PyArg_ParseTuple(args,(char *)"O:BossSession_task_begin",&obj0)) goto fail;
2540 +    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_BossSession,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
2541 +    {
2542 +        try {
2543 +            result = ((BossSession const *)arg1)->task_begin();
2544 +            
2545 +        }catch (const BossSchedFailure & e) {
2546 +            PyErr_SetString ( SchedulerError, e.what() );
2547 +            return NULL;
2548 +        }catch (const std::exception& e) {
2549 +            PyErr_SetString ( BossError, e.what() );
2550 +            return NULL;
2551 +        }
2552 +    }
2553 +    {
2554 +        BossSession::task_iterator * resultptr;
2555 +        resultptr = new BossSession::task_iterator((BossSession::task_iterator &) result);
2556 +        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_BossSession__task_iterator, 1);
2557 +    }
2558 +    return resultobj;
2559 +    fail:
2560 +    return NULL;
2561 + }
2562 +
2563 +
2564 + static PyObject *_wrap_BossSession_task_end(PyObject *self, PyObject *args) {
2565 +    PyObject *resultobj;
2566 +    BossSession *arg1 = (BossSession *) 0 ;
2567 +    BossSession::task_iterator result;
2568 +    PyObject * obj0 = 0 ;
2569 +    
2570 +    if(!PyArg_ParseTuple(args,(char *)"O:BossSession_task_end",&obj0)) goto fail;
2571 +    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_BossSession,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
2572 +    {
2573 +        try {
2574 +            result = ((BossSession const *)arg1)->task_end();
2575 +            
2576 +        }catch (const BossSchedFailure & e) {
2577 +            PyErr_SetString ( SchedulerError, e.what() );
2578 +            return NULL;
2579 +        }catch (const std::exception& e) {
2580 +            PyErr_SetString ( BossError, e.what() );
2581 +            return NULL;
2582 +        }
2583 +    }
2584 +    {
2585 +        BossSession::task_iterator * resultptr;
2586 +        resultptr = new BossSession::task_iterator((BossSession::task_iterator &) result);
2587 +        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_BossSession__task_iterator, 1);
2588 +    }
2589 +    return resultobj;
2590 +    fail:
2591 +    return NULL;
2592 + }
2593 +
2594 +
2595 + static PyObject *_wrap_BossSession_tasksInMemory(PyObject *self, PyObject *args) {
2596 +    PyObject *resultobj;
2597 +    BossSession *arg1 = (BossSession *) 0 ;
2598 +    unsigned int result;
2599 +    PyObject * obj0 = 0 ;
2600 +    
2601 +    if(!PyArg_ParseTuple(args,(char *)"O:BossSession_tasksInMemory",&obj0)) goto fail;
2602 +    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_BossSession,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
2603 +    {
2604 +        try {
2605 +            result = (unsigned int)((BossSession const *)arg1)->tasksInMemory();
2606 +            
2607 +        }catch (const BossSchedFailure & e) {
2608 +            PyErr_SetString ( SchedulerError, e.what() );
2609 +            return NULL;
2610 +        }catch (const std::exception& e) {
2611 +            PyErr_SetString ( BossError, e.what() );
2612 +            return NULL;
2613 +        }
2614 +    }
2615 +    resultobj = PyInt_FromLong((long)result);
2616 +    return resultobj;
2617 +    fail:
2618 +    return NULL;
2619 + }
2620 +
2621 +
2622 + static PyObject *_wrap_BossSession_locate(PyObject *self, PyObject *args) {
2623 +    PyObject *resultobj;
2624 +    BossSession *arg1 = (BossSession *) 0 ;
2625 +    unsigned int arg2 ;
2626 +    BossTask *result;
2627 +    PyObject * obj0 = 0 ;
2628 +    PyObject * obj1 = 0 ;
2629 +    
2630 +    if(!PyArg_ParseTuple(args,(char *)"OO:BossSession_locate",&obj0,&obj1)) goto fail;
2631 +    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_BossSession,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
2632 +    arg2 = (unsigned int) PyInt_AsLong(obj1);
2633 +    if (PyErr_Occurred()) SWIG_fail;
2634 +    {
2635 +        try {
2636 +            result = (BossTask *)((BossSession const *)arg1)->locate(arg2);
2637 +            
2638 +        }catch (const BossSchedFailure & e) {
2639 +            PyErr_SetString ( SchedulerError, e.what() );
2640 +            return NULL;
2641 +        }catch (const std::exception& e) {
2642 +            PyErr_SetString ( BossError, e.what() );
2643 +            return NULL;
2644 +        }
2645 +    }
2646 +    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_BossTask, 0);
2647 +    return resultobj;
2648 +    fail:
2649 +    return NULL;
2650 + }
2651 +
2652 +
2653   static PyObject *_wrap_BossSession_makeBossTask(PyObject *self, PyObject *args) {
2654      PyObject *resultobj;
2655      BossSession *arg1 = (BossSession *) 0 ;
# Line 2895 | Line 3117 | static PyObject *_wrap_BossSession_listM
3117      BossSession *arg1 = (BossSession *) 0 ;
3118      std::string *arg2 = 0 ;
3119      std::string *arg3 = 0 ;
3120 <    bool arg4 = (bool) false ;
3120 >    std::string const &arg4_defvalue = "" ;
3121 >    std::string *arg4 = (std::string *) &arg4_defvalue ;
3122      std::string const &arg5_defvalue = "" ;
3123      std::string *arg5 = (std::string *) &arg5_defvalue ;
3124 <    std::string const &arg6_defvalue = "" ;
2902 <    std::string *arg6 = (std::string *) &arg6_defvalue ;
2903 <    unsigned int arg7 = (unsigned int) 0 ;
3124 >    unsigned int arg6 = (unsigned int) 0 ;
3125      std::vector<std::string > result;
3126      std::string temp2 ;
3127      std::string temp3 ;
3128 +    std::string temp4 ;
3129      std::string temp5 ;
2908    std::string temp6 ;
3130      PyObject * obj0 = 0 ;
3131      PyObject * obj1 = 0 ;
3132      PyObject * obj2 = 0 ;
3133      PyObject * obj3 = 0 ;
3134      PyObject * obj4 = 0 ;
3135      PyObject * obj5 = 0 ;
2915    PyObject * obj6 = 0 ;
3136      
3137 <    if(!PyArg_ParseTuple(args,(char *)"OOO|OOOO:BossSession_listMatch",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6)) goto fail;
3137 >    if(!PyArg_ParseTuple(args,(char *)"OOO|OOO:BossSession_listMatch",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) goto fail;
3138      if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_BossSession,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
3139      {
3140          if (PyString_Check(obj1)) {
# Line 2933 | Line 3153 | static PyObject *_wrap_BossSession_listM
3153          }
3154      }
3155      if (obj3) {
2936        arg4 = PyInt_AsLong(obj3) ? true : false;
2937        if (PyErr_Occurred()) SWIG_fail;
2938    }
2939    if (obj4) {
3156          {
3157 <            if (PyString_Check(obj4)) {
3158 <                temp5 = std::string(PyString_AsString(obj4));
3159 <                arg5 = &temp5;
3157 >            if (PyString_Check(obj3)) {
3158 >                temp4 = std::string(PyString_AsString(obj3));
3159 >                arg4 = &temp4;
3160              }else {
3161                  SWIG_exception(SWIG_TypeError, "string expected");
3162              }
3163          }
3164      }
3165 <    if (obj5) {
3165 >    if (obj4) {
3166          {
3167 <            if (PyString_Check(obj5)) {
3168 <                temp6 = std::string(PyString_AsString(obj5));
3169 <                arg6 = &temp6;
3167 >            if (PyString_Check(obj4)) {
3168 >                temp5 = std::string(PyString_AsString(obj4));
3169 >                arg5 = &temp5;
3170              }else {
3171                  SWIG_exception(SWIG_TypeError, "string expected");
3172              }
3173          }
3174      }
3175 <    if (obj6) {
3176 <        arg7 = (unsigned int) PyInt_AsLong(obj6);
3175 >    if (obj5) {
3176 >        arg6 = (unsigned int) PyInt_AsLong(obj5);
3177          if (PyErr_Occurred()) SWIG_fail;
3178      }
3179      {
3180          try {
3181 <            result = (arg1)->listMatch((std::string const &)*arg2,(std::string const &)*arg3,arg4,(std::string const &)*arg5,(std::string const &)*arg6,arg7);
3181 >            result = (arg1)->listMatch((std::string const &)*arg2,(std::string const &)*arg3,(std::string const &)*arg4,(std::string const &)*arg5,arg6);
3182              
3183          }catch (const BossSchedFailure & e) {
3184              PyErr_SetString ( SchedulerError, e.what() );
# Line 2984 | Line 3200 | static PyObject *_wrap_BossSession_listM
3200   }
3201  
3202  
3203 < static PyObject *_wrap_BossSession_schedulerQuery(PyObject *self, PyObject *args) {
3203 > static PyObject *_wrap_BossSession_query(PyObject *self, PyObject *args) {
3204      PyObject *resultobj;
3205      BossSession *arg1 = (BossSession *) 0 ;
3206      int arg2 = (int) SCHEDULED ;
# Line 2999 | Line 3215 | static PyObject *_wrap_BossSession_sched
3215      std::string arg8 = (std::string) "" ;
3216      std::string arg9 = (std::string) "" ;
3217      unsigned int arg10 = (unsigned int) 0 ;
3218 +    bool arg11 = (bool) false ;
3219      std::string temp3 ;
3220      std::string temp4 ;
3221      std::string temp5 ;
# Line 3011 | Line 3228 | static PyObject *_wrap_BossSession_sched
3228      PyObject * obj7 = 0 ;
3229      PyObject * obj8 = 0 ;
3230      PyObject * obj9 = 0 ;
3231 +    PyObject * obj10 = 0 ;
3232      
3233 <    if(!PyArg_ParseTuple(args,(char *)"O|iOOOOOOOO:BossSession_schedulerQuery",&obj0,&arg2,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7,&obj8,&obj9)) goto fail;
3233 >    if(!PyArg_ParseTuple(args,(char *)"O|iOOOOOOOOO:BossSession_query",&obj0,&arg2,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7,&obj8,&obj9,&obj10)) goto fail;
3234      if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_BossSession,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
3235      if (obj2) {
3236          {
# Line 3080 | Line 3298 | static PyObject *_wrap_BossSession_sched
3298          arg10 = (unsigned int) PyInt_AsLong(obj9);
3299          if (PyErr_Occurred()) SWIG_fail;
3300      }
3301 +    if (obj10) {
3302 +        arg11 = PyInt_AsLong(obj10) ? true : false;
3303 +        if (PyErr_Occurred()) SWIG_fail;
3304 +    }
3305      {
3306          try {
3307 <            (arg1)->schedulerQuery(arg2,(std::string const &)*arg3,(std::string const &)*arg4,(std::string const &)*arg5,arg6,arg7,arg8,arg9,arg10);
3307 >            (arg1)->query(arg2,(std::string const &)*arg3,(std::string const &)*arg4,(std::string const &)*arg5,arg6,arg7,arg8,arg9,arg10,arg11);
3308              
3309          }catch (const BossSchedFailure & e) {
3310              PyErr_SetString ( SchedulerError, e.what() );
# Line 3099 | Line 3321 | static PyObject *_wrap_BossSession_sched
3321   }
3322  
3323  
3324 < static PyObject *_wrap_BossSession_selectTasks(PyObject *self, PyObject *args) {
3324 > static PyObject *_wrap_BossSession_getTasksByName(PyObject *self, PyObject *args) {
3325      PyObject *resultobj;
3326      BossSession *arg1 = (BossSession *) 0 ;
3327 <    std::string const &arg2_defvalue = "all" ;
3328 <    std::string *arg2 = (std::string *) &arg2_defvalue ;
3107 <    std::string const &arg3_defvalue = "" ;
3108 <    std::string *arg3 = (std::string *) &arg3_defvalue ;
3109 <    std::string const &arg4_defvalue = "" ;
3110 <    std::string *arg4 = (std::string *) &arg4_defvalue ;
3111 <    std::string const &arg5_defvalue = "" ;
3112 <    std::string *arg5 = (std::string *) &arg5_defvalue ;
3113 <    std::vector<std::string > result;
3327 >    std::string *arg2 = 0 ;
3328 >    unsigned int result;
3329      std::string temp2 ;
3115    std::string temp3 ;
3116    std::string temp4 ;
3117    std::string temp5 ;
3330      PyObject * obj0 = 0 ;
3331      PyObject * obj1 = 0 ;
3120    PyObject * obj2 = 0 ;
3121    PyObject * obj3 = 0 ;
3122    PyObject * obj4 = 0 ;
3332      
3333 <    if(!PyArg_ParseTuple(args,(char *)"O|OOOO:BossSession_selectTasks",&obj0,&obj1,&obj2,&obj3,&obj4)) goto fail;
3333 >    if(!PyArg_ParseTuple(args,(char *)"OO:BossSession_getTasksByName",&obj0,&obj1)) goto fail;
3334      if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_BossSession,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
3335 <    if (obj1) {
3336 <        {
3337 <            if (PyString_Check(obj1)) {
3338 <                temp2 = std::string(PyString_AsString(obj1));
3339 <                arg2 = &temp2;
3340 <            }else {
3132 <                SWIG_exception(SWIG_TypeError, "string expected");
3133 <            }
3134 <        }
3135 <    }
3136 <    if (obj2) {
3137 <        {
3138 <            if (PyString_Check(obj2)) {
3139 <                temp3 = std::string(PyString_AsString(obj2));
3140 <                arg3 = &temp3;
3141 <            }else {
3142 <                SWIG_exception(SWIG_TypeError, "string expected");
3143 <            }
3144 <        }
3145 <    }
3146 <    if (obj3) {
3147 <        {
3148 <            if (PyString_Check(obj3)) {
3149 <                temp4 = std::string(PyString_AsString(obj3));
3150 <                arg4 = &temp4;
3151 <            }else {
3152 <                SWIG_exception(SWIG_TypeError, "string expected");
3153 <            }
3154 <        }
3155 <    }
3156 <    if (obj4) {
3157 <        {
3158 <            if (PyString_Check(obj4)) {
3159 <                temp5 = std::string(PyString_AsString(obj4));
3160 <                arg5 = &temp5;
3161 <            }else {
3162 <                SWIG_exception(SWIG_TypeError, "string expected");
3163 <            }
3335 >    {
3336 >        if (PyString_Check(obj1)) {
3337 >            temp2 = std::string(PyString_AsString(obj1));
3338 >            arg2 = &temp2;
3339 >        }else {
3340 >            SWIG_exception(SWIG_TypeError, "string expected");
3341          }
3342      }
3343      {
3344          try {
3345 <            result = (arg1)->selectTasks((std::string const &)*arg2,(std::string const &)*arg3,(std::string const &)*arg4,(std::string const &)*arg5);
3345 >            result = (unsigned int)(arg1)->getTasksByName((std::string const &)*arg2);
3346              
3347          }catch (const BossSchedFailure & e) {
3348              PyErr_SetString ( SchedulerError, e.what() );
# Line 3175 | Line 3352 | static PyObject *_wrap_BossSession_selec
3352              return NULL;
3353          }
3354      }
3355 <    {
3179 <        resultobj = PyTuple_New((&result)->size());
3180 <        for (unsigned int i=0; i<(&result)->size(); i++)
3181 <        PyTuple_SetItem(resultobj,i,
3182 <        SwigString_FromString(((std::vector<std::string > &)result)[i]));
3183 <    }
3355 >    resultobj = PyInt_FromLong((long)result);
3356      return resultobj;
3357      fail:
3358      return NULL;
3359   }
3360  
3361  
3362 < static PyObject *_wrap_BossSession_query(PyObject *self, PyObject *args) {
3362 > static PyObject *_wrap_BossSession_getTasksByTaskInfo(PyObject *self, PyObject *args) {
3363      PyObject *resultobj;
3364      BossSession *arg1 = (BossSession *) 0 ;
3365 <    int arg2 = (int) SCHEDULED ;
3366 <    std::string const &arg3_defvalue = "all" ;
3367 <    std::string *arg3 = (std::string *) &arg3_defvalue ;
3196 <    std::string const &arg4_defvalue = "all" ;
3197 <    std::string *arg4 = (std::string *) &arg4_defvalue ;
3198 <    std::string const &arg5_defvalue = "" ;
3199 <    std::string *arg5 = (std::string *) &arg5_defvalue ;
3200 <    std::string arg6 = (std::string) "" ;
3201 <    std::string arg7 = (std::string) "" ;
3202 <    std::string arg8 = (std::string) "" ;
3203 <    std::string arg9 = (std::string) "" ;
3204 <    unsigned int arg10 = (unsigned int) 0 ;
3205 <    bool arg11 = (bool) false ;
3206 <    SwigValueWrapper< std::vector<BossTask * > > result;
3207 <    std::string temp3 ;
3208 <    std::string temp4 ;
3209 <    std::string temp5 ;
3365 >    std::string *arg2 = 0 ;
3366 >    unsigned int result;
3367 >    std::string temp2 ;
3368      PyObject * obj0 = 0 ;
3369 <    PyObject * obj2 = 0 ;
3212 <    PyObject * obj3 = 0 ;
3213 <    PyObject * obj4 = 0 ;
3214 <    PyObject * obj5 = 0 ;
3215 <    PyObject * obj6 = 0 ;
3216 <    PyObject * obj7 = 0 ;
3217 <    PyObject * obj8 = 0 ;
3218 <    PyObject * obj9 = 0 ;
3219 <    PyObject * obj10 = 0 ;
3369 >    PyObject * obj1 = 0 ;
3370      
3371 <    if(!PyArg_ParseTuple(args,(char *)"O|iOOOOOOOOO:BossSession_query",&obj0,&arg2,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7,&obj8,&obj9,&obj10)) goto fail;
3371 >    if(!PyArg_ParseTuple(args,(char *)"OO:BossSession_getTasksByTaskInfo",&obj0,&obj1)) goto fail;
3372      if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_BossSession,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
3373 <    if (obj2) {
3374 <        {
3375 <            if (PyString_Check(obj2)) {
3376 <                temp3 = std::string(PyString_AsString(obj2));
3377 <                arg3 = &temp3;
3228 <            }else {
3229 <                SWIG_exception(SWIG_TypeError, "string expected");
3230 <            }
3231 <        }
3232 <    }
3233 <    if (obj3) {
3234 <        {
3235 <            if (PyString_Check(obj3)) {
3236 <                temp4 = std::string(PyString_AsString(obj3));
3237 <                arg4 = &temp4;
3238 <            }else {
3239 <                SWIG_exception(SWIG_TypeError, "string expected");
3240 <            }
3241 <        }
3242 <    }
3243 <    if (obj4) {
3244 <        {
3245 <            if (PyString_Check(obj4)) {
3246 <                temp5 = std::string(PyString_AsString(obj4));
3247 <                arg5 = &temp5;
3248 <            }else {
3249 <                SWIG_exception(SWIG_TypeError, "string expected");
3250 <            }
3251 <        }
3252 <    }
3253 <    if (obj5) {
3254 <        {
3255 <            if (PyString_Check(obj5))
3256 <            arg6 = std::string(PyString_AsString(obj5));
3257 <            else
3258 <            SWIG_exception(SWIG_TypeError, "string expected");
3259 <        }
3260 <    }
3261 <    if (obj6) {
3262 <        {
3263 <            if (PyString_Check(obj6))
3264 <            arg7 = std::string(PyString_AsString(obj6));
3265 <            else
3373 >    {
3374 >        if (PyString_Check(obj1)) {
3375 >            temp2 = std::string(PyString_AsString(obj1));
3376 >            arg2 = &temp2;
3377 >        }else {
3378              SWIG_exception(SWIG_TypeError, "string expected");
3379          }
3380      }
3381 <    if (obj7) {
3382 <        {
3383 <            if (PyString_Check(obj7))
3384 <            arg8 = std::string(PyString_AsString(obj7));
3385 <            else
3386 <            SWIG_exception(SWIG_TypeError, "string expected");
3381 >    {
3382 >        try {
3383 >            result = (unsigned int)(arg1)->getTasksByTaskInfo((std::string const &)*arg2);
3384 >            
3385 >        }catch (const BossSchedFailure & e) {
3386 >            PyErr_SetString ( SchedulerError, e.what() );
3387 >            return NULL;
3388 >        }catch (const std::exception& e) {
3389 >            PyErr_SetString ( BossError, e.what() );
3390 >            return NULL;
3391          }
3392      }
3393 <    if (obj8) {
3394 <        {
3395 <            if (PyString_Check(obj8))
3396 <            arg9 = std::string(PyString_AsString(obj8));
3397 <            else
3393 >    resultobj = PyInt_FromLong((long)result);
3394 >    return resultobj;
3395 >    fail:
3396 >    return NULL;
3397 > }
3398 >
3399 >
3400 > static PyObject *_wrap_BossSession_getTasksByJobName(PyObject *self, PyObject *args) {
3401 >    PyObject *resultobj;
3402 >    BossSession *arg1 = (BossSession *) 0 ;
3403 >    std::string *arg2 = 0 ;
3404 >    unsigned int result;
3405 >    std::string temp2 ;
3406 >    PyObject * obj0 = 0 ;
3407 >    PyObject * obj1 = 0 ;
3408 >    
3409 >    if(!PyArg_ParseTuple(args,(char *)"OO:BossSession_getTasksByJobName",&obj0,&obj1)) goto fail;
3410 >    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_BossSession,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
3411 >    {
3412 >        if (PyString_Check(obj1)) {
3413 >            temp2 = std::string(PyString_AsString(obj1));
3414 >            arg2 = &temp2;
3415 >        }else {
3416              SWIG_exception(SWIG_TypeError, "string expected");
3417          }
3418      }
3285    if (obj9) {
3286        arg10 = (unsigned int) PyInt_AsLong(obj9);
3287        if (PyErr_Occurred()) SWIG_fail;
3288    }
3289    if (obj10) {
3290        arg11 = PyInt_AsLong(obj10) ? true : false;
3291        if (PyErr_Occurred()) SWIG_fail;
3292    }
3419      {
3420          try {
3421 <            result = (arg1)->query(arg2,(std::string const &)*arg3,(std::string const &)*arg4,(std::string const &)*arg5,arg6,arg7,arg8,arg9,arg10,arg11);
3421 >            result = (unsigned int)(arg1)->getTasksByJobName((std::string const &)*arg2);
3422              
3423          }catch (const BossSchedFailure & e) {
3424              PyErr_SetString ( SchedulerError, e.what() );
# Line 3302 | Line 3428 | static PyObject *_wrap_BossSession_query
3428              return NULL;
3429          }
3430      }
3431 <    {
3306 <        std::vector<BossTask * > * resultptr;
3307 <        resultptr = new std::vector<BossTask * >((std::vector<BossTask * > &) result);
3308 <        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_std__vectorTBossTask_p_t, 1);
3309 <    }
3431 >    resultobj = PyInt_FromLong((long)result);
3432      return resultobj;
3433      fail:
3434      return NULL;
# Line 3464 | Line 3586 | static PyObject *_wrap_BossSession_sched
3586      std::string const &arg5_defvalue = "" ;
3587      std::string *arg5 = (std::string *) &arg5_defvalue ;
3588      unsigned int arg6 = (unsigned int) 0 ;
3467    bool arg7 = (bool) false ;
3589      PyObject *result;
3590      std::string temp2 ;
3591      std::string temp3 ;
# Line 3476 | Line 3597 | static PyObject *_wrap_BossSession_sched
3597      PyObject * obj3 = 0 ;
3598      PyObject * obj4 = 0 ;
3599      PyObject * obj5 = 0 ;
3479    PyObject * obj6 = 0 ;
3600      
3601 <    if(!PyArg_ParseTuple(args,(char *)"OOO|OOOO:BossSession_schedListMatch",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6)) goto fail;
3601 >    if(!PyArg_ParseTuple(args,(char *)"OOO|OOO:BossSession_schedListMatch",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) goto fail;
3602      if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_BossSession,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
3603      {
3604          if (PyString_Check(obj1)) {
# Line 3520 | Line 3640 | static PyObject *_wrap_BossSession_sched
3640          arg6 = (unsigned int) PyInt_AsLong(obj5);
3641          if (PyErr_Occurred()) SWIG_fail;
3642      }
3523    if (obj6) {
3524        arg7 = PyInt_AsLong(obj6) ? true : false;
3525        if (PyErr_Occurred()) SWIG_fail;
3526    }
3643      {
3644          try {
3645 <            result = (PyObject *)BossSession_schedListMatch(arg1,(std::string const &)*arg2,(std::string const &)*arg3,(std::string const &)*arg4,(std::string const &)*arg5,arg6,arg7);
3645 >            result = (PyObject *)BossSession_schedListMatch(arg1,(std::string const &)*arg2,(std::string const &)*arg3,(std::string const &)*arg4,(std::string const &)*arg5,arg6);
3646              
3647          }catch (const BossSchedFailure & e) {
3648              PyErr_SetString ( SchedulerError, e.what() );
# Line 3543 | Line 3659 | static PyObject *_wrap_BossSession_sched
3659   }
3660  
3661  
3662 < static PyObject *_wrap_BossSession_queryTasks(PyObject *self, PyObject *args) {
3662 > static PyObject *_wrap_BossSession_schedulerQuery(PyObject *self, PyObject *args) {
3663      PyObject *resultobj;
3664      BossSession *arg1 = (BossSession *) 0 ;
3665      int arg2 = (int) SCHEDULED ;
# Line 3559 | Line 3675 | static PyObject *_wrap_BossSession_query
3675      std::string arg9 = (std::string) "" ;
3676      unsigned int arg10 = (unsigned int) 0 ;
3677      bool arg11 = (bool) false ;
3562    PyObject *result;
3678      std::string temp3 ;
3679      std::string temp4 ;
3680      std::string temp5 ;
# Line 3574 | Line 3689 | static PyObject *_wrap_BossSession_query
3689      PyObject * obj9 = 0 ;
3690      PyObject * obj10 = 0 ;
3691      
3692 <    if(!PyArg_ParseTuple(args,(char *)"O|iOOOOOOOOO:BossSession_queryTasks",&obj0,&arg2,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7,&obj8,&obj9,&obj10)) goto fail;
3692 >    if(!PyArg_ParseTuple(args,(char *)"O|iOOOOOOOOO:BossSession_schedulerQuery",&obj0,&arg2,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7,&obj8,&obj9,&obj10)) goto fail;
3693      if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_BossSession,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
3694      if (obj2) {
3695          {
# Line 3648 | Line 3763 | static PyObject *_wrap_BossSession_query
3763      }
3764      {
3765          try {
3766 <            result = (PyObject *)BossSession_queryTasks(arg1,arg2,(std::string const &)*arg3,(std::string const &)*arg4,(std::string const &)*arg5,arg6,arg7,arg8,arg9,arg10,arg11);
3766 >            BossSession_schedulerQuery(arg1,arg2,(std::string const &)*arg3,(std::string const &)*arg4,(std::string const &)*arg5,arg6,arg7,arg8,arg9,arg10,arg11);
3767              
3768          }catch (const BossSchedFailure & e) {
3769              PyErr_SetString ( SchedulerError, e.what() );
# Line 3658 | Line 3773 | static PyObject *_wrap_BossSession_query
3773              return NULL;
3774          }
3775      }
3776 <    resultobj = result;
3776 >    Py_INCREF(Py_None); resultobj = Py_None;
3777      return resultobj;
3778      fail:
3779      return NULL;
# Line 3672 | Line 3787 | static PyObject * BossSession_swigregist
3787      Py_INCREF(obj);
3788      return Py_BuildValue((char *)"");
3789   }
3790 < static PyObject *_wrap_BossTaskException_key_set(PyObject *self, PyObject *args) {
3790 > static PyObject *_wrap_new_BossTaskException(PyObject *self, PyObject *args) {
3791 >    PyObject *resultobj;
3792 >    char *arg1 ;
3793 >    BossTaskException *result;
3794 >    
3795 >    if(!PyArg_ParseTuple(args,(char *)"s:new_BossTaskException",&arg1)) goto fail;
3796 >    {
3797 >        try {
3798 >            result = (BossTaskException *)new BossTaskException((char const *)arg1);
3799 >            
3800 >        }catch (const BossSchedFailure & e) {
3801 >            PyErr_SetString ( SchedulerError, e.what() );
3802 >            return NULL;
3803 >        }catch (const std::exception& e) {
3804 >            PyErr_SetString ( BossError, e.what() );
3805 >            return NULL;
3806 >        }
3807 >    }
3808 >    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_BossTaskException, 1);
3809 >    return resultobj;
3810 >    fail:
3811 >    return NULL;
3812 > }
3813 >
3814 >
3815 > static PyObject *_wrap_delete_BossTaskException(PyObject *self, PyObject *args) {
3816      PyObject *resultobj;
3817      BossTaskException *arg1 = (BossTaskException *) 0 ;
3678    char *arg2 ;
3818      PyObject * obj0 = 0 ;
3819      
3820 <    if(!PyArg_ParseTuple(args,(char *)"Os:BossTaskException_key_set",&obj0,&arg2)) goto fail;
3820 >    if(!PyArg_ParseTuple(args,(char *)"O:delete_BossTaskException",&obj0)) goto fail;
3821      if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_BossTaskException,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
3822      {
3823 <        if (arg2) {
3824 <            arg1->key = (char const *) (new char[strlen(arg2)+1]);
3825 <            strcpy((char *) arg1->key,arg2);
3826 <        }else {
3827 <            arg1->key = 0;
3823 >        try {
3824 >            delete arg1;
3825 >            
3826 >        }catch (const BossSchedFailure & e) {
3827 >            PyErr_SetString ( SchedulerError, e.what() );
3828 >            return NULL;
3829 >        }catch (const std::exception& e) {
3830 >            PyErr_SetString ( BossError, e.what() );
3831 >            return NULL;
3832          }
3833      }
3834      Py_INCREF(Py_None); resultobj = Py_None;
# Line 3695 | Line 3838 | static PyObject *_wrap_BossTaskException
3838   }
3839  
3840  
3841 < static PyObject *_wrap_BossTaskException_key_get(PyObject *self, PyObject *args) {
3841 > static PyObject * BossTaskException_swigregister(PyObject *self, PyObject *args) {
3842 >    PyObject *obj;
3843 >    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
3844 >    SWIG_TypeClientData(SWIGTYPE_p_BossTaskException, obj);
3845 >    Py_INCREF(obj);
3846 >    return Py_BuildValue((char *)"");
3847 > }
3848 > static PyObject *_wrap_BossTask_job_begin(PyObject *self, PyObject *args) {
3849      PyObject *resultobj;
3850 <    BossTaskException *arg1 = (BossTaskException *) 0 ;
3851 <    char *result;
3850 >    BossTask *arg1 = (BossTask *) 0 ;
3851 >    BossTask::job_iterator result;
3852      PyObject * obj0 = 0 ;
3853      
3854 <    if(!PyArg_ParseTuple(args,(char *)"O:BossTaskException_key_get",&obj0)) goto fail;
3855 <    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_BossTaskException,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
3856 <    result = (char *) ((arg1)->key);
3854 >    if(!PyArg_ParseTuple(args,(char *)"O:BossTask_job_begin",&obj0)) goto fail;
3855 >    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_BossTask,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
3856 >    {
3857 >        try {
3858 >            result = ((BossTask const *)arg1)->job_begin();
3859 >            
3860 >        }catch (const BossSchedFailure & e) {
3861 >            PyErr_SetString ( SchedulerError, e.what() );
3862 >            return NULL;
3863 >        }catch (const std::exception& e) {
3864 >            PyErr_SetString ( BossError, e.what() );
3865 >            return NULL;
3866 >        }
3867 >    }
3868 >    {
3869 >        BossTask::job_iterator * resultptr;
3870 >        resultptr = new BossTask::job_iterator((BossTask::job_iterator &) result);
3871 >        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_BossTask__job_iterator, 1);
3872 >    }
3873 >    return resultobj;
3874 >    fail:
3875 >    return NULL;
3876 > }
3877 >
3878 >
3879 > static PyObject *_wrap_BossTask_job_end(PyObject *self, PyObject *args) {
3880 >    PyObject *resultobj;
3881 >    BossTask *arg1 = (BossTask *) 0 ;
3882 >    BossTask::job_iterator result;
3883 >    PyObject * obj0 = 0 ;
3884      
3885 <    resultobj = result ? PyString_FromString(result) : Py_BuildValue((char*)"");
3885 >    if(!PyArg_ParseTuple(args,(char *)"O:BossTask_job_end",&obj0)) goto fail;
3886 >    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_BossTask,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
3887 >    {
3888 >        try {
3889 >            result = ((BossTask const *)arg1)->job_end();
3890 >            
3891 >        }catch (const BossSchedFailure & e) {
3892 >            PyErr_SetString ( SchedulerError, e.what() );
3893 >            return NULL;
3894 >        }catch (const std::exception& e) {
3895 >            PyErr_SetString ( BossError, e.what() );
3896 >            return NULL;
3897 >        }
3898 >    }
3899 >    {
3900 >        BossTask::job_iterator * resultptr;
3901 >        resultptr = new BossTask::job_iterator((BossTask::job_iterator &) result);
3902 >        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_BossTask__job_iterator, 1);
3903 >    }
3904      return resultobj;
3905      fail:
3906      return NULL;
3907   }
3908  
3909  
3910 < static PyObject *_wrap_new_BossTaskException(PyObject *self, PyObject *args) {
3910 > static PyObject *_wrap_BossTask_jobsInMemory(PyObject *self, PyObject *args) {
3911      PyObject *resultobj;
3912 <    char *arg1 ;
3913 <    BossTaskException *result;
3912 >    BossTask *arg1 = (BossTask *) 0 ;
3913 >    unsigned int result;
3914 >    PyObject * obj0 = 0 ;
3915      
3916 <    if(!PyArg_ParseTuple(args,(char *)"s:new_BossTaskException",&arg1)) goto fail;
3916 >    if(!PyArg_ParseTuple(args,(char *)"O:BossTask_jobsInMemory",&obj0)) goto fail;
3917 >    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_BossTask,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
3918      {
3919          try {
3920 <            result = (BossTaskException *)new BossTaskException((char const *)arg1);
3920 >            result = (unsigned int)((BossTask const *)arg1)->jobsInMemory();
3921              
3922          }catch (const BossSchedFailure & e) {
3923              PyErr_SetString ( SchedulerError, e.what() );
# Line 3730 | Line 3927 | static PyObject *_wrap_new_BossTaskExcep
3927              return NULL;
3928          }
3929      }
3930 <    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_BossTaskException, 1);
3930 >    resultobj = PyInt_FromLong((long)result);
3931      return resultobj;
3932      fail:
3933      return NULL;
3934   }
3935  
3936  
3937 < static PyObject *_wrap_BossTaskException_what(PyObject *self, PyObject *args) {
3937 > static PyObject *_wrap_BossTask_queryJobPrograms(PyObject *self, PyObject *args) {
3938      PyObject *resultobj;
3939 <    BossTaskException *arg1 = (BossTaskException *) 0 ;
3940 <    char *result;
3939 >    BossTask *arg1 = (BossTask *) 0 ;
3940 >    BossJob *arg2 = (BossJob *) 0 ;
3941 >    SwigValueWrapper< std::vector<std::pair<BossProgram,BossProgramExec > > > result;
3942      PyObject * obj0 = 0 ;
3943 +    PyObject * obj1 = 0 ;
3944      
3945 <    if(!PyArg_ParseTuple(args,(char *)"O:BossTaskException_what",&obj0)) goto fail;
3946 <    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_BossTaskException,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
3945 >    if(!PyArg_ParseTuple(args,(char *)"OO:BossTask_queryJobPrograms",&obj0,&obj1)) goto fail;
3946 >    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_BossTask,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
3947 >    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_BossJob,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
3948      {
3949          try {
3950 <            result = (char *)((BossTaskException const *)arg1)->what();
3950 >            result = ((BossTask const *)arg1)->queryJobPrograms((BossJob const *)arg2);
3951              
3952          }catch (const BossSchedFailure & e) {
3953              PyErr_SetString ( SchedulerError, e.what() );
# Line 3757 | Line 3957 | static PyObject *_wrap_BossTaskException
3957              return NULL;
3958          }
3959      }
3960 <    resultobj = result ? PyString_FromString(result) : Py_BuildValue((char*)"");
3960 >    {
3961 >        std::vector<std::pair<BossProgram,BossProgramExec > > * resultptr;
3962 >        resultptr = new std::vector<std::pair<BossProgram,BossProgramExec > >((std::vector<std::pair<BossProgram,BossProgramExec > > &) result);
3963 >        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_std__vectorTstd__pairTBossProgram_BossProgramExec_t_t, 1);
3964 >    }
3965      return resultobj;
3966      fail:
3967      return NULL;
3968   }
3969  
3970  
3971 < static PyObject *_wrap_delete_BossTaskException(PyObject *self, PyObject *args) {
3971 > static PyObject *_wrap_BossTask_queryProgram(PyObject *self, PyObject *args) {
3972      PyObject *resultobj;
3973 <    BossTaskException *arg1 = (BossTaskException *) 0 ;
3973 >    BossTask *arg1 = (BossTask *) 0 ;
3974 >    BossJob *arg2 = (BossJob *) 0 ;
3975 >    std::string *arg3 = 0 ;
3976 >    BossProgram result;
3977 >    std::string temp3 ;
3978      PyObject * obj0 = 0 ;
3979 +    PyObject * obj1 = 0 ;
3980 +    PyObject * obj2 = 0 ;
3981      
3982 <    if(!PyArg_ParseTuple(args,(char *)"O:delete_BossTaskException",&obj0)) goto fail;
3983 <    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_BossTaskException,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
3982 >    if(!PyArg_ParseTuple(args,(char *)"OOO:BossTask_queryProgram",&obj0,&obj1,&obj2)) goto fail;
3983 >    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_BossTask,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
3984 >    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_BossJob,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
3985 >    {
3986 >        if (PyString_Check(obj2)) {
3987 >            temp3 = std::string(PyString_AsString(obj2));
3988 >            arg3 = &temp3;
3989 >        }else {
3990 >            SWIG_exception(SWIG_TypeError, "string expected");
3991 >        }
3992 >    }
3993      {
3994          try {
3995 <            delete arg1;
3995 >            result = ((BossTask const *)arg1)->queryProgram((BossJob const *)arg2,(std::string const &)*arg3);
3996              
3997          }catch (const BossSchedFailure & e) {
3998              PyErr_SetString ( SchedulerError, e.what() );
# Line 3783 | Line 4002 | static PyObject *_wrap_delete_BossTaskEx
4002              return NULL;
4003          }
4004      }
4005 <    Py_INCREF(Py_None); resultobj = Py_None;
4005 >    {
4006 >        BossProgram * resultptr;
4007 >        resultptr = new BossProgram((BossProgram &) result);
4008 >        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_BossProgram, 1);
4009 >    }
4010      return resultobj;
4011      fail:
4012      return NULL;
4013   }
4014  
4015  
4016 < static PyObject * BossTaskException_swigregister(PyObject *self, PyObject *args) {
4017 <    PyObject *obj;
4018 <    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
4019 <    SWIG_TypeClientData(SWIGTYPE_p_BossTaskException, obj);
4020 <    Py_INCREF(obj);
4021 <    return Py_BuildValue((char *)"");
4016 > static PyObject *_wrap_BossTask_queryProgramExec(PyObject *self, PyObject *args) {
4017 >    PyObject *resultobj;
4018 >    BossTask *arg1 = (BossTask *) 0 ;
4019 >    BossJob *arg2 = (BossJob *) 0 ;
4020 >    std::string *arg3 = 0 ;
4021 >    BossProgramExec result;
4022 >    std::string temp3 ;
4023 >    PyObject * obj0 = 0 ;
4024 >    PyObject * obj1 = 0 ;
4025 >    PyObject * obj2 = 0 ;
4026 >    
4027 >    if(!PyArg_ParseTuple(args,(char *)"OOO:BossTask_queryProgramExec",&obj0,&obj1,&obj2)) goto fail;
4028 >    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_BossTask,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
4029 >    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_BossJob,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
4030 >    {
4031 >        if (PyString_Check(obj2)) {
4032 >            temp3 = std::string(PyString_AsString(obj2));
4033 >            arg3 = &temp3;
4034 >        }else {
4035 >            SWIG_exception(SWIG_TypeError, "string expected");
4036 >        }
4037 >    }
4038 >    {
4039 >        try {
4040 >            result = ((BossTask const *)arg1)->queryProgramExec((BossJob const *)arg2,(std::string const &)*arg3);
4041 >            
4042 >        }catch (const BossSchedFailure & e) {
4043 >            PyErr_SetString ( SchedulerError, e.what() );
4044 >            return NULL;
4045 >        }catch (const std::exception& e) {
4046 >            PyErr_SetString ( BossError, e.what() );
4047 >            return NULL;
4048 >        }
4049 >    }
4050 >    {
4051 >        BossProgramExec * resultptr;
4052 >        resultptr = new BossProgramExec((BossProgramExec &) result);
4053 >        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_BossProgramExec, 1);
4054 >    }
4055 >    return resultobj;
4056 >    fail:
4057 >    return NULL;
4058   }
4059 +
4060 +
4061   static PyObject *_wrap_new_BossTask__SWIG_0(PyObject *self, PyObject *args) {
4062      PyObject *resultobj;
4063      BossDatabase *arg1 = (BossDatabase *) 0 ;
# Line 4047 | Line 4308 | static PyObject *_wrap_BossTask_name(PyO
4308   }
4309  
4310  
4311 < static PyObject *_wrap_BossTask_taskMap(PyObject *self, PyObject *args) {
4311 > static PyObject *_wrap_BossTask_chain(PyObject *self, PyObject *args) {
4312      PyObject *resultobj;
4313      BossTask *arg1 = (BossTask *) 0 ;
4314 <    std::map<std::string,std::string > result;
4314 >    std::string *arg2 = 0 ;
4315 >    BossChain result;
4316 >    std::string temp2 ;
4317      PyObject * obj0 = 0 ;
4318 +    PyObject * obj1 = 0 ;
4319      
4320 <    if(!PyArg_ParseTuple(args,(char *)"O:BossTask_taskMap",&obj0)) goto fail;
4320 >    if(!PyArg_ParseTuple(args,(char *)"OO:BossTask_chain",&obj0,&obj1)) goto fail;
4321      if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_BossTask,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
4322      {
4323 <        try {
4324 <            result = ((BossTask const *)arg1)->taskMap();
4325 <            
4326 <        }catch (const BossSchedFailure & e) {
4327 <            PyErr_SetString ( SchedulerError, e.what() );
4064 <            return NULL;
4065 <        }catch (const std::exception& e) {
4066 <            PyErr_SetString ( BossError, e.what() );
4067 <            return NULL;
4323 >        if (PyString_Check(obj1)) {
4324 >            temp2 = std::string(PyString_AsString(obj1));
4325 >            arg2 = &temp2;
4326 >        }else {
4327 >            SWIG_exception(SWIG_TypeError, "string expected");
4328          }
4329      }
4330      {
4071        resultobj = PyDict_New();
4072        for (std::map<std::string,std::string >::iterator i=(&result)->begin(); i!=(&result)->end(); ++i) {
4073            PyDict_SetItem(resultobj,
4074            SwigString_FromString(i->first),
4075            SwigString_FromString(i->second));
4076        }
4077    }
4078    return resultobj;
4079    fail:
4080    return NULL;
4081 }
4082
4083
4084 static PyObject *_wrap_BossTask_job_begin(PyObject *self, PyObject *args) {
4085    PyObject *resultobj;
4086    BossTask *arg1 = (BossTask *) 0 ;
4087    BossTask::job_iterator result;
4088    PyObject * obj0 = 0 ;
4089    
4090    if(!PyArg_ParseTuple(args,(char *)"O:BossTask_job_begin",&obj0)) goto fail;
4091    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_BossTask,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
4092    {
4331          try {
4332 <            result = ((BossTask const *)arg1)->job_begin();
4332 >            result = ((BossTask const *)arg1)->chain((std::string const &)*arg2);
4333              
4334          }catch (const BossSchedFailure & e) {
4335              PyErr_SetString ( SchedulerError, e.what() );
# Line 4102 | Line 4340 | static PyObject *_wrap_BossTask_job_begi
4340          }
4341      }
4342      {
4343 <        BossTask::job_iterator * resultptr;
4344 <        resultptr = new BossTask::job_iterator((BossTask::job_iterator &) result);
4345 <        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_BossTask__job_iterator, 1);
4343 >        BossChain * resultptr;
4344 >        resultptr = new BossChain((BossChain &) result);
4345 >        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_BossChain, 1);
4346      }
4347      return resultobj;
4348      fail:
# Line 4112 | Line 4350 | static PyObject *_wrap_BossTask_job_begi
4350   }
4351  
4352  
4353 < static PyObject *_wrap_BossTask_job_end(PyObject *self, PyObject *args) {
4353 > static PyObject *_wrap_BossTask_taskMap(PyObject *self, PyObject *args) {
4354      PyObject *resultobj;
4355      BossTask *arg1 = (BossTask *) 0 ;
4356 <    BossTask::job_iterator result;
4356 >    std::map<std::string,std::string > result;
4357      PyObject * obj0 = 0 ;
4358      
4359 <    if(!PyArg_ParseTuple(args,(char *)"O:BossTask_job_end",&obj0)) goto fail;
4359 >    if(!PyArg_ParseTuple(args,(char *)"O:BossTask_taskMap",&obj0)) goto fail;
4360      if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_BossTask,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
4361      {
4362          try {
4363 <            result = ((BossTask const *)arg1)->job_end();
4363 >            result = ((BossTask const *)arg1)->taskMap();
4364              
4365          }catch (const BossSchedFailure & e) {
4366              PyErr_SetString ( SchedulerError, e.what() );
# Line 4133 | Line 4371 | static PyObject *_wrap_BossTask_job_end(
4371          }
4372      }
4373      {
4374 <        BossTask::job_iterator * resultptr;
4375 <        resultptr = new BossTask::job_iterator((BossTask::job_iterator &) result);
4376 <        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_BossTask__job_iterator, 1);
4374 >        resultobj = PyDict_New();
4375 >        for (std::map<std::string,std::string >::iterator i=(&result)->begin(); i!=(&result)->end(); ++i) {
4376 >            PyDict_SetItem(resultobj,
4377 >            SwigString_FromString(i->first),
4378 >            SwigString_FromString(i->second));
4379 >        }
4380      }
4381      return resultobj;
4382      fail:
# Line 4358 | Line 4599 | static PyObject *_wrap_BossTask_programs
4599   }
4600  
4601  
4361 static PyObject *_wrap_BossTask_queryJobPrograms(PyObject *self, PyObject *args) {
4362    PyObject *resultobj;
4363    BossTask *arg1 = (BossTask *) 0 ;
4364    BossJob *arg2 = (BossJob *) 0 ;
4365    SwigValueWrapper< std::vector<std::pair<BossProgram,BossProgramExec > > > result;
4366    PyObject * obj0 = 0 ;
4367    PyObject * obj1 = 0 ;
4368    
4369    if(!PyArg_ParseTuple(args,(char *)"OO:BossTask_queryJobPrograms",&obj0,&obj1)) goto fail;
4370    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_BossTask,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
4371    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_BossJob,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
4372    {
4373        try {
4374            result = ((BossTask const *)arg1)->queryJobPrograms((BossJob const *)arg2);
4375            
4376        }catch (const BossSchedFailure & e) {
4377            PyErr_SetString ( SchedulerError, e.what() );
4378            return NULL;
4379        }catch (const std::exception& e) {
4380            PyErr_SetString ( BossError, e.what() );
4381            return NULL;
4382        }
4383    }
4384    {
4385        std::vector<std::pair<BossProgram,BossProgramExec > > * resultptr;
4386        resultptr = new std::vector<std::pair<BossProgram,BossProgramExec > >((std::vector<std::pair<BossProgram,BossProgramExec > > &) result);
4387        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_std__vectorTstd__pairTBossProgram_BossProgramExec_t_t, 1);
4388    }
4389    return resultobj;
4390    fail:
4391    return NULL;
4392 }
4393
4394
4602   static PyObject *_wrap_BossTask_declare__SWIG_0(PyObject *self, PyObject *args) {
4603      PyObject *resultobj;
4604      BossTask *arg1 = (BossTask *) 0 ;
# Line 4905 | Line 5112 | static PyObject *_wrap_BossTask_getOutpu
5112   }
5113  
5114  
5115 + static PyObject *_wrap_BossTask_loadByName(PyObject *self, PyObject *args) {
5116 +    PyObject *resultobj;
5117 +    BossTask *arg1 = (BossTask *) 0 ;
5118 +    std::string *arg2 = 0 ;
5119 +    int result;
5120 +    std::string temp2 ;
5121 +    PyObject * obj0 = 0 ;
5122 +    PyObject * obj1 = 0 ;
5123 +    
5124 +    if(!PyArg_ParseTuple(args,(char *)"OO:BossTask_loadByName",&obj0,&obj1)) goto fail;
5125 +    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_BossTask,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
5126 +    {
5127 +        if (PyString_Check(obj1)) {
5128 +            temp2 = std::string(PyString_AsString(obj1));
5129 +            arg2 = &temp2;
5130 +        }else {
5131 +            SWIG_exception(SWIG_TypeError, "string expected");
5132 +        }
5133 +    }
5134 +    {
5135 +        try {
5136 +            result = (int)(arg1)->loadByName((std::string const &)*arg2);
5137 +            
5138 +        }catch (const BossSchedFailure & e) {
5139 +            PyErr_SetString ( SchedulerError, e.what() );
5140 +            return NULL;
5141 +        }catch (const std::exception& e) {
5142 +            PyErr_SetString ( BossError, e.what() );
5143 +            return NULL;
5144 +        }
5145 +    }
5146 +    resultobj = PyInt_FromLong((long)result);
5147 +    return resultobj;
5148 +    fail:
5149 +    return NULL;
5150 + }
5151 +
5152 +
5153   static PyObject *_wrap_BossTask_load(PyObject *self, PyObject *args) {
5154      PyObject *resultobj;
5155      BossTask *arg1 = (BossTask *) 0 ;
# Line 5001 | Line 5246 | static PyObject *_wrap_BossTask_load(PyO
5246   }
5247  
5248  
5249 + static PyObject *_wrap_BossTask_schedulerQuery(PyObject *self, PyObject *args) {
5250 +    PyObject *resultobj;
5251 +    BossTask *arg1 = (BossTask *) 0 ;
5252 +    int arg2 = (int) SCHEDULED ;
5253 +    std::string const &arg3_defvalue = "all" ;
5254 +    std::string *arg3 = (std::string *) &arg3_defvalue ;
5255 +    std::string const &arg4_defvalue = "" ;
5256 +    std::string *arg4 = (std::string *) &arg4_defvalue ;
5257 +    std::string arg5 = (std::string) "" ;
5258 +    std::string arg6 = (std::string) "" ;
5259 +    std::string arg7 = (std::string) "" ;
5260 +    std::string arg8 = (std::string) "" ;
5261 +    unsigned int arg9 = (unsigned int) 0 ;
5262 +    int result;
5263 +    std::string temp3 ;
5264 +    std::string temp4 ;
5265 +    PyObject * obj0 = 0 ;
5266 +    PyObject * obj2 = 0 ;
5267 +    PyObject * obj3 = 0 ;
5268 +    PyObject * obj4 = 0 ;
5269 +    PyObject * obj5 = 0 ;
5270 +    PyObject * obj6 = 0 ;
5271 +    PyObject * obj7 = 0 ;
5272 +    PyObject * obj8 = 0 ;
5273 +    
5274 +    if(!PyArg_ParseTuple(args,(char *)"O|iOOOOOOO:BossTask_schedulerQuery",&obj0,&arg2,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7,&obj8)) goto fail;
5275 +    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_BossTask,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
5276 +    if (obj2) {
5277 +        {
5278 +            if (PyString_Check(obj2)) {
5279 +                temp3 = std::string(PyString_AsString(obj2));
5280 +                arg3 = &temp3;
5281 +            }else {
5282 +                SWIG_exception(SWIG_TypeError, "string expected");
5283 +            }
5284 +        }
5285 +    }
5286 +    if (obj3) {
5287 +        {
5288 +            if (PyString_Check(obj3)) {
5289 +                temp4 = std::string(PyString_AsString(obj3));
5290 +                arg4 = &temp4;
5291 +            }else {
5292 +                SWIG_exception(SWIG_TypeError, "string expected");
5293 +            }
5294 +        }
5295 +    }
5296 +    if (obj4) {
5297 +        {
5298 +            if (PyString_Check(obj4))
5299 +            arg5 = std::string(PyString_AsString(obj4));
5300 +            else
5301 +            SWIG_exception(SWIG_TypeError, "string expected");
5302 +        }
5303 +    }
5304 +    if (obj5) {
5305 +        {
5306 +            if (PyString_Check(obj5))
5307 +            arg6 = std::string(PyString_AsString(obj5));
5308 +            else
5309 +            SWIG_exception(SWIG_TypeError, "string expected");
5310 +        }
5311 +    }
5312 +    if (obj6) {
5313 +        {
5314 +            if (PyString_Check(obj6))
5315 +            arg7 = std::string(PyString_AsString(obj6));
5316 +            else
5317 +            SWIG_exception(SWIG_TypeError, "string expected");
5318 +        }
5319 +    }
5320 +    if (obj7) {
5321 +        {
5322 +            if (PyString_Check(obj7))
5323 +            arg8 = std::string(PyString_AsString(obj7));
5324 +            else
5325 +            SWIG_exception(SWIG_TypeError, "string expected");
5326 +        }
5327 +    }
5328 +    if (obj8) {
5329 +        arg9 = (unsigned int) PyInt_AsLong(obj8);
5330 +        if (PyErr_Occurred()) SWIG_fail;
5331 +    }
5332 +    {
5333 +        try {
5334 +            result = (int)(arg1)->schedulerQuery(arg2,(std::string const &)*arg3,(std::string const &)*arg4,arg5,arg6,arg7,arg8,arg9);
5335 +            
5336 +        }catch (const BossSchedFailure & e) {
5337 +            PyErr_SetString ( SchedulerError, e.what() );
5338 +            return NULL;
5339 +        }catch (const std::exception& e) {
5340 +            PyErr_SetString ( BossError, e.what() );
5341 +            return NULL;
5342 +        }
5343 +    }
5344 +    resultobj = PyInt_FromLong((long)result);
5345 +    return resultobj;
5346 +    fail:
5347 +    return NULL;
5348 + }
5349 +
5350 +
5351   static PyObject *_wrap_BossTask_query(PyObject *self, PyObject *args) {
5352      PyObject *resultobj;
5353      BossTask *arg1 = (BossTask *) 0 ;
# Line 5203 | Line 5550 | static PyObject *_wrap_BossTask_appendTo
5550      BossTask *arg1 = (BossTask *) 0 ;
5551      PyObject *arg2 = (PyObject *) 0 ;
5552      BossAttributeContainer *arg3 = 0 ;
5206    PyObject *result;
5553      PyObject * obj0 = 0 ;
5554      PyObject * obj1 = 0 ;
5555      PyObject * obj2 = 0 ;
# Line 5217 | Line 5563 | static PyObject *_wrap_BossTask_appendTo
5563      }
5564      {
5565          try {
5566 <            result = (PyObject *)BossTask_appendToPyDict((BossTask const *)arg1,arg2,(BossAttributeContainer const &)*arg3);
5566 >            BossTask_appendToPyDict((BossTask const *)arg1,arg2,(BossAttributeContainer const &)*arg3);
5567              
5568          }catch (const BossSchedFailure & e) {
5569              PyErr_SetString ( SchedulerError, e.what() );
# Line 5227 | Line 5573 | static PyObject *_wrap_BossTask_appendTo
5573              return NULL;
5574          }
5575      }
5576 <    resultobj = result;
5576 >    Py_INCREF(Py_None); resultobj = Py_None;
5577      return resultobj;
5578      fail:
5579      return NULL;
# Line 5237 | Line 5583 | static PyObject *_wrap_BossTask_appendTo
5583   static PyObject *_wrap_BossTask_jobDict(PyObject *self, PyObject *args) {
5584      PyObject *resultobj;
5585      BossTask *arg1 = (BossTask *) 0 ;
5586 <    std::vector<BossJob * >::const_iterator *arg2 = 0 ;
5587 <    PyObject *result;
5586 >    BossJob *arg2 = (BossJob *) 0 ;
5587 >    PyObject *arg3 = (PyObject *) 0 ;
5588      PyObject * obj0 = 0 ;
5589      PyObject * obj1 = 0 ;
5590 +    PyObject * obj2 = 0 ;
5591      
5592 <    if(!PyArg_ParseTuple(args,(char *)"OO:BossTask_jobDict",&obj0,&obj1)) goto fail;
5592 >    if(!PyArg_ParseTuple(args,(char *)"OOO:BossTask_jobDict",&obj0,&obj1,&obj2)) goto fail;
5593      if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_BossTask,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
5594 <    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_std__vectorTBossJob_p_t__const_iterator,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
5595 <    if (arg2 == NULL) {
5249 <        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail;
5250 <    }
5594 >    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_BossJob,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
5595 >    arg3 = obj2;
5596      {
5597          try {
5598 <            result = (PyObject *)BossTask_jobDict((BossTask const *)arg1,*arg2);
5598 >            BossTask_jobDict((BossTask const *)arg1,(BossJob const *)arg2,arg3);
5599              
5600          }catch (const BossSchedFailure & e) {
5601              PyErr_SetString ( SchedulerError, e.what() );
# Line 5260 | Line 5605 | static PyObject *_wrap_BossTask_jobDict(
5605              return NULL;
5606          }
5607      }
5608 <    resultobj = result;
5608 >    Py_INCREF(Py_None); resultobj = Py_None;
5609      return resultobj;
5610      fail:
5611      return NULL;
# Line 5294 | Line 5639 | static PyObject *_wrap_BossTask_jobsDict
5639   }
5640  
5641  
5642 + static PyObject *_wrap_BossTask_job(PyObject *self, PyObject *args) {
5643 +    PyObject *resultobj;
5644 +    BossTask *arg1 = (BossTask *) 0 ;
5645 +    std::string *arg2 = 0 ;
5646 +    PyObject *result;
5647 +    std::string temp2 ;
5648 +    PyObject * obj0 = 0 ;
5649 +    PyObject * obj1 = 0 ;
5650 +    
5651 +    if(!PyArg_ParseTuple(args,(char *)"OO:BossTask_job",&obj0,&obj1)) goto fail;
5652 +    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_BossTask,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
5653 +    {
5654 +        if (PyString_Check(obj1)) {
5655 +            temp2 = std::string(PyString_AsString(obj1));
5656 +            arg2 = &temp2;
5657 +        }else {
5658 +            SWIG_exception(SWIG_TypeError, "string expected");
5659 +        }
5660 +    }
5661 +    {
5662 +        try {
5663 +            result = (PyObject *)BossTask_job(arg1,(std::string const &)*arg2);
5664 +            
5665 +        }catch (const BossSchedFailure & e) {
5666 +            PyErr_SetString ( SchedulerError, e.what() );
5667 +            return NULL;
5668 +        }catch (const std::exception& e) {
5669 +            PyErr_SetString ( BossError, e.what() );
5670 +            return NULL;
5671 +        }
5672 +    }
5673 +    resultobj = result;
5674 +    return resultobj;
5675 +    fail:
5676 +    return NULL;
5677 + }
5678 +
5679 +
5680 + static PyObject *_wrap_BossTask_Chain(PyObject *self, PyObject *args) {
5681 +    PyObject *resultobj;
5682 +    BossTask *arg1 = (BossTask *) 0 ;
5683 +    std::string *arg2 = 0 ;
5684 +    PyObject *result;
5685 +    std::string temp2 ;
5686 +    PyObject * obj0 = 0 ;
5687 +    PyObject * obj1 = 0 ;
5688 +    
5689 +    if(!PyArg_ParseTuple(args,(char *)"OO:BossTask_Chain",&obj0,&obj1)) goto fail;
5690 +    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_BossTask,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
5691 +    {
5692 +        if (PyString_Check(obj1)) {
5693 +            temp2 = std::string(PyString_AsString(obj1));
5694 +            arg2 = &temp2;
5695 +        }else {
5696 +            SWIG_exception(SWIG_TypeError, "string expected");
5697 +        }
5698 +    }
5699 +    {
5700 +        try {
5701 +            result = (PyObject *)BossTask_Chain(arg1,(std::string const &)*arg2);
5702 +            
5703 +        }catch (const BossSchedFailure & e) {
5704 +            PyErr_SetString ( SchedulerError, e.what() );
5705 +            return NULL;
5706 +        }catch (const std::exception& e) {
5707 +            PyErr_SetString ( BossError, e.what() );
5708 +            return NULL;
5709 +        }
5710 +    }
5711 +    resultobj = result;
5712 +    return resultobj;
5713 +    fail:
5714 +    return NULL;
5715 + }
5716 +
5717 +
5718 + static PyObject *_wrap_BossTask_jobStates(PyObject *self, PyObject *args) {
5719 +    PyObject *resultobj;
5720 +    BossTask *arg1 = (BossTask *) 0 ;
5721 +    PyObject *result;
5722 +    PyObject * obj0 = 0 ;
5723 +    
5724 +    if(!PyArg_ParseTuple(args,(char *)"O:BossTask_jobStates",&obj0)) goto fail;
5725 +    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_BossTask,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
5726 +    {
5727 +        try {
5728 +            result = (PyObject *)BossTask_jobStates(arg1);
5729 +            
5730 +        }catch (const BossSchedFailure & e) {
5731 +            PyErr_SetString ( SchedulerError, e.what() );
5732 +            return NULL;
5733 +        }catch (const std::exception& e) {
5734 +            PyErr_SetString ( BossError, e.what() );
5735 +            return NULL;
5736 +        }
5737 +    }
5738 +    resultobj = result;
5739 +    return resultobj;
5740 +    fail:
5741 +    return NULL;
5742 + }
5743 +
5744 +
5745 + static PyObject *_wrap_BossTask_joblist(PyObject *self, PyObject *args) {
5746 +    PyObject *resultobj;
5747 +    BossTask *arg1 = (BossTask *) 0 ;
5748 +    PyObject *result;
5749 +    PyObject * obj0 = 0 ;
5750 +    
5751 +    if(!PyArg_ParseTuple(args,(char *)"O:BossTask_joblist",&obj0)) goto fail;
5752 +    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_BossTask,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
5753 +    {
5754 +        try {
5755 +            result = (PyObject *)BossTask_joblist(arg1);
5756 +            
5757 +        }catch (const BossSchedFailure & e) {
5758 +            PyErr_SetString ( SchedulerError, e.what() );
5759 +            return NULL;
5760 +        }catch (const std::exception& e) {
5761 +            PyErr_SetString ( BossError, e.what() );
5762 +            return NULL;
5763 +        }
5764 +    }
5765 +    resultobj = result;
5766 +    return resultobj;
5767 +    fail:
5768 +    return NULL;
5769 + }
5770 +
5771 +
5772 + static PyObject *_wrap_BossTask_jobStatistic(PyObject *self, PyObject *args) {
5773 +    PyObject *resultobj;
5774 +    BossTask *arg1 = (BossTask *) 0 ;
5775 +    PyObject *result;
5776 +    PyObject * obj0 = 0 ;
5777 +    
5778 +    if(!PyArg_ParseTuple(args,(char *)"O:BossTask_jobStatistic",&obj0)) goto fail;
5779 +    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_BossTask,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
5780 +    {
5781 +        try {
5782 +            result = (PyObject *)BossTask_jobStatistic(arg1);
5783 +            
5784 +        }catch (const BossSchedFailure & e) {
5785 +            PyErr_SetString ( SchedulerError, e.what() );
5786 +            return NULL;
5787 +        }catch (const std::exception& e) {
5788 +            PyErr_SetString ( BossError, e.what() );
5789 +            return NULL;
5790 +        }
5791 +    }
5792 +    resultobj = result;
5793 +    return resultobj;
5794 +    fail:
5795 +    return NULL;
5796 + }
5797 +
5798 +
5799   static PyObject *_wrap_BossTask_progDict(PyObject *self, PyObject *args) {
5800      PyObject *resultobj;
5801      BossTask *arg1 = (BossTask *) 0 ;
# Line 5365 | Line 5867 | static PyObject *_wrap_BossTask_jobProgr
5867   }
5868  
5869  
5870 + static PyObject *_wrap_BossTask_program(PyObject *self, PyObject *args) {
5871 +    PyObject *resultobj;
5872 +    BossTask *arg1 = (BossTask *) 0 ;
5873 +    std::string *arg2 = 0 ;
5874 +    std::string *arg3 = 0 ;
5875 +    PyObject *result;
5876 +    std::string temp2 ;
5877 +    std::string temp3 ;
5878 +    PyObject * obj0 = 0 ;
5879 +    PyObject * obj1 = 0 ;
5880 +    PyObject * obj2 = 0 ;
5881 +    
5882 +    if(!PyArg_ParseTuple(args,(char *)"OOO:BossTask_program",&obj0,&obj1,&obj2)) goto fail;
5883 +    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_BossTask,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
5884 +    {
5885 +        if (PyString_Check(obj1)) {
5886 +            temp2 = std::string(PyString_AsString(obj1));
5887 +            arg2 = &temp2;
5888 +        }else {
5889 +            SWIG_exception(SWIG_TypeError, "string expected");
5890 +        }
5891 +    }
5892 +    {
5893 +        if (PyString_Check(obj2)) {
5894 +            temp3 = std::string(PyString_AsString(obj2));
5895 +            arg3 = &temp3;
5896 +        }else {
5897 +            SWIG_exception(SWIG_TypeError, "string expected");
5898 +        }
5899 +    }
5900 +    {
5901 +        try {
5902 +            result = (PyObject *)BossTask_program(arg1,(std::string const &)*arg2,(std::string const &)*arg3);
5903 +            
5904 +        }catch (const BossSchedFailure & e) {
5905 +            PyErr_SetString ( SchedulerError, e.what() );
5906 +            return NULL;
5907 +        }catch (const std::exception& e) {
5908 +            PyErr_SetString ( BossError, e.what() );
5909 +            return NULL;
5910 +        }
5911 +    }
5912 +    resultobj = result;
5913 +    return resultobj;
5914 +    fail:
5915 +    return NULL;
5916 + }
5917 +
5918 +
5919 + static PyObject *_wrap_BossTask_programExec(PyObject *self, PyObject *args) {
5920 +    PyObject *resultobj;
5921 +    BossTask *arg1 = (BossTask *) 0 ;
5922 +    std::string *arg2 = 0 ;
5923 +    std::string *arg3 = 0 ;
5924 +    PyObject *result;
5925 +    std::string temp2 ;
5926 +    std::string temp3 ;
5927 +    PyObject * obj0 = 0 ;
5928 +    PyObject * obj1 = 0 ;
5929 +    PyObject * obj2 = 0 ;
5930 +    
5931 +    if(!PyArg_ParseTuple(args,(char *)"OOO:BossTask_programExec",&obj0,&obj1,&obj2)) goto fail;
5932 +    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_BossTask,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
5933 +    {
5934 +        if (PyString_Check(obj1)) {
5935 +            temp2 = std::string(PyString_AsString(obj1));
5936 +            arg2 = &temp2;
5937 +        }else {
5938 +            SWIG_exception(SWIG_TypeError, "string expected");
5939 +        }
5940 +    }
5941 +    {
5942 +        if (PyString_Check(obj2)) {
5943 +            temp3 = std::string(PyString_AsString(obj2));
5944 +            arg3 = &temp3;
5945 +        }else {
5946 +            SWIG_exception(SWIG_TypeError, "string expected");
5947 +        }
5948 +    }
5949 +    {
5950 +        try {
5951 +            result = (PyObject *)BossTask_programExec(arg1,(std::string const &)*arg2,(std::string const &)*arg3);
5952 +            
5953 +        }catch (const BossSchedFailure & e) {
5954 +            PyErr_SetString ( SchedulerError, e.what() );
5955 +            return NULL;
5956 +        }catch (const std::exception& e) {
5957 +            PyErr_SetString ( BossError, e.what() );
5958 +            return NULL;
5959 +        }
5960 +    }
5961 +    resultobj = result;
5962 +    return resultobj;
5963 +    fail:
5964 +    return NULL;
5965 + }
5966 +
5967 +
5968 + static PyObject *_wrap_BossTask_specific(PyObject *self, PyObject *args) {
5969 +    PyObject *resultobj;
5970 +    BossTask *arg1 = (BossTask *) 0 ;
5971 +    std::string *arg2 = 0 ;
5972 +    std::string *arg3 = 0 ;
5973 +    PyObject *result;
5974 +    std::string temp2 ;
5975 +    std::string temp3 ;
5976 +    PyObject * obj0 = 0 ;
5977 +    PyObject * obj1 = 0 ;
5978 +    PyObject * obj2 = 0 ;
5979 +    
5980 +    if(!PyArg_ParseTuple(args,(char *)"OOO:BossTask_specific",&obj0,&obj1,&obj2)) goto fail;
5981 +    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_BossTask,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
5982 +    {
5983 +        if (PyString_Check(obj1)) {
5984 +            temp2 = std::string(PyString_AsString(obj1));
5985 +            arg2 = &temp2;
5986 +        }else {
5987 +            SWIG_exception(SWIG_TypeError, "string expected");
5988 +        }
5989 +    }
5990 +    {
5991 +        if (PyString_Check(obj2)) {
5992 +            temp3 = std::string(PyString_AsString(obj2));
5993 +            arg3 = &temp3;
5994 +        }else {
5995 +            SWIG_exception(SWIG_TypeError, "string expected");
5996 +        }
5997 +    }
5998 +    {
5999 +        try {
6000 +            result = (PyObject *)BossTask_specific(arg1,(std::string const &)*arg2,(std::string const &)*arg3);
6001 +            
6002 +        }catch (const BossSchedFailure & e) {
6003 +            PyErr_SetString ( SchedulerError, e.what() );
6004 +            return NULL;
6005 +        }catch (const std::exception& e) {
6006 +            PyErr_SetString ( BossError, e.what() );
6007 +            return NULL;
6008 +        }
6009 +    }
6010 +    resultobj = result;
6011 +    return resultobj;
6012 +    fail:
6013 +    return NULL;
6014 + }
6015 +
6016 +
6017   static PyObject * BossTask_swigregister(PyObject *self, PyObject *args) {
6018      PyObject *obj;
6019      if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
# Line 6327 | Line 6976 | static PyMethodDef SwigMethods[] = {
6976           { (char *)"delete_BossSession", _wrap_delete_BossSession, METH_VARARGS },
6977           { (char *)"BossSession_resetDB", _wrap_BossSession_resetDB, METH_VARARGS },
6978           { (char *)"BossSession_clear", _wrap_BossSession_clear, METH_VARARGS },
6979 +         { (char *)"BossSession_task_begin", _wrap_BossSession_task_begin, METH_VARARGS },
6980 +         { (char *)"BossSession_task_end", _wrap_BossSession_task_end, METH_VARARGS },
6981 +         { (char *)"BossSession_tasksInMemory", _wrap_BossSession_tasksInMemory, METH_VARARGS },
6982 +         { (char *)"BossSession_locate", _wrap_BossSession_locate, METH_VARARGS },
6983           { (char *)"BossSession_makeBossTask", _wrap_BossSession_makeBossTask, METH_VARARGS },
6984           { (char *)"BossSession_destroyBossTask", _wrap_BossSession_destroyBossTask, METH_VARARGS },
6985           { (char *)"BossSession_showCHTools", _wrap_BossSession_showCHTools, METH_VARARGS },
# Line 6342 | Line 6995 | static PyMethodDef SwigMethods[] = {
6995           { (char *)"BossSession_showConfigs", _wrap_BossSession_showConfigs, METH_VARARGS },
6996           { (char *)"BossSession_RTupdate", _wrap_BossSession_RTupdate, METH_VARARGS },
6997           { (char *)"BossSession_listMatch", _wrap_BossSession_listMatch, METH_VARARGS },
6345         { (char *)"BossSession_schedulerQuery", _wrap_BossSession_schedulerQuery, METH_VARARGS },
6346         { (char *)"BossSession_selectTasks", _wrap_BossSession_selectTasks, METH_VARARGS },
6998           { (char *)"BossSession_query", _wrap_BossSession_query, METH_VARARGS },
6999 +         { (char *)"BossSession_getTasksByName", _wrap_BossSession_getTasksByName, METH_VARARGS },
7000 +         { (char *)"BossSession_getTasksByTaskInfo", _wrap_BossSession_getTasksByTaskInfo, METH_VARARGS },
7001 +         { (char *)"BossSession_getTasksByJobName", _wrap_BossSession_getTasksByJobName, METH_VARARGS },
7002           { (char *)"BossSession_show", _wrap_BossSession_show, METH_VARARGS },
7003           { (char *)"BossSession_CHTools", _wrap_BossSession_CHTools, METH_VARARGS },
7004           { (char *)"BossSession_ProgramTypes", _wrap_BossSession_ProgramTypes, METH_VARARGS },
7005           { (char *)"BossSession_RTMons", _wrap_BossSession_RTMons, METH_VARARGS },
7006           { (char *)"BossSession_schedulers", _wrap_BossSession_schedulers, METH_VARARGS },
7007           { (char *)"BossSession_schedListMatch", _wrap_BossSession_schedListMatch, METH_VARARGS },
7008 <         { (char *)"BossSession_queryTasks", _wrap_BossSession_queryTasks, METH_VARARGS },
7008 >         { (char *)"BossSession_schedulerQuery", _wrap_BossSession_schedulerQuery, METH_VARARGS },
7009           { (char *)"BossSession_swigregister", BossSession_swigregister, METH_VARARGS },
6356         { (char *)"BossTaskException_key_set", _wrap_BossTaskException_key_set, METH_VARARGS },
6357         { (char *)"BossTaskException_key_get", _wrap_BossTaskException_key_get, METH_VARARGS },
7010           { (char *)"new_BossTaskException", _wrap_new_BossTaskException, METH_VARARGS },
6359         { (char *)"BossTaskException_what", _wrap_BossTaskException_what, METH_VARARGS },
7011           { (char *)"delete_BossTaskException", _wrap_delete_BossTaskException, METH_VARARGS },
7012           { (char *)"BossTaskException_swigregister", BossTaskException_swigregister, METH_VARARGS },
7013 +         { (char *)"BossTask_job_begin", _wrap_BossTask_job_begin, METH_VARARGS },
7014 +         { (char *)"BossTask_job_end", _wrap_BossTask_job_end, METH_VARARGS },
7015 +         { (char *)"BossTask_jobsInMemory", _wrap_BossTask_jobsInMemory, METH_VARARGS },
7016 +         { (char *)"BossTask_queryJobPrograms", _wrap_BossTask_queryJobPrograms, METH_VARARGS },
7017 +         { (char *)"BossTask_queryProgram", _wrap_BossTask_queryProgram, METH_VARARGS },
7018 +         { (char *)"BossTask_queryProgramExec", _wrap_BossTask_queryProgramExec, METH_VARARGS },
7019           { (char *)"delete_BossTask", _wrap_delete_BossTask, METH_VARARGS },
7020           { (char *)"new_BossTask", _wrap_new_BossTask, METH_VARARGS },
7021           { (char *)"BossTask_id", _wrap_BossTask_id, METH_VARARGS },
7022           { (char *)"BossTask_name", _wrap_BossTask_name, METH_VARARGS },
7023 +         { (char *)"BossTask_chain", _wrap_BossTask_chain, METH_VARARGS },
7024           { (char *)"BossTask_taskMap", _wrap_BossTask_taskMap, METH_VARARGS },
6367         { (char *)"BossTask_job_begin", _wrap_BossTask_job_begin, METH_VARARGS },
6368         { (char *)"BossTask_job_end", _wrap_BossTask_job_end, METH_VARARGS },
7025           { (char *)"BossTask_jobsMap", _wrap_BossTask_jobsMap, METH_VARARGS },
7026           { (char *)"BossTask_jobMap", _wrap_BossTask_jobMap, METH_VARARGS },
7027           { (char *)"BossTask_programsMap", _wrap_BossTask_programsMap, METH_VARARGS },
6372         { (char *)"BossTask_queryJobPrograms", _wrap_BossTask_queryJobPrograms, METH_VARARGS },
7028           { (char *)"BossTask_declare", _wrap_BossTask_declare, METH_VARARGS },
7029           { (char *)"BossTask_remove", _wrap_BossTask_remove, METH_VARARGS },
7030           { (char *)"BossTask_archive", _wrap_BossTask_archive, METH_VARARGS },
# Line 6377 | Line 7032 | static PyMethodDef SwigMethods[] = {
7032           { (char *)"BossTask_reSubmit", _wrap_BossTask_reSubmit, METH_VARARGS },
7033           { (char *)"BossTask_kill", _wrap_BossTask_kill, METH_VARARGS },
7034           { (char *)"BossTask_getOutput", _wrap_BossTask_getOutput, METH_VARARGS },
7035 +         { (char *)"BossTask_loadByName", _wrap_BossTask_loadByName, METH_VARARGS },
7036           { (char *)"BossTask_load", _wrap_BossTask_load, METH_VARARGS },
7037 +         { (char *)"BossTask_schedulerQuery", _wrap_BossTask_schedulerQuery, METH_VARARGS },
7038           { (char *)"BossTask_query", _wrap_BossTask_query, METH_VARARGS },
7039           { (char *)"BossTask_query_out", _wrap_BossTask_query_out, METH_VARARGS },
7040           { (char *)"BossTask_clear", _wrap_BossTask_clear, METH_VARARGS },
7041           { (char *)"BossTask_appendToPyDict", _wrap_BossTask_appendToPyDict, METH_VARARGS },
7042           { (char *)"BossTask_jobDict", _wrap_BossTask_jobDict, METH_VARARGS },
7043           { (char *)"BossTask_jobsDict", _wrap_BossTask_jobsDict, METH_VARARGS },
7044 +         { (char *)"BossTask_job", _wrap_BossTask_job, METH_VARARGS },
7045 +         { (char *)"BossTask_Chain", _wrap_BossTask_Chain, METH_VARARGS },
7046 +         { (char *)"BossTask_jobStates", _wrap_BossTask_jobStates, METH_VARARGS },
7047 +         { (char *)"BossTask_joblist", _wrap_BossTask_joblist, METH_VARARGS },
7048 +         { (char *)"BossTask_jobStatistic", _wrap_BossTask_jobStatistic, METH_VARARGS },
7049           { (char *)"BossTask_progDict", _wrap_BossTask_progDict, METH_VARARGS },
7050           { (char *)"BossTask_jobPrograms", _wrap_BossTask_jobPrograms, METH_VARARGS },
7051 +         { (char *)"BossTask_program", _wrap_BossTask_program, METH_VARARGS },
7052 +         { (char *)"BossTask_programExec", _wrap_BossTask_programExec, METH_VARARGS },
7053 +         { (char *)"BossTask_specific", _wrap_BossTask_specific, METH_VARARGS },
7054           { (char *)"BossTask_swigregister", BossTask_swigregister, METH_VARARGS },
7055           { (char *)"new_BossAdministratorSession", _wrap_new_BossAdministratorSession, METH_VARARGS },
7056           { (char *)"delete_BossAdministratorSession", _wrap_delete_BossAdministratorSession, METH_VARARGS },
# Line 6410 | Line 7075 | static PyMethodDef SwigMethods[] = {
7075  
7076   /* -------- TYPE CONVERSION AND EQUIVALENCE RULES (BEGIN) -------- */
7077  
6413 static swig_type_info _swigt__p_XMLDoc[] = {{"_p_XMLDoc", 0, "XMLDoc *", 0},{"_p_XMLDoc"},{0}};
7078   static swig_type_info _swigt__p_std__vectorTstd__pairTBossProgram_BossProgramExec_t_t[] = {{"_p_std__vectorTstd__pairTBossProgram_BossProgramExec_t_t", 0, "std::vector<std::pair<BossProgram,BossProgramExec > > *", 0},{"_p_std__vectorTstd__pairTBossProgram_BossProgramExec_t_t"},{0}};
7079 + static swig_type_info _swigt__p_XMLDoc[] = {{"_p_XMLDoc", 0, "XMLDoc *", 0},{"_p_XMLDoc"},{0}};
7080   static swig_type_info _swigt__p_std__vectorTstd__pairTBossProgram_BossProgramExec_t_t__const_iterator[] = {{"_p_std__vectorTstd__pairTBossProgram_BossProgramExec_t_t__const_iterator", 0, "std::vector<std::pair<BossProgram,BossProgramExec > >::const_iterator *", 0},{"_p_std__vectorTstd__pairTBossProgram_BossProgramExec_t_t__const_iterator"},{0}};
7081 < static swig_type_info _swigt__p_std__vectorTBossTask_p_t[] = {{"_p_std__vectorTBossTask_p_t", 0, "std::vector<BossTask * > *", 0},{"_p_std__vectorTBossTask_p_t"},{0}};
7081 > static swig_type_info _swigt__p_BossProgramExec[] = {{"_p_BossProgramExec", 0, "BossProgramExec *", 0},{"_p_BossProgramExec"},{0}};
7082 > static swig_type_info _swigt__p_BossChain[] = {{"_p_BossChain", 0, "BossChain *", 0},{"_p_BossChain"},{0}};
7083   static swig_type_info _swigt__p_std__mapTstd__string_std__mapTstd__string_std__string_t_t[] = {{"_p_std__mapTstd__string_std__mapTstd__string_std__string_t_t", 0, "std::map<std::string,std::map<std::string,std::string > > *", 0},{"_p_std__mapTstd__string_std__mapTstd__string_std__string_t_t"},{0}};
6418 static swig_type_info _swigt__p_std__ostream[] = {{"_p_std__ostream", 0, "std::ostream *", 0},{"_p_std__ostream"},{0}};
7084   static swig_type_info _swigt__p_BossTask[] = {{"_p_BossTask", 0, "BossTask *", 0},{"_p_BossTask"},{0}};
7085   static swig_type_info _swigt__p_BossTaskException[] = {{"_p_BossTaskException", 0, "BossTaskException *", 0},{"_p_BossTaskException"},{0}};
7086 + static swig_type_info _swigt__p_std__ostream[] = {{"_p_std__ostream", 0, "std::ostream *", 0},{"_p_std__ostream"},{0}};
7087 + static swig_type_info _swigt__p_BossProgram[] = {{"_p_BossProgram", 0, "BossProgram *", 0},{"_p_BossProgram"},{0}};
7088   static swig_type_info _swigt__p_printOption[] = {{"_p_printOption", 0, "printOption const &", 0},{"_p_printOption"},{0}};
7089   static swig_type_info _swigt__p_BossAttributeContainer[] = {{"_p_BossAttributeContainer", 0, "BossAttributeContainer *", 0},{"_p_BossAttributeContainer"},{0}};
7090   static swig_type_info _swigt__p_BossJob[] = {{"_p_BossJob", 0, "BossJob *", 0},{"_p_BossJob"},{0}};
# Line 6426 | Line 7093 | static swig_type_info _swigt__p_BossSess
7093   static swig_type_info _swigt__p_std__vectorTstd__string_t[] = {{"_p_std__vectorTstd__string_t", 0, "std::vector<std::string > *", 0},{"_p_std__vectorTstd__string_t"},{0}};
7094   static swig_type_info _swigt__p_std__mapTstd__string_std__string_t[] = {{"_p_std__mapTstd__string_std__string_t", 0, "std::map<std::string,std::string > *", 0},{"_p_std__mapTstd__string_std__string_t"},{0}};
7095   static swig_type_info _swigt__p_BossAdministratorSession[] = {{"_p_BossAdministratorSession", 0, "BossAdministratorSession *", 0},{"_p_BossAdministratorSession"},{0}};
6429 static swig_type_info _swigt__p_std__vectorTBossJob_p_t__const_iterator[] = {{"_p_std__vectorTBossJob_p_t__const_iterator", 0, "std::vector<BossJob * >::const_iterator *", 0},{"_p_std__vectorTBossJob_p_t__const_iterator"},{"_p_BossTask__job_iterator"},{0}};
7096   static swig_type_info _swigt__p_BossTask__job_iterator[] = {{"_p_BossTask__job_iterator", 0, "BossTask::job_iterator const *", 0},{"_p_BossTask__job_iterator"},{"_p_std__vectorTBossJob_p_t__const_iterator"},{0}};
7097 + static swig_type_info _swigt__p_BossSession__task_iterator[] = {{"_p_BossSession__task_iterator", 0, "BossSession::task_iterator const *", 0},{"_p_BossSession__task_iterator"},{0}};
7098 + static swig_type_info _swigt__p_std__vectorTBossJob_p_t__const_iterator[] = {{"_p_std__vectorTBossJob_p_t__const_iterator", 0, "std::vector<BossJob * >::const_iterator *", 0},{"_p_std__vectorTBossJob_p_t__const_iterator"},{"_p_BossTask__job_iterator"},{0}};
7099   static swig_type_info _swigt__p_jobStates[] = {{"_p_jobStates", 0, "jobStates const &", 0},{"_p_jobStates"},{0}};
7100  
7101   static swig_type_info *swig_types_initial[] = {
6434 _swigt__p_XMLDoc,
7102   _swigt__p_std__vectorTstd__pairTBossProgram_BossProgramExec_t_t,
7103 + _swigt__p_XMLDoc,
7104   _swigt__p_std__vectorTstd__pairTBossProgram_BossProgramExec_t_t__const_iterator,
7105 < _swigt__p_std__vectorTBossTask_p_t,
7105 > _swigt__p_BossProgramExec,
7106 > _swigt__p_BossChain,
7107   _swigt__p_std__mapTstd__string_std__mapTstd__string_std__string_t_t,
6439 _swigt__p_std__ostream,
7108   _swigt__p_BossTask,
7109   _swigt__p_BossTaskException,
7110 + _swigt__p_std__ostream,
7111 + _swigt__p_BossProgram,
7112   _swigt__p_printOption,
7113   _swigt__p_BossAttributeContainer,
7114   _swigt__p_BossJob,
# Line 6447 | Line 7117 | _swigt__p_BossSession,
7117   _swigt__p_std__vectorTstd__string_t,
7118   _swigt__p_std__mapTstd__string_std__string_t,
7119   _swigt__p_BossAdministratorSession,
6450 _swigt__p_std__vectorTBossJob_p_t__const_iterator,
7120   _swigt__p_BossTask__job_iterator,
7121 + _swigt__p_BossSession__task_iterator,
7122 + _swigt__p_std__vectorTBossJob_p_t__const_iterator,
7123   _swigt__p_jobStates,
7124   0
7125   };

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines