void dataFile::searchHashSource(char *source, QTableWidget *tb) { disco.open(name.toStdString().c_str(),ios::binary | ios::in | ios::out); //Inicio de timer para buscar por source iniciar(); QList<long> *list=hashSource->mostrarLista(source); detener(); this->timeSearchHashSource += this->getMS(); //Termina search(source,list,tb); disco.close(); }
void dataFile::searchHashDestino(char *destino, QTableWidget *tb) { disco.open(name.toStdString().c_str(),ios::binary | ios::in | ios::out); //Inicio de timer para buscar por destino iniciar(); QList<long> *list=hashDestino->mostrarLista(destino); detener(); this->timeSearchHashDestino += this->getMS(); //Termina search(destino,list,tb); disco.close(); }
void dataFile::searchAVL(char *protocolo, QTableWidget *tb) { disco.open(name.toStdString().c_str(),ios::binary | ios::in | ios::out); //Inicio de timer para buscar por protocolo iniciar(); QList<long> *list=arbolAVL->mostrarLista(protocolo); detener(); this->timeSearchAvl += this->getMS(); //Termina search(protocolo,list,tb); disco.close(); }
Ebackup::Ebackup( QWidget* parent ) : EVentana( parent ), Ui_FormBackupBase() { setupUi(this); this->setAttribute( Qt::WA_DeleteOnClose ); setObjectName( "backup" ); setWindowTitle( "Copia de Seguridad" ); setWindowIcon( QIcon( ":/imagenes/backup.png" ) ); PBProgreso->setValue( 0 ); LDebug->setText( "Presione Iniciar para comenzar" ); // inicializo el deposito de datos datos = new QByteArray(); comprimidos = new QByteArray(); ActCerrar = new QAction( "Cerrar", this ); ActCerrar->setStatusTip( "Cierra la ventana y cancela cualquier backup que se este realizando" ); ActCerrar->setIcon( QIcon( ":/imagenes/fileclose.png" ) ); connect( ActCerrar, SIGNAL( triggered() ), this, SLOT( close() ) ); ActIniciar = new QAction( "Iniciar", this ); ActIniciar->setStatusTip( "Inincia la generación de los backups" ); ActIniciar->setIcon( QIcon( ":/imagenes/next.png" ) ); connect( ActIniciar, SIGNAL( triggered() ), this, SLOT( iniciar() ) ); ActDetener = new QAction( "Detener", this ); ActDetener->setStatusTip( "Detiene la ejecución actual del backup" ); ActDetener->setIcon( QIcon( ":/imagenes/stop.png" ) ); connect( ActIniciar, SIGNAL( triggered() ), this, SLOT( detener() ) ); connect( this, SIGNAL( cambiarDetener( bool ) ), ActDetener, SLOT( setEnabled( bool ) ) ); emit cambiarDetener( false ); addAction( ActIniciar ); addAction( ActDetener ); addAction( ActCerrar ); ChBBaseDatos->setCheckState( Qt::Checked ); connect( tBBuscar, SIGNAL( clicked() ), this, SLOT( abrirArchivoBackup() ) ); Pestanas->setTabIcon( 0, QIcon( ":/imagenes/backup1.png" ) ); Pestanas->setTabIcon( 1, QIcon( ":/imagenes/backup2.png" ) ); Pestanas->widget( 0 )->setObjectName( "crearBackup" ); Pestanas->widget( 1 )->setObjectName( "restaurarBackup" ); Pestanas->setCurrentIndex(0); }
FormActualizacion::FormActualizacion(QWidget* parent, Qt::WFlags fl) : EVentana( parent, fl ), Ui::FormActualizacionBase() { setupUi(this); this->setAttribute( Qt::WA_DeleteOnClose ); this->setObjectName( "actualizacion" ); ActCerrar = new QAction( "Cerrar", this ); ActCerrar->setIcon( QIcon( ":/imagenes/fileclose.png" ) ); ActCerrar->setShortcut( QKeySequence( "Ctrl+c" ) ); ActCerrar->setToolTip( "Cierra la ventana de actualizacion ( Ctrl + c ) " ); ActCerrar->setStatusTip( "Cierra la ventana de actualizaciones" ); connect( ActCerrar, SIGNAL( triggered() ), this, SLOT( close() ) ); ActIniciar = new QAction( "Iniciar", this ); ActIniciar->setStatusTip( "Inicia la actualizacion" ); ActIniciar->setShortcut( QKeySequence( "Ctrl+i" ) ); ActIniciar->setIcon( QIcon( ":/imagenes/next.png" ) ); connect( ActIniciar, SIGNAL( triggered() ), this, SLOT( iniciar() ) ); ActDetener = new QAction( "Detener", this ); ActDetener->setIcon( QIcon( ":/imagenes/stop.png" ) ); ActDetener->setStatusTip( "Detiene la actualizacion" ); ActDetener->setToolTip( "Detiene la actualizacion ( Ctrl +d )" ); ActDetener->setShortcut( QKeySequence( "Ctrl+d" ) ); ActDetener->setEnabled( false ); connect( ActDetener, SIGNAL( triggered()), this, SLOT( detener() ) ); addAction( ActIniciar ); addAction( ActDetener ); addAction( ActCerrar ); this->setWindowTitle( "Actualizar el programa" ); this->setWindowIcon( QIcon( ":/imagenes/actualizar.png" ) ); }
void dataFile::add(long id, double time, char *source, char *destino, char *protocolo, char *info) { disco.open(name.toStdString().c_str(),ios::binary | ios::in | ios::out); int cuantos; disco.seekg(0,ios_base::beg); disco.read((char *)&cuantos,sizeof(int)); mapabits map; unsigned char *mapabits; mapabits = (unsigned char *)malloc(cuantos/8); memset(mapabits,0,cuantos/8); disco.seekg(blocks,ios_base::beg); disco.read((char *)mapabits,cuantos/8); if(map.cant_apagados(mapabits,cuantos)==0 && arbolB->search(id).rrn!=-1)//Poner lo de buscar en el arbol B para ver si existe { disco.close(); return; } int pos=map.freeblock(mapabits,cuantos); map.killblock(mapabits,pos,cuantos); nodo_data temp; temp.id=id; temp.time=time; strcpy(temp.source,source); strcpy(temp.destino,destino); strcpy(temp.protocolo,protocolo); strcpy(temp.info,info); disco.seekp(pos*blocks,ios_base::beg); disco.write((const char *)&temp,sizeof(nodo_data)); disco.seekp(blocks,ios_base::beg); disco.write((const char *)mapabits,cuantos/8); //Inicio time de agregar a llaves primarias iniciar(); arbolB->add(id,pos); detener(); this->timeAddLlavesPrimarias += this->getMS(); //Termina //Inicio time de agregar a llaves secundarias iniciar(); arbolAVL->add(protocolo,id); hashDestino->add(destino,id); hashSource->add(source,id); detener(); this->timeAddLlavesSecundarias += this->getMS(); //Termina free(mapabits); disco.close(); }