summaryrefslogtreecommitdiffabout
path: root/include/sitecing
Unidiff
Diffstat (limited to 'include/sitecing') (more/less context) (ignore whitespace changes)
-rw-r--r--include/sitecing/cgi_component.h11
-rw-r--r--include/sitecing/component_factory.h14
-rw-r--r--include/sitecing/component_so.h6
-rw-r--r--include/sitecing/configuration.h23
-rw-r--r--include/sitecing/file_factory.h4
-rw-r--r--include/sitecing/process_manager.h2
-rw-r--r--include/sitecing/scoreboard.h3
-rw-r--r--include/sitecing/sitecing_parser.h6
-rw-r--r--include/sitecing/sitecing_util.h24
-rw-r--r--include/sitecing/util.h4
10 files changed, 63 insertions, 34 deletions
diff --git a/include/sitecing/cgi_component.h b/include/sitecing/cgi_component.h
index 91df689..0cad438 100644
--- a/include/sitecing/cgi_component.h
+++ b/include/sitecing/cgi_component.h
@@ -26,29 +26,20 @@ namespace sitecing {
26 /** 26 /**
27 * The interface to the CGI gateway. 27 * The interface to the CGI gateway.
28 */ 28 */
29 kingate::cgi_gateway* __CGI; 29 kingate::cgi_gateway* __CGI;
30 30
31 cgi_component(); 31 cgi_component();
32 virtual ~cgi_component(); 32 virtual ~cgi_component();
33 33
34 /**
35 * @overload acomponent::__set_interface()
36 */
37 void __set_interface(sitecing_interface* scif); 34 void __set_interface(sitecing_interface* scif);
38 /** 35 void __on_change_interface(sitecing_interface *oscif);
39 * @overload acomponent::__on_change_interface()
40 */
41 void __on_change_interface(sitecing_interface *o);
42 /** 36 /**
43 * Invoked on the change of the interface to the CGI. 37 * Invoked on the change of the interface to the CGI.
44 */ 38 */
45 virtual void __on_change_CGI(kingate::cgi_gateway *o); 39 virtual void __on_change_CGI(kingate::cgi_gateway *o);
46 /**
47 * @overload acomponent::__on_imports()
48 */
49 virtual void __on_imports(); 40 virtual void __on_imports();
50 }; 41 };
51 42
52} 43}
53 44
54#endif /* __SITECING_CGI_COMPONENT_H */ 45#endif /* __SITECING_CGI_COMPONENT_H */
diff --git a/include/sitecing/component_factory.h b/include/sitecing/component_factory.h
index 9ddf70d..8f103e0 100644
--- a/include/sitecing/component_factory.h
+++ b/include/sitecing/component_factory.h
@@ -37,31 +37,19 @@ namespace sitecing {
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 /**
46 * @overload file_factory::get_dependencies()
47 */
48 virtual void get_dependencies(const string& dst,file_list_t& deps); 45 virtual void get_dependencies(const string& dst,file_list_t& deps);
49 /** 46 virtual bool is_uptodate(const string& dst,file_list_t *deps=0);
50 * @overload file_factory::is_uptodate()
51 */
52 virtual bool is_uptodate(const string& dst,file_list_t *deps=NULL);
53 /**
54 * @overload file_factory::build()
55 */
56 virtual void build(const string& dst); 47 virtual void build(const string& dst);
57 /**
58 * @overload file_factory::make()
59 */
60 virtual void make(const string& dst); 48 virtual void make(const string& dst);
61 49
62 /** 50 /**
63 * Helper function for executing external command. 51 * Helper function for executing external command.
64 * @param cmd the command to execute. 52 * @param cmd the command to execute.
65 * @param args the command line arguments. 53 * @param args the command line arguments.
66 * @param stdo stdout for the child process. 54 * @param stdo stdout for the child process.
67 * @param stde stderr for the child process. 55 * @param stde stderr for the child process.
diff --git a/include/sitecing/component_so.h b/include/sitecing/component_so.h
index 3239d4a..3daceef 100644
--- a/include/sitecing/component_so.h
+++ b/include/sitecing/component_so.h
@@ -144,16 +144,22 @@ namespace sitecing {
144 template<typename CT> 144 template<typename CT>
145 class so_component_t : public sitecing::so_component { 145 class so_component_t : public sitecing::so_component {
146 public: 146 public:
147 /** 147 /**
148 * @param s The untyped instance container. 148 * @param s The untyped instance container.
149 */ 149 */
150 so_component_t(const so_component& s) 150 so_component_t(const so_component& s)
151 : so_component(s) { } 151 : so_component(s) { }
152
153 /**
154 * typed dereference operator
155 * @return the pointer to the most derived component instance
156 * @see acomponent::__the_most_derived_this()
157 */
152 CT* operator->() { 158 CT* operator->() {
153 return static_cast<CT*>(ac->__the_most_derived_this()); 159 return static_cast<CT*>(ac->__the_most_derived_this());
154 } 160 }
155 }; 161 };
156 162
157} 163}
158 164
159#endif /* __SITECING_COMPONENT_SO_H */ 165#endif /* __SITECING_COMPONENT_SO_H */
diff --git a/include/sitecing/configuration.h b/include/sitecing/configuration.h
index 330a5a6..a2bf612 100644
--- a/include/sitecing/configuration.h
+++ b/include/sitecing/configuration.h
@@ -139,18 +139,27 @@ namespace sitecing {
139 * The action handler component. 139 * The action handler component.
140 */ 140 */
141 string action; 141 string action;
142 /** 142 /**
143 * Arguments for the action hander coponent. 143 * Arguments for the action hander coponent.
144 */ 144 */
145 list<string> args; 145 list<string> args;
146 146
147 /**
148 * @param s regex pattern
149 * @param a action handler
150 */
147 action_handler_t(const string& s,const string& a) 151 action_handler_t(const string& s,const string& a)
148 : s_regex(s), regex(s), action(a) { } 152 : s_regex(s), regex(s), action(a) { }
153 /**
154 * Copy constructor
155 *
156 * @param s source object
157 */
149 action_handler_t(const action_handler_t& s) 158 action_handler_t(const action_handler_t& s)
150 : s_regex(s.s_regex), regex(s.regex), action (s.action), args(s.args) { } 159 : s_regex(s.s_regex), regex(s.regex), action (s.action), args(s.args) { }
151 }; 160 };
152 /** 161 /**
153 * Type for the list of action handlers. 162 * Type for the list of action handlers.
154 */ 163 */
155 typedef list<action_handler_t> action_handlers_t; 164 typedef list<action_handler_t> action_handlers_t;
156 /** 165 /**
@@ -213,17 +222,17 @@ namespace sitecing {
213 * See if the data is still valid. 222 * See if the data is still valid.
214 * @return true if yes. 223 * @return true if yes.
215 */ 224 */
216 bool is_valid(); 225 bool is_valid();
217 226
218 /** 227 /**
219 * Load the configuration file. 228 * Load the configuration file.
220 * @param config the main configuration container. 229 * @param config the main configuration container.
221 * @param the configuration file. 230 * @param cfile the configuration file.
222 */ 231 */
223 void parse(configuration *config,const string& cfile); 232 void parse(configuration *config,const string& cfile);
224 }; 233 };
225 234
226 /** 235 /**
227 * The main configuration container. 236 * The main configuration container.
228 */ 237 */
229 class configuration { 238 class configuration {
@@ -293,17 +302,17 @@ namespace sitecing {
293 */ 302 */
294 flag_multi_process = 0x00000400, 303 flag_multi_process = 0x00000400,
295 /** 304 /**
296 * Was the user specified? 305 * Was the user specified?
297 * @see user 306 * @see user
298 */ 307 */
299 flag_user = 0x00000800, 308 flag_user = 0x00000800,
300 /** 309 /**
301 * @Was the group specified? 310 * Was the group specified?
302 * @see group 311 * @see group
303 */ 312 */
304 flag_group = 0x00001000, 313 flag_group = 0x00001000,
305 /** 314 /**
306 * Was the root to change to specified? 315 * Was the root to change to specified?
307 * @see chroot 316 * @see chroot
308 */ 317 */
309 flag_chroot = 0x00002000, 318 flag_chroot = 0x00002000,
@@ -385,32 +394,40 @@ namespace sitecing {
385 * The file to store PID into. 394 * The file to store PID into.
386 */ 395 */
387 string pid_file; 396 string pid_file;
388 /** 397 /**
389 * Whether we should fork into background. 398 * Whether we should fork into background.
390 */ 399 */
391 bool daemonize; 400 bool daemonize;
392 401
402 /**
403 * Type for the config options map
404 * @see specs
405 */
393 typedef map<string,config_options> specs_t; 406 typedef map<string,config_options> specs_t;
394 /** 407 /**
395 * The local config options map. 408 * The local config options map.
396 */ 409 */
397 specs_t specs; 410 specs_t specs;
411 /**
412 * Type for the loaded per-dir config map
413 * @see loaded_specs
414 */
398 typedef map<string,loaded_options> loaded_specs_t; 415 typedef map<string,loaded_options> loaded_specs_t;
399 /** 416 /**
400 * The local config options as specified in per-dir config files 417 * The local config options as specified in per-dir config files
401 * map. 418 * map.
402 */ 419 */
403 loaded_specs_t loaded_specs; 420 loaded_specs_t loaded_specs;
404 421
405 configuration(); 422 configuration();
406 /** 423 /**
407 * @param cfile the configuration file. 424 * @param cfile the configuration file.
408 * @param ab @todo TODO:: document me 425 * @param ab document me @todo TODO:: document me
409 */ 426 */
410 configuration(const string& cfile,bool ab=false); 427 configuration(const string& cfile,bool ab=false);
411 428
412 /** 429 /**
413 * Parse the configuration file. 430 * Parse the configuration file.
414 * @param cfile the configuration file. 431 * @param cfile the configuration file.
415 */ 432 */
416 void parse(const string& cfile); 433 void parse(const string& cfile);
diff --git a/include/sitecing/file_factory.h b/include/sitecing/file_factory.h
index 7ec82da..43a27bb 100644
--- a/include/sitecing/file_factory.h
+++ b/include/sitecing/file_factory.h
@@ -27,23 +27,23 @@ namespace sitecing {
27 */ 27 */
28 typedef list<string> file_list_t; 28 typedef list<string> file_list_t;
29 29
30 file_factory() 30 file_factory()
31 : depth(0) { } 31 : depth(0) { }
32 32
33 /** 33 /**
34 * Fetch depndencies for the given file. 34 * Fetch depndencies for the given file.
35 * @param dst destination file. 35 * @param dst the destination file.
36 * @param deps where to put dependencies to. 36 * @param deps where to put dependencies to.
37 */ 37 */
38 virtual void get_dependencies(const string& dst,file_list_t& deps) = 0; 38 virtual void get_dependencies(const string& dst,file_list_t& deps) = 0;
39 /** 39 /**
40 * Check if the destination is up to day. 40 * Check if the destination is up to day.
41 * @param the destination file. 41 * @param dst the destination file.
42 * @param deps if the deps pointer is non there, the dependencies 42 * @param deps if the deps pointer is non there, the dependencies
43 * retrieved will be stored there. 43 * retrieved will be stored there.
44 * @return true if yes. 44 * @return true if yes.
45 * @see get_dependencies() 45 * @see get_dependencies()
46 */ 46 */
47 virtual bool is_uptodate(const string& dst,file_list_t* deps=0); 47 virtual bool is_uptodate(const string& dst,file_list_t* deps=0);
48 /** 48 /**
49 * Build the file requested. 49 * Build the file requested.
diff --git a/include/sitecing/process_manager.h b/include/sitecing/process_manager.h
index 73415d3..921f159 100644
--- a/include/sitecing/process_manager.h
+++ b/include/sitecing/process_manager.h
@@ -49,17 +49,17 @@ namespace sitecing {
49 49
50 /** 50 /**
51 * The main loop. 51 * The main loop.
52 */ 52 */
53 void manage(); 53 void manage();
54 54
55 /** 55 /**
56 * The worker function. 56 * The worker function.
57 * @param the slot allocated for the process. 57 * @param slot the slot allocated for the process.
58 */ 58 */
59 virtual void process(int slot) = 0; 59 virtual void process(int slot) = 0;
60 60
61 /** 61 /**
62 * @todo TODO: wish I could remember -- document me. 62 * @todo TODO: wish I could remember -- document me.
63 */ 63 */
64 void manage_children(); 64 void manage_children();
65 /** 65 /**
diff --git a/include/sitecing/scoreboard.h b/include/sitecing/scoreboard.h
index 788f881..1371ab1 100644
--- a/include/sitecing/scoreboard.h
+++ b/include/sitecing/scoreboard.h
@@ -40,16 +40,19 @@ namespace sitecing {
40 * The process is accepting connection. 40 * The process is accepting connection.
41 */ 41 */
42 state_accept, 42 state_accept,
43 /** 43 /**
44 * The process is processing request. 44 * The process is processing request.
45 */ 45 */
46 state_processing 46 state_processing
47 } state; 47 } state;
48 /**
49 * Process ID
50 */
48 pid_t pid; 51 pid_t pid;
49 }; 52 };
50 53
51 /** 54 /**
52 * The scoreboard manager. 55 * The scoreboard manager.
53 */ 56 */
54 class scoreboard { 57 class scoreboard {
55 /** 58 /**
diff --git a/include/sitecing/sitecing_parser.h b/include/sitecing/sitecing_parser.h
index a8474f3..a53ef22 100644
--- a/include/sitecing/sitecing_parser.h
+++ b/include/sitecing/sitecing_parser.h
@@ -83,17 +83,18 @@ class sitecing_parser : public sitecing_parserFlexLexer {
83 */ 83 */
84 bool bTypeOnly; 84 bool bTypeOnly;
85 85
86 /** 86 /**
87 * @param t type. 87 * @param t type.
88 * @param n name. 88 * @param n name.
89 * @param i initializer. 89 * @param i initializer.
90 * @param bc whether it is a component. 90 * @param bc whether it is a component.
91 * @param bto @todo TODO: @see bTypeOnly. 91 * @param bto document me @todo TODO:
92 * @see bTypeOnly.
92 */ 93 */
93 member_variable(const string& t,const string& n,const string& i,bool bc = false,bool bto = false) 94 member_variable(const string& t,const string& n,const string& i,bool bc = false,bool bto = false)
94 : type(t), name(n), initializer(i), bComponent(bc), bTypeOnly(bto) { } 95 : type(t), name(n), initializer(i), bComponent(bc), bTypeOnly(bto) { }
95 }; 96 };
96 /** 97 /**
97 * The list of member variables. 98 * The list of member variables.
98 */ 99 */
99 typedef list<member_variable> member_variables_t; 100 typedef list<member_variable> member_variables_t;
@@ -216,18 +217,17 @@ class sitecing_parser : public sitecing_parserFlexLexer {
216 */ 217 */
217 string _name; 218 string _name;
218 /** 219 /**
219 * The argument declaration. Obviously for member functions. 220 * The argument declaration. Obviously for member functions.
220 */ 221 */
221 string _args; 222 string _args;
222 223
223 /** 224 /**
224 * @param flags. 225 * @param f processing flags @see flags
225 * @see flags
226 */ 226 */
227 modus_operandi(int f = 0) 227 modus_operandi(int f = 0)
228 : modus(modus_code), flags(f) { } 228 : modus(modus_code), flags(f) { }
229 229
230 /** 230 /**
231 * Change the processing mode. 231 * Change the processing mode.
232 */ 232 */
233 void modify(modus_t m); 233 void modify(modus_t m);
diff --git a/include/sitecing/sitecing_util.h b/include/sitecing/sitecing_util.h
index f642c74..233292c 100644
--- a/include/sitecing/sitecing_util.h
+++ b/include/sitecing/sitecing_util.h
@@ -14,41 +14,65 @@
14namespace sitecing { 14namespace sitecing {
15 using namespace std; 15 using namespace std;
16 16
17 /** 17 /**
18 * Base class for utility exceptions. 18 * Base class for utility exceptions.
19 */ 19 */
20 class utility_error : public konforka::exception { 20 class utility_error : public konforka::exception {
21 public: 21 public:
22 /**
23 * @param fi file name
24 * @param fu function name
25 * @param l line number
26 * @param w what
27 */
22 utility_error(const string& fi,const string& fu,int l,const string& w) 28 utility_error(const string& fi,const string& fu,int l,const string& w)
23 : konforka::exception(fi,fu,l,w) { } 29 : konforka::exception(fi,fu,l,w) { }
24 }; 30 };
25 31
26 /** 32 /**
27 * No prefix or suffix found to strip out. 33 * No prefix or suffix found to strip out.
28 */ 34 */
29 class utility_no_affix : public utility_error { 35 class utility_no_affix : public utility_error {
30 public: 36 public:
37 /**
38 * @param fi file name
39 * @param fu function name
40 * @param l line number
41 * @param w what
42 */
31 utility_no_affix(const string& fi,const string& fu,int l,const string& w) 43 utility_no_affix(const string& fi,const string& fu,int l,const string& w)
32 : utility_error(fi,fu,l,w) { } 44 : utility_error(fi,fu,l,w) { }
33 }; 45 };
34 /** 46 /**
35 * No prefix to strip found. 47 * No prefix to strip found.
36 */ 48 */
37 class utility_no_prefix : public utility_no_affix { 49 class utility_no_prefix : public utility_no_affix {
38 public: 50 public:
51 /**
52 * @param fi file name
53 * @param fu function name
54 * @param l line number
55 * @param w what
56 */
39 utility_no_prefix(const string& fi,const string& fu,int l,const string& w) 57 utility_no_prefix(const string& fi,const string& fu,int l,const string& w)
40 : utility_no_affix(fi,fu,l,w) { } 58 : utility_no_affix(fi,fu,l,w) { }
41 }; 59 };
42 /** 60 /**
43 * No suffix to strip found. 61 * No suffix to strip found.
44 */ 62 */
45 class utility_no_suffix : public utility_no_affix { 63 class utility_no_suffix : public utility_no_affix {
46 public: 64 public:
65 /**
66 * @param fi file name
67 * @param fu function name
68 * @param l line number
69 * @param w what
70 */
47 utility_no_suffix(const string& fi,const string& fu,int l,const string& w) 71 utility_no_suffix(const string& fi,const string& fu,int l,const string& w)
48 : utility_no_affix(fi,fu,l,w) { } 72 : utility_no_affix(fi,fu,l,w) { }
49 }; 73 };
50 74
51 /** 75 /**
52 * The file lock object. Released at the object destruction. 76 * The file lock object. Released at the object destruction.
53 */ 77 */
54 class file_lock { 78 class file_lock {
diff --git a/include/sitecing/util.h b/include/sitecing/util.h
index 5750ab6..a38ae90 100644
--- a/include/sitecing/util.h
+++ b/include/sitecing/util.h
@@ -17,25 +17,25 @@ namespace sitecing {
17 * the html_escape options enumeration. 17 * the html_escape options enumeration.
18 */ 18 */
19 enum html_escape_options { 19 enum html_escape_options {
20 /** 20 /**
21 * Turn spaces into &nbsp; 21 * Turn spaces into &nbsp;
22 */ 22 */
23 html_escape_nbsp = 0x0001, 23 html_escape_nbsp = 0x0001,
24 /** 24 /**
25 * Turn newlines into <br/> or <br>. 25 * Turn newlines into br/ or br.
26 */ 26 */
27 html_escape_br = 0x0002, 27 html_escape_br = 0x0002,
28 /** 28 /**
29 * Turn quotes to &quot; 29 * Turn quotes to &quot;
30 */ 30 */
31 html_escape_quot = 0x0004, 31 html_escape_quot = 0x0004,
32 /** 32 /**
33 * Do not put '/' into <br/> consruct. 33 * Do not put '/' into br consruct.
34 */ 34 */
35 html_escape_br_noslash = 0x0008 35 html_escape_br_noslash = 0x0008
36 }; 36 };
37 /** 37 /**
38 * Escape string suitable for html output. 38 * Escape string suitable for html output.
39 * @param str the string. 39 * @param str the string.
40 * @param flags options. 40 * @param flags options.
41 * @return the string escaped. 41 * @return the string escaped.