Windows2003-3790/inetcore/connectionwizard/icwconn/ispcsv.h
2020-09-30 16:53:55 +02:00

258 lines
7.9 KiB
C++

//**********************************************************************
// File name: ISPCSV.H
//
// Definition of CISPCSV
//
// Copyright (c) 1992 - 1996 Microsoft Corporation. All rights reserved.
//**********************************************************************
#if !defined( _ISPCSV_H_ )
#define _ISPCSV_H_
#define MAX_GUID 50
#define MAX_ISP_NAME 100
#define TEMP_BUFFER_LENGTH 1024
#define NUM_ISPCSV_FIELDS 14
class CISPCSV
{
private:
int iISPLogoIndex;
// The following members represent the content of a single line from the CSV file.
int iSpecialVal; // if bIsSpecial is TRUE, then 0 = NO Offers and -1 = OLS offer
BOOL bCNS;
BOOL bIsSpecial; // If true, then CNS value was "special"
BOOL bSecureConnection;
WORD wOfferID;
DWORD dwCfgFlag;
DWORD dwRequiredUserInputFlags;
TCHAR m_szISPLogoPath [MAX_PATH];
TCHAR m_szISPTierLogoPath [MAX_PATH];
TCHAR m_szISPTeaserPath [MAX_PATH];
TCHAR m_szISPMarketingHTMPath [MAX_PATH];
TCHAR m_szISPFilePath [MAX_PATH];
TCHAR m_szISPName [MAX_ISP_NAME];
TCHAR m_szCNSIconPath [MAX_PATH];
TCHAR m_szBillingFormPath [MAX_PATH];
TCHAR m_szPayCSVPath [MAX_PATH];
TCHAR m_szOfferGUID [MAX_GUID];
TCHAR m_szMir [MAX_ISP_NAME];
WORD wLCID;
HICON hbmTierIcon;
IStorage *m_lpStgHistory; // Pointer to stuctured storage object
// for storing page history information
IStorage *m_lpStgIspPages; // Pointer to stuctured storage object
// that will be used to track the ISP page cache
public:
CISPCSV(void)
{
memset(this, 0, sizeof(CISPCSV));
// Allocate a temporary structured storage object
StgCreateDocfile(NULL,
STGM_DIRECT |
STGM_READWRITE |
STGM_SHARE_EXCLUSIVE |
STGM_DELETEONRELEASE |
STGM_CREATE,
0,
&m_lpStgHistory);
// Attempt to allocate a new storage object for the page cache
StgCreateDocfile(NULL,
STGM_DIRECT |
STGM_READWRITE |
STGM_SHARE_EXCLUSIVE |
STGM_DELETEONRELEASE |
STGM_CREATE,
0,
&m_lpStgIspPages);
}
~CISPCSV(void);
HRESULT ReadOneLine (CCSVFile far *pcCSVFile);
HRESULT ReadFirstLine (CCSVFile far *pcCSVFile);
HRESULT DisplayHTML (LPTSTR szFile);
HRESULT DisplayTextWithISPName (HWND hDlgCtrl, int iMsgString, TCHAR* pszExtra);
void StripQuotes (LPSTR lpszDst, LPSTR lpszSrc);
BOOL ReadDW (DWORD far *pdw, CCSVFile far *pcCSVFile);
BOOL ReadW (WORD far *pw, CCSVFile far *pcCSVFile);
BOOL ReadWEx (WORD far *pw, CCSVFile far *pcCSVFile); //Accepts -1 as a valid number. currently this is used for LCID, since all langs has a LDID == -1
BOOL ReadB (BYTE far *pb, CCSVFile far *pcCSVFile);
BOOL ReadBOOL (BOOL far *pbool, CCSVFile far *pcCSVFile);
BOOL ReadSPECIAL (BOOL far *pbool, BOOL far *pbIsSpecial, int far *pInt, CCSVFile far *pcCSVFile);
BOOL ReadSZ (LPSTR psz, DWORD dwSize, CCSVFile far *pcCSVFile);
BOOL ReadToEOL (CCSVFile far *pcCSVFile);
BOOL ValidateFile (TCHAR* pszFile);
void MakeCompleteURL (LPTSTR lpszURL, LPTSTR lpszSRC);
// Functions for managing IPersistHistory streams
HRESULT SaveHistory(BSTR bstrStreamName);
HRESULT LoadHistory(BSTR bstrStreamName);
// HRESULT DeleteHistory(BSTR bstrStreamName);
// functions for managing the ISP Page cache
HRESULT GetCacheFileNameFromPageID(BSTR bstrPageID, LPTSTR lpszCacheFile, ULONG cbszCacheFile);
void CleanupISPPageCache(BOOL bReleaseStorage);
HRESULT CopyFiletoISPPageCache(BSTR bstrPageID, LPTSTR lpszTempFile);
LPTSTR get_szISPLogoPath(void)
{
return m_szISPLogoPath;
}
LPTSTR get_szISPTierLogoPath(void)
{
return m_szISPTierLogoPath;
}
void set_ISPTierLogoIcon(HICON hIcon)
{
hbmTierIcon = hIcon;
}
HICON get_ISPTierLogoIcon(void)
{
return hbmTierIcon;
}
LPTSTR get_szISPTeaserPath(void)
{
return m_szISPTeaserPath;
}
LPTSTR get_szISPMarketingHTMPath(void)
{
return m_szISPMarketingHTMPath;
}
DWORD get_dwCFGFlag()
{
return dwCfgFlag;
}
void set_dwCFGFlag(DWORD dwNewCfgFlag)
{
dwCfgFlag = dwNewCfgFlag;
}
DWORD get_dwRequiredUserInputFlags()
{
return dwRequiredUserInputFlags;
}
void set_dwRequiredUserInputFlags(DWORD dwFlags)
{
dwRequiredUserInputFlags = dwFlags;
}
void set_szBillingFormPath(TCHAR* pszFile)
{
lstrcpy(m_szBillingFormPath, pszFile);
}
LPTSTR get_szBillingFormPath(void)
{
return m_szBillingFormPath;
}
void set_ISPLogoImageIndex(int iImage)
{
iISPLogoIndex = iImage;
}
void set_szISPName(TCHAR* pszName)
{
lstrcpy(m_szISPName, pszName);
}
LPTSTR get_szISPName()
{
return m_szISPName;
}
int get_ISPLogoIndex()
{
return iISPLogoIndex;
}
void set_bCNS(BOOL bVal)
{
bCNS = bVal;
}
BOOL get_bCNS()
{
return bCNS;
}
void set_bIsSpecial(BOOL bVal)
{
bIsSpecial = bVal;
}
BOOL get_bIsSpecial()
{
return bIsSpecial;
}
int get_iSpecial()
{
return iSpecialVal;
}
void set_szPayCSVPath(TCHAR* pszFile)
{
lstrcpy(m_szPayCSVPath, pszFile);
}
LPTSTR get_szPayCSVPath()
{
return m_szPayCSVPath;
}
void set_szISPFilePath(TCHAR* pszFile)
{
lstrcpy(m_szISPFilePath, pszFile);
}
LPTSTR get_szISPFilePath()
{
return m_szISPFilePath;
}
LPTSTR get_szOfferGUID()
{
return m_szOfferGUID;
}
WORD get_wOfferID()
{
return wOfferID;
}
LPTSTR get_szMir()
{
return m_szMir;
}
WORD get_wLCID()
{
return wLCID;
}
};
#endif