//
//  AppDelegate.h
//  nitoTV4Installer
//
//  Created by Kevin Bradley on 1/24/18.
//  Copyright © 2018 Kevin Bradley. All rights reserved.
//

#import <Cocoa/Cocoa.h>
#include "ObjSSH.h"
#import "EMKeychainItem.h"
#import "KBDownloadFile.h"

typedef enum
{
    KBInstallVersionStateNine,
    KBInstallVersionStateTenOne,
    KBInstallVersionStateTenTwo,
    KBInstallVersionStateEleven
}
KBInstallVersionState;

@interface AppDelegate : NSObject <NSApplicationDelegate>
{
    ObjSSH *sshSession;
    BOOL isSending;
    BOOL _atvAvailable;
    NSString *finalDestination;
    IBOutlet NSTextField *statusLabel;
    
    NSString *fileName;
}
@property (readwrite, assign) KBInstallVersionState versionState;
@property (nonatomic, strong) ObjSSH *sshSession;
@property (nonatomic, strong) NSString *workingPath;
@property (readwrite, assign) BOOL isSending;
@property (nonatomic, weak) IBOutlet NSProgressIndicator *progressInd;
@property (nonatomic, weak) IBOutlet NSButton *mainButton;
@property (nonatomic, strong) KBDownloadFile *downloadFile;
@property (readwrite, assign) BOOL downloading;
@property (nonatomic, strong) NSDictionary *deviceDict;

//@property (readwrite, assign) BOOL atvAvailable;
@property (nonatomic, strong) NSString *bundleID;
- (void)setAtvAvailable:(BOOL)atvAvailable;
- (BOOL)atvAvailable;
- (void)checkJailbreakWithCompletion:(void(^)(BOOL jailbroken))completion;
- (IBAction)doIt:(id)sender;
- (void)resetServerSettings;
- (void)setStatusText:(NSString *)statusText;
- (void)showATVWarning;
- (BOOL)isJailbroken;- (void)showNotJailbrokenWarning;
@end

