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