23#ifndef _PLUGINS_ASP_ASPECT_CLINGO_CONTROL_MANAGER_H_
24#define _PLUGINS_ASP_ASPECT_CLINGO_CONTROL_MANAGER_H_
26#include <core/utils/lockptr.h>
29#include <unordered_map>
45 const std::string &log_component_name);
48 const std::unordered_map<std::string, LockPtr<ClingoAccess>> &
controls(
void)
const;
52 std::unordered_map<std::string, LockPtr<ClingoAccess>> controls_;
The Clingo Control Manager creates and maintains Clingo Controls.
LockPtr< ClingoAccess > create_control(const std::string &ctrl_name, const std::string &log_component_name)
Create a new control.
void destroy_control(const std::string &ctrl_name)
"Destroys" the named control.
virtual ~ClingoControlManager(void)
Destructor.
const std::unordered_map< std::string, LockPtr< ClingoAccess > > & controls(void) const
Get map of controls.
void set_logger(Logger *logger)
Sets the logger for all Clingo Controls.
ClingoControlManager(void)
Constructor.
LockPtr<> is a reference-counting shared lockable smartpointer.
Fawkes library namespace.