// // _FILENAME___.swift // _PROJECTNAME___ // // Created by _FULLUSERNAME___ on _DATE___. // Copyright © _YEAR___ _ORGANIZATIONNAME___. All rights reserved. //

import UIKit

class VIPERWireFrame: VIPERWireFrameProtocol {

static func presentVIPERModule(fromVC: UIViewController) {

    // Generating module components
    let view = VIPERViewController(nibName: "VIPERViewController", bundle: nil)
    let presenter: VIPERPresenterProtocol & VIPERInteractorOutputProtocol = VIPERPresenter()
    let interactor: VIPERInteractorInputProtocol = VIPERInteractor()
    let APIDataManager: VIPERAPIDataManagerInputProtocol = VIPERAPIDataManager()
    let localDataManager: VIPERLocalDataManagerInputProtocol = VIPERLocalDataManager()
    let wireFrame: VIPERWireFrameProtocol = VIPERWireFrame()

    // Connecting
    view.presenter = presenter
    presenter.view = view
    presenter.wireFrame = wireFrame
    presenter.interactor = interactor
    interactor.presenter = presenter
    interactor.APIDataManager = APIDataManager
    interactor.localDatamanager = localDataManager

    //TODO - New view controller presentation (present, push, pop, .. )

// fromVC.navigationController?.pushViewController(view) //push 예제 // fromVC.present(view, animated: true, completion: nil) //present 예..

}

}