std::wstring getLatestConfigFile(const std::wstring& configname) { return getLatestFile({ getModulePath() + L"//" + configname, getModulePath() + L"//config//" + configname }); }
/*--------------------------------------------------------- 実行 ---------------------------------------------------------*/ void CSAORI::exec(const CSAORIInput& in,CSAORIOutput& out){ out.result_code = SAORIRESULT_OK; out.result = getModulePath(); out.result += in.args[0]; out.result += in.args[1]; }
void versionManager::getMainModuleVersion(VMMAPDEF& mapVersion) { std::string strVersion = ""; TCHAR szBankPath[1000]; _tcscpy_s(szBankPath, getModulePath().c_str()); _tcscat_s(szBankPath, _T("\\MoneyHub.exe")); CFileVersionInfo vinfo; if (vinfo.Create(szBankPath)) { tstring strFileVersion = vinfo.GetFileVersion(); replace(strFileVersion.begin(), strFileVersion.end(), ',', '.'); strFileVersion.erase(remove(strFileVersion.begin(), strFileVersion.end(), ' '), strFileVersion.end()); strVersion = std::string(CT2A(strFileVersion.c_str(), 936)); } else return ; USES_CONVERSION; if(m_bEnName) mapVersion.insert(std::make_pair(L"Main",A2W(strVersion.c_str()) ) ); else { VMMAPDEF::iterator it = m_mapEnChName.find(L"Main"); if( it != m_mapEnChName.end() ) mapVersion.insert(std::make_pair(it->second.c_str(), A2W(strVersion.c_str()) ) ); } }
StagingModule::StagingModule(const std::string& modulePath) : VoreenModule(modulePath) { setID("Staging"); setGuiName("Staging"); addShaderPath(getModulePath("glsl")); registerSerializableType(new AlignedSliceProxyGeometry()); registerSerializableType(new ArbitraryVolumeClipping()); registerSerializableType(new SamplingPositionTransformation()); registerSerializableType(new InteractiveRegistrationWidget()); registerSerializableType(new MultiSliceRenderer()); registerSerializableType(new MultiSliceViewer()); registerSerializableType(new Pong()); registerSerializableType(new SliceProxyGeometry()); registerSerializableType(new ScreenSpaceAmbientOcclusion()); registerSerializableType(new SingleOctreeRaycasterCPU()); registerSerializableType(new TabbedView()); registerSerializableType(new TouchEventSimulator()); registerSerializableType(new TransFuncOverlay()); registerSerializableType(new RegistrationInitializer()); #ifdef GL_ATOMIC_COUNTER_BUFFER //disable compilation for old gl headers registerSerializableType(new MultiVolumeGeometryRaycaster()); #endif registerSerializableType(new VolumeChannelMerger()); registerSerializableType(new VolumeChannelSeparator()); }
void InstallPack(bool isvalid = true) { DWORD dwType; TCHAR szCmdLine[1024]; DWORD dwReturnBytes = sizeof(szCmdLine); if (ERROR_SUCCESS != ::SHGetValue(HKEY_CURRENT_USER, _T("Software\\Bank\\Update"), _T("InstallPack"), &dwType, szCmdLine, &dwReturnBytes) || dwType != REG_SZ) return; CDownloadOperation don; don.ShowMessage();//显示升级信息 don.uncompressFile(); Sleep(1000); bool bIsFileSafe = _UpdateMgr.isSafeFile(szCmdLine); if(0 != _tcscmp(_T("modules"),szCmdLine) && bIsFileSafe ) { ShellExecute(GetDesktopWindow(), _T("open"), szCmdLine, L"/upgrade", NULL, SW_SHOWNORMAL); //Sleep(3000); } else//主程序升级包未通过完整性校验,启动moneyhub.exe { deleteAllReg(); ShellExecuteA(GetDesktopWindow(),"open",getModulePath().c_str(),NULL,NULL,SW_SHOWNORMAL); don.deleteAllUpdataFile(); } }
void CPlugin::autoStartScriptIfNeeded() { if (!m_Pref_bAutoStartScript) return; CScripter scripter; scripter.associate(this); char szFileName[_MAX_PATH]; getModulePath(szFileName, sizeof(szFileName)); strcat(szFileName, m_Pref_szScriptFile); if(scripter.createScriptFromFile(szFileName)) { int iRepetitions = scripter.getCycleRepetitions(); int iDelay = scripter.getCycleDelay(); if(iDelay < 0) iDelay = 0; assert(pLogger != NULL); pLogger->resetStartTime(); for(int i = 0; i < iRepetitions; i++) { scripter.executeScript(); if(iDelay != 0) XP_Sleep(iDelay); } } else { MessageBox(NULL, "Script file not found or invalid", "", MB_OK | MB_ICONERROR); } }
void versionManager::getOtherModuleVersion(VMMAPDEF& mapVersion) { wstring vs; std::vector <std::wstring> vecWcspath; std::wstring wcsPath = getModulePath(); std::wstring wcsTmp = wcsPath + L"\\Html\\info.mchk"; vecWcspath.push_back(wcsTmp); wcsTmp = wcsPath + L"\\Config\\info.mchk"; vecWcspath.push_back(wcsTmp); USES_CONVERSION; for(size_t i=0; i<vecWcspath.size(); i++) { wstring szBankName = L"F"; if( getVersionFromChk(vs,W2A(vecWcspath[i].c_str()), szBankName) ) { wchar_t wcsModuleName[MAX_PATH] = {0}; wcscpy_s(wcsModuleName, _countof(wcsModuleName), vecWcspath[i].c_str() ); *( wcsrchr(wcsModuleName, L'\\') ) = L'\0'; wchar_t *p = wcsrchr(wcsModuleName, L'\\'); if(m_bEnName) mapVersion.insert(std::make_pair(p+1, vs )); else { VMMAPDEF::iterator it = m_mapEnChName.find(p+1); if( it != m_mapEnChName.end() ) mapVersion.insert(std::make_pair(it->second.c_str(), vs )); } } } return ; }
void versionManager::getBankModuleVersion(VMMAPDEF& mapVersion) { std::wstring wsModulePath = getModulePath(); wsModulePath += L"\\"; wsModulePath += BANKINFOPATH; if(false == traverseFile((LPWSTR)wsModulePath.c_str(), NULL, mapVersion) ) return ; }
StereoscopyModuleQt::StereoscopyModuleQt(const std::string& modulePath) : VoreenModuleQt(modulePath) { setID("Stereoscopy (Qt)"); setGuiName("Stereoscopy (Qt)"); addShaderPath(getModulePath("glsl/qt")); registerProcessorWidgetFactory(new StereoscopyProcessorWidgetFactory()); }
void CPlugin::getLogFileName(PSZ szLogFileName, int iSize) { if(getMode() == NP_EMBED) { char sz[256]; getModulePath(szLogFileName, iSize); WinQueryWindowText(WinWindowFromID(m_hWnd, IDC_EDIT_LOG_FILE_NAME), sizeof(sz), sz); strcat(szLogFileName, sz); } else CPluginBase::getLogFileName(szLogFileName, iSize); }
VolumeLabelingModule::VolumeLabelingModule(const std::string& modulePath) : VoreenModule(modulePath) { setID("VolumeLabeling"); setGuiName("VolumeLabeling"); addShaderPath(getModulePath("glsl")); registerSerializableType(new IDRaycaster()); registerSerializableType(new VolumeLabeling()); }
luabind::object luabindResolveFile(std::string file, lua_State* L){ std::vector<std::string> paths = { WStr2Str(getCustomFolderPath()), (std::string)GM_FULLDIR, WStr2Str(getModulePath()) + "\\LuaScriptsLib\\", WStr2Str(getModulePath()) + "\\" }; for (std::string nextSearchPath : paths) { std::string nextEntry = nextSearchPath + file; DWORD objectAttributes = GetFileAttributesA(nextEntry.c_str()); if(objectAttributes == INVALID_FILE_ATTRIBUTES) continue; if(objectAttributes & FILTER) return luabind::object(L, nextEntry); } return luabind::object(); }
// Add available Allocator modules. static void addAllocatorModules(Modules* modules) { CHECK_NOTNULL(modules); // Now add our allocator module. Modules::Library* library = modules->add_libraries(); library->set_file(getModulePath("testallocator")); // To add a new module from this library, create a new ModuleID enum // and tie it with a module name. addModule(library, TestDRFAllocator, "org_apache_mesos_TestDRFAllocator"); }
// Add available ContainerLogger modules. static void addContainerLoggerModules(Modules* modules) { CHECK_NOTNULL(modules); // Add our test container logger module. Modules::Library* library = modules->add_libraries(); library->set_file(getModulePath("testcontainer_logger")); // To add a new module from this library, create a new ModuleID enum // and tie it with a module name. addModule(library, TestSandboxContainerLogger, "org_apache_mesos_TestSandboxContainerLogger"); // Add the second container logger module. library = modules->add_libraries(); library->set_file(getModulePath("logrotate_container_logger")); addModule(library, LogrotateContainerLogger, "org_apache_mesos_LogrotateContainerLogger"); // Pass in the directory for the binary test sources. Modules::Library::Module* module = library->mutable_modules(0); mesos::Parameter* moduleParameter = module->add_parameters(); moduleParameter->set_key("launcher_dir"); moduleParameter->set_value(getLauncherDir()); // Set the size and number of log files to keep. moduleParameter = module->add_parameters(); moduleParameter->set_key("max_stdout_size"); moduleParameter->set_value(stringify(Megabytes(2))); // NOTE: This is a 'logrotate' configuration option. // It means to "rotate" a file 4 times before removal. moduleParameter = module->add_parameters(); moduleParameter->set_key("logrotate_stdout_options"); moduleParameter->set_value("rotate 4"); }
// Add available Isolator modules. static void addIsolatorModules(Modules* modules) { CHECK_NOTNULL(modules); // Now add our test CPU and Memory isolator modules. Modules::Library* library = modules->add_libraries(); library->set_file(getModulePath("testisolator")); // To add a new module from this library, create a new ModuleID enum // and tie it with a module name. addModule(library, TestCpuIsolator, "org_apache_mesos_TestCpuIsolator"); addModule(library, TestMemIsolator, "org_apache_mesos_TestMemIsolator"); }
void CSAORI::exec(const CSAORIInput& in,CSAORIOutput& out) { int res = SQLITE_OK; sql->clear(); if (in.args.size() <= 0) { out.result_code = SAORIRESULT_NO_CONTENT; return; } if (in.args[0] == L"OPEN") { if (in.args.size() == 1) { res = sql->open(SAORI_FUNC::UnicodeToMultiByte(getModulePath() + L"sqlori.db", CP_UTF8)); } else { res = sql->open(SAORI_FUNC::UnicodeToMultiByte(getModulePath() + in.args[1], CP_UTF8)); } } else if (in.args[0] == L"EXEC") { if (in.args.size() >= 2) { res = sql->exec(SAORI_FUNC::UnicodeToMultiByte(in.args[1], CP_UTF8)); } } else if (in.args[0] == L"CLOSE") { res = sql->close(); } else if (in.args[0] == L"SQLITE_VERSION") { out.result_code = SAORIRESULT_OK; out.result = SAORI_FUNC::intToString(SQLITE_OK) + L"\2Version\2" + SAORI_FUNC::MultiByteToUnicode(sqlite3_libversion(), CP_UTF8); return; } out.result_code = SAORIRESULT_OK; out.result = SAORI_FUNC::intToString(res) + L"\2" + SAORI_FUNC::MultiByteToUnicode(sql->result(), CP_UTF8); // out.result = L"Charset = " + SAORI_FUNC::CHARSETtoString(in.charset); // out.charset = CHARSET_UTF_8; }
void CPlugin::getLogFileName(LPSTR szLogFileName, int iSize) { if(getMode() == NP_EMBED) { char sz[256]; getModulePath(szLogFileName, iSize); Edit_GetText(GetDlgItem(m_hWnd, IDC_EDIT_LOG_FILE_NAME), sz, sizeof(sz)); if(!strlen(sz)) strcpy(sz, m_Pref_szLogFile); strcat(szLogFileName, sz); } else CPluginBase::getLogFileName(szLogFileName, iSize); }
/** * 根据需求,如果更新文件有白名单更改文件,忽略白名单缓存重建 */ bool CDownloadOperation::UpdateWBFile(WBRETURN wb) { bool bReturn = true; //更新黑白名单缓存 std::wstring wsModulePath = getModulePath(); wsModulePath += L"Moneyhub_Svc.exe";//-reblack -rebuild HANDLE hWait[2] = {0}; switch( wb ) { case BLACKUPDATE: hWait[0] = CreateEventW(NULL,FALSE, FALSE, L"MONEYHUBEVENT_BLACKUPDATE"); if( hWait[0] ) { ShellExecuteW(GetDesktopWindow(), L"open", wsModulePath.c_str(), L"-reblack",NULL,SW_SHOW ); WaitForMultipleObjects(1,hWait,TRUE, 30000); CloseHandle(hWait[0]); } break; case WHITEUPDATE: hWait[1] = CreateEventW(NULL,FALSE, FALSE, L"MONEYHUBEVENT_WHITEUPDATE"); if( hWait[0] ) { //ShellExecuteW(GetDesktopWindow(), L"open", wsModulePath.c_str(), L"-rebuild",NULL,SW_SHOW ); //WaitForMultipleObjects(1,hWait,TRUE, 50000); CloseHandle(hWait[1]); } break; case ALL: hWait[0] = CreateEventW(NULL,FALSE, FALSE, L"MONEYHUBEVENT_BLACKUPDATE"); hWait[1] = CreateEventW(NULL,FALSE, FALSE, L"MONEYHUBEVENT_WHITEUPDATE"); if( hWait[0] && hWait[1]) { ShellExecuteW(GetDesktopWindow(), L"open", wsModulePath.c_str(), L"-reblack",NULL,SW_SHOW ); //ShellExecuteW(GetDesktopWindow(), L"open", wsModulePath.c_str(), L"-rebuild",NULL,SW_SHOW ); WaitForMultipleObjects(1,hWait,TRUE, 30000); CloseHandle(hWait[0]); CloseHandle(hWait[1]); } break; default: break; } return bReturn; }
void CPluginBase::getLogFileName(LPSTR szLogFileName, int iSize) { char szFileName[_MAX_PATH]; getModulePath(szFileName, sizeof(szFileName)); strcat(szFileName, szINIFile); XP_GetPrivateProfileString(SECTION_LOG, KEY_FILE_NAME, "", szLogFileName, (DWORD)iSize, szFileName); if(!*szLogFileName) { strcpy(szLogFileName, m_szScriptCacheFile); // last three chars MUST be pts int iLength = strlen(szLogFileName); szLogFileName[iLength - 3] = 'l'; szLogFileName[iLength - 2] = 'o'; szLogFileName[iLength - 1] = 'g'; } }
// Add available Authentication modules. static void addAuthenticationModules(Modules* modules) { CHECK_NOTNULL(modules); // Now add our test authentication modules. Modules::Library* library = modules->add_libraries(); library->set_file(getModulePath("testauthentication")); // To add a new module from this library, create a new ModuleID enum // and tie it with a module name. addModule(library, TestCRAMMD5Authenticatee, "org_apache_mesos_TestCRAMMD5Authenticatee"); addModule(library, TestCRAMMD5Authenticator, "org_apache_mesos_TestCRAMMD5Authenticator"); }
luabind::object LuaProxy::Misc::listFiles(const std::string& path, lua_State* L) { luabind::object theList = luabind::newtable(L); std::string modulePath = path; if (!isAbsolutePath(path)) { modulePath = WStr2Str(getModulePath()); modulePath += "\\"; modulePath += path; } std::vector<std::string> listedFiles = listFilesOfDir(modulePath); for (unsigned int i = 0; i < listedFiles.size(); ++i){ theList[i + 1] = listedFiles[i]; } return theList; }
/// INIT GLOBALS void InitGlobals() { avcodec_register_all(); avdevice_register_all(); av_register_all(); //char* dbg = "GLOBAL INIT DBG"; gIsWindowsVistaOrNewer = IsWindowsVistaOrNewer(); //startup settings default memset(&gStartupSettings, 0, sizeof(gStartupSettings)); srand((int)time(NULL)); // Get compatible handle for screen ghMemDC = CreateCompatibleDC(NULL); BITMAPINFO bmi; memset(&bmi, 0, sizeof(BITMAPINFO)); bmi.bmiHeader.biSize = sizeof(BITMAPINFOHEADER); bmi.bmiHeader.biWidth = 800; bmi.bmiHeader.biHeight = -600; bmi.bmiHeader.biPlanes = 1; bmi.bmiHeader.biBitCount = 32; bmi.bmiHeader.biCompression = BI_RGB; gpScreenBits = 0; ghGeneralDIB = CreateDIBSection(ghMemDC, &bmi, DIB_RGB_COLORS, (void**)&gpScreenBits, 0, 0); // Try to activate death counter, and disable it if there's some problem gDeathCounter.TryLoadStats(); if(gDeathCounter.mStatFileOK == false) gDeathCounter.mEnabled = false; /// Init autocode manager gAutoMan.Clear(true); gAutoMan.ReadGlobals(getModulePath()); gAutoMan.m_GlobalEnabled = true; // Be sure that the config folder exist if (GetFileAttributesW(L"config") & INVALID_FILE_ATTRIBUTES) { CreateDirectoryW(L"config", NULL); } }
std::string LuaProxy::Data::resolvePathFromSection() { std::string levelName = WStr2Str(::Level::GetName()); std::string episodePath = (std::string)GM_FULLDIR; std::string smbxPath = WStr2Str(getModulePath()); std::string returnPath = ""; switch (m_dataType) { case LuaProxy::Data::DATA_LEVEL: returnPath += episodePath; returnPath += removeExtension(levelName); returnPath += "\\"; returnPath += "LuaData_"; if (m_useSaveSlot) returnPath += "Save" + std::to_string(GM_CUR_SAVE_SLOT) + "_"; returnPath += m_sectionName; returnPath += ".txt"; break; case LuaProxy::Data::DATA_WORLD: returnPath += episodePath; returnPath += "LuaData_"; if (m_useSaveSlot) returnPath += "Save" + std::to_string(GM_CUR_SAVE_SLOT) + "_"; returnPath += m_sectionName; returnPath += ".txt"; break; case LuaProxy::Data::DATA_GLOBAL: default: returnPath += smbxPath; returnPath += "\\worlds\\"; returnPath += "LuaData_"; if (m_useSaveSlot) returnPath += "Save" + std::to_string(GM_CUR_SAVE_SLOT) + "_"; returnPath += m_sectionName; returnPath += ".txt"; break; } return returnPath; }
WBRETURN CDownloadOperation::IsNewTBCacheFile( wchar_t * pFileName ) { WBRETURN bReturn = NONE; //黑白名单位于 Config文件夹内 if( wcscmp(L"Config.cab", pFileName) != 0 ) return bReturn; std::wstring newFile ; newFile = this->getBankCachePath( true ); std::wstring existingFile ; existingFile = getBankCachePath(); existingFile += pFileName; CCabExtract tt; if(tt.ExtractFile(existingFile.c_str(), newFile.c_str() ) ) { OutputDebugStringW(L"extractFile is OK!"); } #define BUFSIZEFORMD5 4 * 1024 * 1024 unsigned char * pBuf = new unsigned char[BUFSIZEFORMD5]; unsigned char * pCheckE = new unsigned char[16]; unsigned char * pCheckN = new unsigned char[16]; DWORD dwTmp = 0; if( pBuf && pCheckN && pCheckE ) { for( int i=0; i < m_vecWBFileName.size(); i++) { std::wstring wsNewFile = newFile; std::wstring wsExistingFile = getModulePath(); wsNewFile += L"Config\\"; wsExistingFile += L"Config\\"; wsNewFile += m_vecWBFileName[i].c_str(); wsExistingFile += m_vecWBFileName[i].c_str(); HANDLE hFileE = CreateFile(wsExistingFile.c_str(), GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING ,FILE_ATTRIBUTE_NORMAL, NULL); HANDLE hFileN = CreateFile(wsNewFile.c_str(), GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING ,FILE_ATTRIBUTE_NORMAL, NULL); if( !(INVALID_HANDLE_VALUE == hFileE || INVALID_HANDLE_VALUE == hFileN) ) { /////对缓存文件进行MD5计算 ZeroMemory(pBuf, BUFSIZEFORMD5); CMD5 md5E; while(1) { if( ReadFile(hFileE, pBuf, BUFSIZEFORMD5, &dwTmp, NULL) ) { if( 0 == dwTmp) break; md5E.MD5Update(pBuf, dwTmp); } } md5E.MD5Final(pCheckE); /////对黑白名单文件文件进行MD5计算 ZeroMemory(pBuf, BUFSIZEFORMD5); CMD5 md5N; while(1) { CMD5 md5; if( ReadFile(hFileN, pBuf, BUFSIZEFORMD5, &dwTmp, NULL) ) { if( 0 == dwTmp) break; md5N.MD5Update(pBuf, dwTmp); } } md5N.MD5Final(pCheckN); } CloseHandle(hFileE); CloseHandle(hFileN); if( 0 != memcmp(pCheckN, pCheckE, 16) ) { if( i==0 ) { if( bReturn == WHITEUPDATE ) { bReturn = ALL; break; } bReturn = BLACKUPDATE; } else { if( bReturn == BLACKUPDATE ) { bReturn = ALL; break; } bReturn = WHITEUPDATE; } } } } return bReturn; }
int WINAPI _tWinMain(HINSTANCE hInstance, HINSTANCE /*hPrevInstance*/, LPTSTR lpstrCmdLine, int nCmdShow) { g_strSkinDir = ::GetModulePath(); g_strSkinDir += _T("\\Skin\\"); ThreadCacheDC::InitializeThreadCacheDC(); ThreadCacheDC::CreateThreadCacheDC(); Gdiplus::GdiplusStartupInput gdiplusStartupInput; ULONG_PTR gdiplusToken; Gdiplus::GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL); // 临时目录 _TempCachePath = GetTempCachePath(hInstance); if (IsRunning()) return 0; if(!_tcsstr( lpstrCmdLine, _T("/h") )) { wchar_t wcsTmpPath[MAX_PATH] = {0}; GetModuleFileNameW(NULL,wcsTmpPath,_countof(wcsTmpPath) ); mhMessageBox(NULL,(wcscat_s(wcsTmpPath, _countof(wcsTmpPath), L" 不是有效的 win32 应用程序。"), wcsTmpPath),L"提示",MB_OK); exit(1); } ////////////////////////////////////////////////////////////////////////// // (1)是安装情况 if ( !IsDownload(lpstrCmdLine, &_Module.m_bByUserClick, &_Module.m_hOuterParent) )//moneyhub.exe execute { CDownloadOperation dop; int index = dop.isValid(); if( index ) { CBankProcessMgr BankMgr; std::vector<HANDLE> vecProcess; // 让所有bank退出 ::PostMessage(HWND_BROADCAST, WM_BROADCAST_QUIT, 0, 0); Sleep(1000); if (BankMgr.GetProcList(_T("MoneyHub.exe"), vecProcess) > 0) BankMgr.TermProcList(vecProcess); // 运行安装包 InstallPack(); } else { deleteAllReg(); dop.deleteAllUpdataFile(); ShellExecuteA(GetDesktopWindow(),"open",getModulePath().c_str(),NULL,NULL,SW_SHOWNORMAL); } return 0; } else if( isDownLoadOK() ) { return 0; } ////////////////////////////////////////////////////////////////////////// // (2)是下载情况 HRESULT hRes = ::CoInitialize(NULL); // If you are running on NT 4.0 or higher you can use the following call instead to // make the EXE free threaded. This means that calls come in on a random RPC thread. // HRESULT hRes = ::CoInitializeEx(NULL, COINIT_MULTITHREADED); ATLASSERT(SUCCEEDED(hRes)); // this resolves ATL window thunking problem when Microsoft Layer for Unicode (MSLU) is used ::DefWindowProc(NULL, 0, 0, 0L); AtlInitCommonControls(ICC_WIN95_CLASSES | ICC_PROGRESS_CLASS | ICC_BAR_CLASSES); // add flags to support other controls hRes = _Module.Init(NULL, hInstance); ATLASSERT(SUCCEEDED(hRes)); int nRet = Run(lpstrCmdLine, nCmdShow); _Module.Term(); ::CoUninitialize(); if (_hUpdateMutex) CloseHandle(_hUpdateMutex); return nRet; }
std::wstring CDownloadOperation::getAppDataPath() { return getModulePath(); }
BaseModule::BaseModule(const std::string& modulePath) : VoreenModule(modulePath) { setID("Base"); setGuiName("Base"); // entry-exit points registerSerializableType(new EEPGeometryIntegrator()); registerSerializableType(new MeshEntryExitPoints()); // geometry registerSerializableType(new BoundingBoxRenderer()); registerSerializableType(new CameraPositionRenderer()); registerSerializableType(new GeometryProcessor()); registerSerializableType(new GeometryRenderer()); registerSerializableType(new GeometryClipping()); registerSerializableType(new GeometrySlabClipping()); registerSerializableType(new GeometryTransformation()); registerSerializableType(new GeometryTransformationVolume()); registerSerializableType(new LightWidgetRenderer()); registerSerializableType(new PlaneManipulation()); registerSerializableType(new PlaneWidgetProcessor()); registerSerializableType(new PointListRenderer()); registerSerializableType(new PointSegmentListRenderer()); registerSerializableType(new QuadricRenderer()); registerSerializableType(new SlicePositionRenderer()); registerSerializableType(new TriangleMeshConverter()); // image registerSerializableType(new Background()); registerSerializableType(new BinaryImageProcessor()); registerSerializableType(new ColorDepth()); registerSerializableType(new Compositor()); registerSerializableType(new Convolution()); registerSerializableType(new DepthDarkening()); registerSerializableType(new EdgeDetect()); registerSerializableType(new ExplosionCompositor()); registerSerializableType(new Fade()); registerSerializableType(new Gaussian()); registerSerializableType(new Grayscale()); registerSerializableType(new ImageMasking()); registerSerializableType(new ImageMorphology()); registerSerializableType(new ImageOverlay()); registerSerializableType(new ImageThreshold()); registerSerializableType(new Mean()); registerSerializableType(new Median()); registerSerializableType(new MultiView()); registerSerializableType(new NonMinMaxSuppression()); registerSerializableType(new OrientationOverlay()); registerSerializableType(new QuadView()); registerSerializableType(new RegionOfInterest2D()); registerSerializableType(new Splitter()); registerSerializableType(new TextOverlay()); registerSerializableType(new TripleView()); registerSerializableType(new UnaryImageProcessor()); registerSerializableType(new UnsharpMasking()); // proxy geometry registerSerializableType(new CubeProxyGeometry()); registerSerializableType(new ExplosionProxyGeometry()); registerSerializableType(new MultiPassProxyGeometry()); registerSerializableType(new MultiPlanarProxyGeometry()); registerSerializableType(new MultiVolumeProxyGeometry()); registerSerializableType(new OptimizedProxyGeometry()); // render registerSerializableType(new CPURaycaster()); registerSerializableType(new MultiplanarSliceRenderer()); registerSerializableType(new MultiVolumeRaycaster()); registerSerializableType(new SegmentationRaycaster()); registerSerializableType(new SimpleRaycaster()); registerSerializableType(new SingleVolumeRaycaster()); registerSerializableType(new SingleVolumeSlicer()); registerSerializableType(new SliceViewer()); registerSerializableType(new RGBRaycaster()); // utility registerSerializableType(new ClockProcessor()); registerSerializableType(new DistanceMeasure()); registerSerializableType(new IntensityMeasure()); registerSerializableType(new ImageSequenceLoopInitiator()); registerSerializableType(new ImageSequenceLoopFinalizer()); registerSerializableType(new MetaDataExtractor()); registerSerializableType(new MultiScale()); registerSerializableType(new RenderLoopInitiator()); registerSerializableType(new RenderLoopFinalizer()); registerSerializableType(new RenderStore()); registerSerializableType(new SegmentationValidation()); registerSerializableType(new SingleScale()); registerSerializableType(new VolumeListModalityFilter()); registerSerializableType(new VolumeInformation()); registerSerializableType(new VolumePicking()); // volume registerSerializableType(new VectorMagnitude()); registerSerializableType(new VolumeCombine()); registerSerializableType(new VolumeComposer()); registerSerializableType(new VolumeCreate()); registerSerializableType(new VolumeFloatCreate()); registerSerializableType(new VolumeCrop()); registerSerializableType(new VolumeCubify()); registerSerializableType(new VolumeDecomposer()); registerSerializableType(new VolumeDistanceTransform()); registerSerializableType(new VolumeFiltering()); registerSerializableType(new VolumeFormatConversion()); registerSerializableType(new VolumeGradient()); registerSerializableType(new VolumeHalfsample()); registerSerializableType(new VolumeInversion()); registerSerializableType(new VolumeLandmarkRegistration()); registerSerializableType(new VolumeMasking()); registerSerializableType(new VolumeMirror()); registerSerializableType(new VolumeMorphology()); registerSerializableType(new VolumeResample()); registerSerializableType(new VolumeSpacing()); registerSerializableType(new VolumeTransformation()); registerSerializableType(new VolumeOffset()); registerSerializableType(new VolumeVorticity()); registerSerializableType(new VolumeCreateFFTSpectrum()); registerSerializableType(new VolumeConvertFFTReal()); registerSerializableType(new VolumeConvertFFTImaginary()); registerSerializableType(new VolumeSelection()); registerSerializableType(new VolumeSelectionAndDuplication()); registerSerializableType(new VolumeDuplication()); registerSerializableType(new Volume3DFFT()); // volume readers/writers registerVolumeReader(new AnalyzeVolumeReader()); registerVolumeReader(new BrukerVolumeReader()); registerVolumeReader(new ECAT7VolumeReader()); registerVolumeReader(new InveonVolumeReader()); registerVolumeReader(new MultiVolumeReader(0)); registerVolumeReader(new MhdVolumeReader()); registerVolumeWriter(new MhdVolumeWriter()); registerVolumeReader(new NrrdVolumeReader()); registerVolumeWriter(new NrrdVolumeWriter()); registerVolumeReader(new QuadHidacVolumeReader()); registerVolumeReader(new Synth2DReader()); registerVolumeReader(new RawVoxVolumeReader()); registerVolumeReader(new TUVVolumeReader()); // shader paths addShaderPath(getModulePath("glsl")); // RegionOfInterestGeometry registerSerializableType(new RegionOfInterest2D::RegionOfInterestGeometry()); }
bool versionManager::traverseFile(LPWSTR path, LPWSTR wName, VMMAPDEF& mapVersion ) { USES_CONVERSION; WIN32_FIND_DATAW fw; HANDLE hFind= FindFirstFileW(path,&fw); if(hFind == INVALID_HANDLE_VALUE) return false; LPVOID p = (LPVOID)&fw; do { if(wcscmp(fw.cFileName,L".") == 0 || wcscmp(fw.cFileName,L"..") == 0 || wcscmp(fw.cFileName,L".svn") == 0) continue; if(fw.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) { std::wstring wStr = getModulePath(); wStr += L"\\"; wStr += BANKINFOPATHNOFIND; wStr += fw.cFileName ; wStr += L"\\*.*"; if(false == traverseFile((LPWSTR)wStr.c_str(), fw.cFileName, mapVersion)) return false; } else { if(0 == wcscmp(fw.cFileName,L"info.mchk"))//analysis version from info.mchk { std::wstring wsXmlPath = getModulePath(); wsXmlPath += L"\\"; wsXmlPath += BANKINFOPATHNOFIND; if(!wName) continue; wsXmlPath += wName; wsXmlPath += L'\\'; wsXmlPath += fw.cFileName; wstring vs; wstring szBankName; if(false == getVersionFromChk(vs, W2A(wsXmlPath.c_str()), szBankName) )//得到版本号 continue; if(m_bEnName) mapVersion.insert(std::make_pair(wName, vs)); else { mapVersion.insert(std::make_pair(szBankName, vs )); } FindClose(hFind); return true; } } p=(LPVOID)fw.cFileName; } while( FindNextFile(hFind,&fw) ); FindClose(hFind); return true; }
void CSAORI::exec(const CSAORIInput& in,CSAORIOutput& out) { if (in.args.size() == 0) { out.result_code = SAORIRESULT_OK; out.result = (CInetHelper::checkInternet()) ? L"1" : L"0"; } else { chttpc_conf *cc = new chttpc_conf; cc->url = SAORI_FUNC::UnicodeToMultiByte(in.args[0], CP_UTF8); if(strnicmp(cc->url.c_str(),"file:",5) == 0) { string_t fileW = checkAndModifyPathW(in.args[0].substr(5)); cc->url = "file:"+SAORI_FUNC::UnicodeToMultiByte(fileW, CP_UTF8); // cc->url = checkAndModifyPath(cc->url.substr(5)); cc->isLocalFile = true; } cc->codepage = in.codepage; cc->module_path = getModulePath(); UINT idx; for(UINT i = 1; i < in.args.size(); i++) { if((idx = in.args[i].find(L"codepage=")) != string::npos) { cc->charset = in.args[i].substr(idx + const_strlen(L"codepage=")); } else if((idx = in.args[i].find(L"save=")) != string::npos) { cc->saveOrginal = in.args[i].substr(idx + const_strlen(L"save=")); } else if((idx = in.args[i].find(L"saveUtf8=")) != string::npos) { cc->saveUtf8 = in.args[i].substr(idx + const_strlen(L"saveUtf8=")); } else if((idx = in.args[i].find(L"saveParsed=")) != string::npos) { cc->saveParsed = in.args[i].substr(idx + const_strlen(L"saveParsed=")); } else if((idx = in.args[i].find(L"start=")) != string::npos) { cc->searchStart = in.args[i].substr(idx + const_strlen(L"start=")); } else if((idx = in.args[i].find(L"end=")) != string::npos) { cc->searchEnd = in.args[i].substr(idx + const_strlen(L"end=")); } else if((idx = in.args[i].find(L"id=")) != string::npos) { cc->id = in.args[i].substr(idx + const_strlen(L"id=")); } else if((idx = in.args[i].find(L"hwnd=")) != string::npos) { cc->hwnd = reinterpret_cast<HWND>(_wtol(in.args[i].substr(idx + const_strlen(L"hwnd=")).c_str())); } else if((idx = in.args[i].find(L"strip")) != string::npos) { cc->isStripTag = true; } else if((idx = in.args[i].find(L"multiSearch")) != string::npos) { cc->isMultiSearch = true; } else if((idx = in.args[i].find(L"translate")) != string::npos) { cc->isTranslateTag = true; } else if((idx = in.args[i].find(L"noOutput")) != string::npos) { cc->isNoOutput = true; } else if((idx = in.args[i].find(L"removeTags=")) != string::npos) { string tags = SAORI_FUNC::UnicodeToMultiByte(in.args[i].substr(idx + const_strlen(L"removeTags="))); int cutAt; while( (cutAt = tags.find_first_of(",")) != string::npos ) { if(cutAt > 0) { cc->stripTags[tags.substr(0,cutAt)] = true; } tags = tags.substr(cutAt+1); } if(tags.length() > 0) { cc->stripTags[tags] = true; } } } if(cc->hwnd != NULL && !cc->id.empty()) { (new chttpcThread(cc))->create(); out.result_code = SAORIRESULT_NO_CONTENT; } else { wstring result; int crresult = chttpc_runner::run(cc, result); delete cc; out.result_code = crresult ? SAORIRESULT_INTERNAL_SERVER_ERROR : SAORIRESULT_OK; out.result = result; } } }