diff options
author | Stefan Radomski <github@mintwerk.de> | 2016-05-12 13:12:33 (GMT) |
---|---|---|
committer | Stefan Radomski <github@mintwerk.de> | 2016-05-12 13:12:33 (GMT) |
commit | b62e7979600feee23dc7cdb61042a8fc7673122b (patch) | |
tree | f7351372f37979dd2d048e0b68a16a4cd3b2aadb /src/uscxml/plugins/invoker/heartbeat/HeartbeatInvoker.cpp | |
parent | 1b11b310be61e51b3ac5ebb83f7c8a33aef3d6e8 (diff) | |
download | uscxml-b62e7979600feee23dc7cdb61042a8fc7673122b.zip uscxml-b62e7979600feee23dc7cdb61042a8fc7673122b.tar.gz uscxml-b62e7979600feee23dc7cdb61042a8fc7673122b.tar.bz2 |
Major Refactoring v2.0
Diffstat (limited to 'src/uscxml/plugins/invoker/heartbeat/HeartbeatInvoker.cpp')
-rw-r--r-- | src/uscxml/plugins/invoker/heartbeat/HeartbeatInvoker.cpp | 115 |
1 files changed, 0 insertions, 115 deletions
diff --git a/src/uscxml/plugins/invoker/heartbeat/HeartbeatInvoker.cpp b/src/uscxml/plugins/invoker/heartbeat/HeartbeatInvoker.cpp deleted file mode 100644 index 0b54228..0000000 --- a/src/uscxml/plugins/invoker/heartbeat/HeartbeatInvoker.cpp +++ /dev/null @@ -1,115 +0,0 @@ -/** - * @file - * @author 2012-2013 Stefan Radomski (stefan.radomski@cs.tu-darmstadt.de) - * @copyright Simplified BSD - * - * @cond - * This program is free software: you can redistribute it and/or modify - * it under the terms of the FreeBSD license as published by the FreeBSD - * project. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - * - * You should have received a copy of the FreeBSD license along with this - * program. If not, see <http://www.opensource.org/licenses/bsd-license>. - * @endcond - */ - -#include <boost/algorithm/string.hpp> - -#include "HeartbeatInvoker.h" -#include "uscxml/dom/DOMUtils.h" -#include <glog/logging.h> - -#ifdef BUILD_AS_PLUGINS -#include <Pluma/Connector.hpp> -#endif - -namespace uscxml { - -#ifdef BUILD_AS_PLUGINS -PLUMA_CONNECTOR -bool pluginConnect(pluma::Host& host) { - host.add( new HeartbeatInvokerProvider() ); - return true; -} -#endif - -HeartbeatInvoker::HeartbeatInvoker() { -} - -HeartbeatInvoker::~HeartbeatInvoker() { - cancel(""); -}; - -boost::shared_ptr<InvokerImpl> HeartbeatInvoker::create(InterpreterImpl* interpreter) { - boost::shared_ptr<HeartbeatInvoker> invoker = boost::shared_ptr<HeartbeatInvoker>(new HeartbeatInvoker()); - invoker->_interpreter = interpreter; - return invoker; -} - -Data HeartbeatInvoker::getDataModelVariables() { - Data data; - return data; -} - -void HeartbeatInvoker::send(const SendRequest& req) { -} - -void HeartbeatInvoker::cancel(const std::string sendId) { - HeartbeatDispatcher::getInstance()->cancelEvent(toStr(this)); -} - -void HeartbeatInvoker::invoke(const InvokeRequest& req) { - _invokeId = req.invokeid; - _event.invokeid = _invokeId; - std::string intervalStr; - double interval = 0; - unsigned long intervalMs = 0; - InvokeRequest::params_t::const_iterator paramIter = req.params.begin(); - while(paramIter != req.params.end()) { - if (iequals(paramIter->first, "interval")) { - intervalStr = paramIter->second.atom; - NumAttr intervalAttr(paramIter->second.atom); - interval = strTo<double>(intervalAttr.value); - if (false) { - } else if (iequals(intervalAttr.unit, "s")) { - intervalMs = interval * 1000; - } else if (iequals(intervalAttr.unit, "ms")) { - intervalMs = interval; - } else { - intervalMs = interval; - } - } - if (iequals(paramIter->first, "eventname")) { - _event.name = paramIter->second.atom; - } - paramIter++; - } - if (_event.name.length() == 0) - _event.name = std::string("heartbeat." + intervalStr); - - if (intervalMs > 0) { - HeartbeatDispatcher::getInstance()->addEvent(toStr(this), HeartbeatInvoker::dispatch, intervalMs, this, true); - } -} - -void HeartbeatInvoker::dispatch(void* instance, std::string name) { - HeartbeatInvoker* invoker = (HeartbeatInvoker*)instance; - invoker->returnEvent(invoker->_event); -} - -HeartbeatDispatcher* HeartbeatDispatcher::_instance = NULL; -HeartbeatDispatcher* HeartbeatDispatcher::getInstance() { - if (_instance == NULL) { - _instance = new HeartbeatDispatcher(); - _instance->start(); - } - return _instance; -} - -HeartbeatDispatcher::HeartbeatDispatcher() {} - -}
\ No newline at end of file |