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 _________________________________________________________________
\r
15 #include "resource.h"
\r
16 #include "validation.h"
\r
20 * DEFINITIONS _________________________________________________________________
\r
26 * PROTOTYPES _________________________________________________________________
\r
29 BOOL Validation_IsValid(TCHAR *pszInput, VALIDATION_TYPE type, BOOL bShowError);
\r
31 static BOOL CheckAfsPartitionName(TCHAR *pszInput, int &nErrorMsgResID);
\r
32 static BOOL CheckAfsCellName(TCHAR *pszInput, int &nErrorMsgResID);
\r
33 static BOOL CheckAfsPassword(TCHAR *pszInput, int &nErrorMsgResID);
\r
34 static BOOL CheckAfsUid(TCHAR *pszInput, int &nErrorMsgResID);
\r
35 static BOOL CheckAfsServerName(TCHAR *pszInput, int &nErrorMsgResID);
\r
36 static BOOL CheckFileName(TCHAR *pszInput, int &nErrorMsgResID);
\r
37 static BOOL CheckPath(TCHAR *pszInput, int &nErrorMsgResID);
\r
38 static void ShowError(int nErrorMsgResID);
\r
42 * EXPORTED FUNCTIONS _________________________________________________________________
\r
45 BOOL Validation_IsValid(TCHAR *pszInput, VALIDATION_TYPE type, BOOL bShowError)
\r
51 case VALID_AFS_PARTITION_NAME: bValid = CheckAfsPartitionName(pszInput, nErrorMsgResID);
\r
54 case VALID_AFS_CELL_NAME: bValid = CheckAfsCellName(pszInput, nErrorMsgResID);
\r
57 case VALID_AFS_PASSWORD: bValid = CheckAfsPassword(pszInput, nErrorMsgResID);
\r
60 case VALID_AFS_UID: bValid = CheckAfsUid(pszInput, nErrorMsgResID);
\r
63 case VALID_AFS_SERVER_NAME: bValid = CheckAfsServerName(pszInput, nErrorMsgResID);
\r
66 default: nErrorMsgResID = 0;
\r
71 if (!bValid && bShowError)
\r
72 ShowError(nErrorMsgResID);
\r
80 * STATIC FUNCTIONS _________________________________________________________________
\r
85 * Utility Functions _________________________________________________________________
\r
88 static BOOL CheckAfsPartitionName(TCHAR *pszPartitionName, int &nErrorMsgResID)
\r
91 afs_status_t nStatus;
\r
93 char *pszName = new char[strlen("/vicpe") + lstrlen(pszPartitionName) + 1];
\r
99 strcpy(pszName, "/vicep");
\r
100 strcat(pszName, S2A(pszPartitionName));
\r
102 int nResult = cfg_HostPartitionNameValid(pszName, &bIsValid, &nStatus);
\r
106 nErrorMsgResID = IDS_PARTITION_NAME_VALIDATION_TYPE;
\r
113 static BOOL CheckAfsCellName(TCHAR *pszInput, int &nErrorMsgResID)
\r
115 nErrorMsgResID = 0;
\r
120 static BOOL CheckAfsPassword(TCHAR *pszInput, int &nErrorMsgResID)
\r
122 nErrorMsgResID = 0;
\r
127 static BOOL CheckAfsUid(TCHAR *pszInput, int &nErrorMsgResID)
\r
129 nErrorMsgResID = 0;
\r
134 static BOOL CheckAfsServerName(TCHAR *pszInput, int &nErrorMsgResID)
\r
136 nErrorMsgResID = 0;
\r
141 static void ShowError(int nErrorMsgResID)
\r
143 Message(MB_ICONSTOP | MB_OK, GetAppTitleID(), IDS_VALIDATION_ERROR_TEMPLATE, TEXT("%m%m"), nErrorMsgResID, nErrorMsgResID);
\r