X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/d63d2c3c6cbbd574dda4f8b00ebe6c661735edd5..e09118574a32038b352e01a2ed085175406778d7:/lib/network/http_dyn.h diff --git a/lib/network/http_dyn.h b/lib/network/http_dyn.h index 6fb8b9b1..24e4dba1 100644 --- a/lib/network/http_dyn.h +++ b/lib/network/http_dyn.h @@ -5,30 +5,36 @@ class eHTTPDyn: public eHTTPDataSource { - eString result; + DECLARE_REF(eHTTPDyn); +private: + std::string result; int wptr, size; public: - eHTTPDyn(eHTTPConnection *c, eString result); + eHTTPDyn(eHTTPConnection *c, std::string result); ~eHTTPDyn(); int doWrite(int); }; -class eHTTPDynPathResolver: public eHTTPPathResolver +class eHTTPDynPathResolver: public iHTTPPathResolver { - struct eHTTPDynEntry + DECLARE_REF(eHTTPDynPathResolver); +private: + struct eHTTPDynEntry: public iObject { - eString request, path; - eString (*function)(eString request, eString path, eString opt, eHTTPConnection *content); + DECLARE_REF(eHTTPDynEntry); + public: + std::string request, path; + std::string (*function)(std::string request, std::string path, std::string opt, eHTTPConnection *content); - eHTTPDynEntry(eString request, eString path, eString (*function)(eString, eString, eString, eHTTPConnection *)): request(request), path(path), function(function) + eHTTPDynEntry(std::string request, std::string path, std::string (*function)(std::string, std::string, std::string, eHTTPConnection *)): request(request), path(path), function(function) { } }; - ePtrList dyn; + eSmartPtrList dyn; public: - void addDyn(eString request, eString path, eString (*function)(eString, eString, eString, eHTTPConnection *conn)); + void addDyn(std::string request, std::string path, std::string (*function)(std::string, std::string, std::string, eHTTPConnection *conn)); eHTTPDynPathResolver(); - eHTTPDataSource *getDataSource(eString request, eString path, eHTTPConnection *conn); + RESULT getDataSource(eHTTPDataSourcePtr &ptr, std::string request, std::string path, eHTTPConnection *conn); }; #endif