23 #define stringifyName(name) #name 25 #define registerSyntax(action, action_syntax) \ 26 syntax.registerActionSyntax(action, action_syntax, "", __FILE__, __LINE__) 27 #define registerSyntaxTask(action, action_syntax, task) \ 28 syntax.registerActionSyntax(action, action_syntax, task, __FILE__, __LINE__) 29 #define registerDeprecatedSyntax(action, action_syntax, message) \ 30 syntax.registerActionSyntax(action, action_syntax, "", __FILE__, __LINE__); \ 31 syntax.deprecateActionSyntax(action_syntax, message) 32 #define registerDeprecatedSyntaxTask(action, action_syntax, task, message) \ 33 syntax.registerActionSyntax(action, action_syntax, task, __FILE__, __LINE__); \ 34 syntax.deprecateActionSyntax(action_syntax, message) 35 #define registerTask(name, is_required) syntax.registerTaskName(name, is_required) 36 #define registerMooseObjectTask(name, moose_system, is_required) \ 37 syntax.registerTaskName(name, stringifyName(moose_system), is_required) 38 #define appendMooseObjectTask(name, moose_system) \ 39 syntax.appendTaskName(name, stringifyName(moose_system), false) 40 #define appendDeprecatedMooseObjectTask(name, moose_system) \ 41 syntax.appendTaskName(name, stringifyName(moose_system), true) 42 #define addTaskDependency(action, depends_on) syntax.addDependency(action, depends_on) 59 void reg(std::shared_ptr<RegistryEntryBase> obj);
69 std::string
getTaskName(
const std::string & action);
71 std::shared_ptr<Action>
83 typedef std::multimap<std::string, BuildInfo>::iterator
iterator;
84 typedef std::multimap<std::string, BuildInfo>::const_iterator
const_iterator;
92 std::pair<std::multimap<std::string, std::string>::const_iterator,
93 std::multimap<std::string, std::string>::const_iterator>
115 return std::make_shared<T>(parameters);
InputParameters getValidParams(const std::string &name)
std::pair< std::multimap< std::string, std::string >::const_iterator, std::multimap< std::string, std::string >::const_iterator > getActionsByTask(const std::string &task) const
std::set< std::string > getTasksByAction(const std::string &action) const
void reg(std::shared_ptr< RegistryEntryBase > obj)
Base class for MOOSE-based applications.
FileLineInfo getLineInfo(const std::string &name, const std::string &task) const
Gets file and line information where an action was registered.
std::set< std::string > _tasks
The registered tasks.
static std::shared_ptr< Action > buildAction(const InputParameters ¶meters)
std::shared_ptr< Action > create(const std::string &action, const std::string &action_name, InputParameters ¶meters)
std::multimap< std::string, BuildInfo >::iterator iterator
Typedef for registered Action iterator.
FileLineInfoMap _name_to_line
std::shared_ptr< RegistryEntryBase > _obj_pointer
ActionFactory(MooseApp &app)
bool isRegisteredTask(const std::string &task) const
Whether or not a task with the name task is registered.
std::set< std::pair< std::string, std::string > > _current_objs
set<objectname, task> used to track if an object previously added is being added again ...
Specialized factory for generic Action System objects.
std::multimap< std::string, BuildInfo >::const_iterator const_iterator
std::vector< const InputParameters * > _currently_constructing
The object's parameters that are currently being constructed (if any).
Holds file and line information.
std::multimap< std::string, BuildInfo > _name_to_build_info
std::string getTaskName(const std::string &action)
std::multimap< std::string, std::string > _task_to_action_map
const InputParameters * currentlyConstructing() const
A mapping between a series of keys to a FileLineInfo.