//
//  WSEvents.h
//  O1Analytics
//
//  Created by Abhijeet Kumar on 12/17/13.
//  Copyright (c) 2013 Workspot. All rights reserved.
//

#import <Foundation/Foundation.h>

/**
 * Macro to audit events data
 *
 * Use this macro to audit events in free form text
 */
#define WSANALYTICS_EVENT(fmt, ...)                                                 \
    do                                                                              \
    {                                                                               \
        [[WSAnalytics sharedInstance] auditWithFormat:fmt, ##__VA_ARGS__];          \
    } while (0)

/**
 * Class for auditing Events data
 *
 * The recommended approach to audit events is using macro #WSANALYTICS_EVENT
 *
 * ## Examples
 *
 *     WSANALYTICS_EVENT(@"John Doe looked up more info on %@", @"Jane Doe");
 */
@interface WSAnalytics : NSObject

/**
 * Singleton instance of WSAnalytics
 */
+ (instancetype) sharedInstance;

/**
 Audits Events data
 
 @param format Format for variable argument list
 @param ...    Variable argument list
 */
- (void) auditWithFormat:(NSString *)format, ...;

@end
