summaryrefslogtreecommitdiff
path: root/rhtvision/examples/tvhc/tvhc.h
diff options
context:
space:
mode:
Diffstat (limited to 'rhtvision/examples/tvhc/tvhc.h')
-rw-r--r--rhtvision/examples/tvhc/tvhc.h95
1 files changed, 95 insertions, 0 deletions
diff --git a/rhtvision/examples/tvhc/tvhc.h b/rhtvision/examples/tvhc/tvhc.h
new file mode 100644
index 0000000..5cb115b
--- /dev/null
+++ b/rhtvision/examples/tvhc/tvhc.h
@@ -0,0 +1,95 @@
+/*-----------------------------------------------------*/
+/* */
+/* Turbo Vision 1.0 */
+/* Turbo Vision TVHC header file */
+/* Copyright (c) 1991 by Borland International */
+/* */
+/*-----------------------------------------------------*/
+
+#if !defined( TVHC_H )
+#define TVHC_H
+
+const int MAXSIZE = 80;
+const int MAXSTRSIZE=256;
+const char commandChar[] = ".";
+const int bufferSize = 4096;
+
+typedef enum State { undefined, wrapping, notWrapping } _State;
+
+class TProtectedStream : public CLY_std(fstream)
+{
+public:
+ TProtectedStream( char *aFileName, CLY_OpenModeT aMode );
+
+private:
+ char fileName[MAXSIZE];
+ CLY_OpenModeT mode;
+};
+
+// Topic Reference
+
+struct TFixUp
+{
+ long pos;
+ TFixUp *next;
+};
+
+union Content
+{
+ int /*ushort*/ value;
+ TFixUp *fixUpList;
+};
+
+struct TReference
+{
+ char *topic;
+ Boolean resolved;
+ Content val;
+};
+
+class TRefTable : public TSortedCollection
+{
+
+public:
+ TRefTable( ccIndex aLimit, ccIndex aDelta );
+ virtual int compare( void *key1,void *key2 );
+ virtual void freeItem( void *item );
+ TReference *getReference( char *topic );
+ virtual void *keyOf( void *item );
+
+private:
+ virtual void *readItem( ipstream& ) { return 0; };
+ virtual void writeItem( void *, opstream& ) {};
+};
+
+struct TCrossRefNode
+{
+ char *topic;
+ int offset;
+ uchar length;
+ TCrossRefNode *next;
+};
+
+class TTopicDefinition : public TObject
+{
+public:
+
+ TTopicDefinition(char *aTopic, ushort aValue);
+ ~TTopicDefinition(void);
+
+ char *topic;
+ ushort value;
+ TTopicDefinition *next;
+
+};
+
+char helpName[MAXSIZE];
+uchar buffer[bufferSize];
+int ofs;
+TRefTable *refTable = 0;
+TCrossRefNode *xRefs;
+char line[MAXSTRSIZE] = "";
+Boolean lineInBuffer = False;
+int lineCount = 0;
+
+#endif // TVHC_H