1#ifndef MXOBJECTFACTORY_H
2#define MXOBJECTFACTORY_H
10#define FOR_MXOBJECTFACTORY_OBJECTS(X) \
12 X(MxCompositePresenter) \
20 X(MxLoopingFlcPresenter) \
21 X(MxLoopingSmkPresenter) \
22 X(MxLoopingMIDIPresenter)
44 return "MxObjectFactory";
[AI] Atomized (unique) string identifier, managed by reference counting.
[AI] Base virtual class for all Mindscape engine (Mx) objects.
virtual MxBool IsA(const char *p_name) const
[AI] Checks whether this object's class type or parents match the given name.
[AI] Forward declaration for the factory responsible for constructing core objects from atom or type ...
virtual MxCore * Create(const char *p_name)
[AI] Creates a new instance of the class matching the provided string name.
const char * ClassName() const override
[AI] Returns the class name.
virtual void Destroy(MxCore *p_object)
[AI] Destroys (deletes) a dynamic object created by this factory.
MxObjectFactory()
[AI] Constructs a new MxObjectFactory and initializes atom IDs for all supported presenter classes.
MxBool IsA(const char *p_name) const override
[AI] Determines whether this class is or inherits from the named class.
#define FOR_MXOBJECTFACTORY_OBJECTS(X)
[AI] Macro listing the presenter class types handled by the object factory.