18 #ifndef MAUVE_RUNTIME_ABSTRACT_INTERFACE_HPP 19 #define MAUVE_RUNTIME_ABSTRACT_INTERFACE_HPP 21 #include "Configurable.hpp" 22 #include "HasProperty.hpp" 28 class AbstractResource;
44 virtual const std::vector<Service*>
get_services()
const = 0;
46 virtual std::size_t get_services_size()
const = 0;
53 virtual int get_service_index(
const Service* service)
const = 0;
virtual const std::vector< Service * > get_services() const =0
Get the set of services owned by the interface.
std::string type_name() const
Get interface type name.
Abstract Interface class.
Definition: AbstractInterface.hpp:35
Definition: HasProperty.hpp:53
The MAUVE namespace.
Definition: tracing.hpp:24
Configurable trait.
Definition: Configurable.hpp:25
A Service.
Definition: Service.hpp:30
virtual Service * get_service(std::string const &name) const =0
Get a service by name.