Isle
Loading...
Searching...
No Matches
mxmediamanager.h
Go to the documentation of this file.
1#ifndef MXMEDIAMANGER_H
2#define MXMEDIAMANGER_H
3
4#include "mxcore.h"
5#include "mxcriticalsection.h"
6#include "mxpresenterlist.h"
7#include "mxtypes.h"
8
9class MxThread;
10
11// VTABLE: LEGO1 0x100dc6b0
12// SIZE 0x2c
22class MxMediaManager : public MxCore {
23public:
28
32 ~MxMediaManager() override;
33
39 MxResult Tickle() override; // vtable+08
40
46 virtual MxResult Create(); // vtable+14
47
52 virtual void Destroy(); // vtable+18
53
59 virtual void RegisterPresenter(MxPresenter& p_presenter); // vtable+1c
60
66 virtual void UnregisterPresenter(MxPresenter& p_presenter); // vtable+20
67
72 virtual void StopPresenters(); // vtable+24
73
79 MxResult Init();
80
81 // SYNTHETIC: LEGO1 0x100b8540
82 // MxMediaManager::`scalar deleting destructor'
83
84protected:
89
94
99};
100
101#endif // MXMEDIAMANGER_H
[AI] Base virtual class for all Mindscape engine (Mx) objects.
Definition: mxcore.h:15
[AI] Provides a critical section object for mutual exclusion with optional use of OS mutex.
[AI] Central class for managing the lifecycle and thread-safety of MxPresenter objects for audio/vide...
MxResult Init()
[AI] Initializes all internal members to their default values.
MxPresenterList * m_presenters
[AI] Pointer to list of currently registered (active) presenters.
virtual void RegisterPresenter(MxPresenter &p_presenter)
[AI] Register a new presenter for tickle management and playback coordination.
MxMediaManager()
[AI] Constructor.
~MxMediaManager() override
[AI] Destructor.
MxCriticalSection m_criticalSection
[AI] Critical section object used for guarding access to the presenter list and internal members for ...
MxThread * m_thread
[AI] Optional pointer to a worker thread used for media dispatch/IO (if multi-threaded operation is u...
MxResult Tickle() override
[AI] Called by the tickle manager to step through and update all presenters, and process their output...
virtual void StopPresenters()
[AI] Stops/ends the action on all registered presenters, typically halting all playback and output.
virtual void Destroy()
[AI] Destroys all registered presenters and resets the internal state, ensuring safe resource disposa...
virtual MxResult Create()
[AI] Allocates and initializes the internal presenter list for this manager, ensuring thread safety.
virtual void UnregisterPresenter(MxPresenter &p_presenter)
[AI] Remove a presenter from tickle and managed output lists.
[AI] List to hold pointers to MxPresenter objects with optional ownership semantics.
[AI] Abstract base class for all presenter types in the LEGO Island engine, responsible for managing ...
Definition: mxpresenter.h:20
[AI] Abstract thread class providing a platform-independent interface for thread management.
Definition: mxthread.h:17
MxLong MxResult
[AI]
Definition: mxtypes.h:106