You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
43 lines
995 B
43 lines
995 B
#ifndef DATAMANAGER_H
|
|
#define DATAMANAGER_H
|
|
|
|
#include <QObject>
|
|
|
|
#include "data/filter/FilterParser.h"
|
|
#include "type/AdvancedFilterDto.h"
|
|
#include "data/filter/IFilter.h"
|
|
#include "LogWarehouse.h"
|
|
|
|
class DataManager : public QObject
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
DataManager(FilterCreator_ptr<Log_ptr> filterCreator);
|
|
|
|
void clearLogs();
|
|
void setFilter(QString filter);
|
|
void setAdvancedFilters(AdvancedFilterDto dto);
|
|
|
|
signals:
|
|
void badFilterRequested(QString message);
|
|
void logAdded(const Log_ptr log);
|
|
void logsReseted(QList<Log_ptr> logs);
|
|
|
|
//uncrustify off
|
|
public slots:
|
|
//uncrustify on
|
|
void onLogProvided(Log_ptr log);
|
|
|
|
private:
|
|
void resetView();
|
|
void setFilter(std::shared_ptr<IFilter<Log_ptr> > filter);
|
|
bool isLogAccepted(const Log_ptr& log);
|
|
|
|
LogWarehouse_ptr _warehouse;
|
|
std::shared_ptr<IFilter<Log_ptr> > _filter;
|
|
std::shared_ptr<IFilter<Log_ptr> > _advancedFilter;
|
|
FilterParser<Log_ptr> _filterParser;
|
|
};
|
|
|
|
#endif //DATAMANAGER_H
|
|
|