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