o2on svn commit
o2on-****@lists*****
2008年 5月 27日 (火) 22:28:54 JST
Revision: 94 http://svn.sourceforge.jp/cgi-bin/viewcvs.cgi?root=o2on&view=rev&rev=94 Author: k-uehara Date: 2008-05-27 22:28:54 +0900 (Tue, 27 May 2008) Log Message: ----------- ADD: ã¡ãã¥ã¼ããã®analyze Modified Paths: -------------- branches/BRANCH_0043/o2on/src.o2on/O2DatIO.cpp branches/BRANCH_0043/o2on/src.o2on/O2DatIO.h branches/BRANCH_0043/o2on/src.o2on/main.cpp branches/BRANCH_0043/o2on/src.o2on/resource.h branches/BRANCH_0043/o2on/src.o2on/resource.rc Modified: branches/BRANCH_0043/o2on/src.o2on/O2DatIO.cpp =================================================================== --- branches/BRANCH_0043/o2on/src.o2on/O2DatIO.cpp 2008-05-27 12:48:10 UTC (rev 93) +++ branches/BRANCH_0043/o2on/src.o2on/O2DatIO.cpp 2008-05-27 13:28:54 UTC (rev 94) @@ -44,6 +44,7 @@ , ReindexThreadHandle(NULL) , LoopRebuildDB(false) , EnumDatThreadNum(0) + , AnalyzeThreadHandle(0) { DWORD BytesPerSector; @@ -878,6 +879,7 @@ CoInitialize(NULL); me->RebuildDBThread(me->Profile->GetCacheRootW(), 0); + me->DatDB->analyze(); CoUninitialize(); CloseHandle(me->RebuildDBThreadHandle); @@ -1148,3 +1150,34 @@ //_endthreadex(0); return (0); } + +void +O2DatIO:: +Analyze(void) +{ + if (AnalyzeThreadHandle) + return; + AnalyzeThreadHandle = (HANDLE)_beginthreadex( + NULL, 0, StaticAnalyzeThread, (void*)this, 0, NULL); +} + +uint WINAPI +O2DatIO:: +StaticAnalyzeThread(void *data) +{ + O2DatIO *me = (O2DatIO*)data; + + CoInitialize(NULL); + me->ProgressInfo->Reset(true, false); + me->ProgressInfo->SetMessage(L"analyze..."); + me->ProgressInfo->AddMax(2); + me->ProgressInfo->pos = 1; + me->DatDB->analyze(); + me->ProgressInfo->Reset(false, false); + CoUninitialize(); + + CloseHandle(me->AnalyzeThreadHandle); + me->AnalyzeThreadHandle = NULL; + + return (0); +} \ No newline at end of file Modified: branches/BRANCH_0043/o2on/src.o2on/O2DatIO.h =================================================================== --- branches/BRANCH_0043/o2on/src.o2on/O2DatIO.h 2008-05-27 12:48:10 UTC (rev 93) +++ branches/BRANCH_0043/o2on/src.o2on/O2DatIO.h 2008-05-27 13:28:54 UTC (rev 94) @@ -36,6 +36,7 @@ HANDLE RebuildDBThreadHandle; HANDLE ReindexThreadHandle; + HANDLE AnalyzeThreadHandle; bool LoopRebuildDB; uint EnumDatThreadNum; Mutex EnumDatThreadNumLock; @@ -83,4 +84,6 @@ void Reindex(void); static uint WINAPI StaticReindexThread(void *data); + void Analyze(void); + static uint WINAPI StaticAnalyzeThread(void *data); }; Modified: branches/BRANCH_0043/o2on/src.o2on/main.cpp =================================================================== --- branches/BRANCH_0043/o2on/src.o2on/main.cpp 2008-05-27 12:48:10 UTC (rev 93) +++ branches/BRANCH_0043/o2on/src.o2on/main.cpp 2008-05-27 13:28:54 UTC (rev 94) @@ -1070,6 +1070,12 @@ DatIO->Reindex(); } break; + case ID_ANALYZE: + if (!Active && !hwndProgressDlg) { + CreateProgressDialog(_T("analyze...")); + DatIO->Analyze(); + } + break; case ID_OPENWEBADMIN: { wstring type = Profile->GetAdminBrowserType(); wstring path = Profile->GetAdminBrowserPath(); Modified: branches/BRANCH_0043/o2on/src.o2on/resource.h =================================================================== --- branches/BRANCH_0043/o2on/src.o2on/resource.h 2008-05-27 12:48:10 UTC (rev 93) +++ branches/BRANCH_0043/o2on/src.o2on/resource.h 2008-05-27 13:28:54 UTC (rev 94) @@ -79,6 +79,7 @@ #define ID_REBUILDDB 40010 #define ID_DB40013 40013 #define ID_REINDEX 40014 +#define ID_ANALYZE 40016 // Next default values for new objects // Modified: branches/BRANCH_0043/o2on/src.o2on/resource.rc =================================================================== --- branches/BRANCH_0043/o2on/src.o2on/resource.rc 2008-05-27 12:48:10 UTC (rev 93) +++ branches/BRANCH_0043/o2on/src.o2on/resource.rc 2008-05-27 13:28:54 UTC (rev 94) @@ -66,6 +66,7 @@ BEGIN MENUITEM "Ä\z(&B)", ID_REBUILDDB MENUITEM "reindex(&I)", ID_REINDEX + MENUITEM "analyze(&L)", ID_ANALYZE END MENUITEM SEPARATOR MENUITEM "o[Wîñ(&A)...", ID_ABOUT