コード例 #1
0
ファイル: qcplugin.cpp プロジェクト: SeisComP3/seiscomp3
// >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
void QcPlugin::sendMessages(const Core::Time &rectime) {
	_timer.restart();

	if ( _firstRecord ) {
		_lastArchiveTime = rectime;
		_lastReportTime = rectime;
		_lastAlertTime = rectime;
		_firstRecord = false;
	}

	if ( _qcBuffer->empty() )
		return;

	//! DEBUG
	if ( rectime == Core::Time() ) {
		try {
			SEISCOMP_DEBUG("%s: %d sec timeout reached for stream: %s.", _name.c_str(),  _qcConfig->reportTimeout(), _streamID.c_str());
		}
		catch ( QcConfigException ) {}
	}

	Core::TimeSpan diff;

	//! A R C H I V E
	if ( _qcConfig->archiveInterval() >= 0 && rectime != Core::Time() ) {
		diff = rectime - _lastArchiveTime;
		if ( diff > Core::TimeSpan(_qcConfig->archiveInterval()) || _app->exitRequested() ) {
			QcBufferCPtr archiveBuffer = _qcBuffer->qcParameter(_qcConfig->archiveBuffer());
			if ( !archiveBuffer->empty() ) {
				generateReport(archiveBuffer.get());
				sendObjects(true); // as notifier msg
				_lastArchiveTime = rectime;
			}
		}
	}

	//! R E P O R T
	if ( _qcConfig->reportInterval() >= 0 ) {
		diff = rectime - _lastReportTime;
		if ( diff > Core::TimeSpan(_qcConfig->reportInterval()) || rectime == Core::Time()) {
			QcBufferCPtr reportBuffer = _qcBuffer->qcParameter(_qcConfig->reportBuffer());
			generateReport(reportBuffer.get());
			sendObjects(false);
			_lastReportTime = rectime;
		}
	}
	
	//! A L E R T
	// in archive mode we don't want alert msg
	if ( !_app->archiveMode() && _qcConfig->alertInterval() >= 0 ) {
		diff = rectime - _lastAlertTime;
		if ( ( diff > Core::TimeSpan(_qcConfig->alertInterval()) && (int)_qcBuffer->length() >= _qcConfig->alertBuffer() ) || rectime == Core::Time()) {
			QcBufferCPtr alertBuffer = _qcBuffer->qcParameter(_qcConfig->alertBuffer());
			if (alertBuffer->empty()) return;
			generateAlert(alertBuffer.get(), _qcBuffer.get());
			sendObjects(false);
			_lastAlertTime = rectime;
		}
	}
}
コード例 #2
0
DSPEngine::State DSPEngine::gotoRunning()
{
	switch(m_state) {
		case StNotStarted:
			return StNotStarted;

		case StRunning:
			return StRunning;

		case StIdle:
		case StError:
			break;
	}

	if(m_sampleSource == NULL)
		return gotoError("No sample source configured");

	m_iOffset = 0;
	m_qOffset = 0;
	m_iRange = 1 << 16;
	m_qRange = 1 << 16;

	if(!m_sampleSource->startInput(0))
		return gotoError("Could not start sample source");
	m_deviceDescription = m_sampleSource->getDeviceDescription();

	m_audioOutput.start(0, 48000);
	for(SampleSinks::const_iterator it = m_sampleSinks.begin(); it != m_sampleSinks.end(); it++)
		(*it)->start();
	m_sampleRate = 0; // make sure, report is sent
	generateReport();

	return StRunning;
}
コード例 #3
0
ファイル: report.c プロジェクト: adamski007/nipper-ng
void generateSonicOSReport(struct nipperConfig *nipper)
{
	// Set ACL logging for different SonicOS devices
	// Could not set it in the usual place
	if (nipper->sonicos->enhanced == false)
	{
		nipper->logDenyRulesIssue = false;
		nipper->allRulesLogIssue = false;
		nipper->denyLogIssue = false;
	}

	// Security Issues...
	if (nipper->fullReport == true)
	{
		// Access Lists
		rulesAudit(nipper);
		nipper->aclIssues = nipper->anySource + nipper->networkSource + nipper->rejectRules + nipper->logDenyRules + nipper->anySourceService + nipper->anyDestination + nipper->networkDestination + nipper->anyDestinationService + nipper->filtersWithNoLogging + nipper->denyAllAndLog + nipper->disabledRules;
		if (nipper->aclIssues > 0)
			addReportSection(nipper, section_security, report_sonicosrules_title, report_sonicosrules_context, report_sonicosrules_rectext, 10, 8, 5, 3, sonicosRulesIssue);
	};

	// In Configuration Index
	addReportSection(nipper, section_config, settings_general_title, 0, 0, 0, 0, 0, 0, sonicosGeneralConfig);
	if (nipper->filterList != 0)
		addReportSection(nipper, section_config, settings_accessrules_title, 0, 0, 0, 0, 0, 0, sonicosRulesConfig);
	if (nipper->objectList != 0)
		addReportSection(nipper, section_config, settings_sonicosservices_title, 0, 0, 0, 0, 0, 0, sonicosServicesConfig);

	// Generate Report...
	generateReport(nipper);
}
コード例 #4
0
void ReportManager::processData(QString data)
{
    if( data != EMPTY_DB_ENTRY )
    {
        // View/Edit Report
        if( processSwitch == 1)
        {
            QString report = generateReport(data.split(INCOMING_RESULT_DELIMITER));

            // If view is selected, send to viewer
            if( ui->viewSelector->isChecked() )
            {
                ReportViewer *rv = new ReportViewer(report, this);
                rv->show();
            }

            // If gen is selected, send to generator
            if( ui->generateCsvSelector->isChecked() )
            {
                QString dialogTitle = "Select where you would like to save the file";
                QString saveName = ("Detailed_Sales_Report_Made_"
                        + QDate::currentDate().toString(STANDARD_DATE_FORMAT_2)
                        + ".csv");

                QString filename = QFileDialog::getSaveFileName(this, dialogTitle, saveName, "CSV files (*.csv)", 0, 0);

                // Initialize and open the file.

                QFile theFile(filename);
                if( theFile.open(QFile::WriteOnly |QFile::Truncate))
                {
                    QTextStream stream(&theFile);
                    if( ui->idRangeSelector->isChecked() )
                        stream << "Receipt range " + ui->rangeOne->text() + " to " + ui->rangeTwo->text();

                    if( ui->dateRangeSelector->isChecked() )
                        stream << "Date range " + ui->startDate->date().toString(STANDARD_DATE_FORMAT_2) + " to " + ui->endDate->date().toString(STANDARD_DATE_FORMAT_2);

                    stream << "\n";
                    stream << report;
                    theFile.close();
                }
                else
                {
                    ui->errLabel->setText("Could not find the file.");
                }
            }
        }

        // Monthly Depertmental Summary Reports
        if( processSwitch == 2 )
        {
            generateSummaryReports(data);
        }
    }
    else
    {
        ui->errLabel->setText("Database returned empty values");
    }
}
コード例 #5
0
ファイル: main.c プロジェクト: Howlinmoon/Hacking_With_C
int main(int argc, const char * argv[]) {
    // insert code here...
    int principle = getAmountOfLoan();
    int numPayments = getNumberOfPayments();
    int annualRate = getAnnualRate();
    
    /*
    
     Loan Payment = Amount / Discount
     n = number of payments per year
     i = (annual rate / 100) / 12
     
     Discount = ( ((1 + i)^n) - 1) / (i * (1 + i)^n)
     
     Calculate the remaining balance after each months payment
     Calculate how much is paying off the principle and how much is interest
     
     */
    
    
    double i = ( annualRate / 100.0) / 12.0;
    printf("Annual rate (i) = %f\n", i);
    double toAPower = pow(1 + i, numPayments);
    printf("toAPower = %f\n", toAPower);
    double discount = ( toAPower - 1) / (i * toAPower);
    printf("Calculated discount as: %f\n", discount);
    double loanPayment = principle / discount;
    printf("Your monthly loan payment is: %f\n", loanPayment);
    
    generateReport(loanPayment, numPayments, principle);
    
    return EXIT_SUCCESS;
}
コード例 #6
0
ファイル: fightsheet.cpp プロジェクト: alexey-zayats/melampig
    FightSheet::FightSheet(Object *o, Keeper *keeper, QWidget *parent) :
        ReportWidget(o, keeper, parent)
    {
        setObjectName(QString("FightSheet:%1:%2").arg(o->objectName()).arg(o->get("id")));
        dockWidget->close();

        generateReport( generateData() );
    }
コード例 #7
0
ファイル: report.cpp プロジェクト: nhanb/cpp-librarian
void Report::reportCollections()
{
    std::vector <Collection *> collections;
    collections = Service::getAllCollections();

    // Javascript column headers array
    QString columns = "var columns = [ "
                      "{ 'sTitle': 'ID' }, "
                      "{ 'sTitle': 'Title' }, "
                      "{ 'sTitle': 'Version' }, "
                      "{ 'sTitle': 'Publisher' }, "
                      "{ 'sTitle': 'Duration (mins)' }, "
                      "{ 'sTitle': 'Category' }, "
                      "{ 'sTitle': 'Data Type' }, "
                      "{ 'sTitle': 'Collection Type' }, "
                      "{ 'sTitle': 'Copies' }, "
                      "{ 'sTitle': 'Borrowed Copies' } "
                      "];";

    // Start javascript data array
    QString data = "var data = [ ";

    // Get data for the js array
    for (int i = 0; i < collections.size(); ++i) {
        Collection *coll = collections.at(i);
        std::vector<int> nums
            = Service::getNumberOfCopiesAndBorrowedCopies(coll);

        // id, title, version, publisher name, duration, category,
        // data type, collection type, number of copies,
        // number of borrowed copies
        data.append(QString("[%1, '%2', '%3', '%4', %5, '%6',"
                            "'%7', '%8', %9, %10]")
                    .arg(coll->getId())
                    .arg(coll->getTitle())
                    .arg(coll->getVersion())
                    .arg(coll->getPublisher()->getName())
                    .arg(coll->getDuration())
                    .arg(Service::getCategoryById(coll->getCategory()))
                    .arg(Service::getDataTypeById(coll->getDataType()))
                    .arg(Service::getCollectionTypeById(coll->getType()))
                    .arg(nums[0]).arg(nums[1])
                   );

        if (i != collections.size() - 1) {
            data.append(",");
        }
    }

    // Close js data array
    data.append(" ];");

    // Specify report name
    data.append(" tableName = 'Collection'; ");

    data.append(columns);
    generateReport(data);
}
コード例 #8
0
int Classifier::test(string testConf, int resNum, string pathToSil, string reportPath, void* param /*= NULL*/)
{
    // Load data
    int status = loadData(testConf, pathToSil);
    if (status != 0)
    {
        printf ("Error occured while loading data!\n");
        return -1;
    }

    // Learn classifier
    learn(learningData, param);

    // Acquire statistics
    int wrong = 0;                      // Number of wrong classifications (in best resNum)
    int wrongStrict = 0;                // Number of wrong classifs (just the best)

    int total = 0;                      // Total number of test cases
    ConfusionMatrix confusionMat;
    ClassifResults classifResults;

    map< string, vector<Mat> >::iterator iter;
    for (iter = testData.begin(); iter != testData.end(); iter++)
    {
        string realClassId = iter->first;
        vector<Mat>& imgs = iter->second;

        for (int i = 0; i < imgs.size(); i++, total++)
        {
            // Get classifier output for single test image
            vector< pair<string, double> > predClasses = classify(imgs[i], resNum);
            // Save output for report generation later;
            classifResults.push_back( make_pair(realClassId, predClasses) );

            // Wrong if not equal to any of predicted classes
            if (!inPredClasses(realClassId, predClasses)) wrong++;

            // Update confusion matrix - take only best match
            string predClassId = predClasses[0].first;
            confusionMat[predClassId][realClassId] += 1;

            if (predClassId != realClassId) wrongStrict++;
        }
    }

    // -------------------------- Report generation -------------------------- //
    
    status = generateReport(confusionMat, wrong, total, reportPath, resNum, classifResults, wrongStrict);
    if (status != 0)
    {
        printf ("Error occured while generating report!\n");
        return -1;
    }

    return wrong;
}
コード例 #9
0
void DSPEngine::handleSetSource(SampleSource* source)
{
	gotoIdle();
	if(m_sampleSource != NULL)
		disconnect(m_sampleSource->getSampleFifo(), SIGNAL(dataReady()), this, SLOT(handleData()));
	m_sampleSource = source;
	if(m_sampleSource != NULL)
		connect(m_sampleSource->getSampleFifo(), SIGNAL(dataReady()), this, SLOT(handleData()), Qt::QueuedConnection);
	generateReport();
}
コード例 #10
0
void reportLicensesDialog::on_toFIleBtn_clicked()
{
    QString fileName = QFileDialog::getSaveFileName(this, tr("Сохранить отчет"), "", tr("Excel Workbooks (*.xlsx)"));
    if(!fileName.isEmpty()){
        generateReport();
        QString tempDirectory = QDir::tempPath();
        QXlsx::Document report(tempDirectory + "\\reportToPrint.xlsx");
        if(!report.saveAs(fileName))
            QMessageBox::critical(this, "Ошибка", "Произошла ошибка при сохранении файла. Возможно файл уже используется или диск защищен от записи.", QMessageBox::Ok);
    }
}
コード例 #11
0
ファイル: Exceptions.cpp プロジェクト: epilk/Rattler
void LogException(BadCodeException &e) {
  try {
    auto info = GetFileInfo(e.location);
    std::cerr << info.generateReport(e.message) << std::endl;
  } catch (InternalCompilerError &ice) {
    std::cerr << ice.message << " The error was: '" << e.message << "'"
              << std::endl;
  } catch (...) {
    std::cerr << "There was an error in the above program." << std::endl;
    // And the above compiler, apparently
  }
}
コード例 #12
0
ファイル: Cluster.c プロジェクト: CodeAndLoathing/bbwin
void						clusterMain()
{
	cluster_t				pcluster;
	
	initCluster(&pcluster);
	//if (checkVersion() == I_FALSE)
	//	fatalError(L"This version of Windows is not supported for Windows Clustering.");
	if (checkClusterState() == I_FALSE)
		exit(1);
	getClusterGroups(&pcluster);
	generateReport(&pcluster);
	freeCluster(&pcluster);
}
コード例 #13
0
ファイル: report.cpp プロジェクト: nhanb/cpp-librarian
void Report::reportOverdue()
{
    std::vector <Borrower *> borrowers;
    borrowers = Service::getAllBorrowers();

    // Javascript column headers array
    QString columns = "var columns = [ "
                      "{ 'sTitle': 'ID' }, "
                      "{ 'sTitle': 'Name' }, "
                      "{ 'sTitle': 'Mobile' }, "
                      "{ 'sTitle': 'Type' }, "
                      "{ 'sTitle': 'Department' }, "
                      "{ 'sTitle': 'Overdue items' }, "
                      "];";

    // Start javascript data array
    QString data = "var data = [ ";

    // Get data for the js array
    for (int i = 0; i < borrowers.size(); ++i) {
        Borrower *borrower = borrowers.at(i);

        QString overdues = Service::getOverdueTitlesBy(borrower);

        // Skip if this borrower has no overdues
        if (overdues.isEmpty()) {
            continue;
        }

        // ID, name, mobile, borrower type, department name, overdue titles
        data.append(QString("[%1, '%2', '%3', '%4', '%5', '%6']")
                    .arg(borrower->getId())
                    .arg(borrower->getName())
                    .arg(borrower->getPhone())
                    .arg(borrower->getBorrowerType()->getName())
                    .arg(borrower->getDepartment()->getName())
                    .arg(overdues)
                   );

        if (i != borrowers.size() - 1) {
            data.append(",");
        }
    }

    // Close js data array
    data.append(" ];");
    // Specify report name
    data.append(" tableName = 'Overdue'; ");
    data.append(columns);
    generateReport(data);
}
コード例 #14
0
ファイル: report.cpp プロジェクト: nhanb/cpp-librarian
void Report::reportBorrowers()
{
    std::vector <Borrower *> borrowers;
    borrowers = Service::getAllBorrowers();

    // Javascript column headers array
    QString columns = "var columns = [ "
                      "{ 'sTitle': 'ID' }, "
                      "{ 'sTitle': 'Name' }, "
                      "{ 'sTitle': 'Mobile' }, "
                      "{ 'sTitle': 'Type' }, "
                      "{ 'sTitle': 'Department' }, "
                      "{ 'sTitle': 'Items Borrowed (Past)' }, "
                      "{ 'sTitle': 'Items Borrowing' }, "
                      "];";

    // Start javascript data array
    QString data = "var data = [ ";

    // Get data for the js array
    for (int i = 0; i < borrowers.size(); ++i) {
        Borrower *borrower = borrowers.at(i);

        std::vector<int> nums
            = Service::getNumbersOfItemsBorrowedBy(borrower);

        // ID, name, mobile, borrower type, department name, items borrowed, items borrowing
        data.append(QString("[%1, '%2', '%3', '%4', '%5', '%6', '%7']")
                    .arg(borrower->getId())
                    .arg(borrower->getName())
                    .arg(borrower->getPhone())
                    .arg(borrower->getBorrowerType()->getName())
                    .arg(borrower->getDepartment()->getName())
                    .arg(QString("Borrowed %1")
                         .arg(nums[0]))
                    .arg(QString("Borrowing %1")
                         .arg(nums[1]))
                   );

        if (i != borrowers.size() - 1) {
            data.append(",");
        }
    }

    // Close js data array
    data.append(" ];");
    // Specify report name
    data.append(" tableName = 'Borrower'; ");
    data.append(columns);
    generateReport(data);
}
コード例 #15
0
ファイル: report.cpp プロジェクト: nhanb/cpp-librarian
void Report::reportCopies()
{
    std::vector <Copy *> copies;
    copies = Service::getAllCopies();

    // Javascript column headers array
    QString columns = "var columns = [ "
                      "{ 'sTitle': 'Barcode' }, "
                      "{ 'sTitle': 'Title' }, "
                      "{ 'sTitle': 'Status' }, "
                      "{ 'sTitle': 'Overdue' }, "
                      "];";

    // Start javascript data array
    QString data = "var data = [ ";

    // Get data for the js array
    for (int i = 0; i < copies.size(); ++i) {
        Copy *copy = copies.at(i);

        // Check for overdue
        QString overdue = "In good standing";
        if (Service::isOverdue(copy)) {
            overdue = "Overdue";
        }

        // barcode, title, status (borrowed, in library, etc.), overdue
        data.append(QString("[%1, '%2', '%3', '%4']")
                    .arg(copy->getId())
                    .arg(copy->getCollection()->getTitle())
                    .arg(Service::getCopyStatusById(copy->getStatus()))
                    .arg(overdue)
                   );

        if (i != copies.size() - 1) {
            data.append(",");
        }
    }

    // Close js data array
    data.append(" ];");
    // Specify report name
    data.append(" tableName = 'Copy'; ");
    data.append(columns);
    generateReport(data);
}
コード例 #16
0
bool DSPEngine::distributeMessage(Message* message)
{
	if(m_sampleSource != NULL) {
		if((message->getDestination() == NULL) || (message->getDestination() == m_sampleSource)) {
			if(m_sampleSource->handleMessage(message)) {
				generateReport();
				return true;
			}
		}
	}
	for(SampleSinks::const_iterator it = m_sampleSinks.begin(); it != m_sampleSinks.end(); it++) {
		if((message->getDestination() == NULL) || (message->getDestination() == *it)) {
			if((*it)->handleMessage(message))
				return true;
		}
	}
	return false;
}
コード例 #17
0
bool ReportManager::generateReports(QListViewItem *lvi)
{
    bool errors = 0;

    changeStatusBar(i18n("Generating report: '%1'")
                            .arg(lvi->text(0)));

    if (!(errors = !generateReport(lvi)))
    {
        for (QListViewItem *lvi2 = lvi->firstChild(); lvi2; lvi2 = lvi2->nextSibling())
        {
            errors += generateReports(lvi2);
        }
    }

    changeStatusBar(i18n("The reports have been generated"));

    return errors;
}
コード例 #18
0
ファイル: DiagnosticDialog.cpp プロジェクト: cancamilo/amarok
DiagnosticDialog::DiagnosticDialog( const KAboutData *aboutData, QWidget *parent )
        : KDialog( parent )
{
    if( aboutData == 0 )
        aboutData = KGlobal::mainComponent().aboutData();

    m_textBox = new QPlainTextEdit( generateReport( aboutData ), this );

    setPlainCaption( i18nc( "%1 is the program name", "%1 Diagnostics", aboutData->programName() ) );

    setButtons( Close | User1 );
    setButtonText( User1, i18n( "Copy to Clipboard" ) );

    m_textBox->setReadOnly( true );

    setMainWidget( m_textBox );
    setInitialSize( QSize( 480, 460 ) );

    connect( this, SIGNAL(user1Clicked()), SLOT(slotCopyToClipboard()) );
    connect( this, SIGNAL(finished()), SLOT(deleteLater()) );
}
コード例 #19
0
ファイル: TestEvent.cpp プロジェクト: punitkoura/viking
int main()
{
{
	auto s = std::make_shared<vik::EventSource>();
	auto l = std::make_shared<EventListenerTester>();

	// intentionally not using the vik::Event constructor
	// because it requires GameApp to be defined, which means
	// including a bazillion other files.
	BogusEvent bogusEvent;

	// test no events
	l->resetEventCount();
	s->onEvent(bogusEvent);
	test_assert(l->getEventCount() == 0);

	l->resetEventCount();
	// test adding listener
	s->addListener(l);
	// test sending events
	s->onEvent(bogusEvent);
	s->onEvent(bogusEvent);
	s->onEvent(bogusEvent);
	test_assert(l->getEventCount() == 3);
	// test removing listener
	l->resetEventCount();
	s->removeListener(l);
	s->onEvent(bogusEvent);
	test_assert(l->getEventCount() == 0);

	// test listener being removed by being destroyed
	{
		auto l2 = std::make_shared<EventListenerTester>();
		s->addListener(l2);
	}
	s->onEvent(bogusEvent);
}
	generateReport();
}
コード例 #20
0
ファイル: report.c プロジェクト: adamski007/nipper-ng
void generatePASReport(struct nipperConfig *nipper)
{
	// Security Issues...
	if (nipper->fullReport == true)
	{

		// Filter Issues
		if (nipper->filterList == 0)
			nipper->aclIssues = -1;
		else
			rulesAudit(nipper);
		if (nipper->aclIssues != 0)
			addReportSection(nipper, section_security, report_pasfilter_title, report_pasfilter_context, report_pasfilter_rectext, 10, 8, 5, 3, pasFilterIssue);
	}

	// Configuration Output
	addReportSection(nipper, section_config, settings_general_title, 0, 0, 0, 0, 0, 0, pasGeneralConfig);
	if (nipper->filterList != 0)
		addReportSection(nipper, section_config, settings_filter_title, 0, 0, 0, 0, 0, 0, pasFilterConfig);

	// Generate Report...
	generateReport(nipper);
}
コード例 #21
0
ファイル: hook.cpp プロジェクト: GuyGoldenberg/EasyDLP
void sendIncident(string filePath)
{
	string inc = generateReport(filePath);
	::hook->sendIncident(inc);
	return;
}
コード例 #22
0
void
ReportManager::showRMBMenu(QListViewItem* lvi, const QPoint& pos, int,
                           bool& errors, bool& showReportTab)
{
    ManagedReportInfo* mr = 0;
    for (std::list<ManagedReportInfo*>::const_iterator mri = reports.begin();
         mri != reports.end(); ++mri)
        if ((*mri)->getBrowserEntry() == lvi)
            mr = *mri;

    // Generate a context popup menu.
    QPopupMenu menu;
    if (mr)
    {
        menu.insertItem(i18n("&Show Report"), 1);
        menu.insertItem(i18n("&Generate Report"), 2);
        menu.insertItem(i18n("&Edit Report Definition"), 3);

        // The XML reports cannot be be viewed, so we disable the entry.
        if (strncmp(mr->getProjectReport()->getType(), "XML", 3) == 0)
            menu.setItemEnabled(1, false);

        // The interactive reports can not be generated, so we disable the entry.
        if (strncmp(mr->getProjectReport()->getType(), "Qt", 2) == 0)
            menu.setItemEnabled(2, false);

    }

    menu.insertItem(i18n("E&xpand All"), 4);
    menu.insertItem(i18n("S&hrink All"), 5);
    menu.insertItem(i18n("&Generate Sub-Reports"), 6);

    if (!lvi->firstChild())
    {
        menu.setItemEnabled(4, false);
        menu.setItemEnabled(5, false);
    }

    if (lvi == qtReports || !lvi->firstChild()
        || (mr && strncmp(mr->getProjectReport()->getType(), "Qt", 2) == 0))
    {
        menu.setItemEnabled(6, false);
    }

    switch (menu.exec(pos))
    {
        case 1:
        {
            bool dummy;
            errors = !showReport(lvi, dummy);
            break;
        }
        case 2:
            errors = !generateReport(lvi);
            showReportTab = false;
            break;
        case 3:
            editReport(mr->getProjectReport());
            showReportTab = false;
            break;
        case 4:
            expandLVI(lvi, true);
            break;
        case 5:
            expandLVI(lvi, false);
            break;
        case 6:
            errors = generateReports(lvi);
            break;
        default:
            break;
    }
}
コード例 #23
0
ファイル: report.c プロジェクト: adamski007/nipper-ng
void generatePIXReport(struct nipperConfig *nipper)
{
	// Variables
	struct interfacePIXConfig *interfacePIXConfigPointer = 0;
	struct vulnerability *vulnPointer = 0;
	struct objectListConfig *objectListPointer = 0;
	struct sshAccessConfig *sshPointer = 0;

	// Security Section Issues
	if (nipper->fullReport == true)
	{

		// Software Version
		nipper->vulnIssues = 0;
		nipper->vulnIssueDos = false;
		nipper->vulnIssueRemote = false;
		if (nipper->deviceType == type_fwsm_firewall)
			vulnPointer = &report_vuln_fwsm;
		else
			vulnPointer = &report_vuln_pix;
		while (vulnPointer->next != 0)
		{
			checkVulnVersion(nipper, vulnPointer);
			vulnPointer = vulnPointer->next;
		}
		if (nipper->vulnIssues > 0)
			addReportSection(nipper, section_security, report_osver_title, report_osver_context, report_osver_rectext, 10, 8, 5, 3, pixVulnerabilityIssue);

		// Simple Passwords
		if (nipper->simplePasswords > 1)
			addReportSection(nipper, section_security, report_dict_title1, report_dict_context, report_dict_rectext, 10, 8, 5, 3, pixDictionaryIssue);
		else if (nipper->simplePasswords > 0)
			addReportSection(nipper, section_security, report_dict_title2, report_dict_context, report_dict_rectext, 10, 8, 5, 3, pixDictionaryIssue);

		// Password Strength
		if (nipper->passwordStrengths > 1)
			addReportSection(nipper, section_security, report_strength_title1, report_strength_context, report_strength_rectext, 10, 8, 5, 3, pixStrengthIssue);
		else if (nipper->passwordStrengths > 0)
			addReportSection(nipper, section_security, report_strength_title2, report_strength_context, report_strength_rectext, 10, 8, 5, 3, pixStrengthIssue);

		// Timeout
		if (nipper->pix->ssh != 0)
		{
			if (nipper->pix->ssh->timeout * 60 > nipper->connectionTimeout)
				nipper->insecureTimeouts++;
		}
		if (nipper->insecureTimeouts > 0)
			addReportSection(nipper, section_security, report_timeout_title, report_timeout_context, report_timeout_rectext, 10, 8, 5, 3, pixTimeoutIssue);

		// SNMP
		if (nipper->pix->snmp != 0)
		{
			if ((nipper->pix->snmp->enabled == true) && (nipper->pix->snmp->host != 0))
				nipper->snmpIssue = 2;
			else if (nipper->pix->snmp->enabled == true)
				nipper->snmpIssue = 1;
			else if (nipper->pix->snmp->host != 0)
				nipper->snmpIssue = -1;
		}
		if (nipper->snmpIssue != 0)
			addReportSection(nipper, section_security, report_snmp_title, report_snmp_context, report_snmp_css_rectext, 10, 8, 5, 3, pixSNMPIssue);

		// Access Lists
		rulesAudit(nipper);
		if (nipper->aclIssues > 0)
			addReportSection(nipper, section_security, report_accesslist_title, report_accesslist_context, report_accesslist_rectext, 10, 8, 5, 3, ciscoACLIssue);

		// SSH Remote Management Hosts
		if (nipper->pix->ssh != 0)
		{
			sshPointer = nipper->pix->ssh->access;
			while (sshPointer != 0)
			{
				if (strcmp(sshPointer->netMask, "255.255.255.255") != 0)
					nipper->sshManIssues++;
				sshPointer = sshPointer->next;
			}
		}
		if (nipper->sshManIssues > 0)
			addReportSection(nipper, section_security, report_sshman_title, report_sshman_context, report_sshman_rectext, 10, 8, 5, 3, sshManIssue);

		// FloodGuard
		if (nipper->pix->floodguard == false)
			addReportSection(nipper, section_security, report_floodguard_title, report_floodguard_context, report_floodguard_rectext, 10, 8, 5, 3, pixFloodGuardIssue);

		// uRPF verification
		if ((nipper->deviceType != type_fwsm_firewall) && (nipper->deviceUse == use_edge))
		{
			interfacePIXConfigPointer = nipper->pix->interface;
			while (interfacePIXConfigPointer != 0)
			{
				if ((interfacePIXConfigPointer->uRPF == false) && (interfacePIXConfigPointer->shutdown == false) && (strcmp(interfacePIXConfigPointer->ipAddress, "") != 0))
					nipper->uRPFIssues++;
				interfacePIXConfigPointer = interfacePIXConfigPointer->next;
			}
		}
		if (nipper->uRPFIssues != 0)
			addReportSection(nipper, section_security, report_urpf_title, report_urpf_context, report_urpf_rectext, 10, 8, 5, 3, pixURPFIssue);

		// SSH Protocol Version
		if ((nipper->pix->ssh != 0) && (nipper->deviceType != type_fwsm_firewall))
		{
			if (nipper->pix->ssh->version < 2)
				addReportSection(nipper, section_security, report_sshproto_title, report_sshproto_context, report_sshproto_rectext, 10, 8, 5, 3, pixSSHIssue);
		}
	}

	// Configuration Reporting...
	addReportSection(nipper, section_config, settings_general_title, 0, 0, 0, 0, 0, 0, pixGeneralConfig);
	addReportSection(nipper, section_config, settings_services_title, 0, 0, 0, 0, 0, 0, pixServicesConfig);
	if (((nipper->pix->enable != 0) || (nipper->pix->password[0] != 0)) && (nipper->passwords == true))
		addReportSection(nipper, section_config, settings_users_title, 0, 0, 0, 0, 0, 0, pixUsersConfig);
	if (nipper->pix->snmp != 0)
		addReportSection(nipper, section_config, settings_snmp_title, 0, 0, 0, 0, 0, 0, pixSNMPConfig);
	if (nipper->pix->ssh != 0)
		addReportSection(nipper, section_config, settings_ssh_title, 0, 0, 0, 0, 0, 0, pixSSHConfig);
	if (nipper->pix->http != 0)
		addReportSection(nipper, section_config, settings_http_title, 0, 0, 0, 0, 0, 0, pixHTTPConfig);
	if (nipper->pix->interface != 0)
		addReportSection(nipper, section_config, settings_inter_title, 0, 0, 0, 0, 0, 0, pixInterfaceConfig);
	if ((nipper->pix->staticNAT !=0) || (nipper->pix->staticPAT !=0))
		addReportSection(nipper, section_config, settings_natpat_title, 0, 0, 0, 0, 0, 0, pixNATPATConfig);
	if (nipper->pix->route !=0)
		addReportSection(nipper, section_config, settings_routing_title, 0, 0, 0, 0, 0, 0, pixRoutingConfig);
	if ((nipper->pix->standardAccessList > 0) || (nipper->pix->extendedAccessList > 0) || (nipper->pix->oldAccessList > 0))
		addReportSection(nipper, section_config, settings_accesslists_title, 0, 0, 0, 0, 0, 0, pixACLConfig);
	if (nipper->pix->icmp != 0)
		addReportSection(nipper, section_config, settings_icmpaccess_title, 0, 0, 0, 0, 0, 0, pixICMPConfig);
	if (nipper->pix->fixup != 0)
		addReportSection(nipper, section_config, settings_protoinspect_title, 0, 0, 0, 0, 0, 0, pixProtocolConfig);
	objectListPointer = nipper->objectList;
	while (objectListPointer != 0)
	{
		if (strcmp(objectListPointer->name, "OBJECTLIST") == 0)
			addReportSection(nipper, section_config, settings_objects_title, 0, 0, 0, 0, 0, 0, pixObjectConfig);
		objectListPointer = objectListPointer->next;
	}
	objectListPointer = nipper->objectList;
	while (objectListPointer != 0)
	{
		if (strcmp(objectListPointer->name, "NAMELIST") == 0)
			addReportSection(nipper, section_config, settings_namemap_title, 0, 0, 0, 0, 0, 0, nameMapConfig);
		objectListPointer = objectListPointer->next;
	}

	// Generate Report...
	generateReport(nipper);
}
コード例 #24
0
ファイル: functional.c プロジェクト: iamcaleberic/genesis
int main(void){
  assessSpaceshipCapacity();
  estimateWaitingVisitors();
  processData();
  generateReport();
}
コード例 #25
0
void BugReportForm::generateReport(void)
{ 
	generateReport(generateReportBuffer());
	this->accept();
}
コード例 #26
0
ファイル: TestTween.cpp プロジェクト: punitkoura/viking
int main()
{
	irr::IrrlichtDevice* device = irr::createDevice(irr::video::EDT_OPENGL);

	irr::ITimer* timer = device->getTimer();
	vik::Tween t(timer, vik::tweenLERP);

	timer->start();
	timer->setTime(0);
	t.start(0, 1, 1000);
	test_assert(t.getPlaying() == true);
	test_assert(t.getCurrentValue() <= 0.001f);

	timer->setTime(600);
	t.update();
	test_assert(t.getCurrentValue() > 0.5f);
	test_assert(t.getPlaying() == true);
	
	timer->setTime(2000);
	t.update();

	test_assert(fabs(t.getCurrentValue() - 1.0f) <= 0.001f);
	test_assert(t.getPlaying() == false);

	t.restart(-2, 3, 0);
	t.update();
	test_assert(t.getPlaying() == false);
	test_assert(fabs(t.getCurrentValue() - 3.0f) <= 0.001f);

	timer->setTime(0);
	t.restart(-2, 3, 5000);
	test_assert(t.getPlaying() == true);
	test_assert(fabs(t.getCurrentValue() - (-2.0f)) <= 0.001f);

	timer->setTime(4000);
	t.update();
	test_assert(t.getPlaying() == true);
	test_assert(t.getCurrentValue() > 0.f);

	t.stop();
	test_assert(t.getPlaying() == false);
	test_assert(fabs(t.getCurrentValue() - (-2.0f)) <= 0.001f);

	// final sanity check
	std::cout << "Tweening from -2 to 3 in 100ms using linear interpolation" << std::endl;
	timer->setTime(0);
	t.restart(-2, 3, 100);
	irr::f32 lastDisplayedValue = 1337.f;
	while (timer->getTime() <= 150)
	{
		t.update();
		if (lastDisplayedValue != t.getCurrentValue())
		{
			std::cout << t.getCurrentValue() << std::endl;
			lastDisplayedValue = t.getCurrentValue();
		}
		timer->tick();
	}
	test_assert(t.getPlaying() == false);
	test_assert(fabs(t.getCurrentValue() - 3.f) <= 0.001f);

	generateReport();
}
コード例 #27
0
void reportLicensesDialog::on_printBtn_clicked()
{
    generateReport();
    QString tempDirectory = QDir::tempPath();
    parent->printDocument(tempDirectory + "\\reportToPrint.xlsx");
}
コード例 #28
0
ファイル: cbuoni.cpp プロジェクト: fblabs/cimiapp2
void CBuoni::on_pushButton_clicked()
{
    generateReport();
}