rofi  1.5.1
timings.h
Go to the documentation of this file.
1 /*
2  * rofi
3  *
4  * MIT/X11 License
5  * Copyright © 2013-2017 Qball Cow <qball@gmpclient.org>
6  *
7  * Permission is hereby granted, free of charge, to any person obtaining
8  * a copy of this software and associated documentation files (the
9  * "Software"), to deal in the Software without restriction, including
10  * without limitation the rights to use, copy, modify, merge, publish,
11  * distribute, sublicense, and/or sell copies of the Software, and to
12  * permit persons to whom the Software is furnished to do so, subject to
13  * the following conditions:
14  *
15  * The above copyright notice and this permission notice shall be
16  * included in all copies or substantial portions of the Software.
17  *
18  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
19  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
20  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
21  * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
22  * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
23  * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
24  * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
25  *
26  */
27 
28 #ifndef ROFI_TIMINGS_H
29 #define ROFI_TIMINGS_H
30 #include <config.h>
31 
37 #ifdef TIMINGS
38 
42 void rofi_timings_init ( void );
50 void rofi_timings_tick ( const char *file, char const *str, int line, char const *msg );
54 void rofi_timings_quit ( void );
55 
60 #define TIMINGS_START() rofi_timings_init ()
61 
64 #define TICK() rofi_timings_tick ( __FILE__, __func__, __LINE__, "" )
65 
69 #define TICK_N( a ) rofi_timings_tick ( __FILE__, __func__, __LINE__, a )
70 
73 #define TIMINGS_STOP() rofi_timings_quit ()
74 
75 #else
76 
81 #define TIMINGS_START()
82 
85 #define TIMINGS_STOP()
86 
89 #define TICK()
90 
94 #define TICK_N( a )
95 
96 #endif // TIMINGS
97 
98 #endif // ROFI_TIMINGS_H