//
//  PrinterManager.h
//  SIIMpaPrinterSample
//

#import <Foundation/Foundation.h>
#import "FirstViewController.h"
#import <SIIMpaPrinterManager/SIIMpaPrinterManager.h>

NS_ASSUME_NONNULL_BEGIN

@interface PrinterManager : NSObject

+ (void)InitialSetting:(FirstViewController *)view;
+ (NSArray *)getBluetoothPrinterList;
+ (void)startDiscoveryTcpPrinter;
+ (void)cancelDiscoveryTcpPrinter;
+ (NSArray *)getLanPrinterList;
+ (BOOL)discoverFinished;
+ (NSString *)getErrorCodeText;
+ (dispatch_queue_t)getDispatchQueue;
+ (BOOL)startCallBack:(UIViewController *)view sel:(SEL)sel;
+ (void)stopCallBack;
+ (NSString *)getPrinterInformation:(NSString *)key;
+ (BOOL)printStandardModeReceipt;
+ (BOOL)printPageModeReceipt;
+ (BOOL)printText:(NSString *)text font:(NSInteger)font scale:(NSInteger)scale underline:(NSInteger)underline bold:(NSInteger)bold reverse:(NSInteger)reverse rotate:(NSInteger)rotate;
+ (BOOL)sendDataFile:(NSString *)filePath dithering:(NSInteger)dithering;
+ (BOOL)printPDF:(NSString *)filePath startIndex:(NSInteger)startIndex endIndex:(NSInteger)endIndex rotate:(Rotate)rotate width:(NSInteger)width bottomMargin:(NSInteger)bottomMargin dithering:(Dithering)dithering;
+ (BOOL)printBarcode:(NSInteger)type text:(NSString *)text width:(NSInteger)width height:(NSInteger)height hri:(NSInteger)hri nwRatio:(NSInteger)nwRatio;
+ (BOOL)print2DCode:(NSInteger)type text:(NSString *)text mode:(NSInteger)mode moduleSize:(NSInteger)moduleSize moduleHeight:(NSInteger)moduleHeight column:(NSInteger)column row:(NSInteger)row errorCorrect:(NSInteger)errorCorrect;
+ (NSString *)getVersion;
+ (NSString *)getWriteTimeout;
+ (NSString *)getResponseTimeout;
+ (NSString *)getCodePage;
+ (NSString *)getInternationalCharacter;
+ (void)setWriteTimeout:(NSString *)value;
+ (void)setResponseTimeout:(NSString *)value;
+ (void)setCodePage:(NSString *)value;
+ (void)setInternationalCharacter:(NSString *)value;
+ (void)setLogFileSize:(NSString *)value;

@end

NS_ASSUME_NONNULL_END
