//
//  DSignatureConfig.swift
//  PDF Reader Pro Edition
//
//  Created by Niehaoyu on 2023/9/27.
//

import Foundation

let kNAME_KEY = NSLocalizedString("Signed by", comment: "")
let DN_KEY = NSLocalizedString("DN", comment: "")
let REASON_KEY = NSLocalizedString("Reason", comment: "")
let LOCATION_KEY = NSLocalizedString("Location", comment: "")
let DATE_KEY = NSLocalizedString("Date", comment: "")

#if VERSION_FREE

#if VERSION_DMG
let VERSION_KEY = NSLocalizedString("PDF Reader Pro Version", comment: "")
#else
let VERSION_KEY = NSLocalizedString("PDF Reader Pro Lite Version", comment: "")
#endif

#else
let VERSION_KEY = NSLocalizedString("PDF Reader Pro Version", comment: "")
#endif

let ISDRAW_KEY = "isDrawKey"
let ISDRAWLOGO_KEY = "isDrawLogo"
let ISCONTENTALGINLEGF_KEY = "isContentAlginLeft"

let SAVEFILEPATH_KEY = "FilePathKey"
let PASSWORD_KEY = "PassWordKey"

let CAuthenticationLastNameKey        = "CAuthenticationLastName"
let CAuthenticationNameKey            = "CAuthenticationName"
let CAuthenticationTitleKey           = "CAuthenticationTitle"
let CAuthenticationCompanyNameKey     = "CAuthenticationCompanyName"
let CAuthenticationCompanyNameSealKey = "CAuthenticationCompanyNameSeal"
let CAuthenticationDepartmentKey      = "CAuthenticationDepartment"
let CAuthenticationEmailAddressKey    = "CAuthenticationEmailAddress"

let KMSignatureTrustCerDidChangeNotification  = "KMSignatureTrustCerDidChangeNotification"

let ApplicationSupportDirectory = NSSearchPathForDirectoriesInDomains(FileManager.SearchPathDirectory.applicationSupportDirectory, FileManager.SearchPathDomainMask.userDomainMask, true).last! + "/" + Bundle.main.bundleIdentifier!

let kDSignatureFolderPath = ApplicationSupportDirectory.appending("/CDSignaturesAppearance")
let kDSignaturePlistPath = kDSignatureFolderPath.appending("/CDSignaturesAppearance.plist")

let kDigitalSignatureFolderPath = ApplicationSupportDirectory.appending("/DigitalSignature")
let kDigitalSignaturePlistPath = kDigitalSignatureFolderPath.appending("/DigitalSignature.plist")

let kLastAddDSignatureDataKey  = "CAddLastDSignatureDatasKey"
let kDSignatureOfTextKey       = "DSignatureOfNameTextKey"
let kDSignatureOfIsTextKey     = "DSignatureOfNameISTextKey"
let kDSignatureOfImagePathKey  = "DSignatureOfImagePathKey"
let kDSignatureOfAppearanceKey = "DSignatureOfAppearanceKey"
let kDSignatureOfDrawTypeKey   = "DSignatureOfDrawTypeKey"

class DSignatureConfig {
    
}

@objc public enum DSignatureViewType: NSInteger {
    case none = 0
    case fileList       = 1
    case certifyDetail  = 2
    case createNew      = 3
    case createFromFile = 4
    case saveType       = 5
    case createInfo     = 6
    case saveFolderType = 7
    case signatureDetail = 8
    case edit            = 9
    case fromFileList = 10
}

@objc public enum DSignatureActionType: NSInteger {
    case none = 0
    case cancel = 1
    case confirm = 2
    case createNewDsign = 3
    case previousStep = 4
    case create = 5
    case edit = 6
    case delete = 7
    case viewDetail = 8
}

@objc public enum CDSignatureCreatType: NSInteger {
    case createNone = 0
    case signCreate = 1
    case fromFile = 2

}

@objc public enum CDSignatureSaveType: NSInteger {
    case none = 0
    case folder = 1
    case keyChain = 2
}

@objc public enum CDSignatureCustomType: NSInteger {
    case text = 0
    case draw = 1
    case image = 2
    case none = 3
}

@objc public enum CPromptSignaturesState: NSInteger {
    case failure = 0
    case Unknown = 1
    case Success = 2
}

@objcMembers public class Swift_oc_Tool: NSObject {
    
    static let NAME_KEY_OC = kNAME_KEY
    static let DN_KEY_OC = DN_KEY
    static let REASON_KEY_OC = REASON_KEY
    static let LOCATION_KEY_OC = LOCATION_KEY
    static let DATE_KEY_OC = DATE_KEY
    static let VERSION_KEY_OC = VERSION_KEY

    static let SAVEFILEPATH_KEY_OC = SAVEFILEPATH_KEY
    static let PASSWORD_KEY_OC = PASSWORD_KEY
    
    static let kDSignatureFolderPath_OC = kDSignatureFolderPath
    static let kDSignaturePlistPath_OC = kDSignaturePlistPath
    
    static let kDigitalSignatureFolderPath_OC = kDigitalSignatureFolderPath
    static let kDigitalSignaturePlistPath_OC = kDigitalSignaturePlistPath
    
}