Grassroots Infrastructure
The Grassroots Infrastructure is a suite of computing tools to help users and developers use scientific data infrastructure that can easily be interconnected.
BlastToolFactory Class Referenceabstract

The base class for generating blast tools. More...

#include <blast_tool_factory.hpp>

Inheritance diagram for BlastToolFactory:
[legend]

Public Member Functions

 BlastToolFactory (const json_t *service_config_p)
 The BlastToolFactory constructor. More...
 
virtual ~BlastToolFactory ()
 The BlastToolFactory destructor. More...
 
virtual const char * GetName ()=0
 Get an identifying name for this BlastToolFactory. More...
 
virtual BlastToolCreateBlastTool (BlastServiceJob *job_p, const char *name_s, const BlastServiceData *data_p)=0
 Create a BlastTool. More...
 
virtual BlastToolCreateBlastTool (const json_t *json_p, BlastServiceJob *blast_job_p, BlastServiceData *service_data_p)=0
 Create a BlastTool from serialised JSON. More...
 
virtual Synchronicity GetToolsSynchronicity () const =0
 Are the BlastTools that this BlastToolFactory create able to run asynchronously? More...
 

Static Public Member Functions

static BlastToolFactoryGetBlastToolFactory (const json_t *service_config_p)
 Get the BlastToolFactory to use. More...
 

Protected Attributes

const json_t * btf_service_config_p
 The JSON fragment containing the configuration data for this BlastToolFactory. More...
 

Detailed Description

The base class for generating blast tools.

Constructor & Destructor Documentation

◆ BlastToolFactory()

BlastToolFactory ( const json_t *  service_config_p)

The BlastToolFactory constructor.

Parameters
service_config_pThe JSON fragment containing the configuration data for this BlastToolFactory.

◆ ~BlastToolFactory()

virtual ~BlastToolFactory ( )
virtual

The BlastToolFactory destructor.

Member Function Documentation

◆ GetBlastToolFactory()

static BlastToolFactory* GetBlastToolFactory ( const json_t *  service_config_p)
static

Get the BlastToolFactory to use.

Parameters
service_config_pThe configuration for the Blast service from the global server configuration.
Returns
The new BlastToolFactory or 0 upon error.

◆ GetName()

virtual const char* GetName ( )
pure virtual

Get an identifying name for this BlastToolFactory.

Returns
The name for this type of BlastToolFactory.

Implemented in DrmaaBlastToolFactory, and SystemBlastToolFactory.

◆ CreateBlastTool() [1/2]

virtual BlastTool* CreateBlastTool ( BlastServiceJob job_p,
const char *  name_s,
const BlastServiceData data_p 
)
pure virtual

Create a BlastTool.

Parameters
job_pThe ServiceJob to associate with the newly generated BlastTool.
name_sThe name to give to the new BlastTool.
data_pThe BlastServiceData for the Service that will use this BlastTool.
Returns
The new BlastTool or 0 upon error.

Implemented in DrmaaBlastToolFactory, and SystemBlastToolFactory.

◆ CreateBlastTool() [2/2]

virtual BlastTool* CreateBlastTool ( const json_t *  json_p,
BlastServiceJob blast_job_p,
BlastServiceData service_data_p 
)
pure virtual

Create a BlastTool from serialised JSON.

Parameters
json_pThe ServiceJob to associate with the newly generated BlastTool.
blast_job_pThe BlastServiceJob to be associated with the generated BlastTool.
service_data_pThe BlastServiceData for the Service that will use this BlastTool.
Returns
The new BlastTool or 0 upon error.

Implemented in DrmaaBlastToolFactory, and SystemBlastToolFactory.

◆ GetToolsSynchronicity()

virtual Synchronicity GetToolsSynchronicity ( ) const
pure virtual

Are the BlastTools that this BlastToolFactory create able to run asynchronously?

Returns
true if the BlastTools are able to run asynchronously, false otherwise.

Implemented in DrmaaBlastToolFactory, and SystemBlastToolFactory.

Field Documentation

◆ btf_service_config_p

const json_t* btf_service_config_p
protected

The JSON fragment containing the configuration data for this BlastToolFactory.


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