14 #include <vlutil/vlString.h>
15 #include <vlutil/vlPrint.h>
19 namespace MAKVrExchange
25 template <
typename ProducedType>
30 typedef ProducedType* (*DtObjectTranslatorCreatorFunction)(
DtBroker* );
31 typedef ProducedType* (*DtGenericObjectTranslatorCreatorFunction)(
DtBroker*,
const DtString& className );
106 typedef std::map<DtString, DtObjectTranslatorCreatorFunction>
StringOtcMap;
115 #define _translatorFactory_INL_
116 #include <broker/translatorFactory.inl>
117 #undef _translatorFactory_INL_
ProducedType * createInstance(const DtString &transName, DtBroker *broker) const
Creates an translator instance and returns it as a pointer of type ProducedType.
void addGenericCreator()
Sets T as the class to create when a generic Translator is requested.
static ProducedType * instanceFactory(DtBroker *broker)
A static function which can be used to create instances of type T.
ProducedType *(* DtObjectTranslatorCreatorFunction)(DtBroker *)
Definition: translatorFactory.h:30
std::map< DtString, DtObjectTranslatorCreatorFunction > StringOtcMap
Definition: translatorFactory.h:106
DtTranslatorFactory & operator=(const DtTranslatorFactory &other)
Assignment Operator not implemented - do not copy.
void removeCreator()
Removes the translator for class T using T::translatorName().
void addCreator()
Adds a creator for class T using the default instanceFactory Method.
ProducedType * createGenericInstance(const DtString &className, DtBroker *broker)
Creates a generic translator using the className and broker provided.
Contains the DtInteractionTranslator and DtBaseInteractionTranslator class declarations.
void removeAllCreators()
removes all creators currently registered.
static ProducedType * genericInstanceFactory(DtBroker *broker, const DtString &className)
A static function which can be used to create instances of type T, where T takes a className in the C...
std::set< DtString > creatorNames() const
Returns the set of translator names added through addCreator()
DtGenericObjectTranslatorCreatorFunction myGenericTranslatorCreator
Definition: translatorFactory.h:109
Base class for all broker objects.
Definition: broker.h:53
Contains the DtObjectTranslator and DtBaseObjectTranslator class declarations.
A factory class for Translators.
Definition: translatorFactory.h:26
DtTranslatorFactory()
Default CTOR.
StringOtcMap myNamedCreatorMap
Definition: translatorFactory.h:107
ProducedType *(* DtGenericObjectTranslatorCreatorFunction)(DtBroker *, const DtString &className)
Definition: translatorFactory.h:31
virtual ~DtTranslatorFactory()
Default DTOR - destroys factory, not instances created by the factory.