00001 // -*- c++ -*- 00002 00003 #ifndef QSERVLET_H 00004 #define QSERVLET_H 00005 00006 #include <qstring.h> 00007 #include <qservletconfig.h> 00008 #include <qservletcontext.h> 00009 00010 class QServletConfig; 00011 class QServletRequest; 00012 class QServletResponse; 00013 00019 class QServlet 00020 { 00021 public: 00023 virtual QServletConfig *servletConfig()=0; 00024 00026 virtual QString servletInfo()=0; 00027 00029 virtual QServletContext *servletContext()=0; 00030 00035 virtual bool service( QServletRequest *req, QServletResponse *res )=0; 00036 }; 00037 00043 class QGenericServlet : public QServlet 00044 { 00045 public: 00046 QGenericServlet( QServletConfig *cfg, const char *info=0 ); 00047 virtual ~QGenericServlet(); 00048 00050 void log( const QString &msg ) { return servletContext()->log( msg ); } 00051 00053 QServletConfig *servletConfig() { return cfg; } 00054 00056 QString servletInfo() { return QString(srvInfo?srvInfo:"unknown"); } 00057 00059 QServletContext *servletContext() { return cfg->servletContext(); } 00060 00065 virtual bool service( QServletRequest */*req*/, QServletResponse */*res*/ ) { return false; } 00066 00067 private: 00068 QServletConfig *cfg; 00069 QString srvInfo; 00070 class QGenericServletPrivate *d; 00071 }; 00072 00073 #endif // QSERVLET_H 00074 00075 // Local Variables: 00076 // c-basic-offset: 3 00077 // End: 00078