|
/***************************************************************************/
/* NOTE: */
/* This document is copyright (c) by Oz Solomonovich, and is bound by the */
/* MIT open source license (www.opensource.org/licenses/mit-license.html). */
/* See License.txt for more information. */
/***************************************************************************/
#ifndef __PARSERMANAGER_H
#define __PARSERMANAGER_H
#include "FileParser.h"
class CParserManager
{
protected:
CParserManager();
public:
~CParserManager();
// Singelton
static CParserManager& Get();
void LoadConfig();
void SaveConfig();
typedef CString state_t;
void GetState(state_t& state) const;
void SetState(state_t& state);
struct parser_fileext_pair
{
CString sExt;
IFileParser *pParser;
};
typedef CArray<parser_fileext_pair, parser_fileext_pair&> PairArray;
void GetParsers(OUT IFileParser **& pParserArray, OUT int& iCount) const;
IFileParser *GetParserForFile(const char *pszFileName) const;
void GetPairs(OUT PairArray& arr) const;
void AddPair(const parser_fileext_pair& pair);
void RemovePair(LPCTSTR pszExt);
void ResetPairs();
protected:
typedef CMap<CString, LPCTSTR, IFileParser *, IFileParser *&> PairMap;
PairMap m_mapExtToParser;
};
#endif // __PARSERMANAGER_H
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.
A list of licenses authors might use can be found here