// A re-entrant monitor; can be locked from the same thread multiple times. // Must be unlocked the same number of times it's locked. class GMPMutex {
public:
virtual ~GMPMutex() = default;
virtual void Acquire() = 0;
virtual void Release() = 0;
virtual void Destroy() = 0; // Deletes object.
};
// Time is defined as the number of milliseconds since the // Epoch (00:00:00 UTC, January 1, 1970). typedef int64_t GMPTimestamp;
// Call on main thread only. typedef GMPErr (*GMPCreateRecordPtr)(constchar* aRecordName,
uint32_t aRecordNameSize,
GMPRecord** aOutRecord,
GMPRecordClient* aClient);
// Call on main thread only. typedef GMPErr (*GMPSetTimerOnMainThreadPtr)(GMPTask* aTask,
int64_t aTimeoutMS); typedef GMPErr (*GMPGetCurrentTimePtr)(GMPTimestamp* aOutTime);
struct GMPPlatformAPI { // Increment the version when things change. Can only add to the struct, // do not change what already exists. Pointers to functions may be NULL // when passed to plugins, but beware backwards compat implications of // doing that.
uint16_t version; // Currently version 0
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.