41 #define WF_COMMAND_HANDLER(TITLE,CONFIG_SECTION,CONFIG_TITLE,CLASSDEF,CONFIGDEF)\
43 class CommandHandlerConstructor\
44 :public _Wolframe::ConfiguredObjectConstructor<_Wolframe::cmdbind::CommandHandlerUnit>\
47 CommandHandlerConstructor(){}\
48 virtual ~CommandHandlerConstructor(){}\
49 virtual _Wolframe::cmdbind::CommandHandlerUnit* object( const _Wolframe::config::NamedConfiguration& cfgi)\
51 const CONFIGDEF* cfg = dynamic_cast<const CONFIGDEF*>(&cfgi);\
52 if (!cfg) throw std::logic_error( "internal: wrong configuration interface passed to " CONFIG_TITLE " command handler constructor");\
53 CLASSDEF* rt = new CLASSDEF(cfg);\
56 virtual const char* objectClassName() const\
60 virtual ObjectConstructorBase::ObjectType objectType() const\
62 return ObjectConstructorBase::CMD_HANDLER_OBJECT;\
65 class CommandHandlerBuilder\
66 :public _Wolframe::module::ConfiguredBuilder\
69 CommandHandlerBuilder()\
70 :_Wolframe::module::ConfiguredBuilder( TITLE, CONFIG_SECTION, CONFIG_TITLE, CONFIG_TITLE)\
72 virtual ~CommandHandlerBuilder(){}\
73 virtual _Wolframe::ObjectConstructorBase::ObjectType objectType() const\
75 return _Wolframe::ObjectConstructorBase::CMD_HANDLER_OBJECT;\
77 virtual _Wolframe::config::NamedConfiguration* configuration( const char* logPrefix)\
79 return new CONFIGDEF( CONFIG_TITLE, m_title, logPrefix, m_keyword);\
81 virtual _Wolframe::ObjectConstructorBase* constructor()\
83 return new CommandHandlerConstructor();\
88 static _Wolframe::module::BuilderBase* impl()\
90 static CommandHandlerBuilder rt;\
94 (*this)(&Constructor ::impl);\
Interface to a generic command handler.
Base classes for virtual constructors to build objects loaded from modules.
Basic interface classes that to build objects and the Wolframe module interface.
Interface to processor provider for language bindings and database.