//FTTMutex - [2020-04-13 11:57:47]
#ifndef _FTTMUTEX_H_
#define _FTTMUTEX_H_ .

#include "common.h"
#include <pthread.h>

/*
0026D248 FTTMutex::FTTMutex(char const*,EFTTProtocol)
0026D27E FTTMutex::~FTTMutex()
0026D28A FTTMutex::Lock()
0026D294 FTTMutex::TryLock()
0026D2A2 FTTMutex::Unlock()
*/

//__pthread_mutex_t pthread_mutex_t_5CDDAC

enum EFTTProtocol {
  EFTTProtocol_0,
  EFTTProtocol_1,
  EFTTProtocol_2,
  EFTTProtocol_3,
  EFTTProtocol_4,
  EFTTProtocol_5,
  EFTTProtocol_6,
  EFTTProtocol_7,
};

class FTTMutex {
public:
  FTTMutex();
  FTTMutex(char const* name, EFTTProtocol eProtocol);  //0026D248
  ~FTTMutex();                                         //0026D27E
  bool Lock();                                         //0026D28A
  bool TryLock();                                      //0026D294
  void Unlock();                                       //0026D2A2

  pthread_mutex_t m_mutex_0;
  char mutex_name_4[32];
};

#endif  //_FTTMUTEX_H_