UnleashedRecomp/UnleashedRecomp/api/Hedgehog/Base/Thread/hhHolderBase.h
Hyper 8f525b571b
Implemented guest-to-host function pointers (#7)
* Implemented guest-to-host function pointers (WIP)

Co-Authored-By: Skyth (Asilkan) <19259897+blueskythlikesclouds@users.noreply.github.com>

* function: support more types for function pointers

* api: ported BlueBlur headers and misc. research

* Move over function-pointers changes from options-menu branch.

---------

Co-authored-by: Skyth (Asilkan) <19259897+blueskythlikesclouds@users.noreply.github.com>
2024-11-25 13:50:10 +03:00

28 lines
712 B
C++

#pragma once
#include "SWA.inl"
namespace Hedgehog::Base
{
class CSynchronizedObject;
class CHolderBase
{
protected:
xpointer<CSynchronizedObject> m_pSynchronizedObject;
bool m_Locked;
public:
CHolderBase() : m_pSynchronizedObject(nullptr), m_Locked(false) {}
CHolderBase(CSynchronizedObject* in_pSynchronizedObject, bool in_ForceSync = false);
CHolderBase(CHolderBase&& io_rOther);
CHolderBase(const CHolderBase& in_rOther);
~CHolderBase();
CSynchronizedObject* get() const;
CSynchronizedObject* operator->() const;
CSynchronizedObject* operator*() const;
explicit operator bool() const;
};
}