CJobObject::CJobObject() : m_dwJobId(0), m_JobTerminated(FALSE), m_Processes(), m_dwBuffer(NULL), m_pCompletionPort(NULL) { CMutex::CEnter MutexEnter(m_Mutex); CreateNewJob(); AssignCompletionPort(); }
/*---------------------------------------------------------------------------/ / 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; } } } }