#ifndef __SITECING_SITECING_INTERFACE_CGI_H #define __SITECING_SITECING_INTERFACE_CGI_H #include #include #include #include "kingate/cgi_gateway.h" #include "sitecing/sitecing_interface.h" #include "sitecing/sitespace.h" /** * @file * @brief The sitecing_interface_cgi class declaration. */ namespace sitecing { using namespace std; /** * The interface to site-C-ing core for the CGI component. */ class sitecing_interface_cgi : public sitecing_interface { public: /** * Pointer to the CGI gateway interface. */ kingate::cgi_gateway* cgigw; /** * Type for the map of headers to spit out. */ typedef map headers_t; /** * The list of headers to spit out. */ headers_t headers; /** * Here is where we prebuffer output. */ ostringstream prebuffer; /** * Pointer to the sitespace object. */ sitespace *ss; // XXX: or does it belong to the generic interface? or should this 'generic' interface exist at all? /** * @param s Pointer to the sitespace object. */ sitecing_interface_cgi(sitespace *s); /** * @todo TODO: wish I could remember -- document me. */ void prepare(kingate::cgi_gateway *cg); /** * @todo TODO: wish I could remember -- document me. */ void flush(); }; } #endif /* __SITECING_SITECING_INTERFACE_CGI_H */