2 * Copyright 2000, International Business Machines Corporation and others.
5 * This software has been released under the terms of the IBM Public
6 * License. For details, see the LICENSE file in the top-level source
7 * directory or online at http://www.openafs.org/dl/license10.html
11 #include <afs/param.h>
16 #include "set_rename.h"
20 * PROTOTYPES _________________________________________________________________
24 BOOL CALLBACK Filesets_Rename_DlgProc (HWND hDlg, UINT msg, WPARAM wp, LPARAM lp);
25 void Filesets_Rename_OnInitDialog (HWND hDlg, LPSET_RENAME_APPLY_PARAMS psrp);
26 void Filesets_Rename_EnableOK (HWND hDlg, LPSET_RENAME_APPLY_PARAMS psrp);
30 * ROUTINES ___________________________________________________________________
34 void Filesets_ShowRename (LPIDENT lpiFileset)
36 LPSET_RENAME_INIT_PARAMS lpp = New (SET_RENAME_INIT_PARAMS);
37 memset (lpp, 0x00, sizeof(SET_RENAME_INIT_PARAMS));
38 lpp->lpiReq = lpiFileset;
40 StartTask (taskSET_RENAME_INIT, g.hMain, lpp);
44 void Filesets_OnEndTask_ShowRename (LPTASKPACKET ptp)
46 LPSET_RENAME_INIT_PARAMS lpp = (LPSET_RENAME_INIT_PARAMS)(ptp->lpUser);
48 TCHAR szSvrName[ cchNAME ];
49 TCHAR szAggName[ cchNAME ];
50 TCHAR szSetName[ cchNAME ];
51 lpp->lpiReq->GetServerName (szSvrName);
52 lpp->lpiReq->GetAggregateName (szAggName);
53 lpp->lpiReq->GetFilesetName (szSetName);
57 ErrorDialog (ptp->status, IDS_ERROR_REFRESH_FILESET_STATUS, TEXT("%s%s%s"), szSvrName, szAggName, szSetName);
59 else if (!lpp->lpiRW) // couldn't find RW fileset entry?
61 ErrorDialog (ptp->status, IDS_ERROR_NOT_REPLICATED, TEXT("%s"), szSetName);
65 LPSET_RENAME_APPLY_PARAMS psrp = New (SET_RENAME_APPLY_PARAMS);
66 memset (psrp, 0x00, sizeof(SET_RENAME_APPLY_PARAMS));
67 psrp->lpiFileset = lpp->lpiRW;
69 int rc = ModalDialogParam (IDD_SET_RENAME, GetActiveWindow(), (DLGPROC)Filesets_Rename_DlgProc, (LPARAM)psrp);
76 StartTask (taskSET_RENAME_APPLY, NULL, psrp);
84 BOOL CALLBACK Filesets_Rename_DlgProc (HWND hDlg, UINT msg, WPARAM wp, LPARAM lp)
86 if (AfsAppLib_HandleHelp (IDD_SET_RENAME, hDlg, msg, wp, lp))
89 static LPSET_RENAME_APPLY_PARAMS psrp = NULL;
90 if (msg == WM_INITDIALOG)
91 psrp = (LPSET_RENAME_APPLY_PARAMS)lp;
98 Filesets_Rename_OnInitDialog (hDlg, psrp);
106 EndDialog (hDlg, LOWORD(wp));
110 Filesets_Rename_EnableOK (hDlg, psrp);
114 WinHelp (hDlg, cszHELPFILENAME, HELP_CONTEXT, IDH_SVRMGR_RENAMEFILESET_OVERVIEW);
129 void Filesets_Rename_OnInitDialog (HWND hDlg, LPSET_RENAME_APPLY_PARAMS psrp)
131 TCHAR szServer[ cchNAME ];
132 TCHAR szAggregate[ cchNAME ];
133 TCHAR szFileset[ cchNAME ];
135 psrp->lpiFileset->GetServerName (szServer);
136 psrp->lpiFileset->GetAggregateName (szAggregate);
137 psrp->lpiFileset->GetFilesetName (szFileset);
139 TCHAR szOld[ cchRESOURCE ];
141 GetDlgItemText (hDlg, IDC_RENSET_DESC, szOld, cchRESOURCE);
142 LPTSTR pszNew = FormatString (szOld, TEXT("%s%s%s"), szServer, szAggregate, szFileset);
143 SetDlgItemText (hDlg, IDC_RENSET_DESC, pszNew);
146 SetDlgItemText (hDlg, IDC_RENSET_OLD, szFileset);
147 SetDlgItemText (hDlg, IDC_RENSET_NEW, szFileset);
149 PostMessage (hDlg, WM_NEXTDLGCTL, (WPARAM)GetDlgItem(hDlg,IDC_RENSET_NEW), TRUE);
151 Filesets_Rename_EnableOK (hDlg, psrp);
155 void Filesets_Rename_EnableOK (HWND hDlg, LPSET_RENAME_APPLY_PARAMS psrp)
157 TCHAR szOld[ cchNAME ];
159 GetDlgItemText (hDlg, IDC_RENSET_OLD, szOld, cchNAME);
160 GetDlgItemText (hDlg, IDC_RENSET_NEW, psrp->szNewName, cchNAME);
164 if (!psrp->szNewName[0])
168 else if (!lstrcmpi (szOld, psrp->szNewName))
173 EnableWindow (GetDlgItem (hDlg, IDOK), fEnable);