|
|
/**************************************************************************
Copyright (C) 1999 Microsoft Corporation. All Rights Reserved.
MODULE: FILECFG.CPP
PURPOSE: Source module reading/writing PM config sets from a file
FUNCTIONS:
COMMENTS: **************************************************************************/
/**************************************************************************
Include Files **************************************************************************/
#include "pmcfg.h"
#define MAX_EXT 10
#define MAX_FILTER 256
TCHAR g_szPassportManager[] = "PassportManager";
/**************************************************************************
PMAdmin_GetFileName
*******************************************************************************/ BOOL PMAdmin_GetFileName ( HWND hWnd, BOOL fOpen, LPTSTR lpFileName, DWORD cbFileName ) { UINT TitleStringID, FilterID; TCHAR szTitle[MAX_TITLE]; TCHAR szDefaultExtension[MAX_EXT]; TCHAR szFilter[MAX_FILTER]; LPTSTR lpFilterChar; OPENFILENAME OpenFileName; BOOL fSuccess;
//
// Load various strings that will be displayed and used by the common open
// or save dialog box. Note that if any of these fail, the error is not
// fatal-- the common dialog box may look odd, but will still work.
//
if (fOpen) { TitleStringID = IDS_OPENFILETITLE; FilterID = IDS_PMOPENFILEFILTER; } else { TitleStringID = IDS_SAVEFILETITLE; FilterID = IDS_PMSAVEFILEFILTER; }
LoadString(g_hInst, TitleStringID, szTitle, sizeof(szTitle)); LoadString(g_hInst, IDS_PMCONFIGDEFEXT, szDefaultExtension, sizeof(szDefaultExtension));
if (LoadString(g_hInst, FilterID, szFilter, sizeof(szFilter))) { //
// The common dialog library requires that the substrings of the
// filter string be separated by nulls, but we cannot load a string
// containing nulls. So we use some dummy character in the resource
// that we now convert to nulls.
//
for (lpFilterChar = szFilter; *lpFilterChar != 0; lpFilterChar = CharNext(lpFilterChar)) {
if (*lpFilterChar == TEXT('#')) *lpFilterChar++ = 0; } }
ZeroMemory(&OpenFileName, sizeof(OPENFILENAME));
OpenFileName.lStructSize = sizeof(OPENFILENAME); OpenFileName.hwndOwner = hWnd; OpenFileName.hInstance = g_hInst; OpenFileName.lpstrFilter = szFilter; OpenFileName.lpstrFile = lpFileName; OpenFileName.nMaxFile = cbFileName; OpenFileName.lpstrTitle = szTitle; OpenFileName.lpstrDefExt = szDefaultExtension; if (fOpen) { OpenFileName.Flags = OFN_HIDEREADONLY | OFN_EXPLORER | OFN_FILEMUSTEXIST; fSuccess = GetOpenFileName(&OpenFileName); } else { OpenFileName.Flags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT | OFN_EXPLORER | OFN_NOREADONLYRETURN | OFN_PATHMUSTEXIST; fSuccess = GetSaveFileName(&OpenFileName); } return fSuccess; }
/**************************************************************************
ReadFileConfigSet Read the current passport manager config set from the specified file **************************************************************************/ BOOL ReadFileConfigSet ( LPPMSETTINGS lpPMConfig, LPCTSTR lpszFileName ) { DWORD dwTemp; TCHAR achTemp[INTERNET_MAX_URL_LENGTH];
// makesure the specified file exists.
if (!PathFileExists(lpszFileName)) { ReportError(NULL, IDS_FILENOTFOUND); return FALSE; } // Read the Time Window Number
dwTemp = GetPrivateProfileInt(g_szPassportManager, g_szTimeWindow, -1, lpszFileName); if(dwTemp != -1) lpPMConfig->dwTimeWindow = dwTemp; // Read the value for Forced Signin
dwTemp = GetPrivateProfileInt(g_szPassportManager, g_szForceSignIn, -1, lpszFileName); if(dwTemp != -1) lpPMConfig->dwForceSignIn = dwTemp;
// Read the default language ID
dwTemp = GetPrivateProfileInt(g_szPassportManager, g_szLanguageID, -1, lpszFileName); if(dwTemp != -1) lpPMConfig->dwLanguageID = dwTemp;
// Get the co-branding template
GetPrivateProfileString(g_szPassportManager, g_szCoBrandTemplate, (LPTSTR)TEXT("\xFF"), achTemp, sizeof(achTemp), lpszFileName); if(lstrcmp(achTemp, TEXT("\xFF")) != 0) lstrcpy(lpPMConfig->szCoBrandTemplate, achTemp);
// Get the SiteID
dwTemp = GetPrivateProfileInt(g_szPassportManager, g_szSiteID, -1, lpszFileName); if(dwTemp != -1) lpPMConfig->dwSiteID = dwTemp; // Get the return URL template
GetPrivateProfileString(g_szPassportManager, g_szReturnURL, (LPTSTR)TEXT("\xFF"), achTemp, sizeof(achTemp), lpszFileName); if(lstrcmp(achTemp, TEXT("\xFF")) != 0) lstrcpy(lpPMConfig->szReturnURL, achTemp);
// Get the ticket cookie domain
GetPrivateProfileString(g_szPassportManager, g_szTicketDomain, (LPTSTR)TEXT("\xFF"), achTemp, sizeof(achTemp), lpszFileName); if(lstrcmp(achTemp, TEXT("\xFF")) != 0) lstrcpy(lpPMConfig->szTicketDomain, achTemp);
// Get the ticket cookie path
GetPrivateProfileString(g_szPassportManager, g_szTicketPath, (LPTSTR)TEXT("\xFF"), achTemp, sizeof(achTemp), lpszFileName); if(lstrcmp(achTemp, TEXT("\xFF")) != 0) lstrcpy(lpPMConfig->szTicketPath, achTemp);
// Get the profile cookie domain
GetPrivateProfileString(g_szPassportManager, g_szProfileDomain, (LPTSTR)TEXT("\xFF"), achTemp, sizeof(achTemp), lpszFileName); if(lstrcmp(achTemp, TEXT("\xFF")) != 0) lstrcpy(lpPMConfig->szProfileDomain, achTemp);
// Get the profile cookie path
GetPrivateProfileString(g_szPassportManager, g_szProfilePath, (LPTSTR)TEXT("\xFF"), achTemp, sizeof(achTemp), lpszFileName); if(lstrcmp(achTemp, TEXT("\xFF")) != 0) lstrcpy(lpPMConfig->szProfilePath, achTemp);
// Get the secure cookie domain
GetPrivateProfileString(g_szPassportManager, g_szSecureDomain, (LPTSTR)TEXT("\xFF"), achTemp, sizeof(achTemp), lpszFileName); if(lstrcmp(achTemp, TEXT("\xFF")) != 0) lstrcpy(lpPMConfig->szSecureDomain, achTemp);
// Get the secure cookie path
GetPrivateProfileString(g_szPassportManager, g_szSecurePath, (LPTSTR)TEXT("\xFF"), achTemp, sizeof(achTemp), lpszFileName); if(lstrcmp(achTemp, TEXT("\xFF")) != 0) lstrcpy(lpPMConfig->szSecurePath, achTemp);
// Get the DisasterURL
GetPrivateProfileString(g_szPassportManager, g_szDisasterURL, (LPTSTR)TEXT("\xFF"), achTemp, sizeof(achTemp), lpszFileName); if(lstrcmp(achTemp, TEXT("\xFF")) != 0) lstrcpy(lpPMConfig->szDisasterURL, achTemp);
// Get Standalone mode setting
dwTemp = GetPrivateProfileInt(g_szPassportManager, g_szStandAlone, -1, lpszFileName); if(dwTemp != -1) lpPMConfig->dwStandAlone = dwTemp; // Get DisableCookies mode setting
dwTemp = GetPrivateProfileInt(g_szPassportManager, g_szDisableCookies, -1, lpszFileName); if(dwTemp != -1) lpPMConfig->dwDisableCookies = dwTemp;
// Get the HostName
GetPrivateProfileString(g_szPassportManager, g_szHostName, (LPTSTR)TEXT("\xFF"), achTemp, sizeof(achTemp), lpszFileName); if(lstrcmp(achTemp, TEXT("\xFF")) != 0) lstrcpy(lpPMConfig->szHostName, achTemp);
// Get the HostIP
GetPrivateProfileString(g_szPassportManager, g_szHostIP, (LPTSTR)TEXT("\xFF"), achTemp, sizeof(achTemp), lpszFileName); if(lstrcmp(achTemp, TEXT("\xFF")) != 0) lstrcpy(lpPMConfig->szHostIP, achTemp);
return TRUE; }
/**************************************************************************
WriteFileConfigSet Writes the current passport manager config set to the specified file **************************************************************************/ BOOL WriteFileConfigSet ( LPPMSETTINGS lpPMConfig, LPCTSTR lpszFileName ) { TCHAR szTemp[MAX_PATH]; // Write the Time Window Number
wsprintf (szTemp, "%d", lpPMConfig->dwTimeWindow); WritePrivateProfileString(g_szPassportManager, g_szTimeWindow, szTemp, lpszFileName); // write the value for Forced Signin
wsprintf (szTemp, "%d", lpPMConfig->dwForceSignIn); WritePrivateProfileString(g_szPassportManager, g_szForceSignIn, szTemp, lpszFileName); // Read the default language ID
wsprintf (szTemp, "%d", lpPMConfig->dwLanguageID); WritePrivateProfileString(g_szPassportManager, g_szLanguageID, szTemp, lpszFileName); // Write the co-branding template
WritePrivateProfileString(g_szPassportManager, g_szCoBrandTemplate, lpPMConfig->szCoBrandTemplate, lpszFileName); // Write the SiteID
wsprintf (szTemp, "%d",lpPMConfig->dwSiteID); WritePrivateProfileString(g_szPassportManager, g_szSiteID, szTemp, lpszFileName); // Write the return URL template
WritePrivateProfileString(g_szPassportManager, g_szReturnURL, lpPMConfig->szReturnURL, lpszFileName); // Write the ticket cookie domain
WritePrivateProfileString(g_szPassportManager, g_szTicketDomain, lpPMConfig->szTicketDomain, lpszFileName); // Write the ticket cookie path
WritePrivateProfileString(g_szPassportManager, g_szTicketPath, lpPMConfig->szTicketPath, lpszFileName);
// Write the profile cookie domain
WritePrivateProfileString(g_szPassportManager, g_szProfileDomain, lpPMConfig->szProfileDomain, lpszFileName); // Write the profile cookie path
WritePrivateProfileString(g_szPassportManager, g_szProfilePath, lpPMConfig->szProfilePath, lpszFileName);
// Write the secure cookie domain
WritePrivateProfileString(g_szPassportManager, g_szSecureDomain, lpPMConfig->szSecureDomain, lpszFileName);
// Write the secure profile cookie path
WritePrivateProfileString(g_szPassportManager, g_szSecurePath, lpPMConfig->szSecurePath, lpszFileName);
// Write the Disaster URL
WritePrivateProfileString(g_szPassportManager, g_szDisasterURL, lpPMConfig->szDisasterURL, lpszFileName); // Write Standalone mode setting
wsprintf (szTemp, "%d", lpPMConfig->dwStandAlone); WritePrivateProfileString(g_szPassportManager, g_szStandAlone, szTemp, lpszFileName); // Write DisableCookies mode setting
wsprintf (szTemp, "%d", lpPMConfig->dwDisableCookies); WritePrivateProfileString(g_szPassportManager, g_szDisableCookies, szTemp, lpszFileName);
// Write the Host Name
WritePrivateProfileString(g_szPassportManager, g_szHostName, lpPMConfig->szHostName, lpszFileName); // Write the Host IP
WritePrivateProfileString(g_szPassportManager, g_szHostIP, lpPMConfig->szHostIP, lpszFileName); return TRUE; }
|