mirror of
				https://github.com/OpenMW/openmw.git
				synced 2025-11-04 13:26:44 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			57 lines
		
	
	
	
		
			1 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			57 lines
		
	
	
	
		
			1 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
#ifndef CSM_DOC_OPERATIONHOLDER_H
 | 
						|
#define CSM_DOC_OPERATIONHOLDER_H
 | 
						|
 | 
						|
#include <QObject>
 | 
						|
#include <QThread>
 | 
						|
 | 
						|
#include "messages.hpp"
 | 
						|
 | 
						|
namespace CSMWorld
 | 
						|
{
 | 
						|
    class UniversalId;
 | 
						|
}
 | 
						|
 | 
						|
namespace CSMDoc
 | 
						|
{
 | 
						|
    class Operation;
 | 
						|
 | 
						|
    class OperationHolder : public QObject
 | 
						|
    {
 | 
						|
            Q_OBJECT
 | 
						|
            
 | 
						|
            QThread mThread;
 | 
						|
            Operation *mOperation;
 | 
						|
            bool mRunning;
 | 
						|
 | 
						|
        public:
 | 
						|
 | 
						|
            OperationHolder (Operation *operation = 0);
 | 
						|
 | 
						|
            void setOperation (Operation *operation);
 | 
						|
 | 
						|
            bool isRunning() const;
 | 
						|
 | 
						|
            void start();
 | 
						|
 | 
						|
            void abort();
 | 
						|
 | 
						|
            // Abort and wait until thread has finished.
 | 
						|
            void abortAndWait();
 | 
						|
 | 
						|
        private slots:
 | 
						|
 | 
						|
            void doneSlot (int type, bool failed);
 | 
						|
            
 | 
						|
        signals:
 | 
						|
 | 
						|
            void progress (int current, int max, int type);
 | 
						|
 | 
						|
            void reportMessage (const CSMDoc::Message& message, int type);
 | 
						|
 | 
						|
            void done (int type, bool failed);
 | 
						|
 | 
						|
            void abortSignal();
 | 
						|
    };
 | 
						|
}
 | 
						|
 | 
						|
#endif
 |