• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2022-2025 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  * http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 #ifndef _KOALA_TRACER_
17 #define _KOALA_TRACER_
18 
19 #ifdef KOALA_OHOS
20 #include <hilog/log.h>
21 #define KOALA_TRACE(msg, str) OH_LOG_Print(LOG_APP, LOG_INFO, 0xFF00, "Koala", msg, str)
22 // Also do
23 //  hdc shell hilog -p off
24 //  hdc shell hilog -Q pidoff
25 // to see the output.
26 #define KOALA_TRACE_PUBLIC "%{public}s"
27 #else
28 #include <stdio.h>
29 #define KOALA_TRACE(msg, str) fprintf(stderr, "Koala: " msg "\n", str)
30 #define KOALA_TRACE_PUBLIC "%s"
31 #endif
32 
33 class InteropMethodCall {
34   private:
35     const char* name;
36   public:
InteropMethodCall(const char * name)37     InteropMethodCall(const char* name) : name(name) {
38         KOALA_TRACE(">>> " KOALA_TRACE_PUBLIC, name);
39     }
~InteropMethodCall()40     ~InteropMethodCall() {
41         KOALA_TRACE("<<< " KOALA_TRACE_PUBLIC, name);
42     }
43 };
44 
45 #endif // _KOALA_TRACER_