1e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/****************************************************************************** 2e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * 3e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * Copyright (C) 2012 Broadcom Corporation 4e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * 5e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License"); 6e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * you may not use this file except in compliance with the License. 7e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * You may obtain a copy of the License at: 8e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * 9e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 10e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * 11e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * Unless required by applicable law or agreed to in writing, software 12e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS, 13e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * See the License for the specific language governing permissions and 15e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * limitations under the License. 16e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * 17e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project ******************************************************************************/ 18e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 19e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/****************************************************************************** 20e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * 21e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * Override the Android logging macro(s) from 22e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * /system/core/include/cutils/log.h. This header must be the first header 23e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * included by a *.cpp file so the original Android macro can be replaced. 24e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * Do not include this header in another header, because that will create 25e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * unnecessary dependency. 26e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * 27e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project ******************************************************************************/ 28e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#pragma once 29e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 306fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi// Override Android's ALOGD macro by adding a boolean expression. 316fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi#define ALOGD(...) \ 326fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi ((void)ALOGD_IF(appl_trace_level >= BT_TRACE_LEVEL_DEBUG, __VA_ARGS__)) 33e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 346fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoi#include <cutils/log.h> //define Android logging macros 35a24be4f06674b2707b57904deaa0dff5a95823bdEvan Chu#include "bt_types.h" 36e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 37e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifdef __cplusplus 38e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projectextern "C" { 39e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 405c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen 41a24be4f06674b2707b57904deaa0dff5a95823bdEvan Chuextern unsigned char appl_trace_level; 42512ee63c7cc8feb016863e507a5d33cd0f4242bfRuchi Kandoiextern uint32_t ScrProtocolTraceFlag; 43e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 44e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/******************************************************************************* 45e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** 46e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Function: initializeGlobalAppLogLevel 47e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** 48e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Description: Initialize and get global logging level from .conf or 49e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Android property nfc.app_log_level. The Android property 50e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** overrides .conf variable. 51e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** 52e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** Returns: Global log level: 53552f2b745deddd35d9b75da9c9c09bd2f3f573a8Ruchi Kandoi** BT_TRACE_LEVEL_NONE 0 * No trace messages to be generated 54552f2b745deddd35d9b75da9c9c09bd2f3f573a8Ruchi Kandoi** BT_TRACE_LEVEL_ERROR 1 * Error condition trace messages 55552f2b745deddd35d9b75da9c9c09bd2f3f573a8Ruchi Kandoi** BT_TRACE_LEVEL_WARNING 2 * Warning condition trace messages 56552f2b745deddd35d9b75da9c9c09bd2f3f573a8Ruchi Kandoi** BT_TRACE_LEVEL_API 3 * API traces 57552f2b745deddd35d9b75da9c9c09bd2f3f573a8Ruchi Kandoi** BT_TRACE_LEVEL_EVENT 4 * Debug messages for events 58552f2b745deddd35d9b75da9c9c09bd2f3f573a8Ruchi Kandoi** BT_TRACE_LEVEL_DEBUG 5 * Debug messages (general) 59e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project** 60e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project*******************************************************************************/ 616fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoiunsigned char initializeGlobalAppLogLevel(); 626fca02d5010de7bd31d83b853c32138021da5f29Ruchi Kandoiuint32_t initializeProtocolLogLevel(); 635c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen 645c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen#ifdef __cplusplus 655c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen} 665c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen#endif 67