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#include <llvm/Support/DataTypes.h>
13
14namespace mcld
15{
16
17class Input;
18
19/** \class LDReader
20 *  \brief LDReader provides the basic interfaces for all readers. It also
21 *  provides basic functions to read data stream.
22 */
23class LDReader
24{
25public:
26  enum Endian {
27    LittleEndian,
28    BigEndian
29  };
30
31protected:
32  LDReader() { }
33
34public:
35  virtual ~LDReader() { }
36
37  virtual bool isMyFormat(Input& pInput, bool &pContinue) const = 0;
38
39};
40
41} // namespace of mcld
42
43#endif
44
45