1 //===- ArchiveReader.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_ARCHIVE_READER_INTERFACE_H 10 #define MCLD_ARCHIVE_READER_INTERFACE_H 11 #ifdef ENABLE_UNITTEST 12 #include <gtest.h> 13 #endif 14 #include "mcld/LD/LDReader.h" 15 16 namespace mcld 17 { 18 19 class Input; 20 class InputTree; 21 22 /** \class ArchiveReader 23 * \brief ArchiveReader provides an common interface for all archive readers. 24 * 25 * ArchiveReader also reads the target-independent parts of an archive file. 26 */ 27 class ArchiveReader : public LDReader 28 { 29 public: 30 ArchiveReader(); 31 virtual ~ArchiveReader(); 32 33 virtual InputTree *readArchive(Input &input) = 0; 34 }; 35 36 } // namespace of mcld 37 38 #endif 39