00001 #pragma once 00002 00003 #include "PathResolver.h" 00004 00005 namespace AppSecInc 00006 { 00007 namespace Databases 00008 { 00009 namespace ODBC 00010 { 00011 class OdbcParserImpl; 00012 00038 class OdbcParser 00039 { 00040 public: 00041 OdbcParser(); 00042 virtual ~OdbcParser(); 00047 void setSqlFlavour(const std::wstring& sqlFlavour); 00049 void setDelimiters(const std::vector<const std::wstring>& delimiters); 00051 void setSqlTypeOrDelimiter(const std::wstring& type, const std::wstring& delimiter); 00053 void setPathResolver(PathResolver* pathResolver); 00055 void setSourcePath(const std::wstring& sourceName); 00057 void setInput(const std::wstring& input); 00059 PathResolver* getPathResolver() const; 00061 bool hasMore(); 00063 std::wstring getNextBatch(); 00065 bool exitOnErrorFlag(); 00067 std::wstring processInsertsOnly(); 00068 private: 00069 OdbcParser(const OdbcParser& other); 00070 OdbcParser& operator=(const OdbcParser& other); 00071 OdbcParserImpl* pimpl; 00072 }; 00073 } 00074 } 00075 }
© Application Security Inc. - All Rights Reserved | http://msiext.codeplex.com |