#pragma interface #ifndef TLMPDOC_ENGINE_H #define TLMPDOC_ENGINE_H // Opaque type class DOC_ID{ class DOC_ID_PRIVATE *priv; /*~PROTOBEG~ DOC_ID */ public: DOC_ID (const char *_label); DOC_ID (void); const char *getlabel (void)const; ~DOC_ID (void); /*~PROTOEND~ DOC_ID */ }; #define _TLMP_page struct _F_page{ class _F_page_private *priv; #define _F_page_desc(nom) void nom desc() virtual _F_page_desc( )=0; #define _F_page_image(nom) void nom image() virtual _F_page_image( )=0; }; #define _TLMP_paragraph struct _F_paragraph{ class _F_paragraph_private *priv; #define _F_paragraph_body(nom) void nom body() virtual _F_paragraph_body( )=0; }; #define _TLMP_section struct _F_section{ class _F_section_private *priv; #define _F_section_body(nom) void nom body(bool printing, bool fulldoc) virtual _F_section_body( )=0; }; #define _TLMP_sample struct _F_sample{ class _F_sample_private *priv; void htmlout (const char *s); void printf (const char *s, ...); void include (const char *file); void include (const char *file, const char *prefix); void setwidth (int width); void setnbtab (int nbtab); void settableopt (const char *opt); #define _F_sample_body(nom) void nom body() virtual _F_sample_body( )=0; }; #define _TLMP_pre struct _F_pre{ class _F_pre_private *priv; void htmlout (const char *s); void printf (const char *s, ...); #define _F_pre_body(nom) void nom body() virtual _F_pre_body( )=0; }; #define _TLMP_document struct _F_document{ class _F_document_private *priv; void author (const char *name, const char *email); void urlproject(); void urltlmpdoc_engine(); #define _F_document_abstract(nom) void nom abstract() virtual _F_document_abstract( )=0; #define _F_document_body(nom) void nom body() virtual _F_document_body( )=0; #define _F_document_ref(nom) void nom ref() virtual _F_document_ref( ); #define _F_document_bottom(nom) void nom bottom(int tbno[10], int level) virtual _F_document_bottom( ); }; enum DOCNODE_STATUS{ DOCNODE_OLD, // The reader has seen this node DOCNODE_NEVERSEEN, // The reader has never this node // but has seen other part of the document // A DOCNODE_NEW node is new since the // reader last visited the document DOCNODE_MODIFIED, // He has seen it, but it has changed since DOCNODE_NEW, // This is new since he last visited the document }; #endif