Agent::Agent( std::string name, KSystem::ThreadConfig cfg, int stats, MessageHub& com, std::vector<std::string> activities ) : PeriodicThread(cfg), _statsCycle(stats), _name(name), _com(com), _blk(name), _executions(0) { #ifdef NAOQI _xml = XmlManager(ArchConfig::Instance().GetConfigPrefix(), KRobotConfig::Instance().getConfig(KDeviceLists::Interpret::HEAD_ID) , KRobotConfig::Instance().getConfig(KDeviceLists::Interpret::BODY_ID), false); #else _xml = XmlManager(ArchConfig::Instance().GetConfigPrefix(), "hi", "bi", false); #endif _blk.attachTo(com); for ( ActivityNameList::const_iterator it = activities.begin(); it != activities.end(); it++ ) //_activities.push_back( ActivityFactory::Instance()->CreateObject( (*it),_blk ) ); _activities.push_back( ActivityFactory::Instance()->CreateObject( (*it), _blk, _xml ) ); for ( ActivList::iterator it = _activities.begin(); it != _activities.end(); ++it ) (*it)->UserInit(); _blk.updateSubscription("external", msgentry::SUBSCRIBE_ON_TOPIC); };
Statechart::Statechart ( std::string name, MessageHub* com ) : OrState ( name, 0 ), _blackboard("StatechartBlakboard"), notified(false) //FIXME { _com = com; _blk = &_blackboard; _xml = &_xmlnode; _isRunning = new volatile int; //FIXME mem leak *_isRunning = 0; _blk->attachTo(*_com); #ifdef NAOQI _xmlnode = XmlManager(ArchConfig::Instance().GetConfigPrefix(), KRobotConfig::Instance().getConfig(KDeviceLists::Interpret::HEAD_ID) , KRobotConfig::Instance().getConfig(KDeviceLists::Interpret::BODY_ID),false); #else _xmlnode = XmlManager(ArchConfig::Instance().GetConfigPrefix(), "hi", "bi",false); #endif }