xref: /aosp_15_r20/external/libchrome-gestures/src/tracer.cc (revision aed3e5085e770be5b69ce25295ecf6ddf906af95)
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