From eb854e72efa780fd6ceb6e7457b6ac6429a54dad Mon Sep 17 00:00:00 2001 From: Adrian Kummerländer Date: Sat, 10 May 2014 15:51:34 +0200 Subject: Implemented StylesheetParameterGuard class * removes responsibility for clearing parameters from the generate member methods * abstracts parameter escaping and setting and handles map conversion * marked actual generate member method as private and added StylesheetParameterGuard reference argument ** "frontend" generate member methods instantiate a StylesheetParameterGuard instance and pass it to the actual generate method ** this enables central default parameter definition while offering the possibility for custom parameters --- src/transformation_facade.h | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'src/transformation_facade.h') diff --git a/src/transformation_facade.h b/src/transformation_facade.h index 4dc087b..3172daa 100644 --- a/src/transformation_facade.h +++ b/src/transformation_facade.h @@ -4,28 +4,29 @@ #include #include -#include #include "common.h" +#include "support/stylesheet_parameter_guard.h" namespace InputXSLT { class TransformationFacade { public: - typedef std::unordered_map parameter_map; - - TransformationFacade(const std::string&); + explicit TransformationFacade(const std::string&); ~TransformationFacade(); int generate(const std::string&); - int generate(const std::string&, const parameter_map&); + int generate( + const std::string&, + const StylesheetParameterGuard::map& + ); private: const xalan::XalanCompiledStylesheet* transformation_; xalan::XalanTransformer transformer_; - void setParameters(const parameter_map&); + int generate(const std::string&, StylesheetParameterGuard&); }; -- cgit v1.2.3