]> git.donarmstrong.com Git - bamtools.git/blob - src/toolkit/bamtools_tool.h
Major update to BamTools version 1.0
[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 // All rights reserved.
5 // ---------------------------------------------------------------------------
6 // Last modified: 2 June 2010
7 // ---------------------------------------------------------------------------
8 // Base class for all other BamTools sub-tools
9 // All derived classes must provide Help() and Run() methods
10 // ***************************************************************************
11
12 #ifndef BAMTOOLS_ABSTRACTTOOL_H
13 #define BAMTOOLS_ABSTRACTTOOL_H
14
15 #include <string>
16
17 namespace BamTools { 
18   
19 class AbstractTool {
20   
21     public:
22         AbstractTool(void) { }
23         virtual ~AbstractTool(void) { }
24
25     public:
26         virtual int Help(void) =0;
27         virtual int Run(int argc, char* argv[]) =0; 
28
29     // derived classes should also provide:
30     // static std::string Description(void);
31     // static std::String Name(void);
32 };
33   
34 } // namespace BamTools
35
36 #endif // BAMTOOLS_ABSTRACTTOOL_H