src/lib/INIReader.cpp
branchv_0
changeset 39 509e4b02f3c2
parent 35 930f17f16fd7
equal deleted inserted replaced
38:cec70b001eca 39:509e4b02f3c2
    35 
    35 
    36 	class ConfiguredUnescapingProcessor {
    36 	class ConfiguredUnescapingProcessor {
    37 	public:
    37 	public:
    38 		std::shared_ptr<UnescapingProcessor> processor;
    38 		std::shared_ptr<UnescapingProcessor> processor;
    39 		const std::string uri;
    39 		const std::string uri;
    40 		bool enbaled;
    40 		bool enabled;
    41 
    41 
    42 		ConfiguredUnescapingProcessor(std::shared_ptr<UnescapingProcessor> processor, const std::string uri, bool enbaled) : processor(processor), uri(uri), enbaled(enbaled) {
    42 		ConfiguredUnescapingProcessor(std::shared_ptr<UnescapingProcessor> processor, const std::string uri, bool enabled) : processor(processor), uri(uri), enabled(enabled) {
    43 		}
    43 		}
    44 
    44 
    45 	};
    45 	};
    46 
    46 
    47 	std::vector<ConfiguredUnescapingProcessor> unescapingProcessors;
    47 	std::vector<ConfiguredUnescapingProcessor> unescapingProcessors;
   272 		return result;
   272 		return result;
   273 	}
   273 	}
   274 
   274 
   275 	std::string unescape(const std::string& value, UnescapingProcessor::TextType type) {
   275 	std::string unescape(const std::string& value, UnescapingProcessor::TextType type) {
   276 		std::string result = value;
   276 		std::string result = value;
   277 		for (ConfiguredUnescapingProcessor p : unescapingProcessors) if (p.enbaled) result = p.processor->unescape(result, type);
   277 		for (ConfiguredUnescapingProcessor p : unescapingProcessors) if (p.enabled) result = p.processor->unescape(result, type);
   278 		return result;
   278 		return result;
   279 	}
   279 	}
   280 
   280 
   281 	bool isComment(char ch) {
   281 	bool isComment(char ch) {
   282 		return oneOf(ch, commentSeparators);
   282 		return oneOf(ch, commentSeparators);
   319 	}
   319 	}
   320 
   320 
   321 	bool setUnescaping(const std::string& uri, const std::string& value) {
   321 	bool setUnescaping(const std::string& uri, const std::string& value) {
   322 		for (ConfiguredUnescapingProcessor& p : unescapingProcessors) {
   322 		for (ConfiguredUnescapingProcessor& p : unescapingProcessors) {
   323 			if (p.uri == uri) {
   323 			if (p.uri == uri) {
   324 				p.enbaled = parseBoolean(value);
   324 				p.enabled = parseBoolean(value);
   325 				return true;
   325 				return true;
   326 			}
   326 			}
   327 		}
   327 		}
   328 		return false;
   328 		return false;
   329 	}
   329 	}