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.
SystemBlastToolFactory Class Reference

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

#include <system_blast_tool_factory.hpp>

Inheritance diagram for SystemBlastToolFactory:
[legend]
Collaboration diagram for SystemBlastToolFactory:
[legend]

Public Member Functions

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

Static Public Member Functions

static SystemBlastToolFactoryCreateSystemBlastToolFactory (const json_t *service_config_p)
 A thin wrapper around the constructor for SystemBlastToolFactory to catch any exceptions and return 0 instead. More...
 
- Static Public Member Functions inherited from BlastToolFactory
static BlastToolFactoryGetBlastToolFactory (const json_t *service_config_p)
 Get the BlastToolFactory to use. More...
 

Protected Member Functions

 SystemBlastToolFactory (const json_t *service_config_p)
 The constructor for SystemBlastToolFactory. More...
 
- Protected Member Functions inherited from ExternalBlastToolFactory
 ExternalBlastToolFactory (const json_t *config_p)
 The constructor for SystemBlastToolFactory. More...
 

Additional Inherited Members

- Protected Attributes inherited from ExternalBlastToolFactory
const char * ebtf_program_name_s
 The command line executable to use to run blast jobs. More...
 
- Protected Attributes inherited from BlastToolFactory
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 system blast tools.

Constructor & Destructor Documentation

◆ ~SystemBlastToolFactory()

virtual ~SystemBlastToolFactory ( )
virtual

The SystemBlastToolFactory destructor.

◆ SystemBlastToolFactory()

SystemBlastToolFactory ( const json_t *  service_config_p)
protected

The constructor for SystemBlastToolFactory.

Parameters
service_config_pThe Blast Service configuration from the global server configuration.

Member Function Documentation

◆ CreateSystemBlastToolFactory()

static SystemBlastToolFactory* CreateSystemBlastToolFactory ( const json_t *  service_config_p)
static

A thin wrapper around the constructor for SystemBlastToolFactory to catch any exceptions and return 0 instead.

Parameters
service_config_pThe Blast Service configuration from the global server configuration.
Returns
The new SystemBlastToolFactory or 0 upon error.
See also
SystemBlastToolFactory::SystemBlastToolFactory

◆ GetName()

virtual const char* GetName ( )
virtual

Get an identifying name for this BlastToolFactory.

Returns
The name for this type of BlastToolFactory.

Implements BlastToolFactory.

◆ CreateBlastTool() [1/2]

virtual BlastTool* CreateBlastTool ( BlastServiceJob job_p,
const char *  name_s,
const BlastServiceData data_p 
)
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.

Implements BlastToolFactory.

◆ CreateBlastTool() [2/2]

virtual BlastTool* CreateBlastTool ( const json_t *  json_p,
BlastServiceJob blast_job_p,
BlastServiceData service_data_p 
)
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.

Implements BlastToolFactory.

◆ GetToolsSynchronicity()

virtual Synchronicity GetToolsSynchronicity ( ) const
virtual

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

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

Implements BlastToolFactory.


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