You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
257 lines
7.9 KiB
257 lines
7.9 KiB
//**********************************************************************
|
|
// 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
|