#ifndef NUMBERPROCESSORPROXY_H #define NUMBERPROCESSORPROXY_H #include #include "snccore.h" #include "numberlistmodel.h" #include "numberreg.h" #include "SNCCore_global.h" class SNCCORESHARED_EXPORT NumberProcessorProxy : public QThread { Q_OBJECT public: NumberProcessorProxy(NumberListModel *oldModel); ~NumberProcessorProxy(); void setProcessType(NumberProcessType processType); void setBlackList(NumberListModel *blackListModel); void abort(); signals: void progressMaxUpdated(int max); void progressUpdated(int i); void numberProcessed(NumberListModel *newModel); private: void sort(); void removeDuplicate(); void removeNotPhone(); void removeBlackList(); QStringList filterNumbers(QStringList source,QStringList filter); protected: void run(); private: int counter; int optimizeMaxProgress; int step1Progress; int step2Progress; bool stop; NumberProcessType processType; QStringList segments; QList numbers; NumberListModel *oldModel; NumberListModel *newModel; NumberListModel *blackListModel; QMutex *mutex2; public slots: void onOptimizeProgressMaxUpdated(int max); void onOptimizeProgressCurrentUpdated(int current); }; #endif // NUMBERPROCESSORPROXY_H