summaryrefslogtreecommitdiffabout
path: root/include/sitecing
authorMichael Krelin <hacker@klever.net>2005-04-03 13:07:33 (UTC)
committer Michael Krelin <hacker@klever.net>2005-04-03 13:07:33 (UTC)
commit197174ead5e273bd0c8684d92752e1e8599d6656 (patch) (unidiff)
tree7f464c0fd17593e723b13766307c54ceb0ee326f /include/sitecing
parentf2ddc6833252f106cf9aa589bc13216ba25ee4e6 (diff)
downloadsitecing-197174ead5e273bd0c8684d92752e1e8599d6656.zip
sitecing-197174ead5e273bd0c8684d92752e1e8599d6656.tar.gz
sitecing-197174ead5e273bd0c8684d92752e1e8599d6656.tar.bz2
yet another fix to handling dependencies
Diffstat (limited to 'include/sitecing') (more/less context) (ignore whitespace changes)
-rw-r--r--include/sitecing/component_factory.h4
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
15namespace sitecing { 15namespace 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 */