|
|
@@ -7,10 +7,6 @@ using namespace boost; |
|
|
|
using namespace cppcms; |
|
|
|
url_parser::~url_parser() |
|
|
|
{ |
|
|
|
unsigned i; |
|
|
|
for(i=0;i<patterns.size();i++) { |
|
|
|
delete patterns[i].callback; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
void url_parser::add(char const *exp,int id) |
|
|
@@ -33,7 +29,6 @@ void url_parser::add(char const *exp,url_parser &url) |
|
|
|
url_def.pattern=regex(exp); |
|
|
|
url_def.type=url_def::URL; |
|
|
|
url_def.id=0; |
|
|
|
url_def.callback=NULL; |
|
|
|
url_def.url=&url; |
|
|
|
|
|
|
|
patterns.push_back(url_def); |
|
|
@@ -43,13 +38,10 @@ void url_parser::add(char const *exp,callback_t callback) |
|
|
|
{ |
|
|
|
url_def url_def; |
|
|
|
|
|
|
|
callback_signal_t *signal = new callback_signal_t; |
|
|
|
signal->connect(callback); |
|
|
|
|
|
|
|
url_def.pattern=regex(exp); |
|
|
|
url_def.type=url_def::CALLBACK; |
|
|
|
url_def.id=0; |
|
|
|
url_def.callback=signal; |
|
|
|
url_def.callback=callback; |
|
|
|
url_def.url=NULL; |
|
|
|
|
|
|
|
patterns.push_back(url_def); |
|
|
@@ -70,7 +62,7 @@ int url_parser::parse(string &query) |
|
|
|
tmp=result[1]; |
|
|
|
return patterns[i].url->parse(tmp); |
|
|
|
case url_def::CALLBACK: |
|
|
|
(*patterns[i].callback)(result[1],result[2], |
|
|
|
patterns[i].callback( result[1],result[2], |
|
|
|
result[3],result[4], |
|
|
|
result[5],result[6], |
|
|
|
result[7],result[8], |
|
|
|