LDReader.h revision affc150dc44fab1911775a49636d0ce85333b634
1b841f14f8e51f2365945281fbfa54ef6a1b1b5a6Andreas Huber//===- LDReader.h ---------------------------------------------------------===// 2b841f14f8e51f2365945281fbfa54ef6a1b1b5a6Andreas Huber// 3b841f14f8e51f2365945281fbfa54ef6a1b1b5a6Andreas Huber// The MCLinker Project 4b841f14f8e51f2365945281fbfa54ef6a1b1b5a6Andreas Huber// 5b841f14f8e51f2365945281fbfa54ef6a1b1b5a6Andreas Huber// This file is distributed under the University of Illinois Open Source 6b841f14f8e51f2365945281fbfa54ef6a1b1b5a6Andreas Huber// License. See LICENSE.TXT for details. 7b841f14f8e51f2365945281fbfa54ef6a1b1b5a6Andreas Huber// 8b841f14f8e51f2365945281fbfa54ef6a1b1b5a6Andreas Huber//===----------------------------------------------------------------------===// 9b841f14f8e51f2365945281fbfa54ef6a1b1b5a6Andreas Huber#ifndef MCLD_READER_INTERFACE_H 10b841f14f8e51f2365945281fbfa54ef6a1b1b5a6Andreas Huber#define MCLD_READER_INTERFACE_H 11b841f14f8e51f2365945281fbfa54ef6a1b1b5a6Andreas Huber#ifdef ENABLE_UNITTEST 12b841f14f8e51f2365945281fbfa54ef6a1b1b5a6Andreas Huber#include <gtest.h> 13b841f14f8e51f2365945281fbfa54ef6a1b1b5a6Andreas Huber#endif 14b841f14f8e51f2365945281fbfa54ef6a1b1b5a6Andreas Huber 15b841f14f8e51f2365945281fbfa54ef6a1b1b5a6Andreas Huber#include <llvm/Support/DataTypes.h> 16b841f14f8e51f2365945281fbfa54ef6a1b1b5a6Andreas Huber 17b841f14f8e51f2365945281fbfa54ef6a1b1b5a6Andreas Hubernamespace mcld 18b841f14f8e51f2365945281fbfa54ef6a1b1b5a6Andreas Huber{ 19b841f14f8e51f2365945281fbfa54ef6a1b1b5a6Andreas Huber 20b841f14f8e51f2365945281fbfa54ef6a1b1b5a6Andreas Huberclass Input; 21b841f14f8e51f2365945281fbfa54ef6a1b1b5a6Andreas Huber 22b841f14f8e51f2365945281fbfa54ef6a1b1b5a6Andreas Huber/** \class LDReader 23b841f14f8e51f2365945281fbfa54ef6a1b1b5a6Andreas Huber * \brief LDReader provides the basic interfaces for all readers. It also 24b841f14f8e51f2365945281fbfa54ef6a1b1b5a6Andreas Huber * provides basic functions to read data stream. 25b841f14f8e51f2365945281fbfa54ef6a1b1b5a6Andreas Huber */ 26b841f14f8e51f2365945281fbfa54ef6a1b1b5a6Andreas Huberclass LDReader 27b841f14f8e51f2365945281fbfa54ef6a1b1b5a6Andreas Huber{ 28b841f14f8e51f2365945281fbfa54ef6a1b1b5a6Andreas Huberpublic: 29b841f14f8e51f2365945281fbfa54ef6a1b1b5a6Andreas Huber enum Endian { 30b841f14f8e51f2365945281fbfa54ef6a1b1b5a6Andreas Huber LittleEndian, 31b841f14f8e51f2365945281fbfa54ef6a1b1b5a6Andreas Huber BigEndian 32b841f14f8e51f2365945281fbfa54ef6a1b1b5a6Andreas Huber }; 33b841f14f8e51f2365945281fbfa54ef6a1b1b5a6Andreas Huber 34b841f14f8e51f2365945281fbfa54ef6a1b1b5a6Andreas Huberprotected: 35b841f14f8e51f2365945281fbfa54ef6a1b1b5a6Andreas Huber LDReader() { } 36b841f14f8e51f2365945281fbfa54ef6a1b1b5a6Andreas Huber 37b841f14f8e51f2365945281fbfa54ef6a1b1b5a6Andreas Huberpublic: 38b841f14f8e51f2365945281fbfa54ef6a1b1b5a6Andreas Huber virtual ~LDReader() { } 39b841f14f8e51f2365945281fbfa54ef6a1b1b5a6Andreas Huber 40b841f14f8e51f2365945281fbfa54ef6a1b1b5a6Andreas Huber virtual bool isMyFormat(Input& pInput) const = 0; 41b841f14f8e51f2365945281fbfa54ef6a1b1b5a6Andreas Huber 42b841f14f8e51f2365945281fbfa54ef6a1b1b5a6Andreas Huber}; 43b841f14f8e51f2365945281fbfa54ef6a1b1b5a6Andreas Huber 44b841f14f8e51f2365945281fbfa54ef6a1b1b5a6Andreas Huber} // namespace of mcld 45b841f14f8e51f2365945281fbfa54ef6a1b1b5a6Andreas Huber 46b841f14f8e51f2365945281fbfa54ef6a1b1b5a6Andreas Huber#endif 47b841f14f8e51f2365945281fbfa54ef6a1b1b5a6Andreas Huber 48b841f14f8e51f2365945281fbfa54ef6a1b1b5a6Andreas Huber