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 ___________________________________________________________________
18 #include <afsconfig.h>
19 #include <afs/param.h>
26 #include "cfg_utils.h"
30 * EXPORTED FUNCTIONS _________________________________________________________
33 BOOL IsStepEnabled(const CONFIG_STATE& step)
35 return ((step & CS_DISABLED) == 0);
38 void EnableStep(CONFIG_STATE& step, BOOL bEnable)
46 BOOL ShouldConfig(const CONFIG_STATE& state)
48 return (state == CS_CONFIGURE);
51 BOOL DontConfig(const CONFIG_STATE& state)
53 return (state == CS_DONT_CONFIGURE);
56 BOOL ShouldUnconfig(const CONFIG_STATE& state)
58 return (state == CS_UNCONFIGURE);
61 BOOL ConfiguredOrConfiguring(const CONFIG_STATE& step)
63 return (step == CS_CONFIGURE) || (step == CS_ALREADY_CONFIGURED);
66 BOOL Configured(const CONFIG_STATE& step)
68 return (step == CS_ALREADY_CONFIGURED);
71 void ToggleConfig(CONFIG_STATE& state)
73 if (ShouldConfig(state))
74 state = CS_DONT_CONFIGURE;
75 else if (DontConfig(state))
81 HWND hWiz = g_pWiz->GetWindow();
83 HWND hBg = GetDlgItem(hWiz, IDC_WIZARD_LEFTPANE);
86 GetClientRect(hBg, &rect);
88 InvalidateRect(hBg, &rect, FALSE);
94 if (g_CfgData.bWizard)
95 return IDS_WIZARD_APP_TITLE;
97 return IDS_CFG_TOOL_APP_TITLE;
100 const char *GetAdminLibErrorCodeMessage(afs_status_t nErrorCode)
102 afs_status_t nStatus;
103 const char *pszMsg = 0;
105 int nResult = util_AdminErrorCodeTranslate(nErrorCode, 0, &pszMsg, &nStatus);
112 void LogError(afs_status_t nErrorCode)
114 const char *pszMsg = GetAdminLibErrorCodeMessage(nErrorCode);
117 g_LogFile.Write("Error 0x%0x has occurred: %s.\r\n", (UINT)nErrorCode, pszMsg);
119 g_LogFile.Write("Error 0x%0x has occurred.\r\n", (UINT)nErrorCode);
122 void ShowError(HWND hDlg, afs_status_t nErrorCode, UINT uiErrorMsgID)
124 TCHAR szMsg[cchRESOURCE];
126 LogError(nErrorCode);
128 GetString(szMsg, uiErrorMsgID);
130 ErrorDialog(nErrorCode, szMsg);
132 SetWndText(hDlg, IDC_STATUS_MSG, IDS_CONFIG_FAILED);
135 int ShowWarning(HWND hDlg, UINT uiMsgID)
137 TCHAR szMsg[cchRESOURCE];
138 TCHAR szTitle[cchRESOURCE];
140 GetString(szTitle, GetAppTitleID());
141 GetString(szMsg, uiMsgID);
143 return MessageBox(hDlg, szMsg, szTitle, MB_OKCANCEL | MB_ICONWARNING);