summaryrefslogtreecommitdiff
path: root/src/GoogleURLNormalizer.hpp
blob: d630d5fb5c46de7042e63c9babb641f82310fb0d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#ifndef __GOOGLEURLNORMALIZER_H
#define __GOOGLEURLNORMALIZER_H

#include "URLNormalizer.hpp"

//TODO: will fix later, bad include here!
#include "url_parse.h"

class GoogleURLNormalizer : public URLNormalizer {
	public:
		GoogleURLNormalizer( );

		virtual ~GoogleURLNormalizer( );

		virtual URL parseUrl( const std::string s );
		
		virtual URL normalize( const URL url, const std::string s );

	private:
		//TODO: hide implementation details here (PIMPL) or don't
		//allocate Normalizers, use a factory method (as this is
		//anyway better for loadable module support!)
		std::string componentString( const std::string &s, const url_parse::Component &comp ) const;
};

#endif