void MainController::load(QString filename) { LoadController zeus(filename); int athena = zeus.exec(); switch(athena) { case -1: QMessageBox::warning(0, tr("Error"), tr("FILE: Unable to open ") + filename); break; case -2: QMessageBox::warning(0, tr("Error"), tr("XML: Document not well formed") + filename); break; case -3: { QMessageBox::information(0, tr("Connection error"), tr("Guest user connect")); UserSPointer hermes(new User); hermes->setUsername("Guest"); hermes->setType(User::Viewer); } default: m_mw->setCategoryList(categories().keys()); if(categories().keys().size() > 0) setCurrentTable(categories().keys().first()); m_mw->setUserOk(UserController::currentUser()->type()); m_currentFile = filename; userChange(); break; } }
/** * save record to database */ void IpfixDbWriter::processDataDataRecord(const IpfixRecord::SourceID& sourceID, TemplateInfo& dataTemplateInfo, uint16_t length, IpfixRecord::Data* data) { string rowString; time_t flowStartSeconds; DPRINTF("Processing data record"); if (dbError) { connectToDB(); if (dbError) return; } /* get new insert */ if(srcId.observationDomainId != 0) { // use default source id rowString = getInsertString(rowString, flowStartSeconds, srcId, dataTemplateInfo, length, data); } else { rowString = getInsertString(rowString, flowStartSeconds, sourceID, dataTemplateInfo, length, data); } // if current table is not ok, write to db and get new table name if(!(flowStartSeconds >= currentTable.startTime && flowStartSeconds <= currentTable.endTime)) { if(numberOfInserts > 0) { msg(MSG_DEBUG, "IpfixDbWriter: Writing buffered records to database"); writeToDb(); numberOfInserts = 0; } if (setCurrentTable(flowStartSeconds) != 0) { return; } } // start new insert statement if necessary if (numberOfInserts == 0) { // start insert statement insertStatement.str(""); insertStatement.clear(); insertStatement << "INSERT INTO " << currentTable.name << " (" << tableColumnsString << ") VALUES " << rowString; numberOfInserts = 1; } else { // append insert statement insertStatement << "," << rowString; numberOfInserts++; } // write to db if maxInserts is reached if(numberOfInserts == maxInserts) { msg(MSG_DEBUG, "IpfixDbWriter: Writing buffered records to database"); writeToDb(); numberOfInserts = 0; } }
void MainController::newMedia(QString name) { if(!medias().contains(qMakePair(m_mw->currentCategory(),name))) { MediaSPointer zeus(new Media); zeus->setName(name); zeus->setCategory(AbstractController::category(m_mw->currentCategory()).data()); category(m_mw->currentCategory())->addAssociations(zeus); addMedia(zeus); setCurrentTable(m_mw->currentCategory()); m_mw->setCurrentMedia(name); } }
void MainController::removeMedia(QString category, QString name) { AbstractController::removeMedia(category, name); setCurrentTable(category); }