00001 00018 // =================================================================== 00019 // Avoid multiple inclusion. 00020 #if !defined (_REFERENCE_READER_HH) 00021 #define _REFERENCE_READER_HH 00022 // =================================================================== 00023 00024 00025 00026 // =================================================================== 00027 // INCLUDES 00028 00029 #include <stdio.h> 00030 #include "types-and-constants.hh" 00031 // =================================================================== 00032 00033 00034 00035 00036 // =================================================================== 00037 // CLASS DEFINITION 00038 00049 class Reference_Reader { 00050 00051 public: // CONSTRUCTOR & DESTRUCTOR 00052 00060 Reference_Reader () {} 00061 00070 Reference_Reader (const char* const reference_trace_pathname); 00071 00078 virtual ~Reference_Reader (); 00079 00080 public: // PURE VIRTUAL METHODS 00081 00094 virtual void read (reference_record_s* const reference_record) = 0; 00095 00096 protected: // DATA 00097 00099 FILE* reference_stream; 00100 00102 char buffer[BUFFER_SIZE]; 00103 00104 }; // class Reference_Reader 00105 // =================================================================== 00106 00107 00108 00109 // =================================================================== 00110 #endif // _REFERENCE_READER_HH 00111 // ===================================================================