ref: 220dc0a03d5d592da832c081e8027062d16baae5
dir: /wingui/EncoderJobProcessingManager.h/
// EncoderJobProcessingManager.h: interface for the CEncoderJobProcessingManager class. // Author: Torsten Landmann // // manages the actual processing of one encoder job at a time. Note that this // class doesn't properly process encoder jobs that have a file mask set // as input file. Callers must filter out these jobs before using this class. // ////////////////////////////////////////////////////////////////////// #if !defined(AFX_ENCODERJOBPROCESSINGMANAGER_H__A1444E93_1546_11D5_8402_0080C88C25BD__INCLUDED_) #define AFX_ENCODERJOBPROCESSINGMANAGER_H__A1444E93_1546_11D5_8402_0080C88C25BD__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 #include "EncoderJob.h" #include "ProcessingStartStopPauseInteractable.h" class CEncoderJobProcessingManager : public CProcessingStartStopPauseInteractable { public: CEncoderJobProcessingManager(const CEncoderJob *poJobToProcess); virtual ~CEncoderJobProcessingManager(); virtual void Start(CProcessingStatusDialogInfoFeedbackCallbackInterface *poInfoTarget); virtual void Stop(); virtual void Pause(); enum ECurrentWorkingState { eInitial, eRunning, ePaused, eStopped, eCleanup, } m_eCurrentWorkingState; private: const CEncoderJob *m_poJobToProcess; CProcessingStatusDialogInfoFeedbackCallbackInterface *m_poInfoTarget; // returns true if the job has been completely processed bool DoProcessing(); void WriteProgress(long lOperationStartTickCount, long lMaxSteps, long lCurSteps); static int GetAacProfileConstant(CEncoderJob::EAacProfile eAacProfile); static CArchive* GetOutputFileArchive(const CString &oFileName); }; #endif // !defined(AFX_ENCODERJOBPROCESSINGMANAGER_H__A1444E93_1546_11D5_8402_0080C88C25BD__INCLUDED_)