//
//  MBIMLogging.h
//  kordophoned
//
//  Created by James Magahern on 1/22/19.
//  Copyright © 2019 James Magahern. All rights reserved.
//

#import <Foundation/Foundation.h>

NS_ASSUME_NONNULL_BEGIN

typedef enum {
    ML_INFO,
    ML_NOTIFY,
    ML_ERROR,
    ML_FATAL
} MBIMLogLevel;

extern void __MBIMLogCommon(MBIMLogLevel level, NSString *format, ...);

#define MBIMLogInfo(format, ...) \
    __MBIMLogCommon(ML_INFO, format, ##__VA_ARGS__)

#define MBIMLogNotify(format, ...) \
    __MBIMLogCommon(ML_NOTIFY, format, ##__VA_ARGS__)

#define MBIMLogError(format, ...) \
    __MBIMLogCommon(ML_ERROR, format, ##__VA_ARGS__)

#define MBIMLogFatal(format, ...) \
    __MBIMLogCommon(ML_FATAL, format, ##__VA_ARGS__)

NS_ASSUME_NONNULL_END
