#pragma once

#include "Platform.h"


//Option list
#define OPTION_SCAN "--scan"
#define OPTION_SCAN_S "-s"
#define OPTION_MODE "--mode" // imageType(ColorType)
#define OPTION_SOURCE "--source"
#define OPTION_SCAN_AREA "--scan-area"
#define OPTION_RESOLUTION "--resolution"
#define OPTION_ROTATE "--rotate"
#define OPTION_BRIGHTNESS "--brightness"
#define OPTION_CONTRAST "--contrast"
#define OPTION_THRESHOLD "--threshold"
#define OPTION_DROPOUT "--dropout"
#define OPTION_BLANKPAGE_SKIP "--blankpage-skip"
#define OPTION_DOUBLE_FEED_DETECTION "--double-feed-detection"
#define OPTION_IMAGE_FORMAT "--image-format"
#define OPTION_PDF_PARAM "--pdf-paramater"
#define OPTION_EDGE_FILL "--edge-fill"
#define OPTION_DEFICIENCY_CORRECTION "--edge-correction"
#define OPTION_OBR "--obr"
#define OPTION_OCR "--ocr" 
#define OPTION_GET_STATUS "--get-status"
#define OPTION_GET_STATUS_S "-gs"
#define OPTION_GET_SLEEPTIMER "--get-sleeptimer"
#define OPTION_SET_SLEEPTIMER "--set-sleeptimer"
#define OPTION_GET_AUTOPWOFF "--get-autopwoff"
#define OPTION_SET_AUTOPWOFF "--set-autopwoff"

#define MIN_ARGUMENTS 2


typedef enum _checkOption {
	CO_DEVICEID		= 0,
	CO_VALUE	    = 1,
} checkOption;

typedef enum _connectionMethod {
	CM_USB		= 0,
	CM_NETWORK	    = 1,
} connectionMethod;

// #define OPTION_HELP "--help"
// #define OPTION_HELP_S "-h"
// #define OPTION_LIST "--list"
// #define OPTION_LIST_S "-l"
// #define OPTION_SET_IP "--set-ip"
// #define OPTION_SET_IP_S "-i"
// #define OPTION_CREATE "--create"
// #define OPTION_CREATE_S "-c"
// #define OPTION_EDIT "--edit"
// #define OPTION_EDIT_S "-e"





void DISPLAY_DEVICE_STATUS(DWORD Code);
