diff options
Diffstat (limited to 'src/function/read_file.h')
-rw-r--r-- | src/function/read_file.h | 35 |
1 files changed, 9 insertions, 26 deletions
diff --git a/src/function/read_file.h b/src/function/read_file.h index 65746a5..fd36847 100644 --- a/src/function/read_file.h +++ b/src/function/read_file.h @@ -1,38 +1,21 @@ #ifndef INPUTXSLT_SRC_FUNCTION_READ_FILE_H_ #define INPUTXSLT_SRC_FUNCTION_READ_FILE_H_ -#include <xalanc/XalanTransformer/XalanTransformer.hpp> -#include <xalanc/XPath/XObjectFactory.hpp> -#include <xalanc/XPath/Function.hpp> -#include <xalanc/XPath/XObject.hpp> - -#include <string> - -#include "common.h" -#include "support/dom/document_cache.h" +#include "base.h" namespace InputXSLT { -class FunctionReadFile : public xalan::Function { +class FunctionReadFile : public FunctionBase<FunctionReadFile> { public: - FunctionReadFile(); - - virtual xalan::XObjectPtr execute( - xalan::XPathExecutionContext&, - xalan::XalanNode*, - const xalan::XObjectPtr, - const xalan::Locator* - ) const; - - virtual FunctionReadFile* clone(xalan::MemoryManager&) const; - - FunctionReadFile& operator=(const FunctionReadFile&) = delete; - bool operator==(const FunctionReadFile&) const = delete; + using FunctionBase<FunctionReadFile>::FunctionBase; - private: - std::shared_ptr<DomDocumentCache> document_cache_; + protected: + friend FunctionBase<FunctionReadFile>; - const xalan::XalanDOMString& getError(xalan::XalanDOMString&) const; + xercesc::DOMDocument* constructDocument( + const FilesystemContext&, + const boost::filesystem::path& + ); }; |