author | Michael Krelin <hacker@klever.net> | 2005-04-03 13:07:33 (UTC) |
---|---|---|
committer | Michael Krelin <hacker@klever.net> | 2005-04-03 13:07:33 (UTC) |
commit | 197174ead5e273bd0c8684d92752e1e8599d6656 (patch) (unidiff) | |
tree | 7f464c0fd17593e723b13766307c54ceb0ee326f /include/sitecing | |
parent | f2ddc6833252f106cf9aa589bc13216ba25ee4e6 (diff) | |
download | sitecing-197174ead5e273bd0c8684d92752e1e8599d6656.zip sitecing-197174ead5e273bd0c8684d92752e1e8599d6656.tar.gz sitecing-197174ead5e273bd0c8684d92752e1e8599d6656.tar.bz2 |
yet another fix to handling dependencies
-rw-r--r-- | include/sitecing/component_factory.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/include/sitecing/component_factory.h b/include/sitecing/component_factory.h index a208ed1..9ddf70d 100644 --- a/include/sitecing/component_factory.h +++ b/include/sitecing/component_factory.h | |||
@@ -1,84 +1,88 @@ | |||
1 | #ifndef __SITECING_COMPONENT_FACTORY_H | 1 | #ifndef __SITECING_COMPONENT_FACTORY_H |
2 | #define __SITECING_COMPONENT_FACTORY_H | 2 | #define __SITECING_COMPONENT_FACTORY_H |
3 | 3 | ||
4 | #include <string> | 4 | #include <string> |
5 | #include <list> | 5 | #include <list> |
6 | #include <stdexcept> | 6 | #include <stdexcept> |
7 | #include "sitecing/file_factory.h" | 7 | #include "sitecing/file_factory.h" |
8 | #include "sitecing/configuration.h" | 8 | #include "sitecing/configuration.h" |
9 | 9 | ||
10 | /** | 10 | /** |
11 | * @file | 11 | * @file |
12 | * @brief The component_factory class declaration. | 12 | * @brief The component_factory class declaration. |
13 | */ | 13 | */ |
14 | 14 | ||
15 | namespace sitecing { | 15 | namespace sitecing { |
16 | using namespace std; | 16 | using namespace std; |
17 | 17 | ||
18 | /** | 18 | /** |
19 | * @brief The components builder. | 19 | * @brief The components builder. |
20 | */ | 20 | */ |
21 | class component_factory : public file_factory { | 21 | class component_factory : public file_factory { |
22 | public: | 22 | public: |
23 | /** | 23 | /** |
24 | * Path to the source files root. | 24 | * Path to the source files root. |
25 | */ | 25 | */ |
26 | string root_source; | 26 | string root_source; |
27 | /** | 27 | /** |
28 | * Path to the root of the intermediate files storage. | 28 | * Path to the root of the intermediate files storage. |
29 | */ | 29 | */ |
30 | string root_intermediate; | 30 | string root_intermediate; |
31 | /** | 31 | /** |
32 | * Output path for .so components. | 32 | * Output path for .so components. |
33 | */ | 33 | */ |
34 | string root_so; | 34 | string root_so; |
35 | /** | 35 | /** |
36 | * Reference to the configuration container. | 36 | * Reference to the configuration container. |
37 | */ | 37 | */ |
38 | configuration& config; | 38 | configuration& config; |
39 | 39 | ||
40 | /** | 40 | /** |
41 | * @param c reference to the configuration container. | 41 | * @param c reference to the configuration container. |
42 | */ | 42 | */ |
43 | component_factory(configuration& c); | 43 | component_factory(configuration& c); |
44 | 44 | ||
45 | /** | 45 | /** |
46 | * @overload file_factory::get_dependencies() | 46 | * @overload file_factory::get_dependencies() |
47 | */ | 47 | */ |
48 | virtual void get_dependencies(const string& dst,file_list_t& deps); | 48 | virtual void get_dependencies(const string& dst,file_list_t& deps); |
49 | /** | 49 | /** |
50 | * @overload file_factory::is_uptodate() | 50 | * @overload file_factory::is_uptodate() |
51 | */ | 51 | */ |
52 | virtual bool is_uptodate(const string& dst,file_list_t *deps=NULL); | 52 | virtual bool is_uptodate(const string& dst,file_list_t *deps=NULL); |
53 | /** | 53 | /** |
54 | * @overload file_factory::build() | 54 | * @overload file_factory::build() |
55 | */ | 55 | */ |
56 | virtual void build(const string& dst); | 56 | virtual void build(const string& dst); |
57 | /** | ||
58 | * @overload file_factory::make() | ||
59 | */ | ||
60 | virtual void make(const string& dst); | ||
57 | 61 | ||
58 | /** | 62 | /** |
59 | * Helper function for executing external command. | 63 | * Helper function for executing external command. |
60 | * @param cmd the command to execute. | 64 | * @param cmd the command to execute. |
61 | * @param args the command line arguments. | 65 | * @param args the command line arguments. |
62 | * @param stdo stdout for the child process. | 66 | * @param stdo stdout for the child process. |
63 | * @param stde stderr for the child process. | 67 | * @param stde stderr for the child process. |
64 | * @return exit code. | 68 | * @return exit code. |
65 | */ | 69 | */ |
66 | int execute(const string& cmd,const list<string>& args,int stdo,int stde); | 70 | int execute(const string& cmd,const list<string>& args,int stdo,int stde); |
67 | /** | 71 | /** |
68 | * Fetch the class name of the component. | 72 | * Fetch the class name of the component. |
69 | * @param component the component. | 73 | * @param component the component. |
70 | * @return the class name. | 74 | * @return the class name. |
71 | */ | 75 | */ |
72 | string get_classname(const string& component); | 76 | string get_classname(const string& component); |
73 | /** | 77 | /** |
74 | * Get the components from which the target component has been | 78 | * Get the components from which the target component has been |
75 | * derived. | 79 | * derived. |
76 | * @param component the target component | 80 | * @param component the target component |
77 | * @param rv where to store the list of ancestors. | 81 | * @param rv where to store the list of ancestors. |
78 | */ | 82 | */ |
79 | void get_ancestors(const string& component,file_list_t &rv); | 83 | void get_ancestors(const string& component,file_list_t &rv); |
80 | }; | 84 | }; |
81 | 85 | ||
82 | } | 86 | } |
83 | 87 | ||
84 | #endif /* __SITECING_COMPONENT_FACTORY_H */ | 88 | #endif /* __SITECING_COMPONENT_FACTORY_H */ |