Ejemplo n.º 1
0
void Fichier::analyseFichier(long nbHitsAnalyse,int heureAnalyse, string nomFichierDot)
{
    ifstream fichier(cheminAcces,ios::in);  // on ouvre en lecture
    string ligne;
    if(fichier){
        
        while(getline(fichier, ligne)){
            analyseLigne(ligne,nbHitsAnalyse, heureAnalyse, nomFichierDot);
        }
        
        if (optionsActives[VERIF_NB_HITS] && optionsActives [GENERATION_DOT]){
            supprimeFichierNbHitsInf(nbHitsAnalyse);
            afficheDocConsult();
            genererFichierDot(nomFichierDot);
            
        } else if (optionsActives [GENERATION_DOT]){
            afficheDocConsult();
            genererFichierDot(nomFichierDot);
            
            
        }else{
            afficheDocConsult();
            
        }
    }
    
    
} //----- Fin de M?thode
Ejemplo n.º 2
0
void sigUsr1Handler(int sig)
{
	int i;
	CASE *pcase;
	pcase = (CASE*)pthread_getspecific(cle);

	if (analyseLigne(pcase->ligne))
	{
		for (i = 0 ; i < 10 ; ++i)
		{
			DessineSprite(pcase->ligne, i, FUSION);
			tab[pcase->ligne][i] = FUSION;
		}

		pthread_mutex_lock(&mutexAnalyse);
		if (!recherche_int(pcase->ligne, lignesCompletes, nbLignesCompletes))
		{
			lignesCompletes[nbLignesCompletes] = pcase->ligne;
			++nbLignesCompletes;
		}
		pthread_mutex_unlock(&mutexAnalyse);
	}
	if (analyseColonne(pcase->colonne))
	{
		for (i = 0 ; i < NB_LIGNES ; ++i)
		{
			DessineSprite(i, pcase->colonne, FUSION);
			tab[i][pcase->colonne] = FUSION;
		}

		pthread_mutex_lock(&mutexAnalyse);
		if (!recherche_int(pcase->colonne, colonnesCompletes, nbColonnesCompletes))
		{
			colonnesCompletes[nbColonnesCompletes] = pcase->colonne;
			++nbColonnesCompletes;
		}
		pthread_mutex_unlock(&mutexAnalyse);
	}

	pthread_mutex_lock(&mutexAnalyse);
	++nbAnalyses;
	pthread_mutex_unlock(&mutexAnalyse);
	pthread_cond_signal(&condAnalyse);
}