]> git.donarmstrong.com Git - bamtools.git/blob - src/toolkit/bamtools_tool.h
Minor cleanup
[bamtools.git] / src / toolkit / bamtools_tool.h
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 // ***************************************************************************
10
11 #ifndef BAMTOOLS_ABSTRACTTOOL_H
12 #define BAMTOOLS_ABSTRACTTOOL_H
13
14 #include <string>
15
16 namespace BamTools { 
17   
18 class AbstractTool {
19   
20     public:
21         AbstractTool(void) { }
22         virtual ~AbstractTool(void) { }
23
24     public:
25         virtual int Help(void) =0;
26         virtual int Run(int argc, char* argv[]) =0; 
27
28     // derived classes should also provide:
29     // static std::string Description(void);
30     // static std::String Name(void);
31 };
32   
33 } // namespace BamTools
34
35 #endif // BAMTOOLS_ABSTRACTTOOL_H