1 #ifndef _ipagehandler_
\r
2 #define _ipagehandler_
\r
4 #include "../ilogger.h"
\r
6 #include <Poco/Net/HTTPRequestHandler.h>
\r
7 #include <Poco/Net/HTTPServerRequest.h>
\r
8 #include <Poco/Net/HTTPServerResponse.h>
\r
15 class IPageHandler:public Poco::Net::HTTPRequestHandler,public ILogger
\r
19 IPageHandler(const std::string &templatestr) { m_template=templatestr; }
\r
20 virtual ~IPageHandler() {}
\r
21 virtual const bool WillHandleURI(const std::string &uri)=0;
\r
23 virtual IPageHandler *New()=0; // returns a new instance of the object
\r
25 virtual void handleRequest(Poco::Net::HTTPServerRequest &request, Poco::Net::HTTPServerResponse &response);
\r
28 virtual const std::string GeneratePage(const std::string &method, const std::map<std::string,std::string> &queryvars)=0;
\r
31 // converts from basename[#] query args into a vector where the vector pos is the index pos #
\r
32 void CreateArgArray(const std::map<std::string,std::string> &vars, const std::string &basename, std::vector<std::string> &args);
\r
33 const std::string CreateTrueFalseDropDown(const std::string &name, const std::string &selected);
\r
35 void CreateQueryVarMap(Poco::Net::HTTPServerRequest &request, std::map<std::string,std::string> &vars);
\r
37 // replaces html elements with encoded characters (i.e. < becomes <)
\r
38 const std::string SanitizeOutput(const std::string &input);
\r
40 std::string m_template;
\r
44 #endif // _ipagehandler_
\r