CSimTestServer* CSimTestServer::NewL() /** * @return - Instance of the test server * Same code for Secure and non-secure variants * Called inside the MainL() function to create and start the * CTestServer derived server. */ { CSimTestServer * testServer = new (ELeave) CSimTestServer(); CleanupStack::PushL(testServer); RProcess handle = RProcess(); TParsePtrC serverName(handle.FileName()); testServer->ConstructL(serverName.Name()); CleanupStack::Pop(testServer); return testServer; }
CTestHtmlToCrtConverterSuite* CTestHtmlToCrtConverterSuite::NewL() /** * @return - Instance of the test server * Same code for Secure and non-secure variants * Called inside the MainL() function to create and start the * CTestServer derived server. */ { CTestHtmlToCrtConverterSuite * server = new (ELeave) CTestHtmlToCrtConverterSuite(); CleanupStack::PushL(server); // CServer base class call RProcess handle = RProcess(); TParsePtrC serverName(handle.FileName()); server->ConstructL(serverName.Name()); CleanupStack::Pop(server); return server; }
void ProcessMonitor::submitJob(IQmol::JobInfo* jobInfo) { if (m_pendingProcess) { QString msg("Job submission pending, cannot submit additional jobs"); QMsgBox::warning(this, "IQmol", msg); return; } // Because we need to thread the network stuff, we break the job submission // process up into several bits (ServerTasks) and connect these via signals // and slots. First we need to make sure the server is connected and tested. // Note that because the connection process is potentially interactive, we // don't bother threading it. QString serverName(jobInfo->get(JobInfo::ServerName)); Server* server = ServerRegistry::instance().get(serverName); if (!server) { QMsgBox::warning(this, "IQmol", "Invalid server"); return; } if (!server->isConnected()) { postStatusMessage("Connecting to server..."); try { QLOG_DEBUG() << "Attempting to connect to server " << server->name(); if (!server->connectServer()) throw Server::Exception("Connection failed"); QLOG_DEBUG() << "Connection established: " << server->isConnected(); postStatusMessage("Testing configuration..."); } catch (std::exception& err) { QString msg("Failed to connect to server "); msg += serverName + ":\n"; msg += err.what(); QMsgBox::warning(this, "IQmol", msg); return; } } // This is a bit untidy, but we need to tell the next slot in the submission // thread chain what job we are dealing with. m_pendingProcess = new Process(jobInfo); ServerTask::Base* task = server->testConfiguration(); if (task) { connect(task, SIGNAL(finished()), this, SLOT(submitJob1())); task->start(); } }
bool SingleApplication::sendMessage(const QString &message) { QLocalSocket socket; socket.connectToServer(serverName()); if (socket.waitForConnected(500)) { QTextStream stream(&socket); stream << message; stream.flush(); if (socket.waitForBytesWritten()) return true; // if the message was sent before waitForBytesWritten was called // it will return false if (socket.error() == QLocalSocket::UnknownSocketError) return true; } return false; }
CCntPerfServer* CCntPerfServer::NewL() /** * @return - Instance of the test server * Called inside the MainL() function to create and start the * CTestServer derived server. */ { CCntPerfServer * server = new (ELeave) CCntPerfServer(); CleanupStack::PushL(server); // Either use a StartL or ConstructL, the latter will permit // Server Logging. TParsePtrC serverName(RProcess().FileName()); server->ConstructL( serverName.Name() ); CleanupStack::Pop(server); return server; }
void WelcomeDialog::accept() { setEnabled(false); QApplication::setOverrideCursor(waitCursor); qApp->processEvents(); QString server = serverName(); int port = DEFAULT_QUASARD_PORT; int pos = server.find(':'); if (pos != -1) { port = server.mid(pos + 1).toInt(); server = server.left(pos); } _timer->start(60000, true); _quasar->serverConnect(server, port); _status->setText("Connecting..."); }
/*! Start listening for new service requests. \param aServerName Name of the server. \return true if successful. */ bool CServiceSymbianServer::listen(const QString& aServerName) { XQSERVICE_DEBUG_PRINT("CServiceSymbianServer::listen"); XQSERVICE_DEBUG_PRINT("aServerName: %s", qPrintable(aServerName)); bool listening(true); // Needs to be here becuase Q_Ptr isonly set after constructor of public iObserver = Observer(); TPtrC serverName(reinterpret_cast<const TUint16*> (aServerName.utf16())); TInt err=0; TRAP( err, StartL(serverName) ); XQSERVICE_DEBUG_PRINT("listen status=%d", err); if (err != KErrNone) { listening = false; } // Complete the server rendezvous that th client started XQSERVICE_DEBUG_PRINT("CServiceSymbianServer::Rendezvouz"); RProcess::Rendezvous(KErrNone); XQSERVICE_DEBUG_PRINT("listening: %d", listening); return listening; }
CTFntStoreServer* CTFntStoreServer::NewL() /** @return - Instance of the test server Same code for Secure and non-secure variants Called inside the MainL() function to create and start the CTestServer derived server. */ { CTFntStoreServer * server = new (ELeave) CTFntStoreServer(); CleanupStack::PushL(server); // Get server name from process so we can use SetCap to change the capabilites and use this server with a different filename RProcess handle = RProcess(); TParsePtrC serverName(handle.FileName()); // CServer base class call server->StartL(serverName.Name()); CleanupStack::Pop(server); return server; }
QString clipboardServerName() { return serverName("s"); }
ApplicationCore::ApplicationCore(TaskId startupTask, bool hideAtStart, QObject *parent) : QObject(parent) , m_actionStopAllTasks(this) , m_actionQuit(this) , m_actionAboutDialog(this) , m_actionPreferences(this) , m_actionExportToXml(this) , m_actionImportFromXml(this) , m_actionSyncTasks(this) , m_actionImportTasks(this) , m_actionExportTasks(this) , m_actionCheckForUpdates(this) , m_actionEnterVacation(this) , m_actionActivityReport(this) , m_actionWeeklyTimesheetReport(this) , m_actionMonthlyTimesheetReport(this) , m_uiElements( { &m_timeTracker, &m_tasksView, &m_eventView }), m_startupTask(startupTask) , m_hideAtStart(hideAtStart) #ifdef Q_OS_WIN , m_windowsJumpList(new QWinJumpList(this)) #endif , m_dateChangeWatcher(new DateChangeWatcher(this)) { // QApplication setup QApplication::setQuitOnLastWindowClosed(false); // application metadata setup // note that this modifies the behaviour of QSettings: QCoreApplication::setOrganizationName(QStringLiteral("KDAB")); QCoreApplication::setOrganizationDomain(QStringLiteral("kdab.com")); QCoreApplication::setApplicationName(QStringLiteral("Charm")); QCoreApplication::setApplicationVersion(CharmVersion()); QLocalSocket uniqueApplicationSocket; QString serverName(QStringLiteral("com.kdab.charm")); QString charmHomeEnv(QString::fromLocal8Bit(qgetenv("CHARM_HOME"))); if (!charmHomeEnv.isEmpty()) { serverName.append(QStringLiteral("_%1").arg( charmHomeEnv.replace(QRegExp(QLatin1String(":?/|:?\\\\")), QStringLiteral("_")))); } #ifndef NDEBUG serverName.append(QStringLiteral("_debug")); #endif uniqueApplicationSocket.connectToServer(serverName, QIODevice::ReadWrite); if (uniqueApplicationSocket.waitForConnected(1000)) { QByteArray command; if (startupTask != -1) { command = StartTaskCommand + QByteArray::number(startupTask); } else { command = RaiseWindowCommand; } command += '\n'; qint64 written = uniqueApplicationSocket.write(command); if (written == -1 || written != command.length()) { qWarning() << "Failed to pass " << command << " to running charm instance, error: " << uniqueApplicationSocket.errorString(); } uniqueApplicationSocket.flush(); uniqueApplicationSocket.waitForBytesWritten(); throw AlreadyRunningException(); } connect(&m_uniqueApplicationServer, &QLocalServer::newConnection, this, &ApplicationCore::slotHandleUniqueApplicationConnection, Qt::QueuedConnection); QFile::remove(QDir::tempPath() + QLatin1Char('/') + serverName); bool listening = m_uniqueApplicationServer.listen(serverName); if (!listening) qDebug() << "Failed to create QLocalServer for unique application support:" << m_uniqueApplicationServer.errorString(); Q_INIT_RESOURCE(CharmResources); Q_ASSERT_X(m_instance == 0, "Application ctor", "Application is a singleton and cannot be created more than once"); m_instance = this; qRegisterMetaType<State>("State"); qRegisterMetaType<Event>("Event"); // exit process (app will only exit once controller says it is ready) connect(&m_controller, &Controller::readyToQuit, this, &ApplicationCore::slotControllerReadyToQuit); connectControllerAndModel(&m_controller, m_model.charmDataModel()); Charm::connectControllerAndView(&m_controller, &m_timeTracker); // save the configuration (configuration is managed by the application) connect(&m_timeTracker, &CharmWindow::saveConfiguration, this, &ApplicationCore::slotSaveConfiguration); connect(&m_timeTracker, &TimeTrackingWindow::showNotification, this, &ApplicationCore::slotShowNotification); connect(&m_timeTracker, &TimeTrackingWindow::taskMenuChanged, this, &ApplicationCore::slotPopulateTrayIconMenu); // save the configuration (configuration is managed by the application) connect(&m_tasksView, &TasksView::saveConfiguration, this, &ApplicationCore::slotSaveConfiguration); // due to multiple inheritence we can't use the new style connects here connect(&m_tasksView, SIGNAL(emitCommand(CharmCommand*)), &m_timeTracker, SLOT(sendCommand(CharmCommand*))); connect(&m_tasksView, SIGNAL(emitCommandRollback(CharmCommand*)), &m_timeTracker, SLOT(sendCommandRollback(CharmCommand*))); connect(&m_eventView, SIGNAL(emitCommand(CharmCommand*)), &m_timeTracker, SLOT(sendCommand(CharmCommand*))); connect(&m_eventView, SIGNAL(emitCommandRollback(CharmCommand*)), &m_timeTracker, SLOT(sendCommandRollback(CharmCommand*))); // my own signals: connect(this, &ApplicationCore::goToState, this, &ApplicationCore::setState, Qt::QueuedConnection); // system tray icon: m_actionStopAllTasks.setText(tr("Stop Current Task")); m_actionStopAllTasks.setShortcut(Qt::Key_Escape); m_actionStopAllTasks.setShortcutContext(Qt::ApplicationShortcut); mainView().addAction(&m_actionStopAllTasks); // for the shortcut to work connect(&m_actionStopAllTasks, &QAction::triggered, this, &ApplicationCore::slotStopAllTasks); m_systrayContextMenu.addAction(&m_actionStopAllTasks); m_systrayContextMenu.addSeparator(); m_systrayContextMenu.addAction(m_timeTracker.openCharmAction()); m_systrayContextMenu.addAction(&m_actionQuit); m_trayIcon.setContextMenu(&m_systrayContextMenu); m_trayIcon.setToolTip(tr("No active events")); m_trayIcon.setIcon(Data::charmTrayIcon()); m_trayIcon.show(); QApplication::setWindowIcon(Data::charmIcon()); // set up actions: m_actionQuit.setShortcut(Qt::CTRL + Qt::Key_Q); m_actionQuit.setText(tr("Quit")); m_actionQuit.setIcon(Data::quitCharmIcon()); connect(&m_actionQuit, &QAction::triggered, this, &ApplicationCore::slotQuitApplication); m_actionAboutDialog.setText(tr("About Charm")); connect(&m_actionAboutDialog, &QAction::triggered, &m_timeTracker, &TimeTrackingWindow::slotAboutDialog); m_actionPreferences.setText(tr("Preferences")); m_actionPreferences.setIcon(Data::configureIcon()); connect(&m_actionPreferences, &QAction::triggered, &m_timeTracker, &TimeTrackingWindow::slotEditPreferences); m_actionPreferences.setEnabled(true); m_actionImportFromXml.setText(tr("Import Database from Previous Export...")); connect(&m_actionImportFromXml, &QAction::triggered, &m_timeTracker, &TimeTrackingWindow::slotImportFromXml); m_actionExportToXml.setText(tr("Export Database...")); connect(&m_actionExportToXml, &QAction::triggered, &m_timeTracker, &TimeTrackingWindow::slotExportToXml); m_actionSyncTasks.setText(tr("Update Task Definitions...")); //the signature of QAction::triggered does not match slotSyncTasks connect(&m_actionSyncTasks,&QAction::triggered, &m_timeTracker, &TimeTrackingWindow::slotSyncTasksVerbose); m_actionImportTasks.setText(tr("Import and Merge Task Definitions...")); connect(&m_actionImportTasks, &QAction::triggered, &m_timeTracker, &TimeTrackingWindow::slotImportTasks); m_actionExportTasks.setText(tr("Export Task Definitions...")); connect(&m_actionExportTasks, &QAction::triggered, &m_timeTracker, &TimeTrackingWindow::slotExportTasks); m_actionCheckForUpdates.setText(tr("Check for Updates...")); #if 0 // TODO this role should be set to have the action in the app menu, but that // leads to duplicated entries, as each of the three main windows adds the action to the menu // and Qt doesn't prevent duplicates (#222) m_actionCheckForUpdates.setMenuRole(QAction::ApplicationSpecificRole); #endif connect(&m_actionCheckForUpdates, &QAction::triggered, &m_timeTracker, &TimeTrackingWindow::slotCheckForUpdatesManual); m_actionEnterVacation.setText(tr("Enter Vacation...")); connect(&m_actionEnterVacation, &QAction::triggered, &m_timeTracker, &TimeTrackingWindow::slotEnterVacation); m_actionActivityReport.setText(tr("Activity Report...")); m_actionActivityReport.setShortcut(Qt::CTRL + Qt::Key_A); connect(&m_actionActivityReport, &QAction::triggered, &m_timeTracker, &TimeTrackingWindow::slotActivityReport); m_actionWeeklyTimesheetReport.setText(tr("Weekly Timesheet...")); m_actionWeeklyTimesheetReport.setShortcut(Qt::CTRL + Qt::Key_R); connect(&m_actionWeeklyTimesheetReport, &QAction::triggered, &m_timeTracker, &TimeTrackingWindow::slotWeeklyTimesheetReport); m_actionMonthlyTimesheetReport.setText(tr("Monthly Timesheet...")); m_actionMonthlyTimesheetReport.setShortcut(Qt::CTRL + Qt::Key_M); connect(&m_actionMonthlyTimesheetReport, &QAction::triggered, &m_timeTracker, &TimeTrackingWindow::slotMonthlyTimesheetReport); // set up idle detection m_idleDetector = IdleDetector::createIdleDetector(this); Q_ASSERT(m_idleDetector); connect(m_idleDetector, SIGNAL(maybeIdle()), SLOT(slotMaybeIdle())); setHttpActionsVisible(Lotsofcake::Configuration().isConfigured()); // add default plugin path for deployment QCoreApplication::addLibraryPath(QCoreApplication::applicationDirPath() + QStringLiteral("/plugins")); if (QCoreApplication::applicationDirPath().endsWith(QLatin1String("MacOS"))) QCoreApplication::addLibraryPath(QCoreApplication::applicationDirPath() + QStringLiteral("/../plugins")); // set up command interface #ifdef CHARM_CI_SUPPORT m_cmdInterface = new CharmCommandInterface(this); #endif // CHARM_CI_SUPPORT // Ladies and gentlemen, please raise upon your seats - // the show is about to begin: emit goToState(StartingUp); }
void CTWServScreenConstructServer::ConstructL() { RProcess handle = RProcess(); TParsePtrC serverName(handle.FileName()); CTestServer::ConstructL(serverName.Name()); }
ServerCatchcopy::inputReturnType ServerCatchcopy::parseInputCurrentProtocol(const uint32_t &client,const uint32_t &orderId,const std::vector<std::string> &returnList) { if(returnList.size()==0) return WrongArgumentListSize; //if is supported std::string firstArgument=returnList.front(); if(firstArgument=="protocol") { if(returnList.size()!=2) return WrongArgumentListSize; emit askProtocolCompatibility(client,orderId,returnList.back()); return Ok; } else if(firstArgument=="protocol extension") { if(returnList.size()>3 || returnList.size()<2) return WrongArgumentListSize; return ExtensionWrong; } else if(firstArgument=="client") { if(returnList.size()!=2) return WrongArgumentListSize; int index=0; int size=clientList.size(); while(index<size) { if(clientList.at(index).id==client) { clientList[index].name=returnList.back(); break; } index++; } emit clientName(client,returnList.back()); clientRegistered(client,orderId); return Replied; } else if(firstArgument=="server") { if(returnList.size()!=2) return WrongArgumentListSize; if(returnList.back()!="name?") return WrongArgument; serverName(client,orderId,name); return Replied; } else if(firstArgument=="cp") { if(returnList.size()<3) return WrongArgumentListSize; std::vector<std::string> sourceList=returnList; sourceList.erase(sourceList.cbegin()); sourceList.pop_back(); emitNewCopy(client,orderId,sourceList,returnList.back()); return Ok; } else if(firstArgument=="cp-?") { if(returnList.size()<2) return WrongArgumentListSize; std::vector<std::string> sourceList=returnList; sourceList.erase(sourceList.cbegin()); emitNewCopyWithoutDestination(client,orderId,sourceList); return Ok; } else if(firstArgument=="mv") { if(returnList.size()<3) return WrongArgumentListSize; std::vector<std::string> sourceList=returnList; sourceList.erase(sourceList.cbegin()); sourceList.pop_back(); emitNewMove(client,orderId,sourceList,returnList.back()); return Ok; } else if(firstArgument=="mv-?") { if(returnList.size()<2) return WrongArgumentListSize; std::vector<std::string> sourceList=returnList; sourceList.erase(sourceList.cbegin()); emitNewMoveWithoutDestination(client,orderId,sourceList); return Ok; } else //if is not supported return UnknowOrder; }
int CamulecmdApp::ProcessCommand(int CmdId) { wxString args = GetCmdArgs(); CECPacket *request = 0; std::list<CECPacket *> request_list; int tmp_int = 0; EC_SEARCH_TYPE search_type = EC_SEARCH_KAD; // Implementation of the deprecated command 'SetIPFilter'. if (CmdId == CMD_ID_SET_IPFILTER) { if ( ! args.IsEmpty() ) { if (args.IsSameAs(wxT("ON"), false)) { CmdId = CMD_ID_SET_IPFILTER_ON; } else if (args.IsSameAs(wxT("OFF"), false)) { CmdId = CMD_ID_SET_IPFILTER_OFF; } else { return CMD_ERR_INVALID_ARG; } } else { CmdId = CMD_ID_GET_IPFILTER_STATE; } } switch (CmdId) { case CMD_ID_STATUS: request_list.push_back(new CECPacket(EC_OP_STAT_REQ, EC_DETAIL_CMD)); break; case CMD_ID_SHUTDOWN: request_list.push_back(new CECPacket(EC_OP_SHUTDOWN)); break; case CMD_ID_CONNECT: if ( !args.IsEmpty() ) { unsigned int ip[4]; unsigned int port; // Not much we can do against this unicode2char. int result = sscanf(unicode2char(args), "%3d.%3d.%3d.%3d:%5d", &ip[0], &ip[1], &ip[2], &ip[3], &port); if (result != 5) { // Try to resolve DNS -- good for dynamic IP servers wxString serverName(args.BeforeFirst(wxT(':'))); long lPort; bool ok = args.AfterFirst(wxT(':')).ToLong(&lPort); port = (unsigned int)lPort; amuleIPV4Address a; a.Hostname(serverName); a.Service(port); result = sscanf(unicode2char(a.IPAddress()), "%3d.%3d.%3d.%3d", &ip[0], &ip[1], &ip[2], &ip[3]); if (serverName.IsEmpty() || !ok || (result != 4)) { Show(_("Invalid IP format. Use xxx.xxx.xxx.xxx:xxxx\n")); return 0; } } EC_IPv4_t addr; addr.m_ip[0] = ip[0]; addr.m_ip[1] = ip[1]; addr.m_ip[2] = ip[2]; addr.m_ip[3] = ip[3]; addr.m_port = port; request = new CECPacket(EC_OP_SERVER_CONNECT); request->AddTag(CECTag(EC_TAG_SERVER, addr)); request_list.push_back(request); } else { request_list.push_back(new CECPacket(EC_OP_CONNECT)); } break; case CMD_ID_CONNECT_ED2K: request_list.push_back(new CECPacket(EC_OP_SERVER_CONNECT)); break; case CMD_ID_CONNECT_KAD: request_list.push_back(new CECPacket(EC_OP_KAD_START)); break; case CMD_ID_DISCONNECT: request_list.push_back(new CECPacket(EC_OP_DISCONNECT)); break; case CMD_ID_DISCONNECT_ED2K: request_list.push_back(new CECPacket(EC_OP_SERVER_DISCONNECT)); break; case CMD_ID_DISCONNECT_KAD: request_list.push_back(new CECPacket(EC_OP_KAD_STOP)); break; case CMD_ID_RELOAD_SHARED: request_list.push_back(new CECPacket(EC_OP_SHAREDFILES_RELOAD)); break; case CMD_ID_RELOAD_IPFILTER_LOCAL: request_list.push_back(new CECPacket(EC_OP_IPFILTER_RELOAD)); break; case CMD_ID_RELOAD_IPFILTER_NET: request = new CECPacket(EC_OP_IPFILTER_UPDATE); request->AddTag(EC_TAG_STRING, args); request_list.push_back(request); break; case CMD_ID_SET_IPFILTER_ON: case CMD_ID_SET_IPFILTER_CLIENTS_ON: case CMD_ID_SET_IPFILTER_SERVERS_ON: tmp_int = 1; case CMD_ID_SET_IPFILTER_OFF: case CMD_ID_SET_IPFILTER_CLIENTS_OFF: case CMD_ID_SET_IPFILTER_SERVERS_OFF: { if (CmdId == CMD_ID_SET_IPFILTER_CLIENTS_ON || CmdId == CMD_ID_SET_IPFILTER_CLIENTS_OFF) { CmdId = CMD_ID_GET_IPFILTER_STATE_CLIENTS; } else if (CmdId == CMD_ID_SET_IPFILTER_SERVERS_ON || CmdId == CMD_ID_SET_IPFILTER_SERVERS_OFF) { CmdId = CMD_ID_GET_IPFILTER_STATE_SERVERS; } else { CmdId = CMD_ID_GET_IPFILTER_STATE; } request = new CECPacket(EC_OP_SET_PREFERENCES); CECEmptyTag prefs(EC_TAG_PREFS_SECURITY); if (CmdId != CMD_ID_GET_IPFILTER_STATE_SERVERS) { prefs.AddTag(CECTag(EC_TAG_IPFILTER_CLIENTS, (uint8)tmp_int)); } if (CmdId != CMD_ID_GET_IPFILTER_STATE_CLIENTS) { prefs.AddTag(CECTag(EC_TAG_IPFILTER_SERVERS, (uint8)tmp_int)); } request->AddTag(prefs); request_list.push_back(request); } case CMD_ID_GET_IPFILTER: case CMD_ID_GET_IPFILTER_STATE: case CMD_ID_GET_IPFILTER_STATE_CLIENTS: case CMD_ID_GET_IPFILTER_STATE_SERVERS: request = new CECPacket(EC_OP_GET_PREFERENCES); request->AddTag(CECTag(EC_TAG_SELECT_PREFS, (uint32)EC_PREFS_SECURITY)); request_list.push_back(request); break; case CMD_ID_SET_IPFILTER_LEVEL: if (!args.IsEmpty()) // This 'if' must stay as long as we support the deprecated 'IPLevel' command. { unsigned long int level = 0; if (args.ToULong(&level) == true && level < 256) { request = new CECPacket(EC_OP_SET_PREFERENCES); CECEmptyTag prefs(EC_TAG_PREFS_SECURITY); prefs.AddTag(CECTag(EC_TAG_IPFILTER_LEVEL, (uint8)level)); request->AddTag(prefs); request_list.push_back(request); } else { return CMD_ERR_INVALID_ARG; } } CmdId = CMD_ID_GET_IPFILTER_LEVEL; case CMD_ID_GET_IPFILTER_LEVEL: request = new CECPacket(EC_OP_GET_PREFERENCES); request->AddTag(CECTag(EC_TAG_SELECT_PREFS, (uint32)EC_PREFS_SECURITY)); request_list.push_back(request); break; case CMD_ID_PAUSE: case CMD_ID_CANCEL: case CMD_ID_RESUME: { if ( args.IsEmpty() ) { Show(_("This command requires an argument. Valid arguments: 'all', filename, or a number.\n")); return 0; } else { wxStringTokenizer argsTokenizer(args); wxString token; CMD4Hash hash; // Grab the entire dl queue right away CECPacket request_all(EC_OP_GET_DLOAD_QUEUE, EC_DETAIL_CMD); const CECPacket *reply_all = SendRecvMsg_v2(&request_all); if (reply_all) { switch(CmdId) { case CMD_ID_PAUSE: request = new CECPacket(EC_OP_PARTFILE_PAUSE); break; case CMD_ID_CANCEL: request = new CECPacket(EC_OP_PARTFILE_DELETE); break; case CMD_ID_RESUME: request = new CECPacket(EC_OP_PARTFILE_RESUME); break; default: wxFAIL; } // We loop through all the arguments while(argsTokenizer.HasMoreTokens()) { token=argsTokenizer.GetNextToken(); // If the user requested all, then we select all files and exit the loop // since there is little point to add anything more to "everything" if( token == wxT("all") ) { for (CECPacket::const_iterator it = reply_all->begin(); it != reply_all->end(); ++it) { const CEC_PartFile_Tag *tag = static_cast<const CEC_PartFile_Tag *>(&*it); request->AddTag(CECTag(EC_TAG_PARTFILE, tag->FileHash())); } break; } else if ( hash.Decode(token.Trim(false).Trim(true)) ) { if ( !hash.IsEmpty() ) { Show(_("Processing by hash: "+token+wxT("\n"))); request->AddTag(CECTag(EC_TAG_PARTFILE, hash)); } } else { // Go through the dl queue and look at each filename for (CECPacket::const_iterator it = reply_all->begin(); it != reply_all->end(); ++it) { const CEC_PartFile_Tag *tag = static_cast<const CEC_PartFile_Tag *>(&*it); wxString partmetname = tag->PartMetName(); // We check for filename, XXX.pat.met, XXX.part, XXX if( tag->FileName() == token || partmetname == token || partmetname.Truncate(partmetname.Len()-4) == token || partmetname.Truncate(partmetname.Len()-5) == token) { Show(_("Processing by filename: "+token+wxT("\n"))); request->AddTag(CECTag(EC_TAG_PARTFILE, tag->FileHash())); } } } // End of filename check else } // End of argument token loop request_list.push_back(request); delete reply_all; } // End of dl queue processing } // end of command processing break; } case CMD_ID_PRIORITY_LOW: case CMD_ID_PRIORITY_NORMAL: case CMD_ID_PRIORITY_HIGH: case CMD_ID_PRIORITY_AUTO: if ( args.IsEmpty() ) { Show(_("This command requires an argument. Valid arguments: a file hash.\n")); return 0; } else { CMD4Hash hash; if (hash.Decode(args.Trim(false).Trim(true))) { if (!hash.IsEmpty()) { request = new CECPacket(EC_OP_PARTFILE_PRIO_SET); CECTag hashtag(EC_TAG_PARTFILE, hash); switch(CmdId) { case CMD_ID_PRIORITY_LOW: hashtag.AddTag(CECTag(EC_TAG_PARTFILE_PRIO, (uint8)PR_LOW)); break; case CMD_ID_PRIORITY_NORMAL: hashtag.AddTag(CECTag(EC_TAG_PARTFILE_PRIO, (uint8)PR_NORMAL)); break; case CMD_ID_PRIORITY_HIGH: hashtag.AddTag(CECTag(EC_TAG_PARTFILE_PRIO, (uint8)PR_HIGH)); break; case CMD_ID_PRIORITY_AUTO: hashtag.AddTag(CECTag(EC_TAG_PARTFILE_PRIO, (uint8)PR_AUTO)); break; default: wxFAIL; } request->AddTag(hashtag); request_list.push_back(request); } else { Show(_("Not a valid number\n")); return 0; } } else { Show(_("Not a valid hash (length should be exactly 32 chars)\n")); return 0; } } break; case CMD_ID_SHOW_UL: request_list.push_back(new CECPacket(EC_OP_GET_ULOAD_QUEUE)); break; case CMD_ID_SHOW_DL: request_list.push_back(new CECPacket(EC_OP_GET_DLOAD_QUEUE)); break; case CMD_ID_SHOW_LOG: request_list.push_back(new CECPacket(EC_OP_GET_LOG)); break; case CMD_ID_SHOW_SERVERS: request_list.push_back(new CECPacket(EC_OP_GET_SERVER_LIST, EC_DETAIL_CMD)); break; case CMD_ID_SHOW_SHARED: request_list.push_back(new CECPacket(EC_OP_GET_SHARED_FILES)); break; case CMD_ID_RESET_LOG: request_list.push_back(new CECPacket(EC_OP_RESET_LOG)); break; case CMD_ID_ADDLINK: if (args.StartsWith(wxT("ed2k://"))) { //aMule doesn't like AICH links without |/| in front of h= if (args.Find(wxT("|h=")) > -1 && args.Find(wxT("|/|h=")) == -1) { args.Replace(wxT("|h="),wxT("|/|h=")); } // repair links where | is replaced with %7C (Firefox) if (args.StartsWith(wxT("ed2k://%7C"))) { args.Replace(wxT("%7C"),wxT("|")); } } request = new CECPacket(EC_OP_ADD_LINK); request->AddTag(CECTag(EC_TAG_STRING, args)); request_list.push_back(request); break; case CMD_ID_SET_BWLIMIT_UP: tmp_int = EC_TAG_CONN_MAX_UL - EC_TAG_CONN_MAX_DL; case CMD_ID_SET_BWLIMIT_DOWN: tmp_int += EC_TAG_CONN_MAX_DL; { unsigned long int limit; if (args.ToULong(&limit)) { request = new CECPacket(EC_OP_SET_PREFERENCES); CECEmptyTag prefs(EC_TAG_PREFS_CONNECTIONS); prefs.AddTag(CECTag(tmp_int, (uint16)limit)); request->AddTag(prefs); request_list.push_back(request); } else { return CMD_ERR_INVALID_ARG; } } case CMD_ID_GET_BWLIMITS: request = new CECPacket(EC_OP_GET_PREFERENCES); request->AddTag(CECTag(EC_TAG_SELECT_PREFS, (uint32)EC_PREFS_CONNECTIONS)); request_list.push_back(request); break; case CMD_ID_STATTREE: request = new CECPacket(EC_OP_GET_STATSTREE); if (!args.IsEmpty()) { unsigned long int max_versions; if (args.ToULong(&max_versions)) { if (max_versions < 256) { request->AddTag(CECTag(EC_TAG_STATTREE_CAPPING, (uint8)max_versions)); } else { delete request; return CMD_ERR_INVALID_ARG; } } else { delete request; return CMD_ERR_INVALID_ARG; } } request_list.push_back(request); break; case CMD_ID_SEARCH_GLOBAL: search_type = EC_SEARCH_GLOBAL; case CMD_ID_SEARCH_LOCAL: if (search_type != EC_SEARCH_GLOBAL){ search_type = EC_SEARCH_LOCAL; } case CMD_ID_SEARCH_KAD: if (search_type != EC_SEARCH_GLOBAL && search_type != EC_SEARCH_LOCAL){ search_type = EC_SEARCH_KAD; } if (!args.IsEmpty()) { wxString search = args; wxString type; wxString extention; uint32 avail = 0; uint32 min_size = 0; uint32 max_size = 0; request = new CECPacket(EC_OP_SEARCH_START); request->AddTag(CEC_Search_Tag (search, search_type, type, extention, avail, min_size, max_size)); request_list.push_back(request); } break; case CMD_ID_SEARCH: /* TRANSLATORS: 'help search' is a command to the program, do not translate it. */ Show(_("No search type defined.\nType 'help search' to get more help.\n")); break; case CMD_ID_SEARCH_RESULTS: request_list.push_back(new CECPacket(EC_OP_SEARCH_RESULTS, EC_DETAIL_FULL)); break; case CMD_ID_SEARCH_PROGRESS: request_list.push_back(new CECPacket(EC_OP_SEARCH_PROGRESS)); break; case CMD_ID_DOWNLOAD: if (!args.IsEmpty()) { unsigned long int id = 0; if (args.ToULong(&id) == true && id < m_Results_map.size()) { SearchFile* file = m_Results_map[id]; Show(CFormat(_("Download File: %lu %s\n")) % id % file->sFileName); request = new CECPacket(EC_OP_DOWNLOAD_SEARCH_RESULT); // get with id the hash and category=0 uint32 category = 0; CECTag hashtag(EC_TAG_PARTFILE, file->nHash); hashtag.AddTag(CECTag(EC_TAG_PARTFILE_CAT, category)); request->AddTag(hashtag); request_list.push_back(request); } else { return CMD_ERR_INVALID_ARG; } } break; default: return CMD_ERR_PROCESS_CMD; } m_last_cmd_id = CmdId; if ( ! request_list.empty() ) { std::list<CECPacket *>::iterator it = request_list.begin(); while ( it != request_list.end() ) { CECPacket *curr = *it++; if (curr->GetOpCode() == EC_OP_SHUTDOWN) { SendPacket(curr); delete curr; return CMD_ID_QUIT; } const CECPacket *reply = SendRecvMsg_v2(curr); delete curr; if ( reply ) { Process_Answer_v2(reply); delete reply; } } request_list.resize(0); } return CMD_OK; }
void CT_WServRateLimiterTestServer::ConstructL() { RProcess handle = RProcess(); TParsePtrC serverName(handle.FileName()); CTestServer::ConstructL(serverName.Name()); }
int ClientNetwork::qt_metacall(QMetaObject::Call _c, int _id, void **_a) { _id = QObject::qt_metacall(_c, _id, _a); if (_id < 0) return _id; if (_c == QMetaObject::InvokeMetaMethod) { switch (_id) { case 0: packetReceived(); break; case 1: packetCorrupted(); break; case 2: pingUpdated((*reinterpret_cast< quint32(*)>(_a[1]))); break; case 3: chatReceived((*reinterpret_cast< CLID(*)>(_a[1])),(*reinterpret_cast< QString(*)>(_a[2])),(*reinterpret_cast< QString(*)>(_a[3])),(*reinterpret_cast< ENUM_TYPE(*)>(_a[4]))); break; case 4: serverInformationsChanged((*reinterpret_cast< ServerInformations(*)>(_a[1]))); break; case 5: clientIDChanged((*reinterpret_cast< CLID(*)>(_a[1]))); break; case 6: nicknameChanged((*reinterpret_cast< CLID(*)>(_a[1])),(*reinterpret_cast< QString(*)>(_a[2]))); break; case 7: error((*reinterpret_cast< ENUM_TYPE(*)>(_a[1])),(*reinterpret_cast< QString(*)>(_a[2]))); break; case 8: clientVoted((*reinterpret_cast< CLID(*)>(_a[1])),(*reinterpret_cast< CLID(*)>(_a[2]))); break; case 9: newGameMaster((*reinterpret_cast< CLID(*)>(_a[1]))); break; case 10: serverName((*reinterpret_cast< QString(*)>(_a[1]))); break; case 11: motdChanged((*reinterpret_cast< QString(*)>(_a[1]))); break; case 12: gameLaunched(); break; case 13: narrationChanged((*reinterpret_cast< QString(*)>(_a[1]))); break; case 14: mapChanged((*reinterpret_cast< MapPtr(*)>(_a[1]))); break; case 15: mapFlare((*reinterpret_cast< QPoint(*)>(_a[1])),(*reinterpret_cast< CLID(*)>(_a[2]))); break; case 16: scriptToGMMsg((*reinterpret_cast< QString(*)>(_a[1])),(*reinterpret_cast< QString(*)>(_a[2]))); break; case 17: scriptToOwnerMsg((*reinterpret_cast< QString(*)>(_a[1])),(*reinterpret_cast< QString(*)>(_a[2]))); break; case 18: scriptActionMsg((*reinterpret_cast< QString(*)>(_a[1])),(*reinterpret_cast< QString(*)>(_a[2]))); break; case 19: scriptToPlayerMsg((*reinterpret_cast< QString(*)>(_a[1])),(*reinterpret_cast< QString(*)>(_a[2]))); break; case 20: scriptMsg((*reinterpret_cast< QString(*)>(_a[1])),(*reinterpret_cast< QString(*)>(_a[2]))); break; case 21: scriptError((*reinterpret_cast< QString(*)>(_a[1])),(*reinterpret_cast< QString(*)>(_a[2]))); break; case 22: updateEntities((*reinterpret_cast< const QList<EntityInformations>(*)>(_a[1]))); break; case 23: updateEntity((*reinterpret_cast< const EntityInformations(*)>(_a[1]))); break; case 24: entityDeleted((*reinterpret_cast< const QString(*)>(_a[1]))); break; case 25: scriptReceived((*reinterpret_cast< QString(*)>(_a[1])),(*reinterpret_cast< QString(*)>(_a[2]))); break; case 26: ressourcesUpdated((*reinterpret_cast< const QMap<QString,RSID>(*)>(_a[1]))); break; case 27: connectionEtablished(); break; case 28: connectionLost(); break; case 29: diceRolled((*reinterpret_cast< CLID(*)>(_a[1])),(*reinterpret_cast< quint16(*)>(_a[2])),(*reinterpret_cast< quint16(*)>(_a[3]))); break; case 30: sanctionned((*reinterpret_cast< CLID(*)>(_a[1])),(*reinterpret_cast< ENUM_TYPE(*)>(_a[2])),(*reinterpret_cast< QString(*)>(_a[3]))); break; case 31: clientJoined((*reinterpret_cast< CLID(*)>(_a[1])),(*reinterpret_cast< QString(*)>(_a[2]))); break; case 32: clientLeft((*reinterpret_cast< CLID(*)>(_a[1]))); break; case 33: playSound((*reinterpret_cast< QString(*)>(_a[1])),(*reinterpret_cast< QString(*)>(_a[2]))); break; case 34: syncLibs((*reinterpret_cast< QList<SoundLibInformations>(*)>(_a[1]))); break; case 35: syncLanguagesList((*reinterpret_cast< QList<QPair<QString,QString> >(*)>(_a[1]))); break; case 36: syncDictionariesList((*reinterpret_cast< QStringList(*)>(_a[1]))); break; case 37: syncScriptList((*reinterpret_cast< QStringList(*)>(_a[1]))); break; case 38: updateCharacterList((*reinterpret_cast< const QStringList(*)>(_a[1]))); break; case 39: send((*reinterpret_cast< Packet*(*)>(_a[1])),(*reinterpret_cast< bool(*)>(_a[2]))); break; case 40: send((*reinterpret_cast< Packet*(*)>(_a[1]))); break; case 41: send((*reinterpret_cast< Packet(*)>(_a[1]))); break; case 42: send((*reinterpret_cast< qint32(*)>(_a[1])),(*reinterpret_cast< const QByteArray(*)>(_a[2]))); break; case 43: ping(); break; case 44: { qint32 _r = getPing(); if (_a[0]) *reinterpret_cast< qint32*>(_a[0]) = _r; } break; case 45: { QString _r = serverIP(); if (_a[0]) *reinterpret_cast< QString*>(_a[0]) = _r; } break; case 46: { quint16 _r = serverPort(); if (_a[0]) *reinterpret_cast< quint16*>(_a[0]) = _r; } break; case 47: flush(); break; case 48: connection(); break; case 49: disconnection(); break; case 50: { bool _r = setServer((*reinterpret_cast< QString(*)>(_a[1])),(*reinterpret_cast< quint16(*)>(_a[2]))); if (_a[0]) *reinterpret_cast< bool*>(_a[0]) = _r; } break; case 51: connected(); break; case 52: disconnected(); break; case 53: dataReceived(); break; case 54: socketError((*reinterpret_cast< QAbstractSocket::SocketError(*)>(_a[1]))); break; case 55: operatePacket((*reinterpret_cast< Packet*(*)>(_a[1]))); break; default: ; } _id -= 56; } return _id; }
Process::~Process() { // Let the server know we don't exist any more. Server* server = ServerRegistry::instance().get(serverName()); if (server) server->removeFromWatchList(this); }
/** * ServerName * * @return The TEF server name. */ GLDEF_C const TTestName ServerName() { TTestName serverName(KServerName); return serverName; }
int ClientInterface::qt_metacall(QMetaObject::Call _c, int _id, void **_a) { _id = QMainWindow::qt_metacall(_c, _id, _a); if (_id < 0) return _id; if (_c == QMetaObject::InvokeMetaMethod) { switch (_id) { case 0: sendMessage(); break; case 1: chat((*reinterpret_cast< CLID(*)>(_a[1])),(*reinterpret_cast< QString(*)>(_a[2])),(*reinterpret_cast< QString(*)>(_a[3])),(*reinterpret_cast< ENUM_TYPE(*)>(_a[4]))); break; case 2: changeServerInformations((*reinterpret_cast< ServerInformations(*)>(_a[1]))); break; case 3: changeClientID((*reinterpret_cast< CLID(*)>(_a[1]))); break; case 4: changeClientNickname((*reinterpret_cast< CLID(*)>(_a[1])),(*reinterpret_cast< QString(*)>(_a[2]))); break; case 5: showError((*reinterpret_cast< ENUM_TYPE(*)>(_a[1])),(*reinterpret_cast< QString(*)>(_a[2]))); break; case 6: changeGameMaster((*reinterpret_cast< CLID(*)>(_a[1]))); break; case 7: clientVoted((*reinterpret_cast< CLID(*)>(_a[1])),(*reinterpret_cast< CLID(*)>(_a[2]))); break; case 8: connectionEtablished(); break; case 9: connectionLost(); break; case 10: diceRolled((*reinterpret_cast< CLID(*)>(_a[1])),(*reinterpret_cast< quint16(*)>(_a[2])),(*reinterpret_cast< quint16(*)>(_a[3]))); break; case 11: sanctionned((*reinterpret_cast< CLID(*)>(_a[1])),(*reinterpret_cast< ENUM_TYPE(*)>(_a[2])),(*reinterpret_cast< QString(*)>(_a[3]))); break; case 12: rollDice(); break; case 13: rollSpecialDice(); break; case 14: serverName((*reinterpret_cast< QString(*)>(_a[1]))); break; case 15: motdChanged((*reinterpret_cast< QString(*)>(_a[1]))); break; case 16: gameLaunched(); break; case 17: setTitle(); break; case 18: playSound((*reinterpret_cast< QString(*)>(_a[1])),(*reinterpret_cast< QString(*)>(_a[2]))); break; case 19: updatePlayerList(); break; case 20: clientJoined((*reinterpret_cast< CLID(*)>(_a[1])),(*reinterpret_cast< QString(*)>(_a[2]))); break; case 21: clientLeft((*reinterpret_cast< CLID(*)>(_a[1]))); break; case 22: updateGMLabel(); break; case 23: updateGMPanel(); break; case 24: { bool _r = addLanguage(); if (_a[0]) *reinterpret_cast< bool*>(_a[0]) = _r; } break; case 25: { bool _r = addLanguage((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< const QString(*)>(_a[2]))); if (_a[0]) *reinterpret_cast< bool*>(_a[0]) = _r; } break; case 26: languageListMenu((*reinterpret_cast< const QPoint(*)>(_a[1]))); break; case 27: { bool _r = removeLanguage((*reinterpret_cast< const QString(*)>(_a[1]))); if (_a[0]) *reinterpret_cast< bool*>(_a[0]) = _r; } break; case 28: removeLanguageMenu(); break; case 29: importLanguageList(); break; case 30: sendLanguageList(); break; case 31: { CLID _r = CLIDFromString((*reinterpret_cast< const QString(*)>(_a[1]))); if (_a[0]) *reinterpret_cast< CLID*>(_a[0]) = _r; } break; case 32: switchConnectionState(); break; case 33: openSettings(); break; case 34: openSoundsGUI(); break; case 35: aboutUs(); break; case 36: aboutServer(); break; case 37: openMapEditor(); break; case 38: clearMapEditor(); break; case 39: mapFlare(); break; case 40: resetData(); break; case 41: setCSS((*reinterpret_cast< const QString(*)>(_a[1]))); break; case 42: setCSS(); break; case 43: setInterface((*reinterpret_cast< const QString(*)>(_a[1]))); break; case 44: setInterface(); break; case 45: playerListMenu((*reinterpret_cast< const QPoint(*)>(_a[1]))); break; case 46: actionKick(); break; case 47: actionBan(); break; case 48: actionVoteGM(); break; case 49: actionChangeGM(); break; case 50: refresh(); break; case 51: textChanged(); break; case 52: narrationChanged((*reinterpret_cast< QString(*)>(_a[1]))); break; case 53: syncSoundLibs((*reinterpret_cast< QList<SoundLibInformations>(*)>(_a[1]))); break; case 54: syncLanguagesList((*reinterpret_cast< QList<QPair<QString,QString> >(*)>(_a[1]))); break; case 55: syncDictionariesList((*reinterpret_cast< QStringList(*)>(_a[1]))); break; case 56: requestScriptDownload((*reinterpret_cast< QString(*)>(_a[1]))); break; case 57: sendScriptToServer((*reinterpret_cast< QString(*)>(_a[1])),(*reinterpret_cast< QString(*)>(_a[2]))); break; case 58: deleteScript((*reinterpret_cast< QString(*)>(_a[1]))); break; case 59: renameScript((*reinterpret_cast< QString(*)>(_a[1])),(*reinterpret_cast< QString(*)>(_a[2]))); break; case 60: makeEntity((*reinterpret_cast< QString(*)>(_a[1])),(*reinterpret_cast< QString(*)>(_a[2]))); break; case 61: deleteEntity((*reinterpret_cast< const QString(*)>(_a[1]))); break; case 62: injectCode((*reinterpret_cast< QString(*)>(_a[1])),(*reinterpret_cast< QString(*)>(_a[2]))); break; case 63: scriptToGMMsg((*reinterpret_cast< QString(*)>(_a[1])),(*reinterpret_cast< QString(*)>(_a[2]))); break; case 64: scriptToOwnerMsg((*reinterpret_cast< QString(*)>(_a[1])),(*reinterpret_cast< QString(*)>(_a[2]))); break; case 65: scriptActionMsg((*reinterpret_cast< QString(*)>(_a[1])),(*reinterpret_cast< QString(*)>(_a[2]))); break; case 66: scriptToPlayerMsg((*reinterpret_cast< QString(*)>(_a[1])),(*reinterpret_cast< QString(*)>(_a[2]))); break; case 67: scriptMsg((*reinterpret_cast< QString(*)>(_a[1])),(*reinterpret_cast< QString(*)>(_a[2]))); break; case 68: scriptError((*reinterpret_cast< QString(*)>(_a[1])),(*reinterpret_cast< QString(*)>(_a[2]))); break; case 69: sendMapToServer((*reinterpret_cast< const MapInformations*const(*)>(_a[1])),(*reinterpret_cast< const QMap<QString,RSID>(*)>(_a[2]))); break; case 70: addDictionnary(); break; case 71: saveGame(); break; case 72: loadGame(); break; case 73: VOIPRemoveClient(); break; case 74: VOIPAddClient(); break; case 75: VOIPClientVolume(); break; case 76: dataPerSecond((*reinterpret_cast< int(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2]))); break; default: ; } _id -= 77; } return _id; }
ServerCatchcopy::inputReturnType ServerCatchcopy::parseInputCurrentProtocol(quint32 client,quint32 orderId,QStringList returnList) { if(returnList.size()==0) return WrongArgumentListSize; //if is supported QString firstArgument=returnList.first(); if(firstArgument=="protocol") { if(returnList.size()!=2) return WrongArgumentListSize; emit askProtocolCompatibility(client,orderId,returnList.last()); return Ok; } else if(firstArgument=="protocol extension") { if(returnList.size()>3 || returnList.size()<2) return WrongArgumentListSize; if(!autoReply) { if(returnList.size()==2) emit askProtocolExtension(client,orderId,returnList.last()); else emit askProtocolExtension(client,orderId,returnList.at(1),returnList.last()); } return ExtensionWrong; } else if(firstArgument=="client") { if(returnList.size()!=2) return WrongArgumentListSize; emit clientName(client,returnList.last()); if(autoReply) { clientRegistered(client,orderId); return Replied; } else { emit clientName(client,orderId,returnList.last()); return Ok; } } else if(firstArgument=="server") { if(returnList.size()!=2) return WrongArgumentListSize; if(returnList.last()!="name?") return WrongArgument; if(autoReply) { serverName(client,orderId,name); return Replied; } else { askServerName(client,orderId); return Ok; } } else if(firstArgument=="cp") { if(returnList.size()<3) return WrongArgumentListSize; QStringList sourceList=returnList; sourceList.removeFirst(); sourceList.removeLast(); emitNewCopy(client,orderId,sourceList,returnList.last()); return Ok; } else if(firstArgument=="cp-?") { if(returnList.size()<2) return WrongArgumentListSize; QStringList sourceList=returnList; sourceList.removeFirst(); emitNewCopy(client,orderId,sourceList); return Ok; } else if(firstArgument=="mv") { if(returnList.size()<3) return WrongArgumentListSize; QStringList sourceList=returnList; sourceList.removeFirst(); sourceList.removeLast(); emitNewMove(client,orderId,sourceList,returnList.last()); return Ok; } else if(firstArgument=="mv-?") { if(returnList.size()<2) return WrongArgumentListSize; QStringList sourceList=returnList; sourceList.removeFirst(); emitNewMove(client,orderId,sourceList); return Ok; } else //if is not supported return UnknowOrder; }
Application::Application(int& argc, char** argv) : QApplication( argc, argv ) , m_closedWindow( 0 ) , m_actionStopAllTasks( this ) , m_windows( QList<CharmWindow*> () << &m_tasksWindow << &m_eventWindow << &m_timeTracker ) , m_actionQuit( this ) , m_state(Constructed) , m_actionAboutDialog( this ) , m_actionPreferences( this ) , m_actionExportToXml( this ) , m_actionImportFromXml( this ) , m_actionSyncTasks( this ) , m_actionImportTasks( this ) , m_actionExportTasks( this ) , m_actionEnterVacation( this ) , m_actionActivityReport( this ) , m_actionWeeklyTimesheetReport( this ) , m_actionMonthlyTimesheetReport( this ) , m_idleDetector( 0 ) , m_timeTrackerHiddenFromSystrayToggle( false ) , m_tasksWindowHiddenFromSystrayToggle( false ) , m_eventWindowHiddenFromSystrayToggle( false ) , m_dateChangeWatcher( new DateChangeWatcher( this ) ) { // QApplication setup setQuitOnLastWindowClosed(false); // application metadata setup // note that this modifies the behaviour of QSettings: QCoreApplication::setOrganizationName("KDAB"); QCoreApplication::setOrganizationDomain("kdab.com"); QCoreApplication::setApplicationName("Charm"); QCoreApplication::setApplicationVersion(CHARM_VERSION); QLocalSocket uniqueApplicationSocket; QString serverName( "com.kdab.charm" ); #ifndef NDEBUG serverName.append( "_debug" ); #endif uniqueApplicationSocket.connectToServer(serverName, QIODevice::ReadOnly); if (uniqueApplicationSocket.waitForConnected(1000)) throw AlreadyRunningException(); connect(&m_uniqueApplicationServer, SIGNAL(newConnection()), this, SLOT(slotHandleUniqueApplicationConnection())); QFile::remove(QDir::tempPath() + '/' + serverName); bool listening = m_uniqueApplicationServer.listen(serverName); if (!listening) qDebug() << "Failed to create QLocalServer for unique application support:" << m_uniqueApplicationServer.errorString(); Q_INIT_RESOURCE(CharmResources); Q_ASSERT_X(m_instance == 0, "Application ctor", "Application is a singleton and cannot be created more than once"); m_instance = this; qRegisterMetaType<State> ("State"); qRegisterMetaType<Event> ("Event"); // exit process (app will only exit once controller says it is ready) connect(&m_controller, SIGNAL(readyToQuit()), SLOT( slotControllerReadyToQuit())); connectControllerAndModel(&m_controller, m_model.charmDataModel()); connectControllerAndView(&m_controller, &mainView()); Q_FOREACH( CharmWindow* window, m_windows ) { if ( window != &mainView() ) { // main view acts as the main relay connect( window, SIGNAL( emitCommand( CharmCommand* ) ), &mainView(), SLOT( sendCommand( CharmCommand* ) ) ); connect( window, SIGNAL( emitCommandRollback( CharmCommand* ) ), &mainView(), SLOT( sendCommandRollback( CharmCommand* ) ) ); } // save the configuration (configuration is managed by the application) connect( window, SIGNAL(saveConfiguration() ), SLOT( slotSaveConfiguration() ) ); connect( window, SIGNAL( visibilityChanged( bool ) ), this, SLOT( slotCharmWindowVisibilityChanged( bool ) ) ); }
bool MaemoPublishingUploadSettingsPageFremantleFree::validatePage() { m_publisher->setSshParams(serverName(), garageAccountName(), privateKeyFilePath(), directoryOnServer()); return true; }
bool MaemoPublishingUploadSettingsPageFremantleFree::isComplete() const { return !garageAccountName().isEmpty() && !privateKeyFilePath().isEmpty() && !serverName().isEmpty() && !directoryOnServer().isEmpty(); }