6 #include "TaAfsUsrMgr.h"
7 #include "mch_delete.h"
11 * DEFINITIONS ________________________________________________________________
17 * PROTOTYPES _________________________________________________________________
21 BOOL CALLBACK Machine_Delete_DlgProc (HWND hDlg, UINT msg, WPARAM wp, LPARAM lp);
22 void Machine_Delete_OnInitDialog (HWND hDlg);
23 void Machine_Delete_OnDestroy (HWND hDlg);
24 void Machine_Delete_OnCheck (HWND hDlg);
25 void Machine_Delete_OnOK (HWND hDlg);
29 * ROUTINES ___________________________________________________________________
33 void Machine_ShowDelete (LPASIDLIST pMachineList)
35 ModalDialogParam (IDD_MACHINE_DELETE, g.hMain, Machine_Delete_DlgProc, (LPARAM)pMachineList);
39 BOOL CALLBACK Machine_Delete_DlgProc (HWND hDlg, UINT msg, WPARAM wp, LPARAM lp)
41 if (AfsAppLib_HandleHelp (IDD_MACHINE_DELETE, hDlg, msg, wp, lp))
47 SetWindowLong (hDlg, DWL_USER, lp);
48 Machine_Delete_OnInitDialog (hDlg);
52 Machine_Delete_OnDestroy (hDlg);
59 Machine_Delete_OnOK (hDlg);
60 EndDialog (hDlg, IDOK);
64 EndDialog (hDlg, IDCANCEL);
74 void Machine_Delete_OnInitDialog (HWND hDlg)
76 LPASIDLIST pMachineList = (LPASIDLIST)GetWindowLong (hDlg, DWL_USER);
78 // Fix the title of the dialog
80 if (pMachineList->cEntries == 1)
83 TCHAR szName[ cchNAME ];
84 asc_ObjectNameGet_Fast (g.idClient, g.idCell, pMachineList->aEntries[0].idObject, szName, &status);
86 TCHAR szText[ cchRESOURCE ];
87 GetDlgItemText (hDlg, IDC_DELETE_TITLE, szText, cchRESOURCE);
89 LPTSTR pszText = FormatString (szText, TEXT("%s"), szName);
90 SetDlgItemText (hDlg, IDC_DELETE_TITLE, pszText);
95 LPTSTR pszNames = CreateNameList (pMachineList);
97 LPTSTR pszText = FormatString (IDS_MACHINE_DELETE_MULTIPLE, TEXT("%s"), pszNames);
98 SetDlgItemText (hDlg, IDC_DELETE_TITLE, pszText);
101 FreeString (pszNames);
106 void Machine_Delete_OnDestroy (HWND hDlg)
108 LPASIDLIST pMachineList = (LPASIDLIST)GetWindowLong (hDlg, DWL_USER);
109 asc_AsidListFree (&pMachineList);
113 void Machine_Delete_OnOK (HWND hDlg)
115 LPASIDLIST pMachineList = (LPASIDLIST)GetWindowLong (hDlg, DWL_USER);
117 // Start a background task to do all the work.
119 LPUSER_DELETE_PARAMS pTask = New (USER_DELETE_PARAMS);
120 memset (pTask, 0x00, sizeof(USER_DELETE_PARAMS));
121 pTask->fDeleteKAS = FALSE;
122 pTask->fDeletePTS = TRUE;
123 asc_AsidListCopy (&pTask->pUserList, &pMachineList);
124 StartTask (taskUSER_DELETE, NULL, pTask);