Windows: remove trailing whitespace
[openafs.git] / src / WINNT / afssvrmgr / set_release.cpp
1 /*
2  * Copyright 2000, International Business Machines Corporation and others.
3  * All Rights Reserved.
4  *
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
8  */
9
10 #include <winsock2.h>
11 #include <ws2tcpip.h>
12
13 extern "C" {
14 #include <afs/param.h>
15 #include <afs/stds.h>
16 }
17
18 #include "svrmgr.h"
19 #include "set_release.h"
20 #include "propcache.h"
21
22
23 /*
24  * DEFINITIONS ________________________________________________________________
25  *
26  */
27
28
29 /*
30  * PROTOTYPES _________________________________________________________________
31  *
32  */
33
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);
37
38
39 /*
40  * ROUTINES ___________________________________________________________________
41  *
42  */
43
44 void Filesets_Release (LPIDENT lpi)
45 {
46    HWND hCurrent;
47    if ((hCurrent = PropCache_Search (pcSET_RELEASE, lpi)) != NULL)
48       {
49       SetFocus (hCurrent);
50       }
51    else
52       {
53       HWND hDlg = ModelessDialogParam (IDD_SET_RELEASE, NULL, (DLGPROC)Filesets_Release_DlgProc, (LPARAM)lpi);
54       ShowWindow (hDlg, SW_SHOW);
55       }
56 }
57
58
59 BOOL CALLBACK Filesets_Release_DlgProc (HWND hDlg, UINT msg, WPARAM wp, LPARAM lp)
60 {
61    if (AfsAppLib_HandleHelp (IDD_SET_RELEASE, hDlg, msg, wp, lp))
62       return TRUE;
63
64    if (msg == WM_INITDIALOG)
65       SetWindowLongPtr (hDlg, DWLP_USER, lp);
66
67    LPIDENT lpi;
68    if ((lpi = (LPIDENT)GetWindowLongPtr (hDlg, DWLP_USER)) != NULL)
69       {
70       switch (msg)
71          {
72          case WM_INITDIALOG:
73             PropCache_Add (pcSET_RELEASE, lpi, hDlg);
74             Filesets_Release_OnInitDialog (hDlg, lpi);
75             break;
76
77          case WM_COMMAND:
78             switch (LOWORD(wp))
79                {
80                case IDOK:
81                   Filesets_Release_OnOK (hDlg, lpi);
82                   DestroyWindow (hDlg);
83                   break;
84                case IDCANCEL:
85                   DestroyWindow (hDlg);
86                   break;
87                }
88             break;
89
90          case WM_DESTROY:
91             PropCache_Delete (pcSET_RELEASE, lpi);
92             break;
93          }
94       }
95
96    return FALSE;
97 }
98
99
100 void Filesets_Release_OnInitDialog (HWND hDlg, LPIDENT lpi)
101 {
102    TCHAR szServer[ cchNAME ];
103    TCHAR szAggregate[ cchNAME ];
104    TCHAR szFileset[ cchNAME ];
105    lpi->GetServerName (szServer);
106    lpi->GetAggregateName (szAggregate);
107    lpi->GetFilesetName (szFileset);
108
109    TCHAR szOld[ cchRESOURCE ];
110    GetDlgItemText (hDlg, IDC_RELSET_DESC, szOld, cchRESOURCE);
111
112    LPTSTR pszText = FormatString (szOld, TEXT("%s%s%s"), szServer, szAggregate, szFileset);
113    SetDlgItemText (hDlg, IDC_RELSET_DESC, pszText);
114    FreeString (pszText);
115
116    CheckDlgButton (hDlg, IDC_RELSET_NORMAL, TRUE);
117    CheckDlgButton (hDlg, IDC_RELSET_FORCE, FALSE);
118 }
119
120
121 void Filesets_Release_OnOK (HWND hDlg, LPIDENT lpi)
122 {
123    LPSET_RELEASE_PARAMS lpp = New (SET_RELEASE_PARAMS);
124    memset (lpp, 0x00, sizeof(SET_RELEASE_PARAMS));
125    lpp->lpiRW = lpi;
126    lpp->fForce = IsDlgButtonChecked (hDlg, IDC_RELSET_FORCE);
127    StartTask (taskSET_RELEASE, NULL, lpp);
128 }
129