Files
Aerofoil/PortabilityLayer/HostSystemServices.h

32 lines
638 B
C
Raw Normal View History

2019-11-11 00:11:59 -05:00
#pragma once
#ifndef __PL_HOST_SYSTEM_SERVICES_H__
#define __PL_HOST_SYSTEM_SERVICES_H__
#include <stdint.h>
#ifdef CreateMutex
#error "CreateMutex was macrod"
#endif
2019-11-11 00:11:59 -05:00
namespace PortabilityLayer
{
class HostMutex;
class HostThreadEvent;
2019-11-11 00:11:59 -05:00
class HostSystemServices
{
public:
virtual uint32_t GetTime() const = 0;
virtual HostMutex *CreateMutex() = 0;
virtual HostThreadEvent *CreateThreadEvent(bool autoReset, bool startSignaled) = 0;
2019-11-11 00:11:59 -05:00
static void SetInstance(HostSystemServices *instance);
static HostSystemServices *GetInstance();
private:
static HostSystemServices *ms_instance;
};
}
#endif