]> git.donarmstrong.com Git - bamtools.git/blobdiff - src/api/IBamIODevice.h
Implemented basic TCP support layer
[bamtools.git] / src / api / IBamIODevice.h
index b34e449a04ed966756c8c1bc3cb71a60f7bd970f..8e148279605857a02b89acc41b9ff392d09dc712 100644 (file)
@@ -26,9 +26,10 @@ namespace BamTools {
 class API_EXPORT IBamIODevice {
 
     // enums
-    public: enum OpenMode { NotOpen = 0
-                          , ReadOnly
-                          , WriteOnly
+    public: enum OpenMode { NotOpen   = 0x0000
+                          , ReadOnly  = 0x0001
+                          , WriteOnly = 0x0002
+                          , ReadWrite = ReadOnly | WriteOnly
                           };
 
     // ctor & dtor
@@ -42,10 +43,10 @@ class API_EXPORT IBamIODevice {
         virtual void Close(void) =0;
         virtual bool IsRandomAccess(void) const =0;
         virtual bool Open(const OpenMode mode) =0;
-        virtual size_t Read(char* data, const unsigned int numBytes) =0;
+        virtual int64_t Read(char* data, const unsigned int numBytes) =0;
         virtual bool Seek(const int64_t& position) =0;
         virtual int64_t Tell(void) const =0;
-        virtual size_t Write(const char* data, const unsigned int numBytes) =0;
+        virtual int64_t Write(const char* data, const unsigned int numBytes) =0;
 
         // default implementation provided
         virtual std::string GetErrorString(void);