//
//  LKFDataAnalyser.swift
//  lkfc
//
//  Created by Alexander Holzer on 09.06.18.
//  Copyright © 2018 Alexander Holzer. All rights reserved.
//

import Foundation
@_implementationOnly import LibLKF

public class LKFDataAnalyser {
    
    let aufenthalte : [String:LKFAufenthalt]
    let context : LKFContext
    init (context: LKFContext) {
        self.context = context
        let count = LibLKF.lkf_get_aufenthalt_anz(context.ptr!)
        var _aufenthalte = [String:LKFAufenthalt]()
        _aufenthalte.reserveCapacity(Int(count))
        
        let keyBuffer = UnsafeMutablePointer<CChar>.allocate(capacity:512)
        
        for i in 0..<count {
            let aufenthalt = LKFAufenthalt(context:context, index:i)
            if let key = LibLKF.lkf_auf_get_ident(aufenthalt.ptr, keyBuffer) {
                _aufenthalte[String(cString:key)] = aufenthalt
            }
        }
        keyBuffer.deallocate()
        aufenthalte = _aufenthalte
    }
    
    public func applyResults() {
        // TODO
    }
}
