include/gn/gnBaseSource.h

Go to the documentation of this file.
00001 00002 // File: gnBaseSource.h 00003 // Purpose: Abstract source class 00004 // Description: Basic interface to all source objects 00005 // Changes: 00006 // Version: libGenome 0.5.1 00007 // Author: Aaron Darling 00008 // Modified by: 00009 // Copyright: (c) Aaron Darling 00010 // Licenses: See COPYING file for details 00012 #ifndef _gnBaseSource_h_ 00013 #define _gnBaseSource_h_ 00014 00015 #include "gn/gnDefs.h" 00016 00017 #include <string> 00018 00019 #include "gn/gnClone.h" 00020 class gnGenomeSpec; 00021 class gnFilter; 00022 00031 class GNDLLEXPORT gnBaseSource : public gnClone 00032 { 00033 public: 00034 gnBaseSource(){} 00038 virtual ~gnBaseSource(){} 00039 virtual gnBaseSource* Clone() const = 0; 00040 00049 virtual void Open( string openString ) = 0; 00055 virtual void Open() = 0; 00060 virtual void Close() = 0; 00066 virtual string GetOpenString() const = 0; 00067 00072 virtual uint32 GetContigListLength() const = 0; 00079 virtual boolean HasContig( const string& name ) const = 0; 00087 virtual uint32 GetContigID( const string& name ) const = 0; 00094 virtual string GetContigName( const uint32 i ) const = 0; 00100 virtual gnSeqI GetContigSeqLength( const uint32 i ) const = 0; 00101 00106 virtual const gnFilter* GetFilter() const = 0; 00112 virtual void SetFilter( gnFilter* filter ) = 0; 00113 00124 virtual boolean Read( const uint64 pos, char* buf, gnSeqI& bufLen) = 0; 00138 virtual boolean SeqRead( const gnSeqI start, char* buf, gnSeqI& bufLen, const uint32 contigI=ALL_CONTIGS ) = 0; 00145 virtual gnGenomeSpec *GetSpec() const = 0; 00146 private: 00147 };// class gnBaseSource 00148 00149 #endif 00150 // _gnBaseSource_h_

Generated on Mon Feb 14 19:28:17 2005 for libGenome by doxygen 1.3.8