/ xhb2html.hh / Content
#ifndef   __XHB2HTML_H__
#define   __XHB2HTML_H__

#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include "styx.hh"
#include "xhb.hh"
#include "head2xhb.hh"

#define	LANG_ENG	"eng"
#define	LANG_FR		"fr"

#define	ROOT_HB_DIRECTORY	"hbresult"
#define	HEADERS_DIRECTORY	"headers"

class	Xhb2Html
{
public:
  Xhb2Html(void);
  int		go(StyxDom* dom, char* outputPath, char* lang);
private:
  int		createDir(char *lang, vector nodes,
			  char* path);
  int	createHeaderDir(char* lang, string headerName,
			StyxDom* dom, StyxDomNode* node);
  int	createHeaderDirDescription(char *lang, string headerName,
				   StyxDom* dom, StyxDomNode* node);
  int	createGlobals(char* lang, string headerName,
		      StyxDom* dom, StyxDomNode* node);
  int	createFunctions(char* lang, string headerName,
			StyxDom* dom, StyxDomNode* node);
  int	createTypedefs(char* lang, string headerName,
		       StyxDom* dom, StyxDomNode* node);
  int	createStructs(char* lang, string headerName,
		      StyxDom* dom, StyxDomNode* node);
  int	createUnions(char* lang, string headerName,
		     StyxDom* dom, StyxDomNode* node);
  int	createEnums(char* lang, string headerName,
		     StyxDom* dom, StyxDomNode* node);
  int	createEnumConstants(char* lang, string headerName,
			    StyxDom* dom, StyxDomNode* node);
  int	createMacroConstants(char* lang, string headerName,
			     StyxDom* dom, StyxDomNode* node);
  int	createMacroFunctions(char* lang, string headerName,
			     StyxDom* dom, StyxDomNode* node);
  int	createObjects(char* lang, string headerName,
		      StyxDom* dom, StyxDomNode* node);
  int	createClass(char* lang, string headerName, string className,
		    StyxDom* dom, StyxDomNode* node);
  int	createClassPublicMethods(char *lang, string headerName,
				 string className, StyxDom* dom,
				 StyxDomNode* node);
  int	createClassPublicDatas(char *lang, string headerName,
			       string className, StyxDom* dom,
			       StyxDomNode* node);
  int	createClassProtectedMethods(char *lang, string headerName,
				    string className, StyxDom* dom,
				    StyxDomNode* node);
  int	createClassProtectedDatas(char *lang, string headerName,
				  string className, StyxDom* dom,
				  StyxDomNode* node);
  int	createClassPrivateMethods(char *lang, string headerName,
				  string className, StyxDom* dom,
				  StyxDomNode* node);
  int	createClassPrivateDatas(char *lang, string headerName,
				string className, StyxDom* dom,
				StyxDomNode* node);
};

#endif /* __XHB2HTML_H__ */