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 _________________________________________________________________
16 #include "validation.h"
20 * DEFINITIONS _________________________________________________________________
26 * PROTOTYPES _________________________________________________________________
29 static BOOL CheckAfsPartitionName(TCHAR *pszInput, int &nErrorMsgResID);
30 static BOOL CheckAfsCellName(TCHAR *pszInput, int &nErrorMsgResID);
31 static BOOL CheckAfsPassword(TCHAR *pszInput, int &nErrorMsgResID);
32 static BOOL CheckAfsUid(TCHAR *pszInput, int &nErrorMsgResID);
33 static BOOL CheckAfsServerName(TCHAR *pszInput, int &nErrorMsgResID);
34 static void ShowError(int nErrorMsgResID);
38 * EXPORTED FUNCTIONS _________________________________________________________________
41 BOOL Validation_IsValid(TCHAR *pszInput, VALIDATION_TYPE type, BOOL bShowError)
47 case VALID_AFS_PARTITION_NAME: bValid = CheckAfsPartitionName(pszInput, nErrorMsgResID);
50 case VALID_AFS_CELL_NAME: bValid = CheckAfsCellName(pszInput, nErrorMsgResID);
53 case VALID_AFS_PASSWORD: bValid = CheckAfsPassword(pszInput, nErrorMsgResID);
56 case VALID_AFS_UID: bValid = CheckAfsUid(pszInput, nErrorMsgResID);
59 case VALID_AFS_SERVER_NAME: bValid = CheckAfsServerName(pszInput, nErrorMsgResID);
62 default: nErrorMsgResID = 0;
67 if (!bValid && bShowError)
68 ShowError(nErrorMsgResID);
76 * STATIC FUNCTIONS _________________________________________________________________
81 * Utility Functions _________________________________________________________________
84 static BOOL CheckAfsPartitionName(TCHAR *pszPartitionName, int &nErrorMsgResID)
89 char *pszName = new char[strlen("/vicpe") + lstrlen(pszPartitionName) + 1];
95 strcpy(pszName, "/vicep");
96 strcat(pszName, S2A(pszPartitionName));
98 int nResult = cfg_HostPartitionNameValid(pszName, &bIsValid, &nStatus);
102 nErrorMsgResID = IDS_PARTITION_NAME_VALIDATION_TYPE;
109 static BOOL CheckAfsCellName(TCHAR *pszInput, int &nErrorMsgResID)
116 static BOOL CheckAfsPassword(TCHAR *pszInput, int &nErrorMsgResID)
123 static BOOL CheckAfsUid(TCHAR *pszInput, int &nErrorMsgResID)
130 static BOOL CheckAfsServerName(TCHAR *pszInput, int &nErrorMsgResID)
137 static void ShowError(int nErrorMsgResID)
139 Message(MB_ICONSTOP | MB_OK, GetAppTitleID(), IDS_VALIDATION_ERROR_TEMPLATE, TEXT("%m%m"), nErrorMsgResID, nErrorMsgResID);