Пример #1
0
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);
};
Пример #2
0
	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
	}