//+------------------------------------------------------------------------- // // Microsoft Windows // // Copyright (C) Microsoft Corporation, 1996 - 1999 // // File: fparse.hxx // // Contents: File parsing api -- INI file types // // History: 01-Oct-1997 pberkman create // //-------------------------------------------------------------------------- #ifndef FPARSE_HXX #define FPARSE_HXX class fParse_ { public: fParse_(WCHAR *pwszFilename, BOOL *pfFailed, DWORD dwMaxLine0 = MAX_PATH, DWORD dwFileAccess = GENERIC_READ, DWORD dwFileSharing = FILE_SHARE_READ); virtual ~fParse_(void); void Reset(void); WCHAR *GetCurrentLine(void) { return(pwszCurrentLine); } DWORD GetNextLine(void); BOOL FindTagInCurrentGroup(WCHAR *pwszTag); BOOL GetLineInCurrentGroup(void); BOOL FindTagFromCurrentPos(WCHAR *pwszTag); BOOL PositionAtLastGroup(void); BOOL PositionAtLastTag(void); BOOL AddTagToFile(WCHAR *pwszGroup, WCHAR *pwszTag, WCHAR *pwszValue); void EOLRemove(void); private: HANDLE hFile; WCHAR *pwszFName; WCHAR *pwszTempFName; WCHAR *pwszCurrentLine; WCHAR *pwszLastGroupTag; DWORD dwMaxLine; DWORD dwCurLineFilePos; DWORD dwLastGroupFilePos; DWORD dwLastTagFilePos; BOOL fEOF; }; #endif // FPARSE_HXX