#ifndef _HV_MW_OSD_LOG_H
#define _HV_MW_OSD_LOG_H

#include "hv_comm_Assert.h"

#define OSD_LOG_ENABLE

#define OSD_DEBUG_LOG_ENABLE
//#define OSD_DRV_DEBUG_LOG_ENABLE
//#define OSD_TEST_DEBUG_LOG_ENABLE

#ifdef OSD_LOG_ENABLE
#define OSD_LOG_ASSERT(...)     HV_LOG_ASSERT(OSD, __VA_ARGS__)
#define OSD_LOG_ERROR(...)      HV_LOG_ERROR(OSD, __VA_ARGS__)
#define OSD_LOG_WARN(...)       HV_LOG_WARN(OSD, __VA_ARGS__)
#define OSD_LOG_INFO(...)       HV_LOG_INFO(OSD, __VA_ARGS__)

#ifdef OSD_DEBUG_LOG_ENABLE
#define OSD_LOG_DEBUG(...)      HV_LOG_DEBUG(OSD, __VA_ARGS__)
#define OSD_LOG_VERBOSE(...)    HV_LOG_VERBOSE(OSD, __VA_ARGS__)
#else
#define OSD_LOG_DEBUG(...)
#define OSD_LOG_VERBOSE(...)
#endif

#else
#define OSD_LOG_ASSERT(...)
#define OSD_LOG_ERROR(...)
#define OSD_LOG_WARN(...)
#define OSD_LOG_INFO(...)
#define OSD_LOG_DEBUG(...)
#define OSD_LOG_VERBOSE(...)
#endif

#define OSD_DRV_LOG_INFO(...)       OSD_LOG_INFO(__VA_ARGS__)
#define OSD_DRV_LOG_ERROR(...)      OSD_LOG_ERROR(__VA_ARGS__)
#define OSD_DRV_LOG_WARN(...)       OSD_LOG_WARN(__VA_ARGS__)
#ifdef OSD_DRV_DEBUG_LOG_ENABLE
#define OSD_DRV_LOG_DEBUG(...)      OSD_LOG_DEBUG(__VA_ARGS__)
#else
#define OSD_DRV_LOG_DEBUG(...)
#endif

#ifdef OSD_TEST_DEBUG_LOG_ENABLE
#define OSD_TEST_LOG_DEBUG(...)      OSD_LOG_DEBUG(__VA_ARGS__)
#else
#define OSD_TEST_LOG_DEBUG(...)
#endif

#endif
