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 * INCLUDES ___________________________________________________________________
15 #include <afs/param.h>
21 #include "cfg_utils.h"
25 * EXPORTED FUNCTIONS _________________________________________________________
28 BOOL IsStepEnabled(const CONFIG_STATE& step)
30 return ((step & CS_DISABLED) == 0);
33 void EnableStep(CONFIG_STATE& step, BOOL bEnable)
41 BOOL ShouldConfig(const CONFIG_STATE& state)
43 return (state == CS_CONFIGURE);
46 BOOL DontConfig(const CONFIG_STATE& state)
48 return (state == CS_DONT_CONFIGURE);
51 BOOL ShouldUnconfig(const CONFIG_STATE& state)
53 return (state == CS_UNCONFIGURE);
56 BOOL ConfiguredOrConfiguring(const CONFIG_STATE& step)
58 return (step == CS_CONFIGURE) || (step == CS_ALREADY_CONFIGURED);
61 BOOL Configured(const CONFIG_STATE& step)
63 return (step == CS_ALREADY_CONFIGURED);
66 void ToggleConfig(CONFIG_STATE& state)
68 if (ShouldConfig(state))
69 state = CS_DONT_CONFIGURE;
70 else if (DontConfig(state))
76 HWND hWiz = g_pWiz->GetWindow();
78 HWND hBg = GetDlgItem(hWiz, IDC_WIZARD_LEFTPANE);
81 GetClientRect(hBg, &rect);
83 InvalidateRect(hBg, &rect, FALSE);
89 if (g_CfgData.bWizard)
90 return IDS_WIZARD_APP_TITLE;
92 return IDS_CFG_TOOL_APP_TITLE;
95 const char *GetAdminLibErrorCodeMessage(afs_status_t nErrorCode)
98 const char *pszMsg = 0;
100 int nResult = util_AdminErrorCodeTranslate(nErrorCode, 0, &pszMsg, &nStatus);
107 void LogError(afs_status_t nErrorCode)
109 const char *pszMsg = GetAdminLibErrorCodeMessage(nErrorCode);
112 g_LogFile.Write("Error 0x%0x has occurred: %s.\r\n", (UINT)nErrorCode, pszMsg);
114 g_LogFile.Write("Error 0x%0x has occurred.\r\n", (UINT)nErrorCode);
117 void ShowError(HWND hDlg, afs_status_t nErrorCode, UINT uiErrorMsgID)
119 TCHAR szMsg[cchRESOURCE];
121 LogError(nErrorCode);
123 GetString(szMsg, uiErrorMsgID);
125 ErrorDialog(nErrorCode, szMsg);
127 SetWndText(hDlg, IDC_STATUS_MSG, IDS_CONFIG_FAILED);
130 int ShowWarning(HWND hDlg, UINT uiMsgID)
132 TCHAR szMsg[cchRESOURCE];
133 TCHAR szTitle[cchRESOURCE];
135 GetString(szTitle, GetAppTitleID());
136 GetString(szMsg, uiMsgID);
138 return MessageBox(hDlg, szMsg, szTitle, MB_OKCANCEL | MB_ICONWARNING);