CIRCT  19.0.0git
Public Types | Public Member Functions | List of all members
esi::services::Service Class Referenceabstract

Parent class of all APIs modeled as 'services'. More...

#include <Services.h>

Inheritance diagram for esi::services::Service:
Inheritance graph
[legend]

Public Types

using Type = const std::type_info &
 

Public Member Functions

virtual ~Service ()=default
 
virtual std::string getServiceSymbol () const =0
 
virtual ServicePortgetPort (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...
 

Detailed Description

Parent class of all APIs modeled as 'services'.

May or may not map to a hardware side 'service'.

Definition at line 42 of file Services.h.

Member Typedef Documentation

◆ Type

using esi::services::Service::Type = const std::type_info &

Definition at line 44 of file Services.h.

Constructor & Destructor Documentation

◆ ~Service()

virtual esi::services::Service::~Service ( )
virtualdefault

Member Function Documentation

◆ getPort()

virtual ServicePort* esi::services::Service::getPort ( AppIDPath  id,
const BundleType type,
const std::map< std::string, ChannelPort & > &  ,
AcceleratorConnection  
) const
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, and esi::services::FuncService.

Definition at line 51 of file Services.h.

Referenced by esi::Manifest::Impl::getBundlePorts().

◆ getServiceSymbol()

virtual std::string esi::services::Service::getServiceSymbol ( ) const
pure virtual

The documentation for this class was generated from the following file: