summaryrefslogtreecommitdiffstats
path: root/sca-cpp/trunk/modules/server/mod-eval.cpp
diff options
context:
space:
mode:
authorjsdelfino <jsdelfino@13f79535-47bb-0310-9956-ffa450edef68>2010-02-07 00:36:25 +0000
committerjsdelfino <jsdelfino@13f79535-47bb-0310-9956-ffa450edef68>2010-02-07 00:36:25 +0000
commitbb4b895471e3165c71bdfd1fdae5e1ffde8f1696 (patch)
tree57bec175bb5dbf43303f7334162b9b2b4bda03c6 /sca-cpp/trunk/modules/server/mod-eval.cpp
parent00f9947613624b251551ba709824f97f1b6c2fb1 (diff)
Moved server configuration to HTTPD postConfig phase, to avoid running configuration commands twice and added a way for runtime modules and components to handle start/restart/stop events. Improved build scripts a little, to not depend on external environment variables.
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@907352 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to '')
-rw-r--r--sca-cpp/trunk/modules/server/mod-eval.cpp27
1 files changed, 24 insertions, 3 deletions
diff --git a/sca-cpp/trunk/modules/server/mod-eval.cpp b/sca-cpp/trunk/modules/server/mod-eval.cpp
index 54ca171ec4..5a9b87ca2f 100644
--- a/sca-cpp/trunk/modules/server/mod-eval.cpp
+++ b/sca-cpp/trunk/modules/server/mod-eval.cpp
@@ -37,15 +37,36 @@ namespace server {
namespace modeval {
/**
+ * Start the module.
+ */
+const failable<bool> start(unused ServerConf& sc) {
+ return true;
+}
+
+/**
+ * Stop the module.
+ */
+const failable<bool> stop(unused ServerConf& sc) {
+ return true;
+}
+
+/**
+ * Restart the module.
+ */
+const failable<bool> restart(unused ServerConf& sc) {
+ return true;
+}
+
+/**
* Evaluate a Scheme or C++ component implementation and convert it to an
* applicable lambda function.
*/
-const failable<lambda<value(const list<value>&)> > evalImplementation(const string& path, const value& impl, const list<value>& px) {
+const failable<lambda<value(const list<value>&)> > evalImplementation(const string& path, const value& impl, const list<value>& px, ServerConf& sc) {
const string itype(elementName(impl));
if (contains(itype, ".scheme"))
- return modscheme::evalImplementation(path, impl, px);
+ return modscheme::evalImplementation(path, impl, px, sc);
if (contains(itype, ".cpp"))
- return modcpp::evalImplementation(path, impl, px);
+ return modcpp::evalImplementation(path, impl, px, sc);
return mkfailure<lambda<value(const list<value>&)> >(string("Unsupported implementation type: ") + itype);
}