Exemple #1
0
CJobObject::CJobObject() :
   m_dwJobId(0),
   m_JobTerminated(FALSE),
   m_Processes(),
   m_dwBuffer(NULL),
   m_pCompletionPort(NULL)
{
   CMutex::CEnter MutexEnter(m_Mutex);

   CreateNewJob();
   AssignCompletionPort();
}
Exemple #2
0
/*---------------------------------------------------------------------------/
/ Touch
/---------------------------------------------------------------------------*/
void DisplayJobMgrPage(const TOUCH_INFO* TS)
{
    // 초기화
    if(gJobMgrPageInit == DISABLE)
    {
        // 플래그 초기화
        gJobMgrMenu = JM_NONE;
        gEditableJob = DISABLE;
        gJobMgrPageInit = ENABLE;
        gIsJobNotPlaySound = TRUE;

        // 화면 갱신
        DrawImage(PT_ZERO, PT_ZERO, NM_BG_JOB_MGR);
        DisplayFuncButtons();

        // JobList 갱신
        RefreashJobList(gJobPageNo);

        // Joblist Display
        DisplayJobList();

        // Job Select
        if(gPreJobMgrMenu == JM_NONE)
            gJobMgrMenu = gxFileCount > 0 ? JM_SEL1 : JM_NONE;
        else
            gJobMgrMenu = gPreJobMgrMenu;
        gPreJobMgrMenu = JM_NONE;
    }

    if(TS->Touched != FALSE)
    {
        gIsJobNotPlaySound = FALSE;
        gJobMgrMenu = AnalyzeJobMgrTouchArea(TS);

        DrawImage(PT_BT_HOME_X, PT_BT_HOME_Y, gJobMgrMenu != JM_HOME ? NM_BT_HOME : NM_BT_HOME_S);
        DrawImage(PT_UP, PT_CON_BUTTONS_Y, gJobMgrMenu != JM_UP ? NM_BT_LIST_UP : NM_BT_LIST_UP_S);
        DrawImage(PT_DOWN, PT_CON_BUTTONS_Y, gJobMgrMenu != JM_DOWN ? NM_BT_LIST_DOWN : NM_BT_LIST_DOWN_S);
        DrawImage(PT_LOAD, PT_CON_BUTTONS_Y, gJobMgrMenu != JM_LOAD ? NM_BT_LOAD : NM_BT_LOAD_S);

        if(gxLogined == ENABLE)
        {
            DrawImage(PT_NEW, PT_CON_BUTTONS_Y, gJobMgrMenu != JM_NEW ? NM_BT_NEW : NM_BT_NEW_S);
            DrawImage(PT_COPY, PT_CON_BUTTONS_Y, gJobMgrMenu != JM_COPY ? NM_BT_COPY : NM_BT_COPY_S);
            DrawImage(PT_EDIT, PT_CON_BUTTONS_Y, gJobMgrMenu != JM_EDIT ? NM_BT_EDIT : NM_BT_EDIT_S);
            DrawImage(PT_DELETE, PT_CON_BUTTONS_Y, gJobMgrMenu != JM_DEL ? NM_BT_DELETE : NM_BT_DELETE_S);
        }
    }
    else
    {
        if(gJobMgrMenu != JM_NONE)
        {
            // Touch Beep play
            if(gIsJobNotPlaySound != TRUE)	PlayBeep();

            switch(gJobMgrMenu)
            {
            case JM_HOME:
                DrawImage(PT_BT_HOME_X, PT_BT_HOME_Y, NM_BT_HOME);

                InitJobList(&gJobList);

                gJobPageNo = 1;
                gPreJobMgrMenu = gJobMgrMenu = JM_NONE;
                gJobMgrPageInit = DISABLE;
                gxCurDisplay = PAGE_HOME;
                break;
            case JM_UP:
                DrawImage(PT_UP, PT_CON_BUTTONS_Y, NM_BT_LIST_UP);
                if(ChangeJobPosition(JM_UP))
                    return;
                break;
            case JM_DOWN:
                DrawImage(PT_DOWN, PT_CON_BUTTONS_Y, NM_BT_LIST_DOWN);
                if(ChangeJobPosition(JM_DOWN))
                    return;
                break;
            case JM_NEW:
                if(gxLogined != DISABLE)
                {
                    DrawImage(PT_NEW, PT_CON_BUTTONS_Y, NM_BT_NEW);

                    if(CreateNewJob() == TRUE)
                    {
                        // Editable Step set
                        SetEditableStepMgr( (gPreJobMgrMenu - (u16)JM_SEL1) + ((gJobPageNo - 1) * PAGE_JOB_COUNT) );

                        // ¸®½ºÆ® ÃʱâÈ­
                        InitJobList(&gJobList);

                        // Step Manager ·Î À̵¿
                        gEditableJob = DISABLE;
                        gJobMgrPageInit = DISABLE;
                        gxPreDisplay = gxCurDisplay;
                        gxCurDisplay = PAGE_STEP_MGR;
                    }
                }
                break;
            case JM_COPY:
                if(gxLogined != DISABLE)
                {
                    DrawImage(PT_COPY, PT_CON_BUTTONS_Y, NM_BT_COPY);

                    if(CopySelectJob(gPreJobMgrMenu) == TRUE)
                        return;
                }
                break;
            case JM_LOAD:
                DrawImage(PT_LOAD, PT_CON_BUTTONS_Y, NM_BT_LOAD);

                if(gPreJobMgrMenu >= (u16)JM_SEL1 && gPreJobMgrMenu <= (u16)JM_SEL12)
                {
                    u16 stepCount = (SearchJobNode(&gJobList, gPreJobMgrMenu - (u16)JM_SEL1))->JobInfo.Steps;

                    if(stepCount > 0)
                    {
                        // Init JobManager Job List
                        InitJobList(&gJobList);

                        // Load Job
                        //LoadJob((gJobPageNo - 1) * PAGE_JOB_COUNT + (gPreJobMgrMenu - (u16)JM_SEL1) + 1);
                        // Input State 를 체크 하여 자동으로 해당 Job 을 읽는 기능을 해제. TRUE = 해제 / FALSE = 활성
                        gxOperState.IsManualJobOpen = TRUE;
                        gxOperState.IsAutoJobLoad = TRUE;
                        gxOperState.LastedJob = (gJobPageNo - 1) * PAGE_JOB_COUNT + (gPreJobMgrMenu - (u16)JM_SEL1) + 1;

                        gEditableJob = DISABLE;
                        gJobMgrPageInit = DISABLE;
                        gxPreDisplay = PAGE_HOME;
                        gxCurDisplay = PAGE_OPERATION;
                    }
                }
                break;
            case JM_EDIT:
                if(gPreJobMgrMenu >= (u16)JM_SEL1 && gPreJobMgrMenu <= (u16)JM_SEL12 && gxLogined != DISABLE)
                {
                    DrawImage(PT_EDIT, PT_CON_BUTTONS_Y, NM_BT_EDIT);

                    // Editable Step set
                    SetEditableStepMgr((gPreJobMgrMenu - (u16)JM_SEL1) + ((gJobPageNo - 1) *  PAGE_JOB_COUNT) );

                    // ¸®½ºÆ® ÃʱâÈ­
                    InitJobList(&gJobList);

                    // Step Manager ·Î À̵¿
                    gEditableJob = DISABLE;
                    gJobMgrPageInit = DISABLE;
                    gxPreDisplay = gxCurDisplay;
                    gxCurDisplay = PAGE_STEP_MGR;
                }
                break;
            case JM_DEL:
                if(gPreJobMgrMenu >= (u16)JM_SEL1 && gPreJobMgrMenu <= (u16)JM_SEL12 && gxLogined != DISABLE)
                {
                    DrawImage(PT_DELETE, PT_CON_BUTTONS_Y, NM_BT_DELETE);

                    SetRequestMessage("");
                    gxPrePreDisplay = gxPreDisplay;
                    gxPreDisplay = gxCurDisplay;
                    gxCurDisplay = PAGE_DIALOG;
                }
                break;
            default:
                DisplaySelection(gJobMgrMenu);
                break;
            }
            gJobMgrMenu = JM_NONE;
        }

        {   // Dialog box
            if(gxIsRequest == ENABLE)
            {
                // Is Delete job
                if(gxIsResult == ENABLE)
                    DeleteSelectJob(gPreJobMgrMenu);

                gxIsRequest = DISABLE;
                gxIsResult = DISABLE;
                gxPreDisplay = gxPrePreDisplay;
            }
        }
    }
}