Source code of Windows XP (NT5)
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.
|
|
//
// MODULE: CHMFileReader.CPP
//
// PURPOSE: interface for CHM file reading class CCHMFileReader
//
// COMPANY: Saltmine Creative, Inc. (206)-284-7511 [email protected]
//
// AUTHOR: Joe Mabel
//
// ORIGINAL DATE: 01-18-99
//
// NOTES:
//
// Version Date By Comments
//--------------------------------------------------------------------
// V3.1 01-18-99 JM
//
#if !defined(AFX_CHMFILEREADER_H__1A2C05D6_AEFC_11D2_9658_00C04FC22ADD__INCLUDED_)
#define AFX_CHMFILEREADER_H__1A2C05D6_AEFC_11D2_9658_00C04FC22ADD__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "fileread.h"
class CFileSystem; class CSubFileSystem;
class CCHMFileReader : public CPhysicalFileReader { private: CString m_strCHMPath; // full path and name of CHM
CString m_strStreamName; // name of stream within CHM
CFileSystem* m_pFileSystem; CSubFileSystem* m_pSubFileSystem;
private: CCHMFileReader(); // do not instantiate
public: CCHMFileReader(CString strCHMPath, CString strStreamName); CCHMFileReader( CString strFullCHMname ); virtual ~CCHMFileReader();
protected: // only CFileReader can access these functions !!!
virtual bool CloseHandle(); // doesn't throw exception, therefore may be used by exception class.
virtual void Open(); virtual void ReadData(LPTSTR * ppBuf);
public: // return full file path and its components
CString GetPathName() const; CString GetJustPath() const {return m_strCHMPath;} CString GetJustName() const {return m_strStreamName;} CString GetJustNameWithoutExtension() const; CString GetJustExtension() const; bool GetFileTime(CAbstractFileReader::EFileTime type, time_t& out) const; CString GetNameToLog() const;
static bool IsCHMfile( const CString& strPath ); // Returns true if the first few
// characters of the path specification
// match a given sequence.
static bool IsPathToCHMfile( const CString& strPath ); // returns true if this is
// a full path to a CHM file
static CString FormCHMPath( const CString strPathToCHMfile ); // forms mk:@msitstore:path::/stream
// string
};
#endif // !defined(AFX_CHMFILEREADER_H__1A2C05D6_AEFC_11D2_9658_00C04FC22ADD__INCLUDED_)
|