diff options
author | jsdelfino <jsdelfino@13f79535-47bb-0310-9956-ffa450edef68> | 2012-12-11 06:13:02 +0000 |
---|---|---|
committer | jsdelfino <jsdelfino@13f79535-47bb-0310-9956-ffa450edef68> | 2012-12-11 06:13:02 +0000 |
commit | 36adc76235fb0a38e7042bc751f988b71627e2a0 (patch) | |
tree | fc83b3f4e0afeb3932c8d200f5493f0a8d6c4619 /sca-cpp/trunk/components/log/logger.cpp | |
parent | 86b1de85536e93c59a25702a5a2d3e384202ffd2 (diff) |
Changes to get successful C++11 based build. Code cleanup, dependency upgrades, and const + inline optimizations in components, samples, and app hosting server.
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@1420007 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'sca-cpp/trunk/components/log/logger.cpp')
-rw-r--r-- | sca-cpp/trunk/components/log/logger.cpp | 46 |
1 files changed, 15 insertions, 31 deletions
diff --git a/sca-cpp/trunk/components/log/logger.cpp b/sca-cpp/trunk/components/log/logger.cpp index d7969036ab..46fd1f7cb4 100644 --- a/sca-cpp/trunk/components/log/logger.cpp +++ b/sca-cpp/trunk/components/log/logger.cpp @@ -37,14 +37,21 @@ namespace tuscany { namespace logger { /** - * Component implementation lambda function. + * Start the component. */ -class applyLog { -public: - applyLog(const lambda<value(const list<value>&)>& relay, const value& host, const value& category, scribe::Scribe& sc) : relay(relay), host(host), category(category), sc(sc) { - } +const failable<value> start(const list<value>& params) { + // Connect to Scribe + const scribe::Scribe& sc = *(new (gc_new<scribe::Scribe>()) scribe::Scribe("localhost", 1464)); - const value operator()(const list<value>& params) const { + // Extract the configured relay service and category + const value relay = car(params); + const value host = ((lvvlambda)cadr(params))(nilListValue); + const value category = ((lvvlambda)caddr(params))(nilListValue); + debug(host, "logger::start::host"); + debug(category, "logger::start::category"); + + // Return the component implementation lambda function + const lvvlambda applyLog = [relay, host, category, sc](const list<value>& params) -> const value { // Log the function params debug(params, "logger::apply::params"); scribe::log(params, host, category, sc); @@ -55,31 +62,8 @@ public: // Log the result scribe::log(res, host, category, sc); return res; - } - -private: - const lambda<value(const list<value>&)> relay; - const value host; - const value category; - scribe::Scribe& sc; -}; - -/** - * Start the component. - */ -const failable<value> start(const list<value>& params) { - // Connect to Scribe - scribe::Scribe& sc = *(new (gc_new<scribe::Scribe>()) scribe::Scribe("localhost", 1464)); - - // Extract the configured relay service and category - const value rel = car(params); - const value host = ((lambda<value(const list<value>&)>)cadr(params))(list<value>()); - const value category = ((lambda<value(const list<value>&)>)caddr(params))(list<value>()); - debug(host, "logger::start::host"); - debug(category, "logger::start::category"); - - // Return the component implementation lambda function - return value(lambda<value(const list<value>&)>(applyLog(rel, host, category, sc))); + }; + return value(applyLog); } } |