SEO [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送
メインページ   名前空間一覧   クラス階層   構成   ファイル一覧   名前空間メンバ   構成メンバ   ファイルメンバ  

dkutilLoadSave.h

解説を見る。
00001 #include "AllLoad.h"
00002 
00003 
00004 
00005 #ifndef __dkutilLoadSave_Include_Once
00006 #define __dkutilLoadSave_Include_Once
00007 
00008 namespace dkutil{//begin dkutil namespace
00009 
00014 
00015 class dKingyoFileCaretaker{
00016 protected:
00017     //変数郡
00019     std::string m_FileName;
00021     char *m_Data;
00023     ULONGLONG m_DataSize;
00025     ULONGLONG m_LoadedSize;
00027     ULONGLONG ReservedMemorySize;
00029     int CheckAllocateMemory(char *OpenFileName,
00030         ULONGLONG *filesize,
00031         ULONGLONG ErrorFileSize);
00033     UINT m_Count;
00035     DWORD m_ReadSizeOneByOne;
00037     DWORD m_SaveSizeOneByOne;
00039     UINT m_ArrayPoint;
00041     bool m_LoadedFlag;
00043     FILE *m_fp;
00044     //long m_offset;//0からのオフセット値
00045 
00046 
00047     inline bool isProcessing(){
00048         if(isTaskRunning() || isLoad())
00049         { return true;}//ロード命令済みです
00050         return false;
00051     }
00052     inline bool isSaving(){
00053         if(isTaskRunning() || !isLoad())
00054         { return true; }//セーブ中です
00055         return false;
00056     }
00057     inline void MemberInit();
00058 public:
00059     dKingyoFileCaretaker(){
00060         //初期化するなり
00061         MemberInit();
00062     }
00063     virtual ~dKingyoFileCaretaker(){Release();}
00068 
00069     virtual int Load(char *filename);
00075 
00076     virtual int CountLoad(char *filename,int);
00082 
00083     virtual int SizeCountLoad(char *filename,size_t size);
00085     virtual int Release();
00087     virtual int GetFileSize(char *,ULONGLONG *FileSize);
00092 
00093     virtual int PreviousAllocate(size_t size);
00099 
00100     inline void *GetDataAddress(void *copybuff=NULL,size_t size=NULL){
00101         if(copybuff && size){
00102             if(size > GetDataSize()){
00103                 memcpy(copybuff,m_Data,GetDataSize());
00104             }else{
00105                 memcpy(copybuff,m_Data,size);
00106             }
00107         }
00108         return m_Data;
00109     }
00114 
00115     inline ULONGLONG GetDataSize(){return m_LoadedSize;}
00120 
00121     virtual int Save(char *filename);
00127 
00128     virtual int CountSave(char *filename,int count);
00134 
00135     virtual int SizeCountSave(char *,size_t);
00136     
00137     virtual void *myMalloc(size_t);
00138     virtual void myFree(void *);
00139     
00145 
00146     virtual int Task();
00148     inline bool isTaskRunning(){
00149         return (m_Count != 0);
00150     }
00152     inline bool isLoad(){
00153         if((!m_Data) || (!m_LoadedFlag)) return false;
00154         return true;
00155     }
00156 
00157 };
00158 
00159 #ifdef  USE_DKINGYO_OBJECT_TEST
00160 
00161 extern void Test_dkutilFileCaretaker();
00162 
00163 #endif
00164 
00165 
00166 }//end of dkutil namespace
00167 
00168 
00169 #endif //end of once include 

dKingyoUtilClass (dkutil)に対してMon Jun 9 01:32:41 2003に生成されました。 doxygen1.3