_omaTask* getTaskByType( OMA_TASK_TYPE taskType, INT64 taskID ) { _omaTask *pTask = NULL ; switch ( taskType ) { case OMA_TASK_ADD_HOST : pTask = SDB_OSS_NEW _omaAddHostTask( taskID ) ; break ; case OMA_TASK_ADD_HOST_SUB : pTask = SDB_OSS_NEW _omaAddHostSubTask( taskID ) ; break ; case OMA_TASK_INSTALL_DB : pTask = SDB_OSS_NEW _omaInstDBBusTask( taskID ) ; break ; case OMA_TASK_INSTALL_DB_SUB : pTask = SDB_OSS_NEW _omaInstDBBusSubTask( taskID ) ; break ; case OMA_TASK_REMOVE_DB : pTask= SDB_OSS_NEW _omaRemoveDBBusTask( taskID ) ; break ; default : PD_LOG_MSG( PDERROR, "Unknow task type[%d]", taskType ) ; break ; } if ( NULL == pTask ) { PD_LOG_MSG( PDERROR, "Failed to malloc for task with the type[%d]", taskType ) ; } return pTask ; }
_omaTask* getTaskByType( OMA_TASK_TYPE taskType, INT64 taskID ) { _omaTask *pTask = NULL ; switch ( taskType ) { // pTask will be free in _omagentJob::~_omagentJob() // when job is destroy // add host case OMA_TASK_ADD_HOST : pTask = SDB_OSS_NEW _omaAddHostTask( taskID ) ; break ; case OMA_TASK_ADD_HOST_SUB : pTask = SDB_OSS_NEW _omaAddHostSubTask( taskID ) ; break ; // remove host case OMA_TASK_REMOVE_HOST : pTask = SDB_OSS_NEW _omaRemoveHostTask( taskID ) ; break ; // install db business case OMA_TASK_INSTALL_DB : pTask = SDB_OSS_NEW _omaInstDBBusTask( taskID ) ; break ; case OMA_TASK_INSTALL_DB_SUB : pTask = SDB_OSS_NEW _omaInstDBBusSubTask( taskID ) ; break ; // remove db business case OMA_TASK_REMOVE_DB : pTask = SDB_OSS_NEW _omaRemoveDBBusTask( taskID ) ; break ; // add znode business case OMA_TASK_INSTALL_ZN : pTask = SDB_OSS_NEW _omaInstZNBusTask( taskID ) ; break ; case OMA_TASK_INSTALL_ZN_SUB : pTask = SDB_OSS_NEW _omaInstZNBusSubTask( taskID ) ; break ; // remove znode business case OMA_TASK_REMOVE_ZN : pTask = SDB_OSS_NEW _omaRemoveZNBusTask( taskID ) ; break ; // ssql exec case OMA_TASK_SSQL_EXEC : pTask = SDB_OSS_NEW _omaSsqlExecTask( taskID ) ; break; default : PD_LOG_MSG( PDERROR, "Unknow task type[%d]", taskType ) ; break ; } if ( NULL == pTask ) { PD_LOG_MSG( PDERROR, "Failed to malloc for task with the type[%d]", taskType ) ; } return pTask ; }