using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ReactNativeRnBixolonBgateLibs
{
    public sealed class MPosProxyConstant
    {
        public int FontType { get; set; }
        public int Width { get; set; }
        public int Height { get; set; }
        public int Underline { get; set; }
        public int Alignment { get; set; }
        public bool Bold { get; set; }
        public bool Color { get; set; }
        public bool Reverse { get; set; }
        public int CodePage { get; set; }
    }

    public sealed class MPosProxyPrintPDF417
    {
        //ReactNative Windows ReactMethod 파라미터가 8개이상부터 오류가 발생하여 임시로 클래스 생성하여 사용
        public int Symbology { get; set; }
        public int Alignment { get; set; }
        public int ColumnNumber { get; set; }
        public int RowNumber { get; set; }
        public int ModuleWidth { get; set; }
        public int ModuleHeight { get; set; }
        public int EccLevel { get; set; }
    }

    public sealed class MPosConnectionInformation
    {
        public int IntefaceType { get; set; }
        public string Name { get; set; }
        public string Address
        {
            get
            {
                if (IntefaceType == 4 /*MPosInterfaceType.MPOS_INTERFACE_BLUETOOTH*/)
                    return MacAddress;
                return IpAddress + ":" + PortNumber;
            }
        }
        public string MacAddress { get; set; }
        public string IpAddress { get; set; }
        public string PortNumber { get; set; }
        public string BluetoohDeviceId { get; set; }
    }
}
