diff options
author | jsdelfino <jsdelfino@13f79535-47bb-0310-9956-ffa450edef68> | 2009-11-23 05:25:33 +0000 |
---|---|---|
committer | jsdelfino <jsdelfino@13f79535-47bb-0310-9956-ffa450edef68> | 2009-11-23 05:25:33 +0000 |
commit | 585f81b9436e137c3ed784d9a91efa9e6e792e03 (patch) | |
tree | f40f0179601320ace0b454698dc76aaeddfc6a5d /sca-cpp/trunk/kernel/kernel-test.cpp | |
parent | 3c6b7d709c7197078f8261f8e3464b0f217c988e (diff) |
Refactored httpd server integration, split http support and server logic in two modules. Added functions to load component implementations packaged as dynamic libraries. Minor monad code cleanup, converted cast operators to separate functions.
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@883249 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'sca-cpp/trunk/kernel/kernel-test.cpp')
-rw-r--r-- | sca-cpp/trunk/kernel/kernel-test.cpp | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/sca-cpp/trunk/kernel/kernel-test.cpp b/sca-cpp/trunk/kernel/kernel-test.cpp index 9346e31b71..24d67e1a9a 100644 --- a/sca-cpp/trunk/kernel/kernel-test.cpp +++ b/sca-cpp/trunk/kernel/kernel-test.cpp @@ -37,6 +37,7 @@ #include "element.hpp" #include "xml.hpp" #include "monad.hpp" +#include "dynlib.hpp" namespace tuscany { @@ -660,8 +661,8 @@ struct tickInc { const double v; tickInc(const double v) : v(v) { } - const svp<int, double> operator()(int s) const { - return svp<int, double>(s + 1, v); + const scp<int, double> operator()(int s) const { + return scp<int, double>(s + 1, v); } }; @@ -693,6 +694,21 @@ bool testStateMonad() { return true; } +bool testDynLib() { + const failable<lib, std::string> dl(dynlib(".libs/libdynlib-test" + dynlibExt)); + assert(hasContent(dl)); + const failable<lambda<int(int)>, std::string> sq(dynlambda<int(int)>("csquare", content(dl))); + assert(hasContent(sq)); + lambda<int(int)> l(content(sq)); + assert(l(2) == 4); + + const failable<lambda<lambda<int(int)>()>, std::string> sql(dynlambda<lambda<int(int)>()>("csquarel", content(dl))); + assert(hasContent(sql)); + lambda<lambda<int(int)>()> ll(content(sql)); + assert(ll()(3) == 9); + return true; +} + } int main() { @@ -730,6 +746,7 @@ int main() { tuscany::testMaybeMonad(); tuscany::testFailableMonad(); tuscany::testStateMonad(); + tuscany::testDynLib(); std::cout << "OK" << std::endl; |