Main Page | Class Hierarchy | Class List | File List | Class Members | File Members

TArtDataSource.h

Go to the documentation of this file.
00001 /* $Id:$ */
00011 #ifndef TARTDATASOURCE_H
00012 #define TARTDATASOURCE_H
00013 class TArtDataFormat;
00014 
00019 typedef enum { 
00020    kNormal, 
00021    kEnd,  
00022    kComment, 
00023    kError 
00024 } ArtBlockType_t;
00025 
00027 typedef enum {
00028    kNORMALBLOCK, 
00029    kWAIT, 
00030    kRUNSTOP, 
00031    kEOF, 
00032    kERRORBLOCK 
00033 } ArtBlockStat_t;
00035 typedef enum {
00036    kNORMALEVENT,  
00037    kEOB, 
00038    kCOMMENT, 
00039    kERROREVENT 
00040 } ArtEventStat_t;
00042 typedef enum {
00043    kEXIST, 
00044    kNOTEXIST 
00045 } ArtFileStat_t;
00046 
00052 class TArtDataSource {
00053 public:
00057    static const int kMaxBufferSize;
00058    virtual ~TArtDataSource();
00059    virtual ArtFileStat_t Open(const char* sourceName = 0) = 0;
00060    virtual void Close() = 0;
00061    virtual int Read(char *buf,const int& size, const int &offset = 0) = 0;
00062    virtual ArtBlockStat_t GetNextBlock() = 0;
00063    virtual ArtEventStat_t GetNextEvent(unsigned short* buf,
00064                                        unsigned short* runbuf,
00065                                        unsigned short*rnum,
00066                                        int &nw);
00067    TArtDataFormat *GetDataFormat() { return fFormat; }
00068 protected:
00069    TArtDataSource();
00070    TArtDataFormat *fFormat;
00071    ArtBlockStat_t  fBlockStatus;
00072    ArtEventStat_t  fEventStatus;
00073    ArtFileStat_t   fFileStatus;
00074 private:
00075    
00076 };
00077 #endif // end of #ifdef TARTDATASOURCE_H

Generated on Mon Sep 8 08:58:21 2008 by  doxygen 1.3.9.1