1 #ifndef HTML___PAGE__HPP
2 #define HTML___PAGE__HPP
76 const string& GetValue(
const string& name)
const;
79 void SetValue(
const string& name,
const string&
value);
81 void Clear(
void) { m_Data.clear(); }
127 int GetStyle(
void)
const;
128 void SetStyle(
int style);
131 virtual CNCBINode* MapTag(
const string& name);
134 virtual void AddTagMap(
const string& name,
BaseTagMapper* mapper);
135 virtual void AddTagMap(
const string& name,
CNCBINode* node);
177 CHTMLPage(
const string& title,
const string& template_file);
179 const void* template_buffer,
size_t size);
180 CHTMLPage(
const string& title, istream& template_stream);
186 const string& template_file =
kEmptyStr);
191 virtual void CreateSubNodes(
void);
209 void SetTemplateFile (
const string& template_file);
210 void SetTemplateString(
const char* template_string);
211 void SetTemplateBuffer(
const void* template_buffer,
size_t size);
212 void SetTemplateStream(istream& template_stream);
228 const string& attr_name,
229 const string& test_pattern) = 0;
232 } TTemplateLibFilter;
237 void LoadTemplateLibFile (
const string& template_file,
238 TTemplateLibFilter* filter =
NULL);
239 void LoadTemplateLibString(
const char* template_string,
240 TTemplateLibFilter* filter =
NULL);
241 void LoadTemplateLibBuffer(
const void* template_buffer,
size_t size,
242 TTemplateLibFilter* filter =
NULL);
243 void LoadTemplateLibStream(istream& template_stream,
244 TTemplateLibFilter* filter =
NULL);
250 eCTF_Default = eCTF_Disable
258 static void CacheTemplateFiles(ECacheTemplateFiles caching);
261 virtual void AddTagMap(
const string& name,
BaseTagMapper* mapper);
262 virtual void AddTagMap(
const string& name,
CNCBINode* node);
284 bool x_ApplyFilters(TTemplateLibFilter* filter,
const char*
buffer);
310 ETemplateIncludes includes ,
312 TTemplateLibFilter* filter);
317 void GeneratePageInternalName(
const string& template_src);
409 istringstream is(template_string);
410 size_t size = strlen(template_string);
419 istringstream is((
const char*)template_buffer);
434 if ( !template_src.empty() ) {
435 m_Name +=
"(" + template_src +
")";
Interface for a filter, which must be passed to one the LoadTemplateLib methods to select relevant pa...
Include a standard set of the NCBI C++ Toolkit most basic headers.
std::ofstream out("events_result.xml")
main entry point for tests
static const char * str(char *buf, int n)
int TFlags
Binary AND of "EFlags".
class CHTMLPage::CTemplateLibFilter TTemplateLibFilter
Interface for a filter, which must be passed to one the LoadTemplateLib methods to select relevant pa...
virtual ~CTemplateLibFilter()
ECacheTemplateFiles
Template file caching state.
map< string, BaseTagMapper * > TTagMap
void LoadTemplateLibString(const char *template_string, TTemplateLibFilter *filter=NULL)
TMode m_PrintMode
Current print mode (used by RepeatHook).
size_t m_TemplateSize
Size of input, if known (0 otherwise)
void SetTitle(const string &title)
To set title or template outside(after) the constructor.
CCgiApplication * m_CgiApplication
Pointer to runtime information.
void Clear(void)
Remove all entries.
void x_LoadTemplateLib(CNcbiIstream &is, size_t size, ETemplateIncludes includes, const string &file_name, TTemplateLibFilter *filter)
Load template library.
CHTMLPage(const string &title=kEmptyStr)
Constructors.
void SetTemplateBuffer(const void *template_buffer, size_t size)
static CHTMLBasicPage * New(void)
CPageStat & SetPageStat(void)
Get editable CPageStat object.
void SetTemplateStream(istream &template_stream)
const TData & GetData(void) const
Return the whole internal string map (read-only).
const void * m_TemplateBuffer
Some buffer.
TTagMap m_TagMap
Tag resolvers (as registered by AddTagMap).
void SetTemplateString(const char *template_string)
void LoadTemplateLibBuffer(const void *template_buffer, size_t size, TTemplateLibFilter *filter=NULL)
void LoadTemplateLibStream(istream &template_stream, TTemplateLibFilter *filter=NULL)
CPageStat(const CPageStat &)
void GeneratePageInternalName(const string &template_src)
Generate page internal name on the base of template source.
const CPageStat & GetPageStat(void) const
Get CPageStat used to create meta-tags (design ID, hit ID etc.)
CHTMLPage(const string &title, const void *template_buffer, size_t size)
string m_Title
Page title.
virtual bool TestAttribute(const string &attr_name, const string &test_pattern)=0
This method is called by LoadTemplateLib methods to check whether a template within library should be...
virtual CCgiApplication * GetApplication(void) const
istream * m_TemplateStream
Stream.
CPageStat & operator=(const CPageStat &)
CHTMLBasicPage CParent
Parent class.
CNCBINode CParent
Parent class.
map< string, string > TData
static ECacheTemplateFiles sm_CacheTemplateFiles
string m_TemplateFile
Template sources.
@ eCTF_Enable
Enable caching.
@ eCTF_Disable
Disable caching.
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
IO_PREFIX::ostream CNcbiOstream
Portable alias for ostream.
IO_PREFIX::istream CNcbiIstream
Portable alias for istream.
#define NCBI_XHTML_EXPORT
@ eHTML
HTML tag or, for example, HTML entity.
const struct ncbi::grid::netcache::search::fields::SIZE size
const GenericPointer< typename T::ValueType > T2 value
Defines classes: CDirEntry, CFile, CDir, CSymLink, CMemoryFile, CFileUtil, CFileLock,...
Various tag mappers classes.
static void SetTitle(CRef< CSeq_entry > entry, string title)