Пример #1
0
 _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 ;
 }
Пример #2
0
 _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 ;
 }