2006-08-30 Michael Dominic Kostrzewa <michael.kostrzewa@nokia.com>
[hildon] / timer / timer.c
1 /*
2  * This file is part of hildon-libs
3  *
4  * Copyright (C) 2005, 2006 Nokia Corporation.
5  *
6  * Contact: Michael Dominic Kostrzewa <michael.kostrzewa@nokia.com>
7  *
8  * This library is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU Lesser General Public License
10  * as published by the Free Software Foundation; version 2.1 of
11  * the License.
12  *
13  * This library is distributed in the hope that it will be useful, but
14  * WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16  * Lesser General Public License for more details.
17  *
18  * You should have received a copy of the GNU Lesser General Public
19  * License along with this library; if not, write to the Free Software
20  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
21  * 02110-1301 USA
22  *
23  */
24
25 #ifdef HILDON_USE_TIMESTAMPING
26
27 #include <stdio.h>
28 #include <sys/time.h>
29 #include <unistd.h>
30 #include "timer.h"
31
32
33 static struct timeval _timer_start;
34 FILE *timer_logfile;
35
36 void timer_start( char *filename )
37 {
38         timer_logfile = fopen( filename, "w" );
39
40         gettimeofday( &_timer_start, NULL );
41
42         return;
43 }
44
45 void timer_stop(void)
46 {
47         fclose( timer_logfile );
48
49         return;
50 }
51
52 void print_timestamp( char *info ) {
53
54         struct timeval _timer_end;
55         double t1, t2, t3;
56
57         gettimeofday( &_timer_end, NULL );
58
59         t1 =  (double)_timer_start.tv_sec + (double)_timer_start.tv_usec/(1000*1000);
60         t2 =  (double)_timer_end.tv_sec + (double)_timer_end.tv_usec/(1000*1000);
61         
62         t3 = t2 - t1;
63         
64         fprintf( timer_logfile, "%4.8f %s\n", t3, info );
65
66         return;
67 }
68
69 #endif /* HILDON_USE_TIMESTAMPING */