00001 /* libzzinet 00002 * 00003 * This program is distributed under the GNU General Public License, version 2. 00004 * A copy of this license is included with this source. 00005 * 00006 * Copyright 2004-2006, Toni Thomsson <toni@tonjac.org> 00007 */ 00008 00015 #ifndef zz_html_render_h 00016 #define zz_html_render_h 00017 00018 #include <zz_string.h> 00019 #include "zz_html_service.h" 00020 #include <vector> 00021 #include <map> 00022 #include <zz_parameter_map.h> 00023 #include <zz_log.h> 00024 00025 class ZZ_API CzzHtmlRender 00026 { 00027 00028 public: 00029 00030 virtual ~CzzHtmlRender(); 00031 virtual CzzString& render( void ); 00032 00033 protected: 00034 00035 //* Construction 00036 CzzHtmlRender( const CzzString& templ, void* session, CzzParameterMap* cgi, bool destroy_svcs = true ); 00037 00038 void addFieldSvc( CzzHtmlService* svc ); 00039 void addListSvc( const CzzString& tablemarker, CzzHtmlService* svc ); 00040 00041 void addBeforeRender( CzzHtmlRender* render ); 00042 void addAfterRender( CzzHtmlRender* render ); 00043 00044 CzzLog m_Log; 00045 CzzParameterMap* m_CGI; 00046 00047 vector<CzzHtmlService*> m_FieldSvcs; 00048 map<CzzString,CzzHtmlService*> m_ListSvcs; 00049 00050 private: 00051 bool m_DestroySvcs; 00052 CzzString m_Template; 00053 void* m_Session; 00054 CzzString m_Name; 00055 CzzString m_TableMarker; 00056 00057 vector<CzzHtmlRender*> m_RenderBefore; 00058 vector<CzzHtmlRender*> m_RenderAfter; 00059 }; 00060 00061 #endif // zz_html_render_h
1.4.6-NO