1 // ***************************************************************************
2 // bamtools_tool.h (c) 2010 Derek Barnett, Erik Garrison
3 // Marth Lab, Department of Biology, Boston College
4 // ---------------------------------------------------------------------------
5 // Last modified: 2 June 2010
6 // ---------------------------------------------------------------------------
7 // Base class for all other BamTools sub-tools
8 // All derived classes must provide Help() and Run() methods
9 // ***************************************************************************
11 #ifndef BAMTOOLS_ABSTRACTTOOL_H
12 #define BAMTOOLS_ABSTRACTTOOL_H
21 AbstractTool(void) { }
22 virtual ~AbstractTool(void) { }
25 virtual int Help(void) =0;
26 virtual int Run(int argc, char* argv[]) =0;
28 // derived classes should also provide:
29 // static std::string Description(void);
30 // static std::String Name(void);
33 } // namespace BamTools
35 #endif // BAMTOOLS_ABSTRACTTOOL_H