18 #ifndef MAUVE_RUNTIME_CALL_SERVICE_HPP 19 #define MAUVE_RUNTIME_CALL_SERVICE_HPP 23 #include "Service.hpp" 31 template <
typename R,
typename ...P>
35 template <
typename R,
typename ...P>
48 virtual R
call(P... parameters)
const = 0;
59 template <
typename CORE,
typename R,
typename ...P>
63 using action_t = std::function<R(CORE*, P...)>;
73 std::
string get_resource_name()
const override {
return container->name(); }
76 R
call(P... parameters)
const override;
86 #include "ipp/CallService.ipp" R operator()(P...parameters) const
Helper.
Definition: CallService.hpp:50
Call Service implementation.
Definition: CallService.hpp:60
Class of a Call service.
Definition: CallPort.hpp:27
The MAUVE namespace.
Definition: tracing.hpp:24
const std::string name
Service name.
Definition: Service.hpp:40
std::function< R(CORE *, P...)> action_t
Service action type.
Definition: CallService.hpp:63
virtual R call(P...parameters) const =0
Call the service.
A Service.
Definition: Service.hpp:30
connection_type
Port types.
Definition: AbstractPort.hpp:28
CallService(std::string const &name)
Constructor.
Definition: CallService.hpp:39
Definition: CallService.hpp:29
A Port to call a service.
Definition: CallPort.hpp:31