RESULT eNavigation::stopRecordService(ePtr<iRecordableService> &service) { service->stop(); std::set<ePtr<iRecordableService> >::iterator it = m_simulate_recordings.find(service); if (it != m_simulate_recordings.end()) { m_simulate_recordings.erase(it); return 0; } else { std::map<ePtr<iRecordableService>, ePtr<eConnection> >::iterator it = m_recordings.find(service); if (it != m_recordings.end()) { m_recordings.erase(it); /* send stop event */ m_record_event(service, iRecordableService::evEnd); return 0; } } eDebug("try to stop non running recording!!"); // this should not happen return -1; }
void eNavigation::recordEvent(iRecordableService* service, int event) { if (m_recordings.find(service) == m_recordings.end()) { eDebug("nav: event for non registered recording service"); return; } m_record_event(service, event); }
RESULT eNavigation::stopRecordService(ePtr<iRecordableService> &service) { service->stop(); std::set<ePtr<iRecordableService> >::iterator it = m_simulate_recordings.find(service); if (it != m_simulate_recordings.end()) { m_simulate_recordings.erase(it); return 0; } else { std::map<ePtr<iRecordableService>, ePtr<eConnection> >::iterator it = m_recordings.find(service); if (it != m_recordings.end()) { m_recordings.erase(it); /* send stop event */ m_record_event(service, iRecordableService::evEnd); std::map<ePtr<iRecordableService>, eServiceReference >::iterator it_services = m_recordings_services.find(service); if (it_services != m_recordings_services.end()) { m_recordings_services.erase(it_services); } std::map<ePtr<iRecordableService>, pNavigation::RecordType >::iterator it_types = m_recordings_types.find(service); if (it_types != m_recordings_types.end()) { m_recordings_types.erase(it_types); } //for (std::map<ePtr<iRecordableService>, eServiceReference >::iterator it2(m_recordings_services.begin()); it2 != m_recordings_services.end(); ++it2) // eDebug("[core.cpp] after stopRecordService: ref %s", (it2->second).toString().c_str()); //for (std::map<ePtr<iRecordableService>, pNavigation::RecordType >::iterator it3(m_recordings_types.begin()); it3 != m_recordings_types.end(); ++it3) // eDebug("[core.cpp] after stopRecordService: type %d", it3->second); return 0; } } eDebug("try to stop non running recording!!"); // this should not happen return -1; }
void pNavigation::navRecordEvent(ePtr<iRecordableService> service, int event) { /* just relay the events here. */ m_record_event(service, event); }