#ifndef SOURCEFILE_H_
#define SOURCEFILE_H_
-#include "target.h"
+#include "filetarget.h"
class Component;
-class SourceFile: public Target
+/**
+Represents a C or C++ source file.
+*/
+class SourceFile: public FileTarget
{
-public:
- SourceFile(Builder &, const Component *, const std::string &);
- void find_depends();
- const char *get_type() const { return "SourceFile"; }
private:
const Component *comp;
- std::list<std::string> includes;
+ StringList includes;
+
+protected:
+ SourceFile(Builder &, const Msp::FS::Path &);
+public:
+ SourceFile(Builder &, const Component &, const Msp::FS::Path &);
+ virtual const char *get_type() const { return "SourceFile"; }
+ const StringList &get_includes() const { return includes; }
+ const Component *get_component() const { return comp; }
+ virtual void find_depends();
};
#endif