add 'location' information to a couple exceptions that should have it
[reactos.git] / reactos / tools / rbuild / backend / backend.h
1 #ifndef __BACKEND_H
2 #define __BACKEND_H
3
4 #include "../rbuild.h"
5
6 class Backend;
7
8 typedef Backend* BackendFactory ( Project& project );
9
10 class Backend
11 {
12 public:
13 class Factory
14 {
15 static std::map<std::string,Factory*>* factories;
16
17 protected:
18
19 Factory ( const std::string& name_ );
20 virtual ~Factory() {}
21
22 virtual Backend* operator() ( Project& ) = 0;
23
24 public:
25 static Backend* Create ( const std::string& name,
26 Project& project );
27
28 private:
29 };
30
31 protected:
32 Backend ( Project& project );
33
34 public:
35 virtual void Process () = 0;
36
37 protected:
38 Project& ProjectNode;
39 };
40
41 #endif /* __BACKEND_H */