1d0fbbb227051be16931a1aa9b4a7722ac039c698Shih-wei Liao//===- BinaryReader.h -----------------------------------------------------===// 2d0fbbb227051be16931a1aa9b4a7722ac039c698Shih-wei Liao// 3d0fbbb227051be16931a1aa9b4a7722ac039c698Shih-wei Liao// The MCLinker Project 4d0fbbb227051be16931a1aa9b4a7722ac039c698Shih-wei Liao// 5d0fbbb227051be16931a1aa9b4a7722ac039c698Shih-wei Liao// This file is distributed under the University of Illinois Open Source 6d0fbbb227051be16931a1aa9b4a7722ac039c698Shih-wei Liao// License. See LICENSE.TXT for details. 7d0fbbb227051be16931a1aa9b4a7722ac039c698Shih-wei Liao// 8d0fbbb227051be16931a1aa9b4a7722ac039c698Shih-wei Liao//===----------------------------------------------------------------------===// 987f34658dec9097d987d254a990ea7f311bfc95fStephen Hines#ifndef MCLD_LD_BINARYREADER_H 1087f34658dec9097d987d254a990ea7f311bfc95fStephen Hines#define MCLD_LD_BINARYREADER_H 11d0fbbb227051be16931a1aa9b4a7722ac039c698Shih-wei Liao#include "mcld/LD/LDReader.h" 12d0fbbb227051be16931a1aa9b4a7722ac039c698Shih-wei Liao 13d0fbbb227051be16931a1aa9b4a7722ac039c698Shih-wei Liaonamespace mcld { 14d0fbbb227051be16931a1aa9b4a7722ac039c698Shih-wei Liao 15d0fbbb227051be16931a1aa9b4a7722ac039c698Shih-wei Liaoclass Module; 16d0fbbb227051be16931a1aa9b4a7722ac039c698Shih-wei Liaoclass Input; 17d0fbbb227051be16931a1aa9b4a7722ac039c698Shih-wei Liao 18d0fbbb227051be16931a1aa9b4a7722ac039c698Shih-wei Liao/** \class BinaryReader 19d0fbbb227051be16931a1aa9b4a7722ac039c698Shih-wei Liao * \brief BinaryReader provides an common interface for different Binary 20d0fbbb227051be16931a1aa9b4a7722ac039c698Shih-wei Liao * formats. 21d0fbbb227051be16931a1aa9b4a7722ac039c698Shih-wei Liao */ 22d0fbbb227051be16931a1aa9b4a7722ac039c698Shih-wei Liaoclass BinaryReader : public LDReader 23d0fbbb227051be16931a1aa9b4a7722ac039c698Shih-wei Liao{ 24d0fbbb227051be16931a1aa9b4a7722ac039c698Shih-wei Liaopublic: 2587f34658dec9097d987d254a990ea7f311bfc95fStephen Hines virtual ~BinaryReader() = 0; 26d0fbbb227051be16931a1aa9b4a7722ac039c698Shih-wei Liao 2787f34658dec9097d987d254a990ea7f311bfc95fStephen Hines virtual bool isMyFormat(Input& pInput, bool &pContinue) const 2887f34658dec9097d987d254a990ea7f311bfc95fStephen Hines { pContinue = true; return false; } 29d0fbbb227051be16931a1aa9b4a7722ac039c698Shih-wei Liao 30d0fbbb227051be16931a1aa9b4a7722ac039c698Shih-wei Liao virtual bool readBinary(Input& pFile) = 0; 31d0fbbb227051be16931a1aa9b4a7722ac039c698Shih-wei Liao}; 32d0fbbb227051be16931a1aa9b4a7722ac039c698Shih-wei Liao 33d0fbbb227051be16931a1aa9b4a7722ac039c698Shih-wei Liao} // namespace of mcld 34d0fbbb227051be16931a1aa9b4a7722ac039c698Shih-wei Liao 35d0fbbb227051be16931a1aa9b4a7722ac039c698Shih-wei Liao#endif 36d0fbbb227051be16931a1aa9b4a7722ac039c698Shih-wei Liao 37