CIRCT
20.0.0git
|
Parent class of all APIs modeled as 'services'. More...
#include <Services.h>
Public Types | |
using | Type = const std::type_info & |
Public Member Functions | |
virtual | ~Service ()=default |
virtual std::string | getServiceSymbol () const =0 |
virtual Service * | getChildService (AcceleratorConnection *conn, Service::Type service, AppIDPath id={}, std::string implName={}, ServiceImplDetails details={}, HWClientDetails clients={}) |
Create a "child" service of this service. More... | |
virtual ServicePort * | getPort (AppIDPath id, const BundleType *type, const std::map< std::string, ChannelPort & > &, AcceleratorConnection &) const |
Get specialized port for this service to attach to the given appid path. More... | |
Parent class of all APIs modeled as 'services'.
May or may not map to a hardware side 'service'.
Definition at line 45 of file Services.h.
using esi::services::Service::Type = const std::type_info & |
Definition at line 47 of file Services.h.
|
virtualdefault |
|
virtual |
Create a "child" service of this service.
Does not have to be the same service type, but typically is. Used when a service already exists in the active services table, but a new one wants to replace it. Useful for cases where the child service needs to use the parent service. Defaults to calling the getService
method on AcceleratorConnection
to get the global service, implying that the child service does not need to use the service it is replacing.
Reimplemented in esi::services::MMIO.
Definition at line 27 of file Services.cpp.
References esi::AcceleratorConnection::getService().
Referenced by esi::services::MMIO::getChildService().
|
inlinevirtual |
Get specialized port for this service to attach to the given appid path.
Null returns mean nothing to attach.
Reimplemented in esi::services::CallService, esi::services::FuncService, and esi::services::MMIO.
Definition at line 67 of file Services.h.
|
pure virtual |