18 #ifndef MAUVE_RUNTIME_ABSTRACT_RESOURCE_HPP 19 #define MAUVE_RUNTIME_ABSTRACT_RESOURCE_HPP 21 #include "Configurable.hpp" 22 #include "WithName.hpp" 23 #include "WithAbstractShell.hpp" 24 #include "WithAbstractCore.hpp" 25 #include "WithAbstractInterface.hpp" 57 std::string
name() const override final {
return _name; };
65 virtual bool clear() = 0;
67 virtual int get_service_index(
const Service* service)
const = 0;
virtual bool is_empty() const =0
Check if the resource is empty.
std::string type_name() const
Get resource type name.
Trait for objects with an abstract Core.
Definition: WithAbstractCore.hpp:27
Object with a name.
Definition: WithName.hpp:27
The MAUVE namespace.
Definition: tracing.hpp:24
Configurable trait.
Definition: Configurable.hpp:25
A Service.
Definition: Service.hpp:30
Trait for objects with an abstract Interface.
Definition: WithAbstractInterface.hpp:27
virtual bool clear()=0
Clear the resource.
Trait for objects with an abstract Shell.
Definition: WithAbstractShell.hpp:27
std::string name() const overridefinal
Get resource name.
Definition: AbstractResource.hpp:57
Abstract Resource class.
Definition: AbstractResource.hpp:37