www.pudn.com > simplec++codeforp2p.rar > html.h
// ------------------------------------------------
// File : html.h
// Date: 4-apr-2002
// Author: giles
// Desc:
//
// (c) 2002 peercast.org
// ------------------------------------------------
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// ------------------------------------------------
#ifndef _HTML_H
#define _HTML_H
// ---------------------------------------
#include "xml.h"
#include "sys.h"
class FileStream;
// ---------------------------------------
class HTML
{
public:
enum
{
MAX_TAGLEVEL = 64,
MAX_TAGLEN = 64
};
enum
{
TMPL_UNKNOWN,
TMPL_LOOP,
TMPL_IF,
TMPL_ELSE,
TMPL_END
};
HTML(const char *,Stream &);
void startNode(const char *, const char * = NULL);
void addLink(const char *, const char *, bool = false);
void startTag(const char *, const char * = NULL,...);
void startTagEnd(const char *, const char * = NULL,...);
void startSingleTagEnd(const char *,...);
void startTableRow(int);
void end();
void setRefresh(int sec) {refresh = sec;}
void setRefreshURL(const char *u){refreshURL.set(u);}
void addHead();
void startHTML();
void startBody();
void locateTo(const char *);
void addContent(const char *);
void writeOK(const char *);
void writeTemplate(const char *, const char *);
void writeRawFile(const char *);
void writeVariable(Stream &,const String &,int);
int getIntVariable(const String &,int);
bool getBoolVariable(const String &,int);
void readIf(Stream &,Stream *,int);
void readLoop(Stream &,Stream *,int);
void readVariable(Stream &,Stream *,int);
bool readTemplate(Stream &,Stream *,int);
int readCmd(Stream &,Stream *,int);
const char *tmplArgs;
String title,refreshURL;
char currTag[MAX_TAGLEVEL][MAX_TAGLEN];
int tagLevel;
int refresh;
Stream *out;
};
#endif