1 //===- LDReader.h ---------------------------------------------------------===//
2 //
3 //                     The MCLinker Project
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9 #ifndef MCLD_LD_LDREADER_H_
10 #define MCLD_LD_LDREADER_H_
11 
12 namespace mcld {
13 
14 class Input;
15 
16 /** \class LDReader
17  *  \brief LDReader provides the basic interfaces for all readers. It also
18  *  provides basic functions to read data stream.
19  */
20 class LDReader {
21  public:
22   enum Endian { LittleEndian, BigEndian };
23 
24  protected:
LDReader()25   LDReader() {}
26 
27  public:
~LDReader()28   virtual ~LDReader() {}
29 
30   virtual bool isMyFormat(Input& pInput, bool& pContinue) const = 0;
31 };
32 
33 }  // namespace mcld
34 
35 #endif  // MCLD_LD_LDREADER_H_
36