|
|
//**********************************************************************
// 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
|