00001 #pragma once 00002 00003 namespace AppSecInc 00004 { 00005 namespace Databases 00006 { 00007 namespace ODBC 00008 { 00014 class PathResolver 00015 { 00016 public: 00018 virtual std::wstring readContent(const std::wstring& path) = 0; 00019 00021 virtual void setBasePath(const std::wstring& path) = 0; 00022 00024 virtual std::wstring getFolderPath(const std::wstring& path) const = 0; 00025 }; 00026 00027 00029 class FilesystemPathResolver: public PathResolver 00030 { 00031 public: 00032 FilesystemPathResolver(); 00033 virtual ~FilesystemPathResolver(); 00034 00035 virtual std::wstring readContent(const std::wstring& path); 00036 virtual void setBasePath(const std::wstring& path); 00037 virtual std::wstring getFolderPath(const std::wstring& path) const; 00038 00039 private: 00040 FilesystemPathResolver(const FilesystemPathResolver& other); 00041 FilesystemPathResolver& operator=(const FilesystemPathResolver& other); 00042 std::wstring getFullPath(const std::wstring path) const; 00043 std::wstring basepath; 00044 }; 00045 } 00046 } 00047 }
© Application Security Inc. - All Rights Reserved | http://msiext.codeplex.com |