1 /********************************************************************* 2 * Clustal Omega - Multiple sequence alignment 3 * 4 * Copyright (C) 2010 University College Dublin 5 * 6 * Clustal-Omega is free software; you can redistribute it and/or 7 * modify it under the terms of the GNU General Public License as 8 * published by the Free Software Foundation; either version 2 of the 9 * License, or (at your option) any later version. 10 * 11 * This file is part of Clustal-Omega. 12 * 13 ********************************************************************/ 14 15 /* 16 * RCS $Id: progress.h 193 2011-02-07 15:45:21Z andreas $ 17 */ 18 19 20 #ifndef CLUSTALO_PROGRESS_H 21 #define CLUSTALO_PROGRESS_H 22 23 #include "squid/stopwatch.h" 24 25 typedef struct { 26 /* where to write to */ 27 FILE *prFile; 28 /* prefix printed before each step */ 29 char *pcPrefix; 30 bool bPrintCR; 31 char pcLastLogMsg[1024]; 32 Stopwatch_t *prStopwatch; 33 } progress_t; 34 35 36 extern void 37 NewProgress(progress_t **pprProgress, FILE *prFile, char *pcPrefix, bool bPrintCR); 38 39 extern void 40 FreeProgress(progress_t **pprProgress); 41 42 extern void 43 ProgressLog(progress_t *prProgress, 44 unsigned long int iStep, unsigned long int iTotalSteps, 45 bool bForceOutput); 46 47 extern void 48 ProgressDone(progress_t *pprProgress); 49 50 #endif 51