fishbowl/engine/include/fishbone/thread.h
2026-05-27 16:03:38 +09:00

44 lines
749 B
C++

#ifndef __FISHBONE_THREAD_H__
#define __FISHBONE_THREAD_H__
namespace fishbone {
class Thread;
class Mutex;
}; // namespace fishbone
#include <fishbone/machdep.h>
#ifdef _FISHBONE
#if defined(FISHBONE_THREAD_USE_SDL2)
typedef SDL_mutex* FISHBONE_MUTEX_HANDLE;
typedef SDL_Thread* FISHBONE_THREAD_HANDLE;
#endif
#else
typedef void* FISHBONE_MUTEX_HANDLE;
typedef void* FISHBONE_THREAD_HANDLE;
#endif
namespace fishbone {
class Thread {
FISHBONE_THREAD_HANDLE thread;
public:
Thread(void (*call)(fishbone::Thread* thread, void* arg), void* arg);
~Thread();
void join();
};
class Mutex {
FISHBONE_MUTEX_HANDLE mutex;
public:
Mutex();
~Mutex();
void lock();
void unlock();
};
}; // namespace fishbone
#endif