]> git.tdb.fi Git - builder.git/blob - source/lib/csourcefile.h
Add visibility decorations to the library and plugins
[builder.git] / source / lib / csourcefile.h
1 #ifndef CSOURCEFILE_H_
2 #define CSOURCEFILE_H_
3
4 #include <msp/io/base.h>
5 #include "libbuilder_api.h"
6 #include "sourcefile.h"
7
8 /**
9 Represents a C or C++ source file.
10 */
11 class LIBBUILDER_API CSourceFile: public SourceFile
12 {
13 protected:
14         std::vector<std::string> includes;
15
16 public:
17         CSourceFile(Builder &b, const Msp::FS::Path &p): SourceFile(b, p) { }
18         CSourceFile(Builder &, const Component &, const Msp::FS::Path &);
19
20         const char *get_type() const override { return "CSourceFile"; }
21         const std::vector<std::string> &get_includes() const { return includes; }
22 protected:
23         virtual void parse_includes(Msp::IO::Base &);
24         void find_dependencies() override;
25         void modified() override;
26 };
27
28 #endif