//===- MCLDOutput.h -------------------------------------------------------===//
//
// The MCLinker Project
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
//
// Output class inherits MCLDFile, which is used to represent a output file.
//
//===----------------------------------------------------------------------===//
#ifndef MCLD_OUTPUT_H
#define MCLD_OUTPUT_H
#ifdef ENABLE_UNITTEST
#include <gtest.h>
#endif
#include <mcld/MC/MCLDFile.h>
#include <mcld/Support/RealPath.h>
#include <string>
namespace mcld
{
/** \class MCLDOutput
* \brief MCLDOutput provides the information about the output.
*
* @see MCLDFile
*/
class Output : public MCLDFile
{
public:
enum Type {
Object = MCLDFile::Object,
DynObj = MCLDFile::DynObj,
Exec = MCLDFile::Exec
};
public:
Output();
explicit Output(const sys::fs::Path& pRealPath,
Type pType);
~Output();
};
} // namespace of mcld
#endif