mirror of
https://github.com/elasota/Aerofoil.git
synced 2025-09-23 14:53:52 +00:00
32 lines
615 B
C++
32 lines
615 B
C++
#pragma once
|
|
#ifndef __PL_HOST_SYSTEM_SERVICES_H__
|
|
#define __PL_HOST_SYSTEM_SERVICES_H__
|
|
|
|
#include <stdint.h>
|
|
|
|
#ifdef CreateMutex
|
|
#error "CreateMutex was macrod"
|
|
#endif
|
|
|
|
namespace PortabilityLayer
|
|
{
|
|
class HostMutex;
|
|
class HostThreadEvent;
|
|
|
|
class HostSystemServices
|
|
{
|
|
public:
|
|
virtual uint32_t GetTime() const = 0;
|
|
virtual HostMutex *CreateMutex() = 0;
|
|
virtual HostThreadEvent *CreateThreadEvent(bool autoReset, bool startSignaled) = 0;
|
|
|
|
static void SetInstance(HostSystemServices *instance);
|
|
static HostSystemServices *GetInstance();
|
|
|
|
private:
|
|
static HostSystemServices *ms_instance;
|
|
};
|
|
}
|
|
|
|
#endif
|