65 lines
1.8 KiB
C
65 lines
1.8 KiB
C
// Copyright 2012 The ChromiumOS Authors
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
#ifndef GESTURES_LOGGING_H__
|
|
#define GESTURES_LOGGING_H__
|
|
|
|
#include "gestures.h"
|
|
|
|
#define Assert(condition) \
|
|
do { \
|
|
if (!(condition)) \
|
|
Err("Assertion '" #condition "' failed"); \
|
|
} while(false)
|
|
|
|
#define AssertWithReturn(condition) \
|
|
do { \
|
|
if (!(condition)) { \
|
|
Err("Assertion '" #condition "' failed"); \
|
|
return; \
|
|
} \
|
|
} while(false)
|
|
|
|
#define AssertWithReturnValue(condition, returnValue) \
|
|
do { \
|
|
if (!(condition)) { \
|
|
Err("Assertion '" #condition "' failed"); \
|
|
return (returnValue); \
|
|
} \
|
|
} while(false)
|
|
|
|
#define Log(format, ...) \
|
|
gestures_log(GESTURES_LOG_INFO, "INFO:%s:%d: " format "\n", \
|
|
__FILE__, __LINE__, ## __VA_ARGS__)
|
|
#define Err(format, ...) \
|
|
gestures_log(GESTURES_LOG_ERROR, "ERROR:%s:%d: " format "\n", \
|
|
__FILE__, __LINE__, ## __VA_ARGS__)
|
|
|
|
#define ErrOnce(format, ...) \
|
|
do { \
|
|
static bool written = false; \
|
|
if (!written) { \
|
|
Err(format, ## __VA_ARGS__); \
|
|
written = true; \
|
|
} \
|
|
} while(false)
|
|
|
|
#define MTStatSample(key, value, timestamp) \
|
|
gestures_log(GESTURES_LOG_INFO, "MTStat:%f:%s:%s\n", \
|
|
(timestamp), (key), (value))
|
|
|
|
#define MTStatSampleInt(key, value, timestamp) \
|
|
gestures_log(GESTURES_LOG_INFO, "MTStat:%f:%s:%d\n", \
|
|
(timestamp), (key), (int)(value))
|
|
|
|
#define MTStatUpdate(key, value, timestamp) \
|
|
gestures_log(GESTURES_LOG_INFO, "MTStat:%f:%s=%s\n", \
|
|
(timestamp), (key), value)
|
|
|
|
#define MTStatUpdateInt(key, value, timestamp) \
|
|
gestures_log(GESTURES_LOG_INFO, "MTStat:%f:%s=%d\n", \
|
|
(timestamp), (key), (int)(value))
|
|
|
|
#endif // GESTURES_LOGGING_H__
|