diff --git a/inc/hgl/io/DataInputStream.h b/inc/hgl/io/DataInputStream.h index 64b12ec1..27084380 100644 --- a/inc/hgl/io/DataInputStream.h +++ b/inc/hgl/io/DataInputStream.h @@ -56,7 +56,7 @@ namespace hgl return(in?in->ReadFully(buf,size):-1); } - virtual int64 Seek(int64 offset,SeekOrigin so=soBegin) + virtual int64 Seek(int64 offset,SeekOrigin so=SeekOrigin::Begin) { return(in?in->Seek(offset,so):-1); } diff --git a/inc/hgl/io/DataOutputStream.h b/inc/hgl/io/DataOutputStream.h index ebccb501..e1e7d294 100644 --- a/inc/hgl/io/DataOutputStream.h +++ b/inc/hgl/io/DataOutputStream.h @@ -50,7 +50,7 @@ namespace hgl return(out?out->WriteFully(buf,size):-1); } - virtual int64 Seek(int64 offset,SeekOrigin so=soBegin) + virtual int64 Seek(int64 offset,SeekOrigin so=SeekOrigin::Begin) { return(out?out->Seek(offset,so):-1); } diff --git a/inc/hgl/io/FileAccess.h b/inc/hgl/io/FileAccess.h index 85669978..0dc09fa7 100644 --- a/inc/hgl/io/FileAccess.h +++ b/inc/hgl/io/FileAccess.h @@ -64,7 +64,7 @@ namespace hgl virtual bool CanRestart()const{return CanSeek();} ///<文件是否可复位访问 virtual bool CanSize()const{return(true);} ///<文件是否可取得长度 - virtual int64 Seek(int64,SeekOrigin=soBegin); ///<定位访问指针 + virtual int64 Seek(int64,SeekOrigin=SeekOrigin::Begin); ///<定位访问指针 virtual int64 Tell()const; ///<取得访问指针位置 virtual int64 GetSize(); ///<取得文件长度 virtual bool Restart(); ///<复位访问指针 diff --git a/inc/hgl/io/FileInputStream.h b/inc/hgl/io/FileInputStream.h index 72fe582e..83678128 100644 --- a/inc/hgl/io/FileInputStream.h +++ b/inc/hgl/io/FileInputStream.h @@ -39,7 +39,7 @@ namespace hgl virtual int64 Tell()const; ///<取当前位置 virtual int64 GetSize()const; ///<取得文件长度 virtual bool Restart(); ///<复位访问指针 - virtual int64 Seek(int64,SeekOrigin=soBegin); ///<移动访问指针 + virtual int64 Seek(int64,SeekOrigin=SeekOrigin::Begin); ///<移动访问指针 virtual int64 Available()const; ///<剩下的可以不受阻塞访问的字节数 diff --git a/inc/hgl/io/FileOutputStream.h b/inc/hgl/io/FileOutputStream.h index e55d798b..04831031 100644 --- a/inc/hgl/io/FileOutputStream.h +++ b/inc/hgl/io/FileOutputStream.h @@ -41,7 +41,7 @@ namespace hgl virtual int64 Tell()const; ///<取当前位置 virtual int64 GetSize()const; ///<取得文件长度 virtual bool Restart(); ///<复位访问指针 - virtual int64 Seek(int64,SeekOrigin=soBegin); ///<移动访问指针 + virtual int64 Seek(int64,SeekOrigin=SeekOrigin::Begin); ///<移动访问指针 virtual int64 Available()const{return -1;} ///<可不受影响写入的字节数 virtual int64 Write(int64,const void *,int64); ///<在指定位置写入指定长度的数据 diff --git a/inc/hgl/io/InputStream.h b/inc/hgl/io/InputStream.h index c2dd5963..ab26b419 100644 --- a/inc/hgl/io/InputStream.h +++ b/inc/hgl/io/InputStream.h @@ -29,7 +29,7 @@ namespace hgl virtual bool Restart()=0; ///<复位访问指针 virtual int64 Skip(int64)=0; ///<跳过指定字节不访问 - virtual int64 Seek(int64,SeekOrigin=soBegin)=0; ///<移动访问指针 + virtual int64 Seek(int64,SeekOrigin=SeekOrigin::Begin)=0; ///<移动访问指针 virtual int64 Tell()const=0; ///<返回当前访问位置 virtual int64 GetSize()const=0; ///<取得流长度 virtual int64 Available()const=0; ///<剩下的可以不受阻塞访问的字节数 diff --git a/inc/hgl/io/MemoryInputStream.h b/inc/hgl/io/MemoryInputStream.h index 589f7dcf..8cebe5f4 100644 --- a/inc/hgl/io/MemoryInputStream.h +++ b/inc/hgl/io/MemoryInputStream.h @@ -115,19 +115,19 @@ namespace hgl int64 Skip(int64 bytes) { - return Seek(bytes,soCurrent); + return Seek(bytes,SeekOrigin::Current); } int64 Seek(int64 off,SeekOrigin so) { if(!CanSeek())return(-1); - if(so==soCurrent) + if(so==SeekOrigin::Current) { off+=cur_pos; } else - if(so==soEnd) + if(so==SeekOrigin::End) { off+=buf_size; } diff --git a/inc/hgl/io/MemoryOutputStream.h b/inc/hgl/io/MemoryOutputStream.h index cdd528d7..04baf935 100644 --- a/inc/hgl/io/MemoryOutputStream.h +++ b/inc/hgl/io/MemoryOutputStream.h @@ -194,16 +194,16 @@ namespace hgl return(true); } - int64 Seek(int64 off,SeekOrigin so=soBegin) override + int64 Seek(int64 off,SeekOrigin so=SeekOrigin::Begin) override { if(!CanSeek())return(-1); - if(so==soCurrent) + if(so==SeekOrigin::Current) { off+=cur_pos; } else - if(so==soEnd) + if(so==SeekOrigin::End) { off+=buf_size; } diff --git a/inc/hgl/io/OutputStream.h b/inc/hgl/io/OutputStream.h index a0022836..624f6cf6 100644 --- a/inc/hgl/io/OutputStream.h +++ b/inc/hgl/io/OutputStream.h @@ -26,7 +26,7 @@ namespace hgl virtual bool CanSize()const=0; ///<是否可以取得尺寸 virtual bool Restart()=0; ///<复位访问指针 - virtual int64 Seek(int64,SeekOrigin=soBegin)=0; ///<移动访问指针 + virtual int64 Seek(int64,SeekOrigin=SeekOrigin::Begin)=0; ///<移动访问指针 virtual int64 Tell()const=0; ///<返回当前访问位置 virtual int64 GetSize()const=0; ///<取得流长度 virtual int64 Available()const=0; ///<剩下的可以不受阻塞写入的字节数 diff --git a/inc/hgl/io/RandomAccessFile.h b/inc/hgl/io/RandomAccessFile.h index 01f1e4ed..ed24b74f 100644 --- a/inc/hgl/io/RandomAccessFile.h +++ b/inc/hgl/io/RandomAccessFile.h @@ -40,7 +40,7 @@ namespace hgl virtual int64 Tell()const; ///<取当前位置 virtual int64 GetSize(); ///<取得文件长度 virtual bool Restart(); ///<复位访问指针 - virtual int64 Seek(int64,SeekOrigin=soBegin); ///<移动访问指针 + virtual int64 Seek(int64,SeekOrigin=SeekOrigin::Begin); ///<移动访问指针 };//class RandomAccessFile }//namespace io }//namespace hgl diff --git a/inc/hgl/io/SeekAccess.h b/inc/hgl/io/SeekAccess.h index 1db8198a..89774213 100644 --- a/inc/hgl/io/SeekAccess.h +++ b/inc/hgl/io/SeekAccess.h @@ -1,4 +1,4 @@ -#ifndef HGL_IO_SEEK_ACCESS_INCLUDE +#ifndef HGL_IO_SEEK_ACCESS_INCLUDE #define HGL_IO_SEEK_ACCESS_INCLUDE #include @@ -6,11 +6,11 @@ namespace hgl { namespace io { - enum_int(SeekOrigin) /// 资源偏移方向枚举 + enum class SeekOrigin /// 资源偏移方向枚举 { - soBegin=0, ///<从资源最开始处开始,offset必须大于0。移到资源的offset位置 - soCurrent, ///<从资源当前位置开始,移到资源的Position+offset位置 - soEnd ///<从资源的结束位置开始,offset必须小于0,表示结束前的字符数 + Begin=0, ///<从资源最开始处开始,offset必须大于0。移到资源的offset位置 + Current, ///<从资源当前位置开始,移到资源的Position+offset位置 + End ///<从资源的结束位置开始,offset必须小于0,表示结束前的字符数 };//enum SeekOrigin /** @@ -27,7 +27,7 @@ namespace hgl virtual bool CanSize()const=0; ///<是否可以取得尺寸 virtual bool Restart()=0; ///<复位访问指针 - virtual int64 Seek(int64,SeekOrigin=soBegin)=0; ///<移动访问指针 + virtual int64 Seek(int64,SeekOrigin=SeekOrigin::Begin)=0; ///<移动访问指针 virtual int64 Tell()const=0; ///<返回当前访问位置 virtual int64 GetSize()const=0; ///<取得文件长度 };//class SeekAccess diff --git a/inc/hgl/type/ResManage.h b/inc/hgl/type/ResManage.h index a48351c8..a7aa827d 100644 --- a/inc/hgl/type/ResManage.h +++ b/inc/hgl/type/ResManage.h @@ -64,6 +64,7 @@ namespace hgl virtual F Add(T *value) { + if(!value)return(-1); if(!ResManage::Add(id_count,value)) return(-1); diff --git a/src/Base/IO/FileAccess.cpp b/src/Base/IO/FileAccess.cpp index 08475d56..2d33cd8a 100644 --- a/src/Base/IO/FileAccess.cpp +++ b/src/Base/IO/FileAccess.cpp @@ -109,7 +109,7 @@ namespace hgl { if(!CanSeek())return(-1); - return hgl_lseek64(fp,offset,orign); + return hgl_lseek64(fp,offset,(int)orign); } int64 FileAccess::Tell()const @@ -142,7 +142,7 @@ namespace hgl { if(!CanRestart())return(false); - return(Seek(0,soBegin)==0); + return(Seek(0,SeekOrigin::Begin)==0); } int64 FileAccess::Read(void *buf,int64 size) @@ -159,7 +159,7 @@ namespace hgl int result=hgl_read64(fp,buf,size); if(result>0) - hgl_lseek64(fp,-result,soCurrent); //回移这个长度 + hgl_lseek64(fp,-result,(int)SeekOrigin::Current); //回移这个长度 return result; } diff --git a/src/Base/IO/FileInputStream.cpp b/src/Base/IO/FileInputStream.cpp index 26fda0a0..ab54e0ea 100644 --- a/src/Base/IO/FileInputStream.cpp +++ b/src/Base/IO/FileInputStream.cpp @@ -52,7 +52,7 @@ namespace hgl bool FileInputStream::CanSize ()const {return file?file->CanSize():false;} bool FileInputStream::CanPeek ()const {return file?file->CanPeek():false;} - int64 FileInputStream::Skip (int64 bytes) {return file?file->Seek(bytes,soCurrent):-1;} + int64 FileInputStream::Skip (int64 bytes) {return file?file->Seek(bytes,SeekOrigin::Current):-1;} int64 FileInputStream::Tell ()const {return file?file->Tell():-1;} int64 FileInputStream::GetSize ()const {return file?file->GetSize():-1;} bool FileInputStream::Restart () {return file?file->Restart():false;} diff --git a/src/Platform/Win/FileAccess.cpp b/src/Platform/Win/FileAccess.cpp index ad750388..be8bcda9 100644 --- a/src/Platform/Win/FileAccess.cpp +++ b/src/Platform/Win/FileAccess.cpp @@ -49,7 +49,7 @@ namespace hgl { if(!CanRead())return(-1); - if(_lseeki64(fp,offset,soBegin)==offset) + if(_lseeki64(fp,offset,(int)SeekOrigin::Begin)==offset) return _read(fp,buf,size); else return -1; @@ -59,7 +59,7 @@ namespace hgl { if(!CanWrite())return(-1); - if(_lseeki64(fp,offset,soBegin)==offset) + if(_lseeki64(fp,offset,(int)SeekOrigin::Begin)==offset) return _write(fp,buf,size); else return -1;