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
14 #include <afs/param.h>
19 #include "set_release.h"
20 #include "propcache.h"
24 * DEFINITIONS ________________________________________________________________
30 * PROTOTYPES _________________________________________________________________
34 BOOL CALLBACK Filesets_Release_DlgProc (HWND hDlg, UINT msg, WPARAM wp, LPARAM lp);
35 void Filesets_Release_OnInitDialog (HWND hDlg, LPIDENT lpi);
36 void Filesets_Release_OnOK (HWND hDlg, LPIDENT lpi);
40 * ROUTINES ___________________________________________________________________
44 void Filesets_Release (LPIDENT lpi)
47 if ((hCurrent = PropCache_Search (pcSET_RELEASE, lpi)) != NULL)
53 HWND hDlg = ModelessDialogParam (IDD_SET_RELEASE, NULL, (DLGPROC)Filesets_Release_DlgProc, (LPARAM)lpi);
54 ShowWindow (hDlg, SW_SHOW);
59 BOOL CALLBACK Filesets_Release_DlgProc (HWND hDlg, UINT msg, WPARAM wp, LPARAM lp)
61 if (AfsAppLib_HandleHelp (IDD_SET_RELEASE, hDlg, msg, wp, lp))
64 if (msg == WM_INITDIALOG)
65 SetWindowLongPtr (hDlg, DWLP_USER, lp);
68 if ((lpi = (LPIDENT)GetWindowLongPtr (hDlg, DWLP_USER)) != NULL)
73 PropCache_Add (pcSET_RELEASE, lpi, hDlg);
74 Filesets_Release_OnInitDialog (hDlg, lpi);
81 Filesets_Release_OnOK (hDlg, lpi);
91 PropCache_Delete (pcSET_RELEASE, lpi);
100 void Filesets_Release_OnInitDialog (HWND hDlg, LPIDENT lpi)
102 TCHAR szServer[ cchNAME ];
103 TCHAR szAggregate[ cchNAME ];
104 TCHAR szFileset[ cchNAME ];
105 lpi->GetServerName (szServer);
106 lpi->GetAggregateName (szAggregate);
107 lpi->GetFilesetName (szFileset);
109 TCHAR szOld[ cchRESOURCE ];
110 GetDlgItemText (hDlg, IDC_RELSET_DESC, szOld, cchRESOURCE);
112 LPTSTR pszText = FormatString (szOld, TEXT("%s%s%s"), szServer, szAggregate, szFileset);
113 SetDlgItemText (hDlg, IDC_RELSET_DESC, pszText);
114 FreeString (pszText);
116 CheckDlgButton (hDlg, IDC_RELSET_NORMAL, TRUE);
117 CheckDlgButton (hDlg, IDC_RELSET_FORCE, FALSE);
121 void Filesets_Release_OnOK (HWND hDlg, LPIDENT lpi)
123 LPSET_RELEASE_PARAMS lpp = New (SET_RELEASE_PARAMS);
124 memset (lpp, 0x00, sizeof(SET_RELEASE_PARAMS));
126 lpp->fForce = IsDlgButtonChecked (hDlg, IDC_RELSET_FORCE);
127 StartTask (taskSET_RELEASE, NULL, lpp);