isle/LEGO1/mxmediamanager.h
Christian Semmler b819657bd8
Implement AddPresenter, RemovePresenter, StopPresenters (#124)
* Add MxList, MxPresenterList, add to MxMediaManager

* Match ~MxList<T>

* Implement AddPresenter, RemovePresenter, StopPresenters

* Initial implementation of RemovePresenter/Find/Detach

* Implement/match MxMediaManager::StopPresenters

* Move definitions out of class body

* Match RemovePresenter/Detach

* Fix style

* Fix merge error

* Fix merge error

* Fix merge error

* Remove space
2023-09-17 12:38:50 +02:00

35 lines
812 B
C++

#ifndef MXMEDIAMANGER_H
#define MXMEDIAMANGER_H
#include "mxcore.h"
#include "mxcriticalsection.h"
#include "mxthread.h"
#include "mxpresenterlist.h"
#include "mxtypes.h"
// VTABLE 0x100dc6b0
// SIZE 0x2c
class MxMediaManager : public MxCore
{
public:
MxMediaManager();
virtual ~MxMediaManager() override;
virtual MxResult Tickle(); // vtable+08
virtual MxResult InitPresenters(); // vtable+14
virtual void Destroy(); // vtable+18
virtual void AddPresenter(MxPresenter &p_presenter); // vtable+1c
virtual void RemovePresenter(MxPresenter &p_presenter); // vtable+20
virtual void StopPresenters(); // vtable+24
MxResult Init();
private:
MxPresenterList *m_presenters;
MxThread *m_thread; // 0xc
protected:
MxCriticalSection m_criticalSection; // 0x10
};
#endif // MXMEDIAMANGER_H