#ifndef HOUSESTYLE_H #define HOUSESTYLE_H #include #include #include #include #include #include #include "stringset.h" #include "contexthandler.h" #include "xmlrulereader.h" #include "housestylereader.h" #include "xmlfilterreader.h" #include "spellcheck.h" #include "casehandler.h" class HouseStyle { public: HouseStyle ( const std::string& bufferParameter, const std::string& ruleDirectoryParameter, const std::string& ruleFileParameter, const std::string& filterDirectoryParameter, const std::string& filterFileParameter, const std::string& pathSeparatorParameter, int contextRangeParameter ); ~HouseStyle(); bool createReport(); std::string getLastError(); std::vector getMatchVector(); private: std::string buffer, ruleDirectory, ruleFile, filterDirectory, filterFile, pathSeparator, error; int contextRange; boost::shared_ptr > > ruleVector; std::map > > filterMap; std::vector matchVector; boost::shared_ptr > dictionary, passiveDictionary; void collectFilter ( std::string& fileName, std::set& excludeSet, int *filterCount ); void collectRules ( string& fileName, boost::shared_ptr > > ruleVector, std::set& excludeSet, int *ruleCount ); int updateFilter(); int updateRules(); }; #endif