- Timestamp:
- Mar 26, 2014, 9:27:30 PM (11 years ago)
- Location:
- trunk/src
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/DBITEPlayerLib/DbtPlyEngine.cpp
r277 r288 10 10 #include <Pacpus/kernel/Log.h> 11 11 12 #include < cassert>12 #include <boost/assert.hpp> 13 13 #include <limits> 14 14 #include <QDir> … … 226 226 void DbtPlyEngine::playEvent() 227 227 { 228 using boost::dynamic_pointer_cast; 229 228 230 LOG_DEBUG("Clicked: play"); 229 231 230 232 // get user interface 231 233 ComponentManager * mgr = ComponentManager::getInstance(); 232 DbtPlyUserInterface * ui = dynamic_cast<DbtPlyUserInterface *>(mgr->getComponent("dbiteUserInterface"));233 assert(ui);234 boost::shared_ptr<DbtPlyUserInterface> ui = dynamic_pointer_cast<DbtPlyUserInterface>(mgr->getComponent("dbiteUserInterface")); 235 BOOST_ASSERT(ui); 234 236 // get time value from slider 235 237 lastTDbt_ = ui->getTime() + tDbtMin_; … … 268 270 void DbtPlyEngine::setState(DbtPlyEngineState * newState) 269 271 { 270 assert(newState);272 BOOST_ASSERT(newState); 271 273 LOG_DEBUG(mCurrentState->toString() << " => " << newState->toString()); 272 274 mCurrentState = newState; … … 284 286 mSpeed = kMaxSpeed; 285 287 } 286 assert(kMinSpeed <= mSpeed);287 assert(mSpeed <= kMaxSpeed);288 BOOST_ASSERT(kMinSpeed <= mSpeed); 289 BOOST_ASSERT(mSpeed <= kMaxSpeed); 288 290 LOG_INFO("event: Speed Up, speed = " << mSpeed); 289 291 Q_EMIT displayStateSig(mCurrentState, mSpeed); … … 296 298 mSpeed = kMinSpeed; 297 299 } 298 assert(kMinSpeed <= mSpeed);299 assert(mSpeed <= kMaxSpeed);300 BOOST_ASSERT(kMinSpeed <= mSpeed); 301 BOOST_ASSERT(mSpeed <= kMaxSpeed); 300 302 LOG_INFO("event: Speed Up, speed = " << mSpeed); 301 303 Q_EMIT displayStateSig(mCurrentState, mSpeed); … … 304 306 void DbtPlyEngine::reset() 305 307 { 308 using boost::dynamic_pointer_cast; 309 306 310 lastTNow_ = road_time(); 307 311 lastTDbt_ = tDbtMin_; … … 311 315 // get user interface 312 316 ComponentManager * mgr = ComponentManager::getInstance(); 313 DbtPlyUserInterface * ui = dynamic_cast<DbtPlyUserInterface *>(mgr->getComponent("dbiteUserInterface"));314 assert(ui);317 boost::shared_ptr<DbtPlyUserInterface> ui = dynamic_pointer_cast<DbtPlyUserInterface>(mgr->getComponent("dbiteUserInterface")); 318 BOOST_ASSERT(ui); 315 319 // reset time value of the slider 316 320 ui->resetTime(); -
trunk/src/DBITEPlayerLib/DbtPlyFileManager.cpp
r181 r288 67 67 ComponentBase::COMPONENT_CONFIGURATION DbtPlyFileManager::configureComponent(XmlComponentConfig config) 68 68 { 69 using boost::dynamic_pointer_cast; 70 69 71 ComponentManager * mgr = ComponentManager::getInstance(); 70 mEngine = static_cast<DbtPlyEngine *>(mgr->getComponent("dbiteEngine"));71 if ( NULL == mEngine) {72 mEngine = dynamic_pointer_cast<DbtPlyEngine>(mgr->getComponent("dbiteEngine")); 73 if (!mEngine) { 72 74 LOG_FATAL("cannot get a pointer of the 'dbiteEngine' component"); 73 75 return CONFIGURED_FAILED; … … 81 83 // register the road_time_t type for the connection 82 84 qRegisterMetaType<road_time_t>("road_time_t"); 83 connect(mEngine , SIGNAL(play(road_time_t,road_time_t, bool)),85 connect(mEngine.get(), SIGNAL(play(road_time_t,road_time_t, bool)), 84 86 this, SLOT(playData(road_time_t,road_time_t, bool)), 85 87 Qt::DirectConnection); 86 88 connect(this, SIGNAL(tMinMaxIs(road_time_t,road_time_t )), 87 mEngine , SLOT(tMinMax(road_time_t, road_time_t)));88 connect(mEngine , SIGNAL(stopfile()),89 mEngine.get(), SLOT(tMinMax(road_time_t, road_time_t))); 90 connect(mEngine.get(), SIGNAL(stopfile()), 89 91 this, SLOT (beginfile())); 90 92 -
trunk/src/DBITEPlayerLib/DbtPlyTrigger.cpp
r152 r288 39 39 ComponentBase::COMPONENT_CONFIGURATION DbtPlyTrigger::configureComponent(XmlComponentConfig /*config*/) 40 40 { 41 using boost::dynamic_pointer_cast; 42 41 43 ComponentManager * mgr = ComponentManager::getInstance(); 42 44 // we get a pointer to the engine component 43 mEngine = dynamic_ cast<DbtPlyEngine *>(mgr->getComponent("dbiteEngine"));44 if ( NULL ==mEngine) {45 mEngine = dynamic_pointer_cast<DbtPlyEngine>(mgr->getComponent("dbiteEngine")); 46 if (!mEngine) { 45 47 LOG_FATAL("cannot get a pointer of the 'dbiteEngine' component"); 46 48 return CONFIGURED_FAILED; 47 49 } 48 50 connect(this, SIGNAL(triggerSig()), 49 mEngine ,SLOT(engReceiver()),51 mEngine.get(), SLOT(engReceiver()), 50 52 Qt::DirectConnection); 51 53 -
trunk/src/DBITEPlayerLib/DbtPlyUserInterface.cpp
r152 r288 61 61 ComponentBase::COMPONENT_CONFIGURATION DbtPlyUserInterface::configureComponent(XmlComponentConfig /*config*/) 62 62 { 63 using boost::dynamic_pointer_cast; 64 63 65 ComponentManager * mgr = ComponentManager::getInstance(); 64 mEngine = dynamic_ cast<DbtPlyEngine *>(mgr->getComponent("dbiteEngine"));65 if ( NULL ==mEngine) {66 mEngine = dynamic_pointer_cast<DbtPlyEngine>(mgr->getComponent("dbiteEngine")); 67 if (!mEngine) { 66 68 LOG_FATAL("cannot get a pointer of the 'dbiteEngine' component"); 67 69 return CONFIGURED_FAILED; … … 275 277 componentTableWidget->setItem(idx, 0, new QTableWidgetItem(componentName)); 276 278 277 ComponentBase * component = mgr->getComponent(componentName); 278 if (component) { 279 COMPONENT_STATE state = component->getState(); 280 281 QString stateString; 282 switch (state) { 283 case STOPPED: 284 stateString = tr("Stopped"); 285 break; 286 case NOT_MONITORED: 287 stateString = tr("Not monitored"); 288 break; 289 case MONITOR_OK: 290 stateString = tr("Monitor OK"); 291 break; 292 case MONITOR_NOK: 293 stateString = tr("Monitor wrong"); 294 break; 295 296 default: 297 stateString = tr("UNKNOWN"); 298 break; 299 } 300 componentTableWidget->setItem(idx, 1, new QTableWidgetItem(stateString)); 301 302 // TODO: ADD component type and some detailed information (e.g. parameters) 303 //QString componentInfo = component->getDetails(); 304 //componentTableWidget->setItem(idx, 2, new QTableWidgetItem(componentInfo)); 279 ComponentSharedPointer component = mgr->getComponent(componentName); 280 if (!component) { 281 continue; 305 282 } 283 284 COMPONENT_STATE state = component->getState(); 285 286 QString stateString; 287 switch (state) { 288 case STOPPED: 289 stateString = tr("Stopped"); 290 break; 291 case NOT_MONITORED: 292 stateString = tr("Not monitored"); 293 break; 294 case MONITOR_OK: 295 stateString = tr("Monitor OK"); 296 break; 297 case MONITOR_NOK: 298 stateString = tr("Monitor wrong"); 299 break; 300 301 default: 302 stateString = tr("UNKNOWN"); 303 break; 304 } 305 componentTableWidget->setItem(idx, 1, new QTableWidgetItem(stateString)); 306 307 // TODO: ADD component type and some detailed information (e.g. parameters) 308 //QString componentInfo = component->getDetails(); 309 //componentTableWidget->setItem(idx, 2, new QTableWidgetItem(componentInfo)); 306 310 } 307 311 } … … 309 313 void DbtPlyUserInterface::connectButtons() 310 314 { 315 // FIXME: use Qt5 connect style 311 316 connect(playBut, SIGNAL(clicked()), 312 mEngine , SLOT(playEvent()));317 mEngine.get(), SLOT(playEvent())); 313 318 connect(pauseBut, SIGNAL(clicked()), 314 mEngine , SLOT(pauseEvent()));319 mEngine.get(), SLOT(pauseEvent())); 315 320 connect(stopBut, SIGNAL(clicked()), 316 mEngine , SLOT(stopEvent()));321 mEngine.get(), SLOT(stopEvent())); 317 322 connect(speedUpBut, SIGNAL(clicked()), 318 mEngine , SLOT(speedUpEvent()));323 mEngine.get(), SLOT(speedUpEvent())); 319 324 connect(speedDownBut, SIGNAL(clicked()), 320 mEngine , SLOT(speedDownEvent()));325 mEngine.get(), SLOT(speedDownEvent())); 321 326 } 322 327 323 328 void DbtPlyUserInterface::connectDisplay() 324 329 { 325 connect(mEngine , SIGNAL(displayStateSig(DbtPlyEngineState *, float)),330 connect(mEngine.get(), SIGNAL(displayStateSig(DbtPlyEngineState *, float)), 326 331 this, SLOT(displayStateSlot(DbtPlyEngineState *, float))); 327 332 328 connect (mEngine , SIGNAL(timeMinMax(road_time_t, road_time_t)),333 connect (mEngine.get(), SIGNAL(timeMinMax(road_time_t, road_time_t)), 329 334 this, SLOT(displayMinMaxTime(road_time_t , road_time_t))); 330 connect (mEngine , SIGNAL(curReplayTime(road_time_t)),335 connect (mEngine.get(), SIGNAL(curReplayTime(road_time_t)), 331 336 this, SLOT(displayTime(road_time_t))); 332 337 connect (rev, SIGNAL(toggled(bool)), 333 mEngine , SLOT(changeDirection(bool)));338 mEngine.get(), SLOT(changeDirection(bool))); 334 339 } 335 340 … … 337 342 { 338 343 connect (timeSlider, SIGNAL(sliderPressed()), 339 mEngine , SLOT(pauseEvent()));344 mEngine.get(), SLOT(pauseEvent())); 340 345 connect (timeSlider, SIGNAL(sliderReleased()), 341 mEngine , SLOT(playEvent()));346 mEngine.get(), SLOT(playEvent())); 342 347 } 343 348 -
trunk/src/PacpusLib/ComponentBase.cpp
r286 r288 17 17 #include <boost/program_options/parsers.hpp> 18 18 #include <boost/program_options/variables_map.hpp> 19 #include <boost/thread/thread.hpp>19 //#include <boost/thread/thread.hpp> 20 20 #include <ostream> 21 21 #include <string> … … 77 77 DECLARE_STATIC_LOGGER("pacpus.core.ComponentBase"); 78 78 79 ComponentBase::ComponentBase( const QString& componentName)79 ComponentBase::ComponentBase(QString const& componentName) 80 80 : m_componentName(componentName) 81 81 , m_isActive(false) … … 131 131 } 132 132 133 void ComponentBase::startComponentWithException(boost::exception_ptr& error)134 {135 try {136 startActivity();137 error = boost::exception_ptr();138 } catch (...) {139 error = boost::current_exception();140 }141 }142 143 void ComponentBase::startComponentInThread()144 {145 boost::exception_ptr error;146 boost::thread t(147 boost::bind(148 &ComponentBase::startComponentWithException,149 this,150 boost::ref(error)151 )152 );153 t.join();154 if (error) {155 try {156 boost::rethrow_exception(error);157 } catch (boost::exception& e) {158 LOG_FATAL("[" << getName() << "]" << "\tboost::exception thrown: " << boost::diagnostic_information(e));159 //throw;160 }161 }162 }133 //void ComponentBase::startComponentWithException(boost::exception_ptr& error) 134 //{ 135 // try { 136 // startActivity(); 137 // error = boost::exception_ptr(); 138 // } catch (...) { 139 // error = boost::current_exception(); 140 // } 141 //} 142 // 143 //void ComponentBase::startComponentInThread() 144 //{ 145 // boost::exception_ptr error; 146 // boost::thread t( 147 // boost::bind( 148 // &ComponentBase::startComponentWithException, 149 // this, 150 // boost::ref(error) 151 // ) 152 // ); 153 // t.join(); 154 // if (error) { 155 // try { 156 // boost::rethrow_exception(error); 157 // } catch (boost::exception& e) { 158 // LOG_FATAL("[" << getName() << "]" << "\tboost::exception thrown: " << boost::diagnostic_information(e)); 159 // //throw; 160 // } 161 // } 162 //} 163 163 164 164 int ComponentBase::startComponent() … … 170 170 171 171 setActive(true); 172 boost::thread worker(&ComponentBase::startComponentInThread, this); 173 //boost::thread worker(&ComponentBase::startActivity, this); 174 //startActivity(); 172 //boost::thread worker(&ComponentBase::startComponentInThread, this); 173 startActivity(); 174 //moveToThread(&mThread); 175 //mThread.start(); 175 176 return true; 176 177 } … … 185 186 setActive(false); 186 187 stopActivity(); 187 188 //QMetaObject::invokeMethod(&mThread, "quit"); 188 189 return true; 189 190 } -
trunk/src/PacpusLib/ComponentFactoryBase.cpp
r89 r288 10 10 #include <Pacpus/kernel/Log.h> 11 11 12 #include < cassert>12 #include <boost/assert.hpp> 13 13 #include <QString> 14 14 … … 23 23 // get the adress of the ComponentManager instance 24 24 mgr_ = ComponentManager::getInstance(); 25 BOOST_ASSERT(mgr_); 25 26 } 26 27 … … 30 31 } 31 32 32 void ComponentFactoryBase::addFactory(ComponentFactoryBase* addr, const QString& type)33 void ComponentFactoryBase::addFactory(ComponentFactoryBase* addr, QString const& type) 33 34 { 34 35 LOG_DEBUG("addFactory(type="<< type << ")"); 35 36 36 assert(mgr_);37 37 if (!mgr_->registerComponentFactory(addr, type)) { 38 38 /* … … 44 44 } 45 45 46 void ComponentFactoryBase:: addComponent(const QString& name)46 void ComponentFactoryBase::createComponent(QString const& name) 47 47 { 48 48 LOG_DEBUG("addComponent(" << name << ")"); 49 49 50 // FIXME: instantiated component is never deleted! 51 // who should do it? ComponentManager? 52 ComponentBase * addr = instantiateComponent(name); 53 assert(mgr_); 54 if (!mgr_->registerComponent(addr, name)) { 55 delete addr; 56 addr = NULL; 57 } 50 ComponentSharedPointer component = instantiateComponent(name); 51 mgr_->registerComponent(component, name); 58 52 } -
trunk/src/PacpusLib/ComponentManager.cpp
r277 r288 125 125 } 126 126 127 bool ComponentManager::registerComponentFactory(ComponentFactoryBase* addr, const QString& type)127 bool ComponentManager::registerComponentFactory(ComponentFactoryBase* addr, QString const& type) 128 128 { 129 129 LOG_TRACE("registerComponentFactory(type="<< type << ")"); … … 141 141 } 142 142 143 bool ComponentManager::unregisterComponentFactory( const QString& type)143 bool ComponentManager::unregisterComponentFactory(QString const& type) 144 144 { 145 145 LOG_TRACE("unregisterComponentFactory(type="<< type << ")"); … … 156 156 } 157 157 158 bool ComponentManager::registerComponent( ComponentBase* addr, const QString& name)158 bool ComponentManager::registerComponent(boost::shared_ptr<ComponentBase> addr, QString const& name) 159 159 { 160 160 LOG_TRACE("registerComponent(name="<< name << ")"); … … 171 171 } 172 172 173 bool ComponentManager::unregisterComponent( const QString& name)173 bool ComponentManager::unregisterComponent(QString const& name) 174 174 { 175 175 LOG_TRACE("unregisterComponent(name="<< name << ")"); … … 180 180 } 181 181 182 // FIXME: delete component 183 ComponentBase* component = componentMap_.value(name, NULL); 184 //delete component; 185 182 boost::shared_ptr<ComponentBase> component = componentMap_.value(name, NULL); 183 186 184 // FIXME: remove from map (causes segfault in QMap::qMapLessThanKey on Windows) 187 185 //componentMap_.remove(name); 188 186 LOG_INFO("unregistered component '" << name << "'"); 189 190 return true; 191 } 192 193 bool ComponentManager::createComponent(const QString& type, const QString& name) 187 return true; 188 } 189 190 bool ComponentManager::createComponent(QString const& type, QString const& name) 194 191 { 195 192 LOG_TRACE("createComponent(type=" << type << ", " << "name="<< name << ")"); … … 198 195 ComponentFactoryBase* factory = factoryMap_.value(type); 199 196 assert(factory); 200 factory-> addComponent(name);197 factory->createComponent(name); 201 198 return true; 202 199 } … … 209 206 } 210 207 211 bool ComponentManager::loadPlugin( const QString& filename)208 bool ComponentManager::loadPlugin(QString const& filename) 212 209 { 213 210 LOG_TRACE("loadPlugin(filename=" << filename << ")"); … … 236 233 } 237 234 238 bool ComponentManager::checkComponent( const QString& componentName)235 bool ComponentManager::checkComponent(QString const& componentName) 239 236 { 240 237 if (NULL == getComponent(componentName)) { … … 245 242 } 246 243 247 bool ComponentManager::checkComponentInput( const QString & componentName, const QString& inputName)244 bool ComponentManager::checkComponentInput(QString const& componentName, QString const& inputName) 248 245 { 249 246 if (!checkComponent(componentName)) { … … 257 254 } 258 255 259 bool ComponentManager::checkComponentOutput( const QString & componentName, const QString& outputName)256 bool ComponentManager::checkComponentOutput(QString const& componentName, QString const& outputName) 260 257 { 261 258 if (!checkComponent(componentName)) { … … 269 266 } 270 267 271 bool ComponentManager::createConnection( const QString & outputSignature, const QString & inputSignature, const QString& type, int priority = 0)268 bool ComponentManager::createConnection(QString const& outputSignature, QString const& inputSignature, QString const& type, int priority = 0) 272 269 { 273 270 // FIXME: use 2 signatures (output component + output connection) instead of 1 separated by a (".") dot … … 289 286 } 290 287 291 std::size_t ComponentManager::loadComponents( const QString& configFilename)288 std::size_t ComponentManager::loadComponents(QString const& configFilename) 292 289 { 293 290 LOG_TRACE("loadComponents(filename=" << configFilename << ")"); … … 334 331 335 332 // copy locally the config parameters of the component 336 Component Base *component = getComponent(componentName);333 ComponentSharedPointer component = getComponent(componentName); 337 334 if (NULL == component) { 338 335 LOG_WARN("component '" << componentName << "' does not exist"); … … 356 353 QString componentName = cfg.getComponentName(); 357 354 358 Component Base *component = getComponent(componentName);359 if ( NULL ==component) {355 ComponentSharedPointer component = getComponent(componentName); 356 if (!component) { 360 357 LOG_WARN("component '" << componentName << "' does not exist"); 361 358 continue; … … 430 427 } 431 428 432 bool ComponentManager::start( const QString& componentName)429 bool ComponentManager::start(QString const& componentName) 433 430 { 434 431 LOG_TRACE("start(component=" << componentName << ")"); 435 432 436 Component Base*component = getComponent(componentName);433 ComponentSharedPointer component = getComponent(componentName); 437 434 if (!component) { 438 435 LOG_WARN("cannot start component '" << componentName << "'. It does not exist!"); … … 465 462 } 466 463 467 bool ComponentManager::stop(Component Base *component) const464 bool ComponentManager::stop(ComponentSharedPointer component) const 468 465 { 469 466 if (!component) { … … 477 474 } 478 475 479 bool ComponentManager::stop( const QString& componentName)476 bool ComponentManager::stop(QString const& componentName) 480 477 { 481 478 LOG_TRACE("stop(component=" << componentName << ")"); 482 479 483 Component Base*component = getComponent(componentName);480 ComponentSharedPointer component = getComponent(componentName); 484 481 if (!component) { 485 482 LOG_WARN("cannot stop component '" << componentName << "'" << ". It does not exist"); … … 495 492 } 496 493 497 Component Base * ComponentManager::getComponent(const QString& name)494 ComponentSharedPointer ComponentManager::getComponent(QString const& name) 498 495 { 499 496 LOG_TRACE("getComponent(name=" << name << ")"); -
trunk/src/PacpusLib/XmlComponentConfig.cpp
r270 r288 22 22 static const char* kPropertyConnectionPriority = "priority"; 23 23 24 XmlComponentConfig::XmlComponentConfig( const QString& name)24 XmlComponentConfig::XmlComponentConfig(QString const& name) 25 25 { 26 26 LOG_TRACE("XmlComponentConfig(QString)"); … … 43 43 } 44 44 45 void XmlComponentConfig::addProperty( const QString& name)45 void XmlComponentConfig::addProperty(QString const& name) 46 46 { 47 47 if (hasProperty(name)) { … … 62 62 } 63 63 64 int XmlComponentConfig::delProperty( const QString& name)64 int XmlComponentConfig::delProperty(QString const& name) 65 65 { 66 66 if (!hasProperty(name)) { … … 82 82 } 83 83 84 QString XmlComponentConfig::getProperty( const QString& name, const QString& defaultValue) const84 QString XmlComponentConfig::getProperty(QString const& name, QString const& defaultValue) const 85 85 { 86 86 if (!hasProperty(name)) … … 97 97 } 98 98 99 bool XmlComponentConfig::getBoolProperty( const QString& name, bool defaultValue) const99 bool XmlComponentConfig::getBoolProperty(QString const& name, bool defaultValue) const 100 100 { 101 101 return hasProperty(name) ? getProperty(name) == "true" : defaultValue; 102 102 } 103 103 104 int XmlComponentConfig::getIntProperty( const QString& name, int defaultValue) const104 int XmlComponentConfig::getIntProperty(QString const& name, int defaultValue) const 105 105 { 106 106 return hasProperty(name) ? getProperty(name).toInt() : defaultValue; 107 107 } 108 108 109 double XmlComponentConfig::getDoubleProperty( const QString& name, double defaultValue) const109 double XmlComponentConfig::getDoubleProperty(QString const& name, double defaultValue) const 110 110 { 111 111 return hasProperty(name) ? getProperty(name).toDouble() : defaultValue; 112 112 } 113 113 114 void XmlComponentConfig::setProperty( const QString& name, const QString& value)114 void XmlComponentConfig::setProperty(QString const& name, QString const& value) 115 115 { 116 116 component_.setAttribute(name, value); … … 121 121 } 122 122 123 bool XmlComponentConfig::hasProperty( const QString& name) const123 bool XmlComponentConfig::hasProperty(QString const& name) const 124 124 { 125 125 return component_.hasAttribute(name); -
trunk/src/PacpusSensor/src/ui/pacpusmainwindow.h
r162 r288 36 36 public: 37 37 /// @todo Documentation 38 ComponentCheckBox( const QString& text, QWidget * parent, const char * /*name*/ = 0 )38 ComponentCheckBox(QString const& text, QWidget * parent, const char * /*name*/ = 0 ) 39 39 : QCheckBox(text, parent) 40 40 {
Note:
See TracChangeset
for help on using the changeset viewer.