1 //===- DynObjReader.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_DYNOBJREADER_H_
10 #define MCLD_LD_DYNOBJREADER_H_
11 #include "mcld/LD/LDReader.h"
12 
13 namespace mcld {
14 
15 class TargetLDBackend;
16 class Input;
17 
18 /** \class DynObjReader
19  *  \brief DynObjReader provides an common interface for different object
20  *  formats.
21  */
22 class DynObjReader : public LDReader {
23  protected:
DynObjReader()24   DynObjReader() {}
25 
26  public:
~DynObjReader()27   virtual ~DynObjReader() {}
28 
29   virtual bool readHeader(Input& pFile) = 0;
30 
31   virtual bool readSymbols(Input& pFile) = 0;
32 };
33 
34 }  // namespace mcld
35 
36 #endif  // MCLD_LD_DYNOBJREADER_H_
37