|
gnBaseSource.hGo 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.1.0 00007 // Author: Aaron Darling 00008 // Last Edited: April 15, 2001, 10:34:50pm 00009 // Modified by: 00010 // Copyright: (c) Aaron Darling 00011 // Licenses: Proprietary 00013 #ifndef _gnBaseSource_h_ 00014 #define _gnBaseSource_h_ 00015 00016 #include "gn/gnDefs.h" 00017 00018 #include <string> 00019 00020 #include "gn/gnClone.h" 00021 class gnGenomeSpec; 00022 class gnFilter; 00023 00032 class GNDLLEXPORT gnBaseSource : public gnClone 00033 { 00034 public: 00035 gnBaseSource(){} 00039 virtual ~gnBaseSource(){} 00040 virtual gnBaseSource* Clone() const = 0; 00041 00050 virtual void Open( string openString ) = 0; 00056 virtual void Open() = 0; 00061 virtual void Close() = 0; 00067 virtual string GetOpenString() const = 0; 00068 00073 virtual uint32 GetContigListLength() const = 0; 00080 virtual boolean HasContig( const string& name ) const = 0; 00088 virtual uint32 GetContigID( const string& name ) const = 0; 00095 virtual string GetContigName( const uint32 i ) const = 0; 00101 virtual gnSeqI GetContigSeqLength( const uint32 i ) const = 0; 00102 00107 virtual const gnFilter* GetFilter() const = 0; 00113 virtual void SetFilter( gnFilter* filter ) = 0; 00114 00125 virtual boolean Read( const uint64 pos, char* buf, uint32& len) = 0; 00139 virtual boolean SeqRead( const gnSeqI start, char* buf, uint32& bufLen, const uint32 contigI=ALL_CONTIGS ) = 0; 00146 virtual gnGenomeSpec *GetSpec() const = 0; 00147 private: 00148 };// class gnBaseSource 00149 00150 #endif 00151 // _gnBaseSource_h_ Generated at Fri Nov 30 15:36:50 2001 for libGenome by 1.2.8.1 written by Dimitri van Heesch, © 1997-2001 |