layout codes.
This commit is contained in:
@@ -8,19 +8,19 @@ namespace hgl
|
||||
{
|
||||
namespace io
|
||||
{
|
||||
enum FileOpenMode ///文件访问模式枚举
|
||||
enum class FileOpenMode ///文件访问模式枚举
|
||||
{
|
||||
fomNone=0,
|
||||
None=0,
|
||||
|
||||
fomCreate, ///<创建文件,如存在则失败
|
||||
fomCreateTrunc, ///<强制创建,如存在则抹掉
|
||||
fomCreateTemp,
|
||||
fomOnlyRead, ///<只读方式
|
||||
fomOnlyWrite, ///<只写方式
|
||||
fomReadWrite, ///<可读可写
|
||||
fomAppend, ///<追加模式
|
||||
Create, ///<创建文件,如存在则失败
|
||||
CreateTrunc, ///<强制创建,如存在则抹掉
|
||||
CreateTemp,
|
||||
OnlyRead, ///<只读方式
|
||||
OnlyWrite, ///<只写方式
|
||||
ReadWrite, ///<可读可写
|
||||
Append, ///<追加模式
|
||||
|
||||
fomEnd
|
||||
End
|
||||
};//enum FileOpenMode
|
||||
|
||||
/**
|
||||
@@ -43,13 +43,13 @@ namespace hgl
|
||||
FileAccess();
|
||||
virtual ~FileAccess();
|
||||
|
||||
virtual bool Open(const OSString &,FileOpenMode fom); ///<以指定模式打开一个文件
|
||||
virtual bool Create(const OSString &fn){return Open(fn,fomCreate);} ///<创建一个新文件,如文件已存在则创建失败
|
||||
virtual bool CreateTrunc(const OSString &fn){return Open(fn,fomCreateTrunc);} ///<创建一个新文件,如文件已存在则抹消它
|
||||
virtual bool OpenRead(const OSString &fn){return Open(fn,fomOnlyRead);} ///<以只读模式打开一个文件
|
||||
virtual bool OpenWrite(const OSString &fn){return Open(fn,fomOnlyWrite);} ///<以只写模式打开一个文件
|
||||
virtual bool OpenReadWrite(const OSString &fn){return Open(fn,fomReadWrite);} ///<以读写模式打开一个文件
|
||||
virtual bool CreateTemp();
|
||||
virtual bool Open (const OSString &,FileOpenMode fom); ///<以指定模式打开一个文件
|
||||
virtual bool Create (const OSString &fn){return Open(fn,FileOpenMode::Create);} ///<创建一个新文件,如文件已存在则创建失败
|
||||
virtual bool CreateTrunc (const OSString &fn){return Open(fn,FileOpenMode::CreateTrunc);} ///<创建一个新文件,如文件已存在则抹消它
|
||||
virtual bool OpenRead (const OSString &fn){return Open(fn,FileOpenMode::OnlyRead);} ///<以只读模式打开一个文件
|
||||
virtual bool OpenWrite (const OSString &fn){return Open(fn,FileOpenMode::OnlyWrite);} ///<以只写模式打开一个文件
|
||||
virtual bool OpenReadWrite (const OSString &fn){return Open(fn,FileOpenMode::ReadWrite);} ///<以读写模式打开一个文件
|
||||
virtual bool CreateTemp (); ///<创建一个临时文件
|
||||
|
||||
virtual void Close(); ///<关闭文件
|
||||
virtual void CloseRead(); ///<仅关闭读取
|
||||
|
@@ -24,11 +24,11 @@ namespace hgl
|
||||
FileOutputStream(SharedPtr<FileAccess> &);
|
||||
virtual ~FileOutputStream();
|
||||
|
||||
virtual bool Open(const OSString &fn,FileOpenMode mode){return OpenFile(fn,mode);} ///<打开文件,指定一个模式
|
||||
virtual bool Open(const OSString &fn){return OpenFile(fn,fomOnlyWrite);} ///<打开文件
|
||||
virtual bool Create(const OSString &fn){return OpenFile(fn,fomCreate);} ///<创建文件,如存在创建失败
|
||||
virtual bool CreateTrunc(const OSString &fn){return OpenFile(fn,fomCreateTrunc);} ///<创建文件,如存在则抹去
|
||||
virtual bool OpenAppend(const OSString &fn){return OpenFile(fn,fomAppend);} ///<打开文件,追加模式
|
||||
virtual bool Open (const OSString &fn,FileOpenMode mode){return OpenFile(fn,mode);} ///<打开文件,指定一个模式
|
||||
virtual bool Open (const OSString &fn){return OpenFile(fn,FileOpenMode::OnlyWrite);} ///<打开文件
|
||||
virtual bool Create (const OSString &fn){return OpenFile(fn,FileOpenMode::Create);} ///<创建文件,如存在创建失败
|
||||
virtual bool CreateTrunc (const OSString &fn){return OpenFile(fn,FileOpenMode::CreateTrunc);} ///<创建文件,如存在则抹去
|
||||
virtual bool OpenAppend (const OSString &fn){return OpenFile(fn,FileOpenMode::Append);} ///<打开文件,追加模式
|
||||
|
||||
virtual void Close(); ///<关闭文件
|
||||
|
||||
@@ -67,7 +67,7 @@ namespace hgl
|
||||
* @param mode 打开模式,默认只写(必然可读)
|
||||
* @see FileOpenMode
|
||||
*/
|
||||
OpenFileOutputStream(const OSString &filename,FileOpenMode mode=fomOnlyWrite)
|
||||
OpenFileOutputStream(const OSString &filename,FileOpenMode mode=FileOpenMode::OnlyWrite)
|
||||
{
|
||||
fos=new FileOutputStream();
|
||||
|
||||
|
@@ -29,7 +29,7 @@ namespace hgl
|
||||
}
|
||||
|
||||
int64 read (void *ptr,int size){return in?in->ReadFully(ptr,size):-1;}
|
||||
int skipBytes (int size) {return in?in->Seek(size,soCurrent):-1;}
|
||||
int skipBytes (int size) {return in?in->Seek(size,SeekOrigin::Current):-1;}
|
||||
|
||||
bool readBoolean (bool &b) {return in?in->ReadBool (b):false;}
|
||||
bool readByte (int8 &i) {return in?in->ReadInt8 (i):false;}
|
||||
|
@@ -1,49 +1,119 @@
|
||||
file(GLOB TYPE_TEMPLATE_HEADER ${CMCORE_ROOT_INCLUDE_PATH}/hgl/type/*.h)
|
||||
SET(TYPE_INCLUDE_PATH ${CMCORE_ROOT_INCLUDE_PATH}/hgl/type)
|
||||
|
||||
file(GLOB TYPE_TEMPLATE_HEADER ${TYPE_INCLUDE_PATH}/*.h)
|
||||
|
||||
SET(SYSTEM_INFO_SOURCE SystemInfo.cpp)
|
||||
|
||||
SET(BASE_TYPE_SOURCE
|
||||
# DataType/Info.cpp
|
||||
# DataType/BitArray.cpp
|
||||
DataType/Color.cpp
|
||||
DataType/Color3f.cpp
|
||||
DataType/Color4f.cpp
|
||||
# DataType/FontInfo.cpp
|
||||
DataType/StringList.cpp
|
||||
DataType/Endian.cpp)
|
||||
##Color--------------------------------------------------------
|
||||
SET(COLOR_HEADER_FILES ${TYPE_INCLUDE_PATH}/Color.h
|
||||
${TYPE_INCLUDE_PATH}/Color3f.h
|
||||
${TYPE_INCLUDE_PATH}/Color4f.h)
|
||||
|
||||
SOURCE_GROUP("DataType\\Template" FILES ${TYPE_TEMPLATE_HEADER})
|
||||
SOURCE_GROUP("DataType" FILES ${BASE_TYPE_SOURCE})
|
||||
SET(COLOR_SOURCE_FILES Color/Color.cpp
|
||||
Color/Color3f.cpp
|
||||
Color/Color4f.cpp)
|
||||
|
||||
SET(BASE_IO_SOURCE
|
||||
SOURCE_GROUP("Datatype\\Color\\Header Files" FILES ${COLOR_HEADER_FILES})
|
||||
SOURCE_GROUP("Datatype\\Color\\Source Files" FILES ${COLOR_SOURCE_FILES})
|
||||
|
||||
##Text--------------------------------------------------------
|
||||
SET(STRING_HEADER_FILES ${TYPE_INCLUDE_PATH}/BaseString.h
|
||||
${TYPE_INCLUDE_PATH}/StringInstance.h
|
||||
${TYPE_INCLUDE_PATH}/StringList.h
|
||||
${TYPE_INCLUDE_PATH}/StdString.h)
|
||||
|
||||
SET(TEXT_HEADER_FILES ${CMCORE_ROOT_INCLUDE_PATH}/hgl/Endian.h
|
||||
${CMCORE_ROOT_INCLUDE_PATH}/hgl/CodePage.h
|
||||
${TYPE_INCLUDE_PATH}/UnicodeBlocks.h
|
||||
${TYPE_INCLUDE_PATH}/StrChar.h)
|
||||
|
||||
SET(TEXT_SOURCE_FILES Text/Endian.cpp
|
||||
Text/CodePage.cpp
|
||||
Text/UnicodeBlocks.cpp
|
||||
Text/StringList.cpp)
|
||||
|
||||
SOURCE_GROUP("Text\\String" FILES ${STRING_HEADER_FILES}
|
||||
Text/StringList.cpp)
|
||||
|
||||
SOURCE_GROUP("Text\\Header Files" FILES ${TEXT_HEADER_FILES})
|
||||
SOURCE_GROUP("Text\\Source Files" FILES ${TEXT_SOURCE_FILES})
|
||||
|
||||
SOURCE_GROUP("Datatype\\Template" FILES ${TYPE_TEMPLATE_HEADER})
|
||||
|
||||
##I/O------------------------------------------------------------
|
||||
SET(IO_INCLUDE_PATH ${CMCORE_ROOT_INCLUDE_PATH}/hgl/io)
|
||||
|
||||
SET(IO_BASE_FILES ${IO_INCLUDE_PATH}/InputStream.h
|
||||
${IO_INCLUDE_PATH}/IOType.h
|
||||
${IO_INCLUDE_PATH}/OutputStream.h
|
||||
${IO_INCLUDE_PATH}/SeekAccess.h
|
||||
IO/IOType.cpp)
|
||||
|
||||
SET(IO_DATA_FILES ${IO_INCLUDE_PATH}/DataInputStream.h
|
||||
${IO_INCLUDE_PATH}/DataOutputStream.h
|
||||
${IO_INCLUDE_PATH}/EndianDataInputStream.h
|
||||
${IO_INCLUDE_PATH}/EndianDataOutputStream.h
|
||||
IO/InputStream.cpp
|
||||
IO/DataInputStream.cpp
|
||||
IO/DataOutputStream.cpp
|
||||
IO/DataOutputStream.cpp)
|
||||
|
||||
SET(IO_MEMORY_FILES ${IO_INCLUDE_PATH}/MemoryInputStream.h
|
||||
${IO_INCLUDE_PATH}/MemoryOutputStream.h)
|
||||
|
||||
SET(IO_FILE_FILES ${IO_INCLUDE_PATH}/FileAccess.h
|
||||
${IO_INCLUDE_PATH}/FileInputStream.h
|
||||
${IO_INCLUDE_PATH}/FileOutputStream.h
|
||||
${IO_INCLUDE_PATH}/RandomAccessFile.h
|
||||
${IO_INCLUDE_PATH}/TextOutputStream.h
|
||||
IO/FileAccess.cpp
|
||||
IO/FileInputStream.cpp
|
||||
IO/FileOutputStream.cpp
|
||||
IO/IOType.cpp
|
||||
IO/RandomAccessFile.cpp
|
||||
IO/TextOutputStream.cpp)
|
||||
IO/RandomAccessFile.cpp)
|
||||
|
||||
SOURCE_GROUP("IO" FILES ${BASE_IO_SOURCE})
|
||||
|
||||
SET(BASE_FILE_SYSTEM_SOURCE
|
||||
FileSystem/FileSystem.cpp
|
||||
SET(IO_JAVA_FILES ${IO_INCLUDE_PATH}/JavaInputStream.h
|
||||
${IO_INCLUDE_PATH}/JavaOutputStream.h)
|
||||
|
||||
SET(IO_TEXT_FILES IO/TextOutputStream.cpp)
|
||||
|
||||
SOURCE_GROUP("IO\\Base" FILES ${IO_BASE_FILES})
|
||||
SOURCE_GROUP("IO\\Data" FILES ${IO_DATA_FILES})
|
||||
SOURCE_GROUP("IO\\Memory" FILES ${IO_MEMORY_FILES})
|
||||
SOURCE_GROUP("IO\\File" FILES ${IO_FILE_FILES})
|
||||
SOURCE_GROUP("IO\\Jave" FILES ${IO_JAVA_FILES})
|
||||
SOURCE_GROUP("IO\\Text" FILES ${IO_TEXT_FILES})
|
||||
|
||||
SET(IO_SOURCE_FILES ${IO_BASE_FILES}
|
||||
${IO_DATA_FILES}
|
||||
${IO_MEMORY_FILES}
|
||||
${IO_FILE_FILES}
|
||||
${IO_JAVA_FILES}
|
||||
${IO_TEXT_FILES})
|
||||
|
||||
SET(FILESYSTEM_INCLUDE_PATH ${CMCORE_ROOT_INCLUDE_PATH}/hgl/filesystem)
|
||||
|
||||
SET(FILESYSTEM_HEADER_FILES ${FILESYSTEM_INCLUDE_PATH}/EnumFile.h
|
||||
${FILESYSTEM_INCLUDE_PATH}/EnumVolume.h
|
||||
${FILESYSTEM_INCLUDE_PATH}/FileSystem.h)
|
||||
|
||||
SET(FILESYSTEM_SOURCE_FILES FileSystem/FileSystem.cpp
|
||||
FileSystem/EnumFile.cpp)
|
||||
|
||||
SOURCE_GROUP("FileSystem" FILES ${BASE_FILE_SYSTEM_SOURCE})
|
||||
SOURCE_GROUP("FileSystem" FILES ${FILESYSTEM_HEADER_FILES} ${FILESYSTEM_SOURCE_FILES})
|
||||
|
||||
SET(BASE_OTHER_SOURCE
|
||||
Other/CodePage.cpp
|
||||
Other/UnicodeBlocks.cpp
|
||||
Other/DateTime.cpp
|
||||
# Other/ExpendString.cpp
|
||||
Other/ThreadFunc.cpp
|
||||
Other/TimeCount.cpp
|
||||
Other/TimeVal.cpp)
|
||||
SET(BASE_TIME_HEADER_FILES ${TYPE_INCLUDE_PATH}/DateTime.h
|
||||
${CMCORE_ROOT_INCLUDE_PATH}/hgl/Time.h)
|
||||
|
||||
SOURCE_GROUP("Other" FILES ${BASE_OTHER_SOURCE})
|
||||
SET(BASE_TIME_SOURCE_FILES Time/DateTime.cpp
|
||||
Time/TimeCount.cpp
|
||||
Time/TimeVal.cpp)
|
||||
|
||||
SOURCE_GROUP("Time\\Header Files" FILES ${BASE_TIME_HEADER_FILES})
|
||||
SOURCE_GROUP("Time\\Source Files" FILES ${BASE_TIME_SOURCE_FILES})
|
||||
|
||||
SET(BASE_THREAD_SOURCE Other/ThreadFunc.cpp)
|
||||
|
||||
SOURCE_GROUP("Thread" FILES ${BASE_OTHER_SOURCE})
|
||||
|
||||
file(GLOB BASE_PLUG_IN_HEADER ${CMCORE_ROOT_INCLUDE_PATH}/hgl/plugin/*.h)
|
||||
file(GLOB BASE_PLUG_IN_SOURCE PlugIn/*.cpp)
|
||||
@@ -58,11 +128,25 @@ SOURCE_GROUP("Log\\Header Files" FILES ${BASE_LOG_HEADER})
|
||||
SOURCE_GROUP("Log\\Source Files" FILES ${BASE_LOG_SOURCE})
|
||||
|
||||
add_cm_library(CMCore "CM" #${SYSTEM_INFO_SOURCE}
|
||||
|
||||
${COLOR_HEADER_FILES}
|
||||
${COLOR_SOURCE_FILES}
|
||||
|
||||
${STRING_HEADER_FILES}
|
||||
${TEXT_HEADER_FILES}
|
||||
${TEXT_SOURCE_FILES}
|
||||
|
||||
${TYPE_TEMPLATE_HEADER}
|
||||
${BASE_TYPE_SOURCE}
|
||||
${BASE_IO_SOURCE}
|
||||
${BASE_FILE_SYSTEM_SOURCE}
|
||||
${BASE_OTHER_SOURCE}
|
||||
|
||||
${IO_SOURCE_FILES}
|
||||
|
||||
${FILESYSTEM_HEADER_FILES}
|
||||
${FILESYSTEM_SOURCE_FILES}
|
||||
|
||||
${BASE_TIME_HEADER_FILES}
|
||||
${BASE_TIME_SOURCE_FILES}
|
||||
|
||||
${BASE_THREAD_SOURCE}
|
||||
|
||||
${BASE_PLUG_IN_HEADER}
|
||||
${BASE_PLUG_IN_SOURCE}
|
||||
|
@@ -14,7 +14,7 @@ namespace hgl
|
||||
FileAccess::FileAccess()
|
||||
{
|
||||
fp=-1;
|
||||
mode=fomNone;
|
||||
mode=FileOpenMode::None;
|
||||
}
|
||||
|
||||
FileAccess::~FileAccess()
|
||||
@@ -56,7 +56,7 @@ namespace hgl
|
||||
CloseFile(fp);
|
||||
|
||||
fp=-1;
|
||||
mode=fomNone;
|
||||
mode=FileOpenMode::None;
|
||||
}
|
||||
|
||||
void FileAccess::CloseRead()
|
||||
@@ -66,7 +66,7 @@ namespace hgl
|
||||
if(!CanWrite())
|
||||
Close();
|
||||
|
||||
mode=fomOnlyWrite;
|
||||
mode=FileOpenMode::OnlyWrite;
|
||||
}
|
||||
|
||||
void FileAccess::CloseWrite()
|
||||
@@ -76,14 +76,14 @@ namespace hgl
|
||||
if(!CanRead())
|
||||
Close();
|
||||
|
||||
mode=fomOnlyRead;
|
||||
mode=FileOpenMode::OnlyRead;
|
||||
}
|
||||
|
||||
bool FileAccess::CanRead() const
|
||||
{
|
||||
if(fp==-1)return(false);
|
||||
|
||||
if(mode==fomOnlyWrite)return(false);
|
||||
if(mode==FileOpenMode::OnlyWrite)return(false);
|
||||
|
||||
return true;
|
||||
}
|
||||
@@ -92,7 +92,7 @@ namespace hgl
|
||||
{
|
||||
if(fp==-1)return(false);
|
||||
|
||||
if(mode==fomOnlyRead)return(false);
|
||||
if(mode==FileOpenMode::OnlyRead)return(false);
|
||||
|
||||
return(true);
|
||||
}
|
||||
@@ -100,7 +100,7 @@ namespace hgl
|
||||
bool FileAccess::CanSeek() const
|
||||
{
|
||||
if(fp==-1)return(false);
|
||||
if(mode<fomCreate||mode>=fomAppend)return(false);
|
||||
if(mode<FileOpenMode::Create||mode>=FileOpenMode::Append)return(false);
|
||||
|
||||
return(true);
|
||||
}
|
||||
@@ -131,8 +131,8 @@ namespace hgl
|
||||
{
|
||||
if(fp==-1)return(-1);
|
||||
|
||||
if(mode!=fomOnlyRead
|
||||
&&mode!=fomReadWrite)
|
||||
if(mode!=FileOpenMode::OnlyRead
|
||||
&&mode!=FileOpenMode::ReadWrite)
|
||||
return(-1);
|
||||
|
||||
return GetSize()-Tell();
|
||||
|
@@ -26,7 +26,7 @@ namespace hgl
|
||||
|
||||
file=new FileAccess();
|
||||
|
||||
if(!file->Open(filename,fomOnlyRead))
|
||||
if(!file->Open(filename,FileOpenMode::OnlyRead))
|
||||
{
|
||||
file=nullptr;
|
||||
return(false);
|
||||
|
@@ -27,7 +27,7 @@ namespace hgl
|
||||
|
||||
file=new FileAccess();
|
||||
|
||||
if(!file->Open(filename,fomReadWrite))
|
||||
if(!file->Open(filename,FileOpenMode::ReadWrite))
|
||||
{
|
||||
file=nullptr;
|
||||
return(false);
|
||||
|
Reference in New Issue
Block a user