void MainWindow::initApp() { x11 = 0; ui->tabWidget->setDisabled(true); ui->statusBar->addPermanentWidget(ui->progressBar); ui->progressBar->hide(); ui->pushButton->setEnabled(false); ui->queue->setHeaderHidden(false); tray = new QSystemTrayIcon(this); timer.start(); // get a time reference connect(&pkgsrc,SIGNAL(packageOptionsResult(QStringList)),this,SLOT(packageOptions(QStringList))); connect(&pkgsrc,SIGNAL(downloadFinished(int)),this,SLOT(pkgsrcDownloadFinished(int))); connect(&pkgsrc,SIGNAL(downloadStatus(qint64,qint64)),this,SLOT(pkgsrcDownloadStatus(qint64,qint64))); connect(&pkgsrc,SIGNAL(extractFinished(int)),this,SLOT(bootstrapExtractFinished(int))); connect(&pkgsrc,SIGNAL(extractStatus(QString)),this,SLOT(bootstrapExtractRead())); connect(&pkgsrc,SIGNAL(bootstrapFinished(int)),this,SLOT(bootstrapMakeFinished(int))); connect(&pkgsrc,SIGNAL(bootstrapStatus(QString)),this,SLOT(bootstrapMakeRead(QString))); connect(&pkgsrc,SIGNAL(bmakeFinished(int)),this,SLOT(queueFinished(int))); connect(&pkgsrc,SIGNAL(bmakeStatus(QString)),this,SLOT(queueRead(QString))); connect(&pkgsrc,SIGNAL(packageDependsResult(QStringList)),this,SLOT(packageDepends(QStringList))); connect(&pkgsrc,SIGNAL(packagesInstalledResult(QStringList)),this,SLOT(pkgsrcInstalledFinished(QStringList))); connect(&pkgsrc,SIGNAL(packageVersionResult(QString)),this,SLOT(pkgsrcPkgVersionFinished(QString))); connect(&pkgsrc,SIGNAL(packageNameResult(QString)),this,SLOT(pkgsrcPkgNameFinished(QString))); connect(&pkgsrc,SIGNAL(packagesVulnsResult(QStringList)),this,SLOT(pkgsrcPkgVulnCheckFinished(QStringList))); connect(&pkgsrc,SIGNAL(packageRemoveStatus(QString)),this,SLOT(delPackageLog(QString))); connect(&pkgsrc,SIGNAL(packageRemoveResult(int)),this,SLOT(delPackageDone(int))); connect(&pkgsrc,SIGNAL(pkgsrcReady()),this,SLOT(bootstrapCheck())); connect(&work,SIGNAL(updateListResult(QStringList)),this,SLOT(catchUpdates(QStringList))); connect(wiz.ui->save,SIGNAL(clicked()),this,SLOT(startWiz())); QSettings settings; settings.beginGroup("global"); if (settings.value("firstrun").toInt()==1) pkgsrc.initPkgsrc(0,"",0,""); else { this->hide(); wiz.show(); } settings.endGroup(); ui->actionSync->setDisabled(true); // sync can only be used after pkgsrcready and bmake must be blocked connect(tray,SIGNAL(activated(QSystemTrayIcon::ActivationReason)),this,SLOT(trayActivated())); tray->setIcon(QIcon(":/files/tray.png")); tray->setToolTip("UserPKG"); if (tray->isSystemTrayAvailable()) { tray->show(); } if (tray->isVisible()) { for (int i = 0; i < QApplication::arguments().size(); ++i) { if (QApplication::arguments().at(i).contains("--tray")) this->hide(); } } }
static unsigned short int perform(unsigned char _dad,const char *name, unsigned short int lenIn,unsigned char *command, unsigned short int *lenOut,unsigned char *response) { unsigned char sad=CTAPI_SAD; unsigned char dad=_dad; char logmsg[1024]; char temp[20]; static unsigned char *response_local = NULL; static unsigned short int lenOut_local, lenOut_return; if (response_local==NULL) { lenOut_local = MIN_LOCAL_RESPONSE_BUFFER_SIZE; response_local = (unsigned char *)malloc( lenOut_local * sizeof(unsigned char) ); if (response_local==NULL) { CTAPI_log("Alloc of local response buffer failed. Out of memory. Aborting!"); return 0; } } if (lenOut_local<(*lenOut)) { free( response_local ); lenOut_local = *lenOut; response_local = (unsigned char *)malloc( lenOut_local * sizeof(unsigned char) ); if (response_local==NULL) { CTAPI_log("Realloc of local response buffer failed. Out of memory. Aborting!"); return 0; } } lenOut_return = lenOut_local; sprintf(logmsg,"%s apdu:",name); for (int i=0;i<lenIn;i++) { sprintf(temp," %02X",command[i]); strcat(logmsg,temp); } CTAPI_log(logmsg); memcpy(CTAPI_error.request,command,lenIn); CTAPI_error.reqLen=lenIn; char err; int retries=3; while (retries--) { err=(*datafunc)(ctnum,&dad,&sad,lenIn,command,&lenOut_return,response_local); CTAPI_error.ret=err; if (!err) break; sprintf(logmsg,"%s: %i (%s)",name,err,CTAPI_getErrorString(err)); CTAPI_log(logmsg); } if (lenOut_return < (*lenOut)) { *lenOut = lenOut_return; } memcpy(response,response_local, *lenOut); if (err!=0) { CTAPI_log("aborting"); return 0; } sprintf(logmsg,"%s response:",name); for (int i=0;i<*lenOut;i++) { sprintf(temp," %02X",response[i]); strcat(logmsg,temp); } CTAPI_log(logmsg); memcpy(CTAPI_error.response,response,*lenOut); CTAPI_error.resLen=*lenOut; unsigned short int status=extractStatus(*lenOut,response); CTAPI_error.status=status; char *msg=CTAPI_getStatusString(status); sprintf(logmsg,"%s: %s",name,msg); CTAPI_log(logmsg); delete msg; return status; }