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