#import <Cordova/CDV.h>

#import <Foundation/Foundation.h>
@import UIKit;
#import <MapKit/MapKit.h>
#import <CoreLocation/CoreLocation.h>
#import <Cordova/CDVPlugin.h>
#import <UIKit/UIKit.h>
#import <QuickLook/QuickLook.h>
#import "SSZipArchive.h"

@interface mInterface : CDVPlugin <CLLocationManagerDelegate, UIImagePickerControllerDelegate, UINavigationControllerDelegate, UIAlertViewDelegate, QLPreviewControllerDelegate, QLPreviewControllerDataSource, QLPreviewItem, SSZipArchiveDelegate>
{
#define FILE_EXTENSION    @".png"
#define IMAGE_NAME        @"CameraImage"
    UIImagePickerController *ipc;
    UIImagePickerController *cameraOpen;
    UIImagePickerController *imagePicker;
    UIImagePickerController *liveCamera;
    UIPopoverController *popover;
    UIAlertController *alertChoice;
    UIAlertController *alertConfirm;
    UIActivityIndicatorView *spinnerIndicator;
    NSString *spinnerCallbackId;
    NSNumber *spinnerIsFixed;
@protected BOOL _isLocked;
    UIInterfaceOrientation _lastOrientation;
}
-(void)DeleteDirectory:(CDVInvokedUrlCommand*)command;
-(void)CreateDirectory:(CDVInvokedUrlCommand*)command;
-(void)validateFile:(CDVInvokedUrlCommand*)command;
-(void)CreateFile:(CDVInvokedUrlCommand*)command;
-(void)ReadFile:(CDVInvokedUrlCommand*)command;
-(void)DeleteFile:(CDVInvokedUrlCommand*)command;
- (void)UnZip:(CDVInvokedUrlCommand*)command;
-(void)GetStorageRoot:(CDVInvokedUrlCommand*)command;
-(void)DownloadFile:(CDVInvokedUrlCommand*)command;
- (void)OpenFileWithViewer:(CDVInvokedUrlCommand *)command;
- (void)DeviceInfo:(CDVInvokedUrlCommand*)command;
-(void)AppVersion:(CDVInvokedUrlCommand*)command;
-(void)GetPermissions:(CDVInvokedUrlCommand*)command;
-(void)RemoveFilesFromDirectory;
-(void)DespatchQueueMoveToServer;
- (void)QueueProcessor:(CDVInvokedUrlCommand*)command;
- (NSString *)sendFilesToServer:(NSString *)filePath fileName:(NSString *)fileName requestURL:(NSString *) requestURL;
- (void)CaptureFromCamera:(CDVInvokedUrlCommand*)command;
- (void)CaptureImageFromCamera:(CDVInvokedUrlCommand*)command;
- (void)PickImageFromGallery:(CDVInvokedUrlCommand*)command;
- (void)Spinner:(CDVInvokedUrlCommand*)command;
- (void)GetPackageName:(CDVInvokedUrlCommand*)command;
- (void)UpdateNew:(CDVInvokedUrlCommand*)command;
- (void)StartService:(CDVInvokedUrlCommand*)command;
- (void)SendLocation;
- (void)GetLocation:(CDVInvokedUrlCommand*)command;
- (void)timeReader;
- (void)CheckSumIndicatorResult;
- (void)CheckLocation:(CDVInvokedUrlCommand*)command;
- (void)CopyFile:(CDVInvokedUrlCommand*)command;
- (void)FileChooser:(CDVInvokedUrlCommand*)command;
- (NSString *)contentTypeForImageData:(NSString *)string;
- (void)RefreshTimeProfile:(CDVInvokedUrlCommand*)command;
- (void)GetNewDate:(CDVInvokedUrlCommand*)command;
- (id)getCurrentDateTime;
-(void)timeValues:(NSString *)date hour:(NSString *)hour minute:(NSString *)minute;
- (void)KillTimers;
- (void)AuthenticationRefresh;
- (void)triggerAuthenticationServices:(NSString *)clientId  countryCode:(NSString *)countryCode  userId:(NSString *)userId  sessionId:(NSString *)sessionId  localeId:(NSString *)localeId  deviceID:(NSString *)deviceID  clientUrl:(NSString *)clientUrl  cvsUrl:(NSString *)cvsUrl authIndFilePath:(NSString *)authIndFilePath;
- (void)GetSyncIndicator:(CDVInvokedUrlCommand*)command;
@property (strong, nonatomic) CLLocationManager * locationManager;
@property (strong, nonatomic) NSMutableArray * coordinatesArray;
@property (weak, nonatomic) IBOutlet UIButton *btnGallery;
@property (strong, nonatomic) UIViewController * viewcont;
@property (nonatomic, strong) NSString *callbackIdForImagePicker;
@property (nonatomic, strong) NSString *callbackIdForAppUpdate;
@property (nonatomic, strong) NSString *successCallBackForSpinner;
@property NSTimer *LocationTimer;
@property NSTimer *timeReaderTimer;
@property NSTimer *CheckSumTimer;
@property NSTimer *authTimer;
@property NSTimer *QueueToServerTimer;
@property UIActivityIndicatorView *activityIndicator;
@property (nonatomic, retain) UIActivityIndicatorView *indicator;
@property (nonatomic, retain) UIView *overlay;
@property(strong, nonatomic) NSURL *fileUrl;
@property(readonly) NSURL *previewItemURL;
@property (nonatomic, copy) NSString* fileOpenCallbackId;
@end
