38 lines
1.0 KiB
C++
38 lines
1.0 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.
|
|
|
|
#include <gtest/gtest.h>
|
|
|
|
#include "include/prop_registry.h"
|
|
|
|
#ifndef GESTURES_TRACER_H__
|
|
#define GESTURES_TRACER_H__
|
|
|
|
namespace gestures {
|
|
|
|
typedef void (*WriteFn)(const char*);
|
|
|
|
// This class will automatically help us manage tracing stuff.
|
|
// It has a X Property "Tracing Enabled". You can set it true to
|
|
// enable tracing.
|
|
// In the main program, you can simply use Trace function provided
|
|
// by this class to write tracing messages, and it will handle
|
|
// whether to output the message or not automatically.
|
|
|
|
class Tracer {
|
|
FRIEND_TEST(TracerTest, TraceTest);
|
|
public:
|
|
Tracer(PropRegistry* prop_reg, WriteFn write_fn);
|
|
~Tracer() {};
|
|
void Trace(const char* message, const char* name);
|
|
|
|
private:
|
|
WriteFn write_fn_;
|
|
// Disable and enable tracing by setting false and true respectively
|
|
BoolProperty tracing_enabled_;
|
|
};
|
|
} // namespace gestures
|
|
|
|
#endif // GESTURES_TRACER_H__
|