implements #386
This commit is contained in:
		
							parent
							
								
									f684fa9a7b
								
							
						
					
					
						commit
						fea0c07e1c
					
				@ -42,7 +42,7 @@ struct APIGrammar : qi::grammar<Iterator> {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        zoom        = (-qi::lit('&')) >> qi::lit('z')            >> '=' >> qi::short_[boost::bind(&HandlerT::setZoomLevel, handler, ::_1)];
 | 
					        zoom        = (-qi::lit('&')) >> qi::lit('z')            >> '=' >> qi::short_[boost::bind(&HandlerT::setZoomLevel, handler, ::_1)];
 | 
				
			||||||
        output      = (-qi::lit('&')) >> qi::lit("output")       >> '=' >> string[boost::bind(&HandlerT::setOutputFormat, handler, ::_1)];
 | 
					        output      = (-qi::lit('&')) >> qi::lit("output")       >> '=' >> string[boost::bind(&HandlerT::setOutputFormat, handler, ::_1)];
 | 
				
			||||||
        jsonp       = (-qi::lit('&')) >> qi::lit("jsonp")        >> '=' >> stringwithDot[boost::bind(&HandlerT::setJSONpParameter, handler, ::_1)];
 | 
					        jsonp       = (-qi::lit('&')) >> qi::lit("jsonp")        >> '=' >> stringwithPercent[boost::bind(&HandlerT::setJSONpParameter, handler, ::_1)];
 | 
				
			||||||
        checksum    = (-qi::lit('&')) >> qi::lit("checksum")     >> '=' >> qi::int_[boost::bind(&HandlerT::setChecksum, handler, ::_1)];
 | 
					        checksum    = (-qi::lit('&')) >> qi::lit("checksum")     >> '=' >> qi::int_[boost::bind(&HandlerT::setChecksum, handler, ::_1)];
 | 
				
			||||||
        instruction = (-qi::lit('&')) >> qi::lit("instructions") >> '=' >> qi::bool_[boost::bind(&HandlerT::setInstructionFlag, handler, ::_1)];
 | 
					        instruction = (-qi::lit('&')) >> qi::lit("instructions") >> '=' >> qi::bool_[boost::bind(&HandlerT::setInstructionFlag, handler, ::_1)];
 | 
				
			||||||
        geometry    = (-qi::lit('&')) >> qi::lit("geometry")     >> '=' >> qi::bool_[boost::bind(&HandlerT::setGeometryFlag, handler, ::_1)];
 | 
					        geometry    = (-qi::lit('&')) >> qi::lit("geometry")     >> '=' >> qi::bool_[boost::bind(&HandlerT::setGeometryFlag, handler, ::_1)];
 | 
				
			||||||
@ -55,14 +55,15 @@ struct APIGrammar : qi::grammar<Iterator> {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        string            = +(qi::char_("a-zA-Z"));
 | 
					        string            = +(qi::char_("a-zA-Z"));
 | 
				
			||||||
        stringwithDot     = +(qi::char_("a-zA-Z0-9_.-"));
 | 
					        stringwithDot     = +(qi::char_("a-zA-Z0-9_.-"));
 | 
				
			||||||
 | 
					        stringwithPercent = +(qi::char_("a-zA-Z0-9_.-") | qi::char_('[') | qi::char_(']') | (qi::char_('%') >> qi::char_("0-9A-Z") >> qi::char_("0-9A-Z") ));
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    qi::rule<Iterator> api_call, query;
 | 
					    qi::rule<Iterator> api_call, query;
 | 
				
			||||||
    qi::rule<Iterator, std::string()> service, zoom, output, string, jsonp, checksum, location, hint,
 | 
					    qi::rule<Iterator, std::string()> service, zoom, output, string, jsonp, checksum, location, hint,
 | 
				
			||||||
                                      stringwithDot, language, instruction, geometry,
 | 
					                                      stringwithDot, stringwithPercent, language, instruction, geometry,
 | 
				
			||||||
                                      cmp, alt_route, old_API;
 | 
					                                      cmp, alt_route, old_API;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    HandlerT * handler;
 | 
					    HandlerT * handler;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
#endif /* APIGRAMMAR_H_ */
 | 
					#endif /* APIGRAMMAR_H_ */
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user