//CFTTJobQueue - [2020-04-13 11:57:46]
#ifndef _CFTTJOBQUEUE_H_
#define _CFTTJOBQUEUE_H_

#include <stdio.h>
#include <stdlib.h>
#include "CFTTJob.h"
#include "CFTTJobList.h"
#include "FTTMutex.h"
#include "FTTSemaphore.h"
#include "FTTThread.h"

/*
00265B9C CFTTJobQueue::CFTTJobQueue(int, EFTTThreadPriority, int, char const*)
00265C34 CFTTJobQueue::~CFTTJobQueue()

00265BE4 CFTTJobQueue::JobQueueThreadFunc(void *)
00265C88 CFTTJobQueue::InsertJob(CFTTJob *)
00265C9E CFTTJobQueue::AddReservedJob(void (*)(CFTTJob *,void *),
                                      void *,
                                      CFTTAsyncEvent<CFTTJob *> *)

0x78
CFTTAudio::ms_pJobQueue = (int)CFTTJobQueue::CFTTJobQueue((int)v4, 0, 8, 0, (int)"AudioJobQueue");

signed int __fastcall CFTTBatchModelManager::InitialiseCodePath(CFTTBatchModelManager *this)
_ZN21CFTTBatchModelManager18InitialiseCodePathEv

*/

class CFTTJobQueue {
public:
  CFTTJobQueue(int a2, EFTTThreadPriority a3, int a4, char const* a5);  //00265C9E
  ~CFTTJobQueue();                                                      //00265C34
  void AddReservedJob(Func_Job func,
                      void* func_arg,
                      CFTTAsyncEvent<CFTTJob*>* pEvent);  //00265C9E
  void InsertJob(CFTTJob* a2);                            //00265C88
  static int JobQueueThreadFunc(void* a1);                //00265BE4

  CFTTJobList JobList_0;
  FTTSemaphore FTTSemaphore_10;
  FTTThread FTTThread_40;
  bool bIsClose_74;
};

#endif  //_CFTTJOBQUEUE_H_