6#include <QtCore/QThread>
9#include <ilog/IMessageConsumer.h>
10#include <ilog/CMessageContainer.h>
13#include <imtfile/IFileCompression.h>
14#include <imtlog/IEventProvider.h>
15#include <imtlog/CMessagesReader.h>
16#include <imtlog/CMessageFilterParams.h>
23class CMessagesReadJobController:
public QThread
27 typedef QThread BaseClass;
47 const IEventFilter* filterPtr;
48 CMessageFilterParams filterParams;
49 CMessagesReader::EventContainerPtr containerPtr;
52 typedef QList<Job> JobList;
54 explicit CMessagesReadJobController(
56 const QString& containerExtension,
57 const QString& archiveExtension,
58 iser::IVersionInfo* versionInfoPtr,
59 imtfile::IFileCompression* compressorPtr,
60 ilog::IMessageConsumer* logPtr);
62 QByteArray AddJob(
const IEventFilter* filterPtr,
const IMessageFilterParams* filterParamsPtr);
64 bool IsJobExists(
const QByteArray& jobId)
const;
65 bool TakeJobResult(
const QByteArray& jobId, CMessagesReader::EventContainerPtr& resultEvents);
68 void JobFinished(QByteArray jobId);
72 virtual void run()
override;
75 void ProcessJob(Job& job);
79 mutable QMutex m_jobMutex;
82 const QString m_containerExtension;
83 const QString m_archiveExtension;
84 const iser::IVersionInfo* m_versionInfoPtr;
85 const imtfile::IFileCompression* m_compressorPtr;
87 ilog::IMessageConsumer* m_logPtr;