1//===- MCLDOutput.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//
10//  Output class inherits MCLDFile, which is used to represent a output file.
11//
12//===----------------------------------------------------------------------===//
13
14#ifndef MCLD_OUTPUT_H
15#define MCLD_OUTPUT_H
16#ifdef ENABLE_UNITTEST
17#include <gtest.h>
18#endif
19
20#include <mcld/MC/MCLDFile.h>
21#include <mcld/Support/RealPath.h>
22#include <string>
23
24namespace mcld
25{
26
27/** \class MCLDOutput
28 *  \brief MCLDOutput provides the information about the output.
29 *
30 *  @see MCLDFile
31 */
32class Output : public MCLDFile
33{
34public:
35  enum Type {
36    Object = MCLDFile::Object,
37    DynObj = MCLDFile::DynObj,
38    Exec   = MCLDFile::Exec
39  };
40
41public:
42  Output();
43  explicit Output(const sys::fs::Path& pRealPath,
44                  Type pType);
45
46  ~Output();
47};
48
49} // namespace of mcld
50
51#endif
52
53