1 // Copyright 2012 The ChromiumOS Authors
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "include/tracer.h"
6
7 #include <string.h>
8
9 namespace gestures {
10
Tracer(PropRegistry * prop_reg,WriteFn write_fn)11 Tracer::Tracer(PropRegistry* prop_reg, WriteFn write_fn)
12 : write_fn_(write_fn),
13 tracing_enabled_(prop_reg, "Tracing Enabled", false) {}
14
Trace(const char * message,const char * name)15 void Tracer::Trace(const char* message, const char* name) {
16 if (tracing_enabled_.val_ && write_fn_) {
17 char write_msg[1024];
18 size_t len = strlen(message);
19 size_t len2 = strlen(name);
20 if ((len + len2) >= sizeof(write_msg)) {
21 strcpy(write_msg, "Error!! Gestures Library: Message too long!!");
22 } else {
23 strcpy(write_msg, message);
24 strcpy(write_msg + len, name);
25 }
26 (*write_fn_)(write_msg);
27 }
28 }
29 } // namespace gestures
30