]> git.donarmstrong.com Git - bamtools.git/blobdiff - src/api/internal/index/BamToolsIndex_p.h
Added generic I/O device to BamIndex side of things
[bamtools.git] / src / api / internal / index / BamToolsIndex_p.h
index 7c1550b6ea287f4baf9c59aa637ac7dfc65b0ca3..f6ffb721d06e840d4cc358d9b2d970b5e908c46d 100644 (file)
@@ -22,6 +22,7 @@
 
 #include "api/BamAux.h"
 #include "api/BamIndex.h"
+#include "api/IBamIODevice.h"
 #include <map>
 #include <string>
 #include <vector>
@@ -128,9 +129,9 @@ class BamToolsIndex : public BamIndex {
         void CheckMagicNumber(void);
         void CheckVersion(void);
         void CloseFile(void);
-        bool IsFileOpen(void) const;
-        void OpenFile(const std::string& filename, const char* mode);
-        void Seek(const int64_t& position, const int& origin);
+        bool IsDeviceOpen(void) const;
+        void OpenFile(const std::string& filename, IBamIODevice::OpenMode mode);
+        void Seek(const int64_t& position, const int origin);
         int64_t Tell(void) const;
 
         // index-creation methods
@@ -165,10 +166,11 @@ class BamToolsIndex : public BamIndex {
 
         struct RaiiWrapper {
             FILE* IndexStream;
+            IBamIODevice* Device;
             RaiiWrapper(void);
             ~RaiiWrapper(void);
         };
-        RaiiWrapper Resources;
+        RaiiWrapper m_resources;
 
     // static constants
     private: