static bool RetardCheck() { try { boost::filesystem::path storageDir(boost::filesystem::canonical(input_path) / "Data"); boost::filesystem::directory_iterator end; for (boost::filesystem::directory_iterator itr(storageDir); itr != end; ++itr) { if (itr->path().extension() == ".MPQ") { printf("MPQ files found in Data directory!\n"); printf("This tool works only with World of Warcraft: Legion\n"); printf("\n"); printf("To extract maps for Wrath of the Lich King, rebuild tools using 3.3.5 branch!\n"); printf("\n"); printf("Press ENTER to exit...\n"); getchar(); return false; } } } catch (std::exception const& error) { printf("Error checking client version: %s\n", error.what()); } return true; }
FolderMan::FolderMan(QObject *parent) : QObject(parent) { // if QDir::mkpath would not be so stupid, I would not need to have this // duplication of folderConfigPath() here QDir storageDir(QDesktopServices::storageLocation(QDesktopServices::DataLocation)); storageDir.mkpath(QLatin1String("folders")); _folderConfigPath = QDesktopServices::storageLocation(QDesktopServices::DataLocation) + QLatin1String("/folders"); _folderChangeSignalMapper = new QSignalMapper(this); connect(_folderChangeSignalMapper, SIGNAL(mapped(const QString &)), this, SIGNAL(folderSyncStateChange(const QString &))); }
FolderMan::FolderMan(QObject *parent) : QObject(parent), _syncEnabled( true ) { // if QDir::mkpath would not be so stupid, I would not need to have this // duplication of folderConfigPath() here MirallConfigFile cfg; QDir storageDir(cfg.configPath()); storageDir.mkpath(QLatin1String("folders")); _folderConfigPath = cfg.configPath() + QLatin1String("folders"); _folderChangeSignalMapper = new QSignalMapper(this); connect(_folderChangeSignalMapper, SIGNAL(mapped(const QString &)), this, SIGNAL(folderSyncStateChange(const QString &))); }
FolderMan::FolderMan(QObject *parent) : QObject(parent), _folderToDelete(false) { // if QDir::mkpath would not be so stupid, I would not need to have this // duplication of folderConfigPath() here QDir storageDir(QDesktopServices::storageLocation(QDesktopServices::DataLocation)); storageDir.mkpath("folders"); _folderConfigPath = QDesktopServices::storageLocation(QDesktopServices::DataLocation) + "/folders"; #ifdef USE_INOTIFY Mirall::INotify::initialize(); #endif _folderChangeSignalMapper = new QSignalMapper(this); connect(_folderChangeSignalMapper, SIGNAL(mapped(const QString &)), this, SIGNAL(folderSyncStateChange(const QString &))); }
BookViewPreview::BookViewPreview(QWidget *parent) : QWebView(parent), c_GetBlock(Utility::ReadUnicodeTextFile(":/javascript/get_block.js")), m_isLoadFinished(false), m_ContextMenu(new QMenu(this)), m_ViewWebPage(new ViewWebPage(this)), c_jQuery(Utility::ReadUnicodeTextFile(":/javascript/jquery-1.6.2.min.js")), c_jQueryScrollTo(Utility::ReadUnicodeTextFile(":/javascript/jquery.scrollTo-1.4.2-min.js")), c_jQueryWrapSelection(Utility::ReadUnicodeTextFile(":/javascript/jquery.wrapSelection.js")), c_GetCaretLocation(Utility::ReadUnicodeTextFile(":/javascript/book_view_current_location.js")), c_GetRange(Utility::ReadUnicodeTextFile(":/javascript/get_range.js")), c_NewSelection(Utility::ReadUnicodeTextFile(":/javascript/new_selection.js")), c_GetParentTags(Utility::ReadUnicodeTextFile(":/javascript/get_parent_tags.js")), m_CaretLocationUpdate(QString()), m_pendingLoadCount(0), m_pendingScrollToFragment(QString()) { setContextMenuPolicy(Qt::CustomContextMenu); // Set the Zoom factor but be sure no signals are set because of this. SettingsStore settings; SetCurrentZoomFactor(settings.zoomPreview()); // use our web page that can be used for debugging javascript setPage(m_ViewWebPage); // Enable our link filter. page()->setLinkDelegationPolicy(QWebPage::DelegateAllLinks); page()->settings()->setAttribute(QWebSettings::DeveloperExtrasEnabled, true); page()->settings()->setAttribute(QWebSettings::PluginsEnabled, true); // Enable local-storage for epub3 page()->settings()->setAttribute(QWebSettings::LocalStorageEnabled, true); QString localStorePath = Utility::DefinePrefsDir() + "/local-storage"; QDir storageDir(localStorePath); if (!storageDir.exists()) { storageDir.mkpath(localStorePath); } page()->settings()->setLocalStoragePath(localStorePath); CreateContextMenuActions(); ConnectSignalsToSlots(); }
int FolderMan::setupFoldersMigration() { ConfigFile cfg; QDir storageDir(cfg.configPath()); _folderConfigPath = cfg.configPath() + QLatin1String("folders"); qCInfo(lcFolderMan) << "Setup folders from " << _folderConfigPath << "(migration)"; QDir dir(_folderConfigPath); //We need to include hidden files just in case the alias starts with '.' dir.setFilter(QDir::Files | QDir::Hidden); QStringList list = dir.entryList(); // Normally there should be only one account when migrating. AccountState *accountState = AccountManager::instance()->accounts().value(0).data(); foreach (const QString &alias, list) { Folder *f = setupFolderFromOldConfigFile(alias, accountState); if (f) { scheduleFolder(f); emit folderSyncStateChange(f); } }
int main(int argc, char **argv) { // Setup Signal Handler, to exit gracefully on an INT signal signal(SIGINT, *sighandler); CONDITION cond; DUL_NETWORKKEY * network = NULL; DUL_ASSOCIATIONKEY * association = NULL; DUL_ASSOCIATESERVICEPARAMETERS *service; DUL_PRESENTATIONCONTEXT * requestedCtx; DUL_ABORTITEMS abortItems; MFileOperations f; char path[256]; f.expandPath(path, "MESA_TARGET", "logs"); MString logDir(path); // Default is Storage Area f.expandPath(path, "MESA_STORAGE", "postproc"); MString storageDir(path); // Default is Storage Area char *dbName = "ppwf"; // Default database nameea int port, trips = 2048, /* Trips through the main loop */ classCount = 0, releaseDelay = 0, numBase = 100; // msg number base for logging unsigned long maxPDU = 16384; CTNBOOLEAN verboseDUL = FALSE, verboseSRV = FALSE, verboseDCM = FALSE, abortFlag = FALSE, forgiveFlag = FALSE, forkFlag = FALSE, threadFlag = FALSE, paramsFlag = FALSE, acceptFlag, drop, done = FALSE, printConnectionStatistics = FALSE; DUL_SC_ROLE scRole; int associationRequests = 0; char *classArray[] = { DICOM_SOPCLASSVERIFICATION, DICOM_SOPGPWORKLIST_FIND, DICOM_SOPGPSPS, DICOM_SOPGPPPS, ""}; char *serverTitle = POST_PROC_AE_TITLE; MLogClient::LOGLEVEL logLevel = MLogClient::MLOG_NONE; int fileMode = 0; while (--argc > 0 && (*++argv)[0] == '-') { int l1 = 0; switch (*(argv[0] + 1)) { case 'a': argc--; argv++; if (argc < 1) usageerror(); logDir = MString(*argv); break; case 'b': argc--; argv++; if (argc < 1) usageerror(); if (sscanf(*argv, "%d", &numBase) != 1) usageerror(); break; case 'c': argc--; argv++; if (argc < 1) usageerror(); serverTitle = *argv; break; case 'd': argc--; argv++; if (argc < 1) usageerror(); if (strcmp(*argv, "DCM") == 0) verboseDCM = TRUE; else if (strcmp(*argv, "DUL") == 0) verboseDUL = TRUE; else if (strcmp(*argv, "SRV") == 0) verboseSRV = TRUE; else usageerror(); break; case 'f': forkFlag = TRUE; break; case 'i': forgiveFlag = TRUE; break; case 'j': #ifndef CTN_USE_THREADS fprintf(stderr, "pp_dcmps was not compiled with threads\n"); return 1; #else //threadFlag = TRUE; break; #endif case 'l': argc--; argv++; if (argc < 1) usageerror(); if (sscanf(*argv, "%d", &l1) != 1) usageerror(); logLevel = (MLogClient::LOGLEVEL)l1; break; case 'm': argc--; argv++; if (argc < 1) usageerror(); if (sscanf(*argv, "%lu", &maxPDU) != 1) usageerror(); break; case 'n': argc--; argv++; if (argc < 1) usageerror(); dbName = *argv; break; case 'p': paramsFlag = TRUE; break; case 't': argc--; argv++; if (argc < 1) usageerror(); if (sscanf(*argv, "%d", &trips) != 1) usageerror(); break; case 'v': verboseDUL = TRUE; verboseSRV = TRUE; break; case 'y': printConnectionStatistics = TRUE; break; case 'z': fileMode++; break; default: (void) fprintf(stderr, "Unrecognized option: %c\n", *(argv[0] + 1)); break; } } if (argc < 1) usageerror(); // If in filemode, perform the query and exit if (fileMode) { ppwlQuery (*argv, logDir, numBase, dbName); return 0; } // Write PID file MServerAgent a("pp_dcmps"); a.registerServerPID(); if (sscanf(*argv, "%d", &port) != 1) usageerror(); checkEnvironment(); ::THR_Init(); ::DCM_Debug(verboseDCM); ::DUL_Debug(verboseDUL); ::SRV_Debug(verboseSRV); #ifndef _MSC_VER if (port < 1024) { if (geteuid() != 0) { char errmsg[] = "To use this port (%d), you must run as root or the application must be\n\ setuid root (see chmod)\n"; fprintf(stderr, errmsg, port); perror(""); exit(1); } } #endif if (logLevel != MLogClient::MLOG_NONE) { MLogClient logClient; logClient.initialize(logLevel, logDir + "/pp_dcmps.log"); logClient.log(MLogClient::MLOG_ERROR, "<no peer>", "pp_dcmps<main>", __LINE__, "Begin server process"); cout << "pp_dcmps logging messages at level " << logLevel << " to " << logDir + "/pp_dcmps.log" << endl; } cond = ::DUL_InitializeNetwork(DUL_NETWORK_TCP, DUL_AEBOTH, (void *) &port, DUL_TIMEOUT, DUL_ORDERBIGENDIAN, &network); if (cond != DUL_NORMAL) { ::COND_DumpConditions(); ::exit(1); } /* Go back to the proper uid so we don't mess with things we don't own. */ #ifndef _MSC_VER (void) setuid(getuid()); #endif done = FALSE; while (!done) { drop = FALSE; service = (DUL_ASSOCIATESERVICEPARAMETERS*)malloc(sizeof(*service)); if (service == NULL) { ::fprintf(stderr, "Could not allocate memory for association parameters\n"); ::exit(1); } (void) ::memset(service, 0, sizeof(*service)); service->maxPDU = maxPDU; strcpy(service->calledImplementationClassUID, MIR_IMPLEMENTATIONCLASSUID); strcpy(service->calledImplementationVersionName, MIR_IMPLEMENTATIONVERSIONNAME); cond = ::DUL_ReceiveAssociationRQ(&network, DUL_BLOCK, service, &association); { MLogClient logClient; logClient.log(MLogClient::MLOG_CONVERSATION, service->callingAPTitle, "pp_dcmps<main>", __LINE__, "Association Request"); } acceptFlag = TRUE; if (cond != DUL_NORMAL) { ::COND_DumpConditions(); if (cond == DUL_UNSUPPORTEDPEERPROTOCOL) { acceptFlag = FALSE; cond = APP_NORMAL; /* Yes, this is normal */ } else ::exit(0); } if (acceptFlag) { cond = associationCheck(service, serverTitle, forgiveFlag, &abortItems); if (CTN_ERROR(cond)) { acceptFlag = FALSE; ::fprintf(stderr, "Incorrect Association Request\n"); ::COND_DumpConditions(); cond = ::DUL_RejectAssociationRQ(&association, &abortItems); if (cond != DUL_NORMAL) { ::fprintf(stderr, "Unable to cleanly reject Association\n"); ::COND_DumpConditions(); } } else if (!CTN_SUCCESS(cond)) { ::COND_DumpConditions(); } } if (acceptFlag) { if (verboseDUL || paramsFlag) { fprintf(stdout, "Application is about to accept association. The association parameters\n\ before the app has decided which presentation contexts to accept follow.\n"); ::DUL_DumpParams(service); } requestedCtx = (DUL_PRESENTATIONCONTEXT*)::LST_Head(&service->requestedPresentationContext); if (requestedCtx != NULL) (void) ::LST_Position(&service->requestedPresentationContext, requestedCtx); classCount = 0; while (requestedCtx != NULL) { if (strcmp(requestedCtx->abstractSyntax, MIR_SOPCLASSKILLSERVER) == 0) done = TRUE; if (supportedClass(requestedCtx->abstractSyntax, classArray)) { switch (requestedCtx->proposedSCRole) { case DUL_SC_ROLE_DEFAULT: scRole = DUL_SC_ROLE_DEFAULT; break; case DUL_SC_ROLE_SCU: scRole = DUL_SC_ROLE_SCU; break; case DUL_SC_ROLE_SCP: scRole = DUL_SC_ROLE_DEFAULT; break; case DUL_SC_ROLE_SCUSCP: scRole = DUL_SC_ROLE_SCU; break; default: scRole = DUL_SC_ROLE_DEFAULT; break; } cond = ::SRV_AcceptServiceClass(requestedCtx, scRole, service); if (cond == SRV_NORMAL) { classCount++; } else { ::printf("SRV Facility rejected SOP Class: %s\n", requestedCtx->abstractSyntax); ::COND_DumpConditions(); } } else { ::printf("Simple server rejects SOP Class with UID: %s\n", requestedCtx->abstractSyntax); dumpUIDDescription(requestedCtx->abstractSyntax); cond = ::SRV_RejectServiceClass(requestedCtx, DUL_PRESENTATION_REJECT_USER, service); if (cond != SRV_NORMAL) { drop = TRUE; } } requestedCtx = (DUL_PRESENTATIONCONTEXT*)::LST_Next(&service->requestedPresentationContext); } #if 0 ::printf("Supported classes: %d\n", classCount); #endif if (paramsFlag) { ::fprintf(stdout, "Application has now decided which presentation contexts to accept.\n\ Association parameters now look like this.\n"); ::DUL_DumpParams(service); } if (drop) { (void) ::DUL_DropAssociation(&association); ::COND_DumpConditions(); } else { if (printConnectionStatistics) { printf("%6d: %16s %16s %s\n", ++associationRequests, service->calledAPTitle, service->callingAPTitle, service->callingPresentationAddress); } acceptManageAssociation(&network, association, service, forkFlag, threadFlag, abortFlag, verboseDUL, releaseDelay, logDir.strData(), storageDir.strData(), dbName ); } } #if 0 (void) ::DUL_ClearServiceParameters(service); #endif if (CTN_ERROR(cond)) done = TRUE; if (trips >= 0) { if (trips-- <= 0) done = TRUE; } }
static void * runThread(void *arg) { THREAD_STRUCT *s; CONDITION cond; CTNBOOLEAN abortFlag; int runMode; s = (THREAD_STRUCT *) arg; cond = DUL_AcknowledgeAssociationRQ(&s->association, s->service); if (cond != DUL_NORMAL) { COND_DumpConditions(); //goto exitLabel; } if (s->verboseDUL) DUL_DumpParams(s->service); MString logDir(s->logDir); MString storageDir(s->storageDir); MString gpppsStorageDir = storageDir + "/gppps"; MDBPostProcMgr ppmgr(s->dbName); MDICOMReactor reactor; MSOPHandler echoHandler; MLQuery queryHandler(ppmgr, logDir); MLGPSPS gPSPSHandler(ppmgr, logDir); MLGPPPS gPPPSHandler(ppmgr, logDir, gpppsStorageDir); reactor.registerHandler(&echoHandler, DICOM_SOPCLASSVERIFICATION); reactor.registerHandler(&queryHandler, DICOM_SOPGPWORKLIST_FIND); reactor.registerHandler(&gPSPSHandler, DICOM_SOPGPSPS); reactor.registerHandler(&gPPPSHandler, DICOM_SOPGPPPS); reactor.processRequests(&s->association, s->service); exitLabel: abortFlag = s->abortFlag; runMode = s->runMode; DUL_ClearServiceParameters(s->service); free(s->service); free(s); if (runMode == MODE_FORK) { exit(0); } else if (runMode == MODE_THREAD) { #ifdef CTN_USE_THREADS THR_ObtainMutex(FAC_ATH); completedThreads++; THR_ReleaseMutex(FAC_ATH); #ifdef _MSC_VER _endthread(); #else pthread_exit(NULL); #endif #endif } else { return 0; } return 0; }