subsurface/core/ssrf.h
jan Iversen 76f61468e6 mobile: add timer to measure startup.
Subsurface-mobile has a long startup time; in order to isolate the problem(s) a
timer is added to see where time is "lost".

The collected startup times are added to the clipboard together with the other
logs, allowing test users to report back.

All this is only enabled when compiling with -DENABLE_STARTUP_TIMING

Closes #1340

[Dirk Hohndel: collapsed multiple commits and minor white space cleanups, added
               missing QMutex variable]

Signed-off-by: Jan Iversen <jani@apache.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2018-05-30 21:47:07 -07:00

37 lines
796 B
C

// SPDX-License-Identifier: GPL-2.0
#ifndef SSRF_H
#define SSRF_H
#ifdef __cplusplus
extern "C" {
#endif
#ifdef __clang__
// Clang has a bug on zero-initialization of C structs.
#pragma clang diagnostic ignored "-Wmissing-field-initializers"
#endif
#ifdef __cplusplus
#ifdef SUBSURFACE_MOBILE
#ifdef ENABLE_STARTUP_TIMING
// Declare generic function, will be seen only in CPP code
// Use void parameters to avoid extra includes
extern void log_stp(const char *ident, QString *buf);
#define LOG_STP(x) log_stp(x, NULL)
#define LOG_STP_CLIPBOARD(x) log_stp(NULL, x)
#else
#define LOG_STP(x)
#define LOG_STP_CLIPBOARD(x)
#endif // ENABLE_STARTUP_TIMING
#endif // SUBSURFACE_MOBILE
}
#else
// Macro to be used for silencing unused parameters
#define UNUSED(x) (void)x
#endif
#endif // SSRF_H