00001
00002
00003
00004
00005
00006
00007 #ifndef _CTAPESTREAM_H
00008 #define _CTAPESTREAM_H
00009
00010 #include <string.h>
00011 #include <stdio.h>
00012 #include <stdlib.h>
00013
00014
00015 typedef enum {TSO_INIT, TSO_OPEN, TSO_DONE, OS_ERROR} TAPEOBJSTATUS;
00016
00017
00018 class TapeStream{
00019 public:
00020 TapeStream();
00021 virtual ~TapeStream();
00022
00023 virtual char *ReadLine(){return 0;}
00024 virtual char *ReadLine(char *, unsigned int)=0;
00025 virtual int ReadShape(char *, float *)=0;
00026 virtual int Write(char*)=0;
00027 virtual int Write(char*, char*)=0;
00028
00029 virtual void Close()=0;
00030 virtual int Rewind()=0;
00031 void Reset();
00032
00033 virtual void PrintHeader(char *, char *, char *, char *, char *, char *, long, long)=0;
00034
00035
00036 int GetStreamState(){return (int)state;}
00037 char *GetFileMode(){return filemode;}
00038 void SetFileMode(char *);
00039 protected:
00040 int state;
00041
00042 char filemode[3];
00043 };
00044
00045 class tapepair{
00046 public:
00047 tapepair(){tape=0; name=0;}
00048 tapepair(TapeStream *t, void *n){tape=t; name=n;}
00049 ~tapepair(){delete tape;}
00050 TapeStream *tape;
00051 void *name;
00052 };
00053
00054 #endif