Nexacro14 & 17 & N 전용 엔진 추가

This commit is contained in:
techAdmin 2023-09-18 15:47:21 +09:00
parent 7a26644b8f
commit 8a544b3118
73 changed files with 1879 additions and 0 deletions

BIN
.DS_Store vendored

Binary file not shown.

BIN
Nexacro14/.DS_Store vendored

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "self:">
</FileRef>
</Workspace>

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IDEDidComputeMac32BitWarning</key>
<true/>
</dict>
</plist>

View File

@ -0,0 +1,39 @@
//==============================================================================
//
// TOBESOFT Co., Ltd.
// Copyright 2014 TOBESOFT Co., Ltd.
// All Rights Reserved.
//
// NOTICE: TOBESOFT permits you to use, modify, and distribute this file
// in accordance with the terms of the license agreement accompanying it.
//
// Readme URL: http://www.nexacro.co.kr/legal/nexacro-public-license-readme-1.0.html
//
//==============================================================================
#import <WebKit/WebKit.h>
#import "PluginResult.h"
@interface DeviceAPI : NSObject {
}
@property (nonatomic, retain) id webView;
@property (nonatomic, retain) NSDictionary *options;
- (DeviceAPI*) initWithWebView:(id)theWebView;
// nexacro.Hybrid 의 callback을 호출하기 위한 메서드.
- (NSString*) writeJavascript:(NSString*)javascript;
// nexacro.System 의 callback을 호출하기 위한 메서드.
- (NSString*) writeJavascriptEx:(NSString*)javascript;
// 리턴 데이터 중 js에서 문제 있는 character 치환
- (NSString*) getReplacedStringXML:(NSString*)javascript;
- (NSString*) getReplacedStringSSVCSV:(NSString*)javascript;
- (NSString*) getReplacedString:(NSString*)javascript;
- (NSString*) getReturnReplacedString:(NSString*)javascript;
@end

View File

@ -0,0 +1,58 @@
//==============================================================================
//
// TOBESOFT Co., Ltd.
// Copyright 2014 TOBESOFT Co., Ltd.
// All Rights Reserved.
//
// NOTICE: TOBESOFT permits you to use, modify, and distribute this file
// in accordance with the terms of the license agreement accompanying it.
//
// Readme URL: http://www.nexacro.co.kr/legal/nexacro-public-license-readme-1.0.html
//
//==============================================================================
#import <UIKit/UIKit.h>
#import <Foundation/Foundation.h>
#import "NexacroLoader.h"
#import "NexacroUpdateViewController.h"
#import "NexacroMainViewController.h"
@interface NexacroAppDelegate : NSObject <UIApplicationDelegate, UIAlertViewDelegate>{
NexacroUpdateViewController *updateViewcontroller; //Update & Loading 화면
NexacroMainViewController *mainViewController; //WebView 화면
BOOL bNetworkAvailable; //Network(3G & WIFI) 사용 가능 여부
NSLock *settingAccessLock;
UIImage *splashScreen_P; //Splash Screen Portrait
UIImage *splashScreen_L; //Splash Screen Landscape
float systemVolume; //SET Audio Volume
BOOL statusBarStyle;
}
@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) NexacroLoader *loader;
@property (nonatomic, retain) NexacroUpdateViewController *updateViewcontroller;
@property (nonatomic, retain) NexacroMainViewController *mainViewController;
@property (nonatomic, retain) NSLock * settingAccessLock;
@property (nonatomic, retain) UIImage * splashScreen_P;
@property (nonatomic, retain) UIImage * splashScreen_L;
@property (nonatomic) float systemVolume;
@property (nonatomic) BOOL statusBarStyle;
@property (nonatomic, retain) NSData *deviceToken;
@property (nonatomic, retain) UINavigationController *navc;
- (NexacroMainViewController *)initializeMainViewController;
- (void)networkCheck;
- (void)setbNetworkAvailable:(BOOL)bFlag;
- (BOOL)getbNetworkAvailable;
- (UIImage *)getCurOrientImage;
- (UIImage *)getCurOrientImageWith:(UIInterfaceOrientation)o;
- (void)loaderFail;
- (void)updaterFail;
@end

View File

@ -0,0 +1,111 @@
//==============================================================================
//
// TOBESOFT Co., Ltd.
// Copyright 2014 TOBESOFT Co., Ltd.
// All Rights Reserved.
//
// NOTICE: TOBESOFT permits you to use, modify, and distribute this file
// in accordance with the terms of the license agreement accompanying it.
//
// Readme URL: http://www.nexacro.co.kr/legal/nexacro-public-license-readme-1.0.html
//
//==============================================================================
#import <Foundation/Foundation.h>
typedef NS_ENUM(NSInteger, ApplicationDialogPosition) {ApplicationDialogPositionTop = 0, ApplicationDialogPositionCenter, ApplicationDialogPositionBottom};
@interface ApplicationConfig : NSObject {
ApplicationDialogPosition dialogPosition;
BOOL useWKWebView;
BOOL fileLogging;
BOOL quiet;
}
@property (nonatomic,readwrite) ApplicationDialogPosition dialogPosition;
@property (nonatomic,readwrite,getter = isUseWKWebView) BOOL useWKWebView;
@property (nonatomic,readwrite) BOOL fileLogging;
@property (nonatomic,readwrite,getter = isQuiet) BOOL quiet;
- (id) init;
+ (ApplicationConfig*) config;
- (void) setDialogPositionWithString:(NSString*) position;
@end
@interface NotificationConfig : NSObject {
BOOL enable;
NSString* handlerName;
}
@property (nonatomic,readwrite,getter = isEnable) BOOL enable;
@property (nonatomic,readwrite,retain) NSString* handlerName;
- (id) init;
+ (NotificationConfig*) config;
@end
@interface UpdatorConfig : NSObject {
BOOL force;
BOOL cancelable;
BOOL restart;
BOOL errormsg;
BOOL quiet;
}
@property (nonatomic,readwrite,getter = isForce) BOOL force;
@property (nonatomic,readwrite,getter = isCancelable) BOOL cancelable;
@property (nonatomic,readwrite,getter = isRestart) BOOL restart;
@property (nonatomic,readwrite,getter = isErrormsg) BOOL errormsg;
@property (nonatomic,readwrite,getter = isQuiet) BOOL quiet;
- (id) init;
+ (NotificationConfig*) config;
@end
@interface PushServerConfig : NSObject {
BOOL requestMissingMessage;
NSString* bundleId;
}
@property (nonatomic,readwrite,getter = isRequestMissingMessage) BOOL requestMissingMessage;
@property (nonatomic,readwrite,retain) NSString* bundleId;
- (id) init;
+ (PushServerConfig*) config;
@end
@interface NexacroConfig : NSObject {
ApplicationConfig* ApplicationConfig;
NotificationConfig* notificationConfig;
UpdatorConfig* updatorConfig;
PushServerConfig* pushServerConfig;
}
@property (nonatomic,readonly,retain) ApplicationConfig* applicationConfig;
@property (nonatomic,readonly,retain) NotificationConfig* notificationConfig;
@property (nonatomic,readonly,retain) UpdatorConfig* updatorConfig;
@property (nonatomic,readonly,retain) PushServerConfig* pushServerConfig;
- (id) init;
- (id) initWithStream:(NSInputStream*) stream;
- (id) initWithData:(NSData*) data;
- (id) initWithURL:(NSURL*) url;
+ (NexacroConfig*) config;
+ (NexacroConfig*) configWithStream:(NSInputStream*) stream;
+ (NexacroConfig*) configWithData:(NSData*) data;
+ (NexacroConfig*) configWithURL:(NSURL*) url;
- (BOOL) parseFromStream:(NSInputStream*)stream;
- (BOOL) parseFromData:(NSData*)data;
- (BOOL) parseFromURL:(NSURL*)url;
- (BOOL) loadFromStream:(NSInputStream*)stream;
- (BOOL) loadFromData:(NSData*)data;
- (BOOL) loadFromURL:(NSURL*)url;
@end

View File

@ -0,0 +1,29 @@
//==============================================================================
//
// TOBESOFT Co., Ltd.
// Copyright 2014 TOBESOFT Co., Ltd.
// All Rights Reserved.
//
// NOTICE: TOBESOFT permits you to use, modify, and distribute this file
// in accordance with the terms of the license agreement accompanying it.
//
// Readme URL: http://www.nexacro.co.kr/legal/nexacro-public-license-readme-1.0.html
//
//==============================================================================
#import <Foundation/Foundation.h>
#import "NexacroUpdateManager.h"
@interface NexacroLoader : NSObject <UIAlertViewDelegate, NexacroUpdateManagerStateDelegate> {
BOOL bLoader;
UIViewController* viewController;
}
@property (nonatomic) BOOL bLoader;
@property (nonatomic,strong) UIViewController* viewController;
- (void)checkUpdate;
- (void)updateFinish;
@end

View File

@ -0,0 +1,80 @@
//==============================================================================
//
// TOBESOFT Co., Ltd.
// Copyright 2014 TOBESOFT Co., Ltd.
// All Rights Reserved.
//
// NOTICE: TOBESOFT permits you to use, modify, and distribute this file
// in accordance with the terms of the license agreement accompanying it.
//
// Readme URL: http://www.nexacro.co.kr/legal/nexacro-public-license-readme-1.0.html
//
//==============================================================================
#import <UIKit/UIKit.h>
#import <WebKit/WebKit.h>
#import "NexacroResourceManager.h"
#import "NexacroUpdateManager.h"
#import "NexacroNotificationManager.h"
#import "NexacroLoader.h"
#define TAG_StartView 7777
#define H_STATUSBAR (20.0f)
@class DeviceApiExecuter;
@interface NexacroMainViewController : UIViewController {
NexacroLoader * loader;
NSURL *urlMakeCall;
BOOL enableUpdate;
NSString *saveXPushKey;
BOOL fullScreen; //statusBar 제거
BOOL webviewLoaded;
}
@property (nonatomic, retain) NexacroLoader * loader;
@property (nonatomic, retain) id mainView;
@property (nonatomic, retain) NSString * saveXPushKey;
@property (nonatomic, retain) NSURL * urlMakeCall;
@property (nonatomic, assign, getter=isEnableUpdate) BOOL enableUpdate;
@property (nonatomic, assign, getter=isFullScreen) BOOL fullScreen;
@property (nonatomic, assign, getter=isWebviewLoaded) BOOL webviewLoaded;
@property (nonatomic, readwrite, strong) DeviceApiExecuter *deviceApiExecuter;
+ (NSString*)applicationDocumentsDirectory;
+ (NSString*)pathForResource:(NSString*)resourcepath;
- (BOOL)callScript:(NSString*)script;
// 초기화 함수
- (id)initWithFullScreen:(BOOL)anFullScreen;
- (id)initWithFullScreen:(BOOL)anFullScreen enableUpdate:(BOOL)anEnableUpdate;
// SQLStatement에서 SQLConnection을 찾아 연결.
- (id)findSQLConn:(NSInteger)nID;
- (id)findPluginObject:(NSString*)objectId;
- (void)recvDataFromExtAPI: (NSString*)recvData;
- (void)exitFileDialog:(NSInteger)nID;
- (void)callBackOri:(UIInterfaceOrientation)interfaceOrientation;
// loading 배경, loading indicator표시
- (void)showLoadingView:(NSString*)text;
// loading 배경, loading indicator, loading progress 제거..
- (void)removeLoadingView;
//XPush
- (void)destroyXPush:(NSNotification*)noti;
- (void)saveXPush:(NSNotification*)noti;
- (void)foregroundXPush:(NSNotification*)noti;
- (void)RunPageLoad;
@end

View File

@ -0,0 +1,46 @@
//==============================================================================
//
// TOBESOFT Co., Ltd.
// Copyright 2014 TOBESOFT Co., Ltd.
// All Rights Reserved.
//
// NOTICE: TOBESOFT permits you to use, modify, and distribute this file
// in accordance with the terms of the license agreement accompanying it.
//
// Readme URL: http://www.nexacro.co.kr/legal/nexacro-public-license-readme-1.0.html
//
//==============================================================================
#import <Foundation/Foundation.h>
#import "NexacroConfig.h"
@class NexacroNotificationManagerHandler;
@interface NexacroNotificationManager : NSObject {
NexacroNotificationManagerHandler* handler;
NSString* registrationId;
}
@property (readonly,strong) NexacroNotificationManagerHandler* handler;
@property (readwrite,retain) NSString* registrationId;
+ (NexacroNotificationManager*) sharedNotificationManager;
- (BOOL) isEnable;
- (void) configureNotification;
- (void) fireErrorEvent:(NSError*) error andTarget:(id) webview;
- (void) fireRegisterEvent:(NSData*) deviceToken andTarget:(id) webview;
- (void) fireNotificationEvent:(NSDictionary*) message andTarget:(id) webview;
@end
@interface NexacroNotificationManagerHandler : NSObject
-(void) handleError:(NSError*) error;
-(void) handleRegister:(NSString*) registrationId;
-(void) handleReceiveMessage:(NSDictionary*) messages;
@end

View File

@ -0,0 +1,150 @@
//==============================================================================
//
// TOBESOFT Co., Ltd.
// Copyright 2014 TOBESOFT Co., Ltd.
// All Rights Reserved.
//
// NOTICE: TOBESOFT permits you to use, modify, and distribute this file
// in accordance with the terms of the license agreement accompanying it.
//
// Readme URL: http://www.nexacro.co.kr/legal/nexacro-public-license-readme-1.0.html
//
//==============================================================================
#import <Foundation/Foundation.h>
#import "NexacroTypeDefinition.h"
#import "nexacro14/ProtocolAdaptor.h"
@interface ResourceFile : NSObject {
NSString* path;
NSString* xfdl;
NSString* xadl;
NSInteger size;
}
@property (nonatomic,readwrite,retain) NSString* path;
@property (nonatomic,readwrite,retain) NSString* xfdl;
@property (nonatomic,readwrite,retain) NSString* xadl;
@property (nonatomic,readwrite) NSInteger size;
- (id) initWithPath:(NSString*) aPath;
+ (ResourceFile*) resourceFileWithPath:(NSString*) aPath;
- (NSString*) getResourceName;
@end
@interface Resource : NSObject {
NSMutableDictionary* appFiles;
NSMutableDictionary* themeFiles;
}
@property (nonatomic,readonly,retain) NSMutableDictionary* appFiles;
@property (nonatomic,readonly,retain) NSMutableDictionary* themeFiles;
- (id) init;
- (id) initWithStream:(NSInputStream*) stream;
- (id) initWithData:(NSData*) data;
- (id) initWithURL:(NSURL*) url;
+ (Resource*) resource;
+ (Resource*) resourceWithStream:(NSInputStream*) stream;
+ (Resource*) resourceWithData:(NSData*) data;
+ (Resource*) resourceWithURL:(NSURL*) url;
- (ResourceFile*) appResourceFileFromArchiveName:(NSString*) archiveName andPath:(NSString*) path andResourceName:(NSString*) resourceName;
- (ResourceFile*) appResourceFileFromArchiveName:(NSString*) archiveName andPath:(NSString*) path andXADLName:(NSString*) xadlName andXFDLName:(NSString*) xfdlName;
- (ResourceFile*) themeResourceFileFromArchiveName:(NSString*) archiveName andPath:(NSString*) path andSize:(NSInteger) size;
- (void)themeResourceFileFromXthemeName:(NSString *)xthemeName;
- (void) appendAppFilesFromEntryFile:(NSString*) aPath withArchiveName:(NSString*) archiveName;
- (void) writeToFile:(NSString*) aPath;
- (void) buildToJavascriptFile:(NSString*) aPath;
- (BOOL) parseFromStream:(NSInputStream*)stream;
- (BOOL) parseFromData:(NSData*)data;
- (BOOL) parseFromURL:(NSURL*)url;
- (BOOL) loadFromStream:(NSInputStream*)stream;
- (BOOL) loadFromData:(NSData*)data;
- (BOOL) loadFromURL:(NSURL*)url;
@end
@class NexacroConfig, NexacroTypeDefinition, NexacroErrorDefinition;
@interface NexacroResourceManager : NSObject {
NexacroConfig* config;
NexacroTypeDefinition* typeDefinition;
NexacroErrorDefinition* errorDefinition;
NSString* appPath;
NSString* cachePath;
NSString* tmpPath;
NSString* startupFilename;
NSString* updateURL;
NSString* bootstrapURL;
NSString* archiveBootstrapPath;
BOOL existArchive;
BOOL direct;
BOOL offlineMode;
}
@property (readwrite,retain) NexacroConfig* config;
@property (readwrite,retain) NexacroTypeDefinition* typeDefinition;
@property (readonly, retain) NexacroErrorDefinition* errorDefinition;
@property (readwrite,retain) NSString* appPath;
@property (readwrite,retain) NSString* cachePath;
@property (readwrite,retain) NSString* tmpPath;
@property (readwrite,retain) NSString* startupFilename;
@property (readwrite,retain) NSString* updateURL;
@property (readwrite,retain) NSString* bootstrapURL;
@property (nonatomic,readwrite,retain) NSString* archiveBootstrapPath;
@property (readwrite,assign,getter=isExistArchive) BOOL existArchive;
@property (readwrite,assign,getter=isDirect) BOOL direct;
@property (readwrite,assign,getter=isOfflineMode) BOOL offlineMode;
+ (NexacroResourceManager*) sharedResourceManager;
- (NSURL*) startupURL;
- (NSURL*) baseURL;
- (NSString*) startupHTMLString;
- (ProtocolAdaptor*) protocolAdaptorWithName:(NSString*) name;
- (void) setBootstrapURL:(NSString*) aBootstrapURL isDirect:(BOOL) anDirect;
- (BOOL) loadConfigFromFile:(NSString*) file;
- (BOOL) loadConfigFromStream:(NSInputStream*) stream;
- (BOOL) loadConfigFromData:(NSData*) data;
- (BOOL) loadConfigFromURL:(NSURL*) url;
- (BOOL) loadTypeDefinitionFromFile:(NSString*) file;
- (BOOL) loadTypeDefinitionFromStream:(NSInputStream*) stream;
- (BOOL) loadTypeDefinitionFromData:(NSData*) data;
- (BOOL) loadTypeDefinitionFromURL:(NSURL*) url;
- (BOOL) loadBootstrapFromFile:(NSString*) file;
- (BOOL) loadBootstrapFromURL:(NSURL*) url;
- (BOOL) loadErrorDefinitionFromFile:(NSString*) file;
- (BOOL) loadErrorDefinitionFromStream:(NSInputStream*) stream;
- (BOOL) loadErrorDefinitionFromData:(NSData*) data;
- (BOOL) loadErrorDefinitionFromURL:(NSURL*) url;
- (BOOL) loadErrorDefinitionFromFile:(NSString*) file language:(NSString*) aLanguage;
- (BOOL) loadErrorDefinitionFromStream:(NSInputStream*) stream language:(NSString*) aLanguage;
- (BOOL) loadErrorDefinitionFromData:(NSData*) data language:(NSString*) aLanguage;
- (BOOL) loadErrorDefinitionFromURL:(NSURL*) url language:(NSString*) aLanguage;
- (Resource*) resourceFromFile:(NSString*) file;
- (Resource*) resourceFromStream:(NSInputStream*) stream;
- (Resource*) resourceFromData:(NSData*) data;
- (Resource*) respurceFromURL:(NSURL*) url;
- (NSArray *)getXthemeNameFromResourceInfo:(Resource *)resourceInfo;
- (NSString *)getXthemePathFromXthemeName:(NSString *)xthemeName;
@end

View File

@ -0,0 +1,175 @@
//==============================================================================
//
// TOBESOFT Co., Ltd.
// Copyright 2014 TOBESOFT Co., Ltd.
// All Rights Reserved.
//
// NOTICE: TOBESOFT permits you to use, modify, and distribute this file
// in accordance with the terms of the license agreement accompanying it.
//
// Readme URL: http://www.nexacro.co.kr/legal/nexacro-public-license-readme-1.0.html
//
//==============================================================================
#import <Foundation/Foundation.h>
@class NexacroUpdateItem, NexacroUpdateOS, NexacroUpdateDevice, NexacroUpdateResource;
@interface NexacroTypeDefinition : NSObject {
NSMutableDictionary* protocolAdaptos;
BOOL preventScreenshot;
BOOL preventClipboard;
BOOL preventCache;
BOOL preventCookie;
NexacroUpdateItem* updateItem;
}
@property (nonatomic,readwrite,retain) NSMutableDictionary* protocolAdaptos;
@property (nonatomic,readwrite, getter = isPreventScreenshot) BOOL preventScreenshot;
@property (nonatomic,readwrite, getter = isPreventClipboard) BOOL preventClipboard;
@property (nonatomic,readwrite, getter = isPreventCache) BOOL preventCache;
@property (nonatomic,readwrite, getter = isPreventCookie) BOOL preventCookie;
@property (nonatomic,readwrite,retain) NexacroUpdateItem* updateItem;
- (id) init;
- (id) initWithStream:(NSInputStream*) stream;
- (id) initWithData:(NSData*) data;
- (id) initWithURL:(NSURL*) url;
- (id) initWithBootstrap:(NSString*) bootstrap;
- (id) initWithBootstrapURL:(NSURL*) bootstrapUrl;
+ (NexacroTypeDefinition*) typeDefinition;
+ (NexacroTypeDefinition*) typeDefinitionWithStream:(NSInputStream*) stream;
+ (NexacroTypeDefinition*) typeDefinitionWithData:(NSData*) data;
+ (NexacroTypeDefinition*) typeDefinitionWithURL:(NSURL*) url;
+ (NexacroTypeDefinition*) typeDefinitionWithBootstrap:(NSString*) bootstrap;
+ (NexacroTypeDefinition*) typeDefinitionWithBootstrapURL:(NSURL*) bootstrapUrl;
- (BOOL) parseFromStream:(NSInputStream*)stream;
- (BOOL) parseFromData:(NSData*)data;
- (BOOL) parseFromURL:(NSURL*)url;
- (BOOL) parseFromBootstrap:(NSString*)bootstrap;
- (BOOL) loadFromStream:(NSInputStream*)stream;
- (BOOL) loadFromData:(NSData*)data;
- (BOOL) loadFromURL:(NSURL*)url;
- (BOOL) loadFromBootstrap:(NSString*) bootstrap;
- (BOOL) loadFromBootstrapURL:(NSURL*) bootstrapUrl;
- (void) writeToFile:(NSString*) aPath;
@end
@interface NexacroUpdate : NSObject {
NSString* URL;
NSString* engineURL;
NSString* engineSetupKey;
NSString* engineVersion;
}
@property (nonatomic,readwrite,retain) NSString* URL;
@property (nonatomic,readwrite,retain) NSString* engineURL;
@property (nonatomic,readwrite,retain) NSString* engineSetupKey;
@property (nonatomic,readwrite,retain) NSString* engineVersion;
@end
@interface NexacroUpdateItem : NexacroUpdate {
NexacroTypeDefinition* typeDefinition;
NSMutableDictionary* updateOSs;
NSString* systemType;
int timeout;
int retry;
NSString * autoupdate;
}
@property (nonatomic,readonly,strong) NexacroTypeDefinition* typeDefinition;
@property (nonatomic,readonly,retain) NSMutableDictionary* updateOSs;
@property (nonatomic,readwrite,retain) NSString * systemType;
@property (nonatomic,assign) int timeout;
@property (nonatomic,assign) int retry;
@property (nonatomic,readwrite,retain) NSString * autoupdate;
@property (nonatomic,readwrite,retain) NSString* updateType;
- (id) initWithTypeDefinition:(NexacroTypeDefinition*) definition;
+ (NexacroUpdateItem*) updateItemWithTypeDefinition:(NexacroTypeDefinition*) definition;
- (NSArray*) lookup:(NSString*) osType andDeviceType:(NSString*) deviceType;
@end
@interface NexacroUpdateOS : NexacroUpdate {
NSString* type;
NexacroUpdateItem* updateItem;
NSMutableDictionary* updateDevices;
}
@property (nonatomic,readonly,retain) NSString* type;
@property (nonatomic,readonly,strong) NexacroUpdateItem* updateItem;
@property (nonatomic,readonly,retain) NSMutableDictionary* updateDevices;
- (id) initWithType:(NSString*) osType andUpdateItem:(NexacroUpdateItem*) update;
+ (NexacroUpdateOS*) updateOSWithType:(NSString*) osType andUpdateItem:(NexacroUpdateItem*) update;
- (NSArray*) lookup:(NSString*) deviceType;
@end
@interface NexacroUpdateDevice : NexacroUpdate {
NSString* type;
NexacroUpdateOS* updateOS;
NSMutableArray* updateResources;
}
@property (nonatomic,readonly,retain) NSString* type;
@property (nonatomic,readonly,strong) NexacroUpdateOS* updateOS;
@property (nonatomic,readonly,retain) NSMutableArray* updateResources;
- (id) initWithType:(NSString*) deviceType andUpdateOS:(NexacroUpdateOS*) os;
+ (NexacroUpdateDevice*) updateDeviceWithType:(NSString*) deviceType andUpdateOS:(NexacroUpdateOS*) os;
@end
@interface NexacroUpdateResource : NSObject {
NexacroUpdateDevice* updateDevice;
NSString* type;
NSString* file;
NSString* targetPath;
NSString* version;
BOOL failpass;
BOOL archived;
BOOL theme;
BOOL engine;
BOOL image;
BOOL resource;
}
@property (nonatomic,readonly,strong) NexacroUpdateDevice* updateDevice;
@property (nonatomic,readwrite,retain) NSString* type;
@property (nonatomic,readwrite,retain) NSString* file;
@property (nonatomic,readwrite,retain) NSString* targetPath;
@property (nonatomic,readwrite,retain) NSString* version;
@property (nonatomic,readwrite,getter = isFailpass) BOOL failpass;
@property (nonatomic,readwrite,getter = isArchived) BOOL archived;
@property (nonatomic,readwrite,getter = isTheme) BOOL theme;
@property (nonatomic,readwrite,getter = isEngine) BOOL engine;
@property (nonatomic,readwrite,getter = isImage) BOOL image;
@property (nonatomic,readwrite,getter = isResource) BOOL resource;
- (id) initWithType:(NSString*)resourceType andFile:(NSString*) filename andUpdateDevice:(NexacroUpdateDevice*) device;
+ (NexacroUpdateResource*) updateResourceWithType:(NSString*)resourceType andFile:(NSString*) filename andUpdateDevice:(NexacroUpdateDevice*) device;
- (NSString*) getFilename;
- (NSURL*) getURL;
- (BOOL)isApplicationEngine;
@end

View File

@ -0,0 +1,117 @@
//==============================================================================
//
// TOBESOFT Co., Ltd.
// Copyright 2014 TOBESOFT Co., Ltd.
// All Rights Reserved.
//
// NOTICE: TOBESOFT permits you to use, modify, and distribute this file
// in accordance with the terms of the license agreement accompanying it.
//
// Readme URL: http://www.nexacro.co.kr/legal/nexacro-public-license-readme-1.0.html
//
//==============================================================================
#import <Foundation/Foundation.h>
#import "NexacroLoader.h"
enum {
NexacroSynchronizeUpdateStateType = 0,
NexacroDowloadUpdateStateType = 1,
NexacroDecompressUpdateStateType = 2,
NexacroProcessUpdateStateType = 3
};
typedef NSUInteger NexacroUpdateStateType;
@class NexacroUpdateResource;
@interface NexacroUpdateState : NSObject {
NexacroUpdateStateType type;
NexacroUpdateResource* resource;
NSUInteger status;
}
@property (readwrite) NexacroUpdateStateType type;
@property (readwrite,strong) NexacroUpdateResource* resource;
@property (readwrite) NSUInteger status;
- (id) init;
+ (NexacroUpdateState*) updateState;
- (void) didChangeStatus:(NSUInteger) aStatus andType:(NexacroUpdateStateType) stateType andResource:(NexacroUpdateResource*) updateResource;
@end
@protocol NexacroUpdateManagerDelegate, NexacroUpdateManagerStateDelegate;
@interface NexacroUpdateManager : NSObject /*<NSFileManagerDelegate>*/ {
id <NexacroUpdateManagerDelegate> delegate;
id <NexacroUpdateManagerStateDelegate> stateDelegate;
NSString* osType;
NSString* deviceType;
NexacroUpdateState* state;
NSMutableArray* outdatedResources;
BOOL autoUpdate;
BOOL updateFail; //업데이트 실패 할 경우, File에 저장하지 않도록 한다.
}
@property (nonatomic,strong) id <NexacroUpdateManagerDelegate> delegate;
@property (nonatomic,strong) id <NexacroUpdateManagerStateDelegate> stateDelegate;
@property (readonly,retain) NSString* osType;
@property (readonly,retain) NSString* deviceType;
@property (readonly,retain) NexacroUpdateState* state;
@property (readonly,retain) NSMutableArray* outdatedResources;
@property (nonatomic,readwrite,assign,getter = isAutoUpdate) BOOL autoUpdate;
@property (nonatomic) BOOL updateFail;
@property (nonatomic, readwrite, strong) NSMutableArray *errorMsg;
+ (NexacroUpdateManager*) sharedUpdateManager;
- (NSArray*) resources;
- (void) synchronizeLocal;
- (void) synchronizeUpdateServer;
- (void) update;
- (void) install;
- (void) ipaInstall:(NSString*)link;
- (NSString *)getInHouseLink;
- (void)removeInHouseLinkInfo;
- (BOOL) shouldSynchronizeURL:(NSString*) url;
- (BOOL) shouldSynchronizeAsset:(NSString*) asset;
- (BOOL) shouldDownloadResource:(NexacroUpdateResource*) resource toPath:(NSString*) aPath;
- (void) didSuccessResource:(NexacroUpdateResource*) resource;
- (BOOL)didSucceedLastTime;
- (BOOL)inHouseVersionIsNewer:(NexacroUpdateResource*)resource;
- (BOOL)isInHouseUpdateAvailable;
- (BOOL)isInstalled;
@end
@protocol NexacroUpdateManagerDelegate <NSObject>
@required
- (BOOL) updateManager:(NexacroUpdateManager*) manager shouldSynchronizeURL:(NSString*) url;
- (BOOL) updateManager:(NexacroUpdateManager*) manager shouldSynchronizeAsset:(NSString*) asset;
- (BOOL) updateManager:(NexacroUpdateManager*) manager shouldDownloadResource:(NexacroUpdateResource*) resource toPath:(NSString*) aPath;
- (void) updateManager:(NexacroUpdateManager*) manager didSuccessResource:(NexacroUpdateResource*) resource;
@end
@protocol NexacroUpdateManagerStateDelegate <NSObject>
@optional
- (void) updateManager:(NexacroUpdateManager *)manager updateErrorOccurred:(NSError *) error;
- (void) updateManagerDidUpdateState:(NexacroUpdateManager*) manager;
@end

View File

@ -0,0 +1,18 @@
//==============================================================================
//
// TOBESOFT Co., Ltd.
// Copyright 2014 TOBESOFT Co., Ltd.
// All Rights Reserved.
//
// NOTICE: TOBESOFT permits you to use, modify, and distribute this file
// in accordance with the terms of the license agreement accompanying it.
//
// Readme URL: http://www.nexacro.co.kr/legal/nexacro-public-license-readme-1.0.html
//
//==============================================================================
#import <UIKit/UIKit.h>
@interface NexacroUpdateViewController : UIViewController
@end

View File

@ -0,0 +1,60 @@
/*
* XP is available under *either* the terms of the modified BSD license *or* the
* MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
*
* Copyright (c) 2005-2011, Nitobi Software Inc.
* Copyright 2011, IBM.
*/
#import <Foundation/Foundation.h>
typedef enum {
PGCommandStatus_NO_RESULT = 0,
PGCommandStatus_OK,
PGCommandStatus_CLASS_NOT_FOUND_EXCEPTION,
PGCommandStatus_ILLEGAL_ACCESS_EXCEPTION,
PGCommandStatus_INSTANTIATION_EXCEPTION,
PGCommandStatus_MALFORMED_URL_EXCEPTION,
PGCommandStatus_IO_EXCEPTION,
PGCommandStatus_INVALID_ACTION,
PGCommandStatus_JSON_EXCEPTION,
PGCommandStatus_ERROR
} PGCommandStatus;
@interface PluginResult : NSObject {
NSNumber* status;
id message;
NSNumber* keepCallback;
NSString* cast;
}
@property (nonatomic, retain, readonly) NSNumber* status;
@property (nonatomic, retain, readonly) id message;
@property (nonatomic, retain) NSNumber* keepCallback;
@property (nonatomic, retain, readonly) NSString* cast;
-(PluginResult*) init;
+(void) releaseStatus;
+(PluginResult*) resultWithStatus: (PGCommandStatus) statusOrdinal;
+(PluginResult*) resultWithStatus: (PGCommandStatus) statusOrdinal messageAsString: (NSString*) theMessage;
+(PluginResult*) resultWithStatus: (PGCommandStatus) statusOrdinal messageAsArray: (NSArray*) theMessage;
+(PluginResult*) resultWithStatus: (PGCommandStatus) statusOrdinal messageAsInt: (int) theMessage;
+(PluginResult*) resultWithStatus: (PGCommandStatus) statusOrdinal messageAsDictionary: (NSDictionary*) theMessage;
+(PluginResult*) resultWithStatus: (PGCommandStatus) statusOrdinal messageAsString: (NSString*) theMessage cast: (NSString*) theCast;
+(PluginResult*) resultWithStatus: (PGCommandStatus) statusOrdinal messageAsArray: (NSArray*) theMessage cast: (NSString*) theCast;
+(PluginResult*) resultWithStatus: (PGCommandStatus) statusOrdinal messageAsInt: (int) theMessage cast: (NSString*) theCast;
+(PluginResult*) resultWithStatus: (PGCommandStatus) statusOrdinal messageAsDictionary: (NSDictionary*) theMessage cast: (NSString*) theCast;
+(PluginResult*) resultWithStatus: (PGCommandStatus) statusOrdinal messageToErrorObject: (int) errorCode;
-(void) setKeepCallbackAsBool: (BOOL) bKeepCallback;
-(NSString*) toJSONString;
-(NSString*) toSuccessCallbackString: (NSString*) callbackId;
-(NSString*) toErrorCallbackString: (NSString*) callbackId;
-(void) dealloc;
@end

View File

@ -0,0 +1,31 @@
//==============================================================================
//
// TOBESOFT Co., Ltd.
// Copyright 2014 TOBESOFT Co., Ltd.
// All Rights Reserved.
//
// NOTICE: TOBESOFT permits you to use, modify, and distribute this file
// in accordance with the terms of the license agreement accompanying it.
//
// Readme URL: http://www.nexacro.co.kr/legal/nexacro-public-license-readme-1.0.html
//
//==============================================================================
#import <Foundation/Foundation.h>
@interface ProtocolAdaptor : NSObject {
NSString* usingProtocol;
}
@property (readonly,retain) NSString* usingProtocol;
- (id) init;
- (BOOL) initialize:(NSString*) url;
- (BOOL) setParam:(NSString*) value forKey:(NSString*) key;
- (NSDictionary*) getHTTPHeaders;
- (NSData*) encodeData:(NSData*) data andRange:(NSRange) range;
- (NSData*) decodeData:(NSData*) data andRange:(NSRange) range;
@end

BIN
Nexacro17/.DS_Store vendored

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
NexacroN/.DS_Store vendored

Binary file not shown.

Binary file not shown.

BIN
NexacroN/Android/nexacroApp/.DS_Store vendored Normal file

Binary file not shown.

Binary file not shown.

BIN
NexacroN/iOS/.DS_Store vendored

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,39 @@
//==============================================================================
//
// TOBESOFT Co., Ltd.
// Copyright 2017 TOBESOFT Co., Ltd.
// All Rights Reserved.
//
// NOTICE: TOBESOFT permits you to use, modify, and distribute this file
// in accordance with the terms of the license agreement accompanying it.
//
// Readme URL: http://www.nexacro.co.kr/legal/nexacro17-public-license-readme-1.0.html
//
//==============================================================================
#import <WebKit/WebKit.h>
#import "PluginResult.h"
@interface DeviceAPI : NSObject {
}
@property (nonatomic, retain) id webView;
@property (nonatomic, retain) NSDictionary *options;
- (DeviceAPI*) initWithWebView:(id)theWebView;
// nexacro.Hybrid 의 callback을 호출하기 위한 메서드.
- (NSString*) writeJavascript:(NSString*)javascript;
// nexacro.System 의 callback을 호출하기 위한 메서드.
- (NSString*) writeJavascriptEx:(NSString*)javascript;
// 리턴 데이터 중 js에서 문제 있는 character 치환
- (NSString*) getReplacedStringXML:(NSString*)javascript;
- (NSString*) getReplacedStringSSVCSV:(NSString*)javascript;
- (NSString*) getReplacedString:(NSString*)javascript;
- (NSString*) getReturnReplacedString:(NSString*)javascript;
@end

View File

@ -0,0 +1,58 @@
//==============================================================================
//
// TOBESOFT Co., Ltd.
// Copyright 2017 TOBESOFT Co., Ltd.
// All Rights Reserved.
//
// NOTICE: TOBESOFT permits you to use, modify, and distribute this file
// in accordance with the terms of the license agreement accompanying it.
//
// Readme URL: http://www.nexacro.co.kr/legal/nexacro17-public-license-readme-1.0.html
//
//==============================================================================
#import <UIKit/UIKit.h>
#import <Foundation/Foundation.h>
#import "NexacroLoader.h"
#import "NexacroUpdateViewController.h"
#import "NexacroMainViewController.h"
@interface NexacroAppDelegate : NSObject <UIApplicationDelegate, UIAlertViewDelegate>{
NexacroUpdateViewController *updateViewcontroller; //Update & Loading 화면
NexacroMainViewController *mainViewController; //WebView 화면
BOOL bNetworkAvailable; //Network(3G & WIFI) 사용 가능 여부
NSLock *settingAccessLock;
UIImage *splashScreen_P; //Splash Screen Portrait
UIImage *splashScreen_L; //Splash Screen Landscape
float systemVolume; //SET Audio Volume
BOOL statusBarStyle;
}
@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) NexacroLoader *loader;
@property (nonatomic, retain) NexacroUpdateViewController *updateViewcontroller;
@property (nonatomic, retain) NexacroMainViewController *mainViewController;
@property (nonatomic, retain) NSLock * settingAccessLock;
@property (nonatomic, retain) UIImage * splashScreen_P;
@property (nonatomic, retain) UIImage * splashScreen_L;
@property (nonatomic) float systemVolume;
@property (nonatomic) BOOL statusBarStyle;
@property (nonatomic, retain) NSData *deviceToken;
@property (nonatomic, retain) UINavigationController *navc;
- (NexacroMainViewController *)initializeMainViewController;
- (void)networkCheck;
- (void)setbNetworkAvailable:(BOOL)bFlag;
- (BOOL)getbNetworkAvailable;
- (UIImage *)getCurOrientImage;
- (UIImage *)getCurOrientImageWith:(UIInterfaceOrientation)o;
- (void)loaderFail;
- (void)updaterFail;
@end

View File

@ -0,0 +1,130 @@
//==============================================================================
//
// TOBESOFT Co., Ltd.
// Copyright 2017 TOBESOFT Co., Ltd.
// All Rights Reserved.
//
// NOTICE: TOBESOFT permits you to use, modify, and distribute this file
// in accordance with the terms of the license agreement accompanying it.
//
// Readme URL: http://www.nexacro.co.kr/legal/nexacro17-public-license-readme-1.0.html
//
//==============================================================================
#import <Foundation/Foundation.h>
typedef NS_ENUM(NSInteger, ApplicationDialogPosition) {ApplicationDialogPositionTop = 0, ApplicationDialogPositionCenter, ApplicationDialogPositionBottom};
@interface ApplicationConfig : NSObject {
ApplicationDialogPosition dialogPosition;
BOOL useWKWebView;
BOOL fileLogging;
BOOL quiet;
}
@property (nonatomic,readwrite) ApplicationDialogPosition dialogPosition;
@property (nonatomic,readwrite,getter = isUseWKWebView) BOOL useWKWebView;
@property (nonatomic,readwrite) BOOL fileLogging;
@property (nonatomic,readwrite,getter = isQuiet) BOOL quiet;
- (id) init;
+ (ApplicationConfig*) config;
- (void) setDialogPositionWithString:(NSString*) position;
@end
@interface NotificationConfig : NSObject {
BOOL enable;
NSString* handlerName;
}
@property (nonatomic,readwrite,getter = isEnable) BOOL enable;
@property (nonatomic,readwrite,retain) NSString* handlerName;
- (id) init;
+ (NotificationConfig*) config;
@end
@interface UpdatorConfig : NSObject {
BOOL force;
BOOL cancelable;
BOOL restart;
BOOL errormsg;
BOOL quiet;
BOOL ignoreErrors;
}
@property (nonatomic,readwrite,getter = isForce) BOOL force;
@property (nonatomic,readwrite,getter = isCancelable) BOOL cancelable;
@property (nonatomic,readwrite,getter = isRestart) BOOL restart;
@property (nonatomic,readwrite,getter = isErrormsg) BOOL errormsg;
@property (nonatomic,readwrite,getter = isQuiet) BOOL quiet;
@property (nonatomic,readwrite,getter = isIgnoreErrors) BOOL ignoreErrors;
- (id) init;
+ (NotificationConfig*) config;
- (BOOL) isFailPass;
@end
@interface PushServerConfig : NSObject {
BOOL requestMissingMessage;
NSString* bundleId;
}
@property (nonatomic,readwrite,getter = isRequestMissingMessage) BOOL requestMissingMessage;
@property (nonatomic,readwrite,retain) NSString* bundleId;
- (id) init;
+ (PushServerConfig*) config;
@end
@interface SplashConfig : NSObject {
NSString* scaletype;
NSString* backgroundcolor;
}
@property (nonatomic,readwrite,retain) NSString* scaletype;
@property (nonatomic,readwrite,retain) NSString* backgroundcolor;
- (id) init;
+ (SplashConfig*) config;
@end
@interface NexacroConfig : NSObject {
ApplicationConfig* ApplicationConfig;
NotificationConfig* notificationConfig;
UpdatorConfig* updatorConfig;
PushServerConfig* pushServerConfig;
SplashConfig* splashConfig;
}
@property (nonatomic,readonly,retain) ApplicationConfig* applicationConfig;
@property (nonatomic,readonly,retain) NotificationConfig* notificationConfig;
@property (nonatomic,readonly,retain) UpdatorConfig* updatorConfig;
@property (nonatomic,readonly,retain) PushServerConfig* pushServerConfig;
@property (nonatomic,readonly,retain) SplashConfig* splashConfig;
- (id) init;
- (id) initWithStream:(NSInputStream*) stream;
- (id) initWithData:(NSData*) data;
- (id) initWithURL:(NSURL*) url;
+ (NexacroConfig*) config;
+ (NexacroConfig*) configWithStream:(NSInputStream*) stream;
+ (NexacroConfig*) configWithData:(NSData*) data;
+ (NexacroConfig*) configWithURL:(NSURL*) url;
- (BOOL) parseFromStream:(NSInputStream*)stream;
- (BOOL) parseFromData:(NSData*)data;
- (BOOL) parseFromURL:(NSURL*)url;
- (BOOL) loadFromStream:(NSInputStream*)stream;
- (BOOL) loadFromData:(NSData*)data;
- (BOOL) loadFromURL:(NSURL*)url;
@end

View File

@ -0,0 +1,29 @@
//==============================================================================
//
// TOBESOFT Co., Ltd.
// Copyright 2017 TOBESOFT Co., Ltd.
// All Rights Reserved.
//
// NOTICE: TOBESOFT permits you to use, modify, and distribute this file
// in accordance with the terms of the license agreement accompanying it.
//
// Readme URL: http://www.nexacro.co.kr/legal/nexacro17-public-license-readme-1.0.html
//
//==============================================================================
#import <Foundation/Foundation.h>
#import "NexacroUpdateManager.h"
@interface NexacroLoader : NSObject <UIAlertViewDelegate, NexacroUpdateManagerStateDelegate> {
BOOL bLoader;
UIViewController* viewController;
}
@property (nonatomic) BOOL bLoader;
@property (nonatomic,strong) UIViewController* viewController;
- (void)checkUpdate;
- (void)updateFinish;
@end

View File

@ -0,0 +1,81 @@
//==============================================================================
//
// TOBESOFT Co., Ltd.
// Copyright 2017 TOBESOFT Co., Ltd.
// All Rights Reserved.
//
// NOTICE: TOBESOFT permits you to use, modify, and distribute this file
// in accordance with the terms of the license agreement accompanying it.
//
// Readme URL: http://www.nexacro.co.kr/legal/nexacro17-public-license-readme-1.0.html
//
//==============================================================================
#import <UIKit/UIKit.h>
#import <WebKit/WebKit.h>
#import "NexacroResourceManager.h"
#import "NexacroUpdateManager.h"
#import "NexacroNotificationManager.h"
#import "NexacroLoader.h"
#define TAG_StartView 7777
#define H_STATUSBAR (20.0f)
@class DeviceApiExecuter;
@interface NexacroMainViewController : UIViewController {
NexacroLoader * loader;
NSURL *urlMakeCall;
BOOL enableUpdate;
NSString *saveXPushKey;
BOOL fullScreen; //statusBar 제거
BOOL webviewLoaded;
}
@property (nonatomic, retain) NexacroLoader * loader;
@property (nonatomic, retain) id mainView;
@property (nonatomic, retain) NSString * saveXPushKey;
@property (nonatomic, retain) NSURL * urlMakeCall;
@property (nonatomic, assign, getter=isEnableUpdate) BOOL enableUpdate;
@property (nonatomic, assign, getter=isFullScreen) BOOL fullScreen;
@property (nonatomic, assign, getter=isWebviewLoaded) BOOL webviewLoaded;
@property (nonatomic, readwrite, strong) DeviceApiExecuter *deviceApiExecuter;
+ (NSString*)applicationDocumentsDirectory;
+ (NSString*)pathForResource:(NSString*)resourcepath;
- (BOOL)callScript:(NSString*)script;
// 초기화 함수
- (id)initWithFullScreen:(BOOL)anFullScreen;
- (id)initWithFullScreen:(BOOL)anFullScreen enableUpdate:(BOOL)anEnableUpdate;
- (id)initWithFullScreen:(BOOL)anFullScreen andWebviewDelegate:(id)webviewDelegate;
// SQLStatement에서 SQLConnection을 찾아 연결.
- (id)findSQLConn:(NSInteger)nID;
- (id)findPluginObject:(NSString*)objectId;
- (void)recvDataFromExtAPI: (NSString*)recvData;
- (void)exitFileDialog:(NSInteger)nID;
- (void)callBackOri:(UIInterfaceOrientation)interfaceOrientation;
// loading 배경, loading indicator표시
- (void)showLoadingView:(NSString*)text;
// loading 배경, loading indicator, loading progress 제거..
- (void)removeLoadingView;
//XPush
- (void)destroyXPush:(NSNotification*)noti;
- (void)saveXPush:(NSNotification*)noti;
- (void)foregroundXPush:(NSNotification*)noti;
- (void)RunPageLoad;
@end

View File

@ -0,0 +1,46 @@
//==============================================================================
//
// TOBESOFT Co., Ltd.
// Copyright 2017 TOBESOFT Co., Ltd.
// All Rights Reserved.
//
// NOTICE: TOBESOFT permits you to use, modify, and distribute this file
// in accordance with the terms of the license agreement accompanying it.
//
// Readme URL: http://www.nexacro.co.kr/legal/nexacro17-public-license-readme-1.0.html
//
//==============================================================================
#import <Foundation/Foundation.h>
#import "NexacroConfig.h"
@class NexacroNotificationManagerHandler;
@interface NexacroNotificationManager : NSObject {
NexacroNotificationManagerHandler* handler;
NSString* registrationId;
}
@property (readonly,strong) NexacroNotificationManagerHandler* handler;
@property (readwrite,retain) NSString* registrationId;
+ (NexacroNotificationManager*) sharedNotificationManager;
- (BOOL) isEnable;
- (void) configureNotification;
- (void) fireErrorEvent:(NSError*) error andTarget:(id) webview;
- (void) fireRegisterEvent:(NSData*) deviceToken andTarget:(id) webview;
- (void) fireNotificationEvent:(NSDictionary*) message andTarget:(id) webview;
@end
@interface NexacroNotificationManagerHandler : NSObject
-(void) handleError:(NSError*) error;
-(void) handleRegister:(NSString*) registrationId;
-(void) handleReceiveMessage:(NSDictionary*) messages;
@end

View File

@ -0,0 +1,154 @@
//==============================================================================
//
// TOBESOFT Co., Ltd.
// Copyright 2017 TOBESOFT Co., Ltd.
// All Rights Reserved.
//
// NOTICE: TOBESOFT permits you to use, modify, and distribute this file
// in accordance with the terms of the license agreement accompanying it.
//
// Readme URL: http://www.nexacro.co.kr/legal/nexacro17-public-license-readme-1.0.html
//
//==============================================================================
#import <Foundation/Foundation.h>
#import "NexacroTypeDefinition.h"
#import "nexacro/ProtocolAdaptor.h"
@interface ResourceFile : NSObject {
NSString* path;
NSString* xfdl;
NSString* serviceXfdl;
NSString* xadl;
NSInteger size;
}
@property (nonatomic,readwrite,retain) NSString* path;
@property (nonatomic,readwrite,retain) NSString* xfdl;
@property (nonatomic,readwrite,retain) NSString* serviceXfdl;
@property (nonatomic,readwrite,retain) NSString* xadl;
@property (nonatomic,readwrite) NSInteger size;
- (id) initWithPath:(NSString*) aPath;
+ (ResourceFile*) resourceFileWithPath:(NSString*) aPath;
- (NSString*) getResourceName;
@end
@interface Resource : NSObject {
NSMutableDictionary* appFiles;
NSMutableDictionary* themeFiles;
NSMutableDictionary* serviceFiles;
}
@property (nonatomic,readonly,retain) NSMutableDictionary* appFiles;
@property (nonatomic,readonly,retain) NSMutableDictionary* themeFiles;
@property (nonatomic,readonly,retain) NSMutableDictionary* serviceFiles;
- (id) init;
- (id) initWithStream:(NSInputStream*) stream;
- (id) initWithData:(NSData*) data;
- (id) initWithURL:(NSURL*) url;
+ (Resource*) resource;
+ (Resource*) resourceWithStream:(NSInputStream*) stream;
+ (Resource*) resourceWithData:(NSData*) data;
+ (Resource*) resourceWithURL:(NSURL*) url;
- (ResourceFile*) appResourceFileFromArchiveName:(NSString*) archiveName andPath:(NSString*) path andResourceName:(NSString*) resourceName;
- (ResourceFile*) appResourceFileFromArchiveName:(NSString*) archiveName andPath:(NSString*) path andXADLName:(NSString*) xadlName andXFDLName:(NSString*) xfdlName;
- (ResourceFile*) themeResourceFileFromArchiveName:(NSString*) archiveName andPath:(NSString*) path andSize:(NSInteger) size;
- (void)themeResourceFileFromXthemeName:(NSString *)xthemeName;
- (void) appendAppFilesFromEntryFile:(NSString*) aPath withArchiveName:(NSString*) archiveName;
- (void) writeToFile:(NSString*) aPath;
- (void) buildToJavascriptFile:(NSString*) aPath;
- (BOOL) parseFromStream:(NSInputStream*)stream;
- (BOOL) parseFromData:(NSData*)data;
- (BOOL) parseFromURL:(NSURL*)url;
- (BOOL) loadFromStream:(NSInputStream*)stream;
- (BOOL) loadFromData:(NSData*)data;
- (BOOL) loadFromURL:(NSURL*)url;
@end
@class NexacroConfig, NexacroTypeDefinition, NexacroErrorDefinition;
@interface NexacroResourceManager : NSObject {
NexacroConfig* config;
NexacroTypeDefinition* typeDefinition;
NexacroErrorDefinition* errorDefinition;
NSString* appPath;
NSString* cachePath;
NSString* tmpPath;
NSString* startupFilename;
NSString* updateURL;
NSString* bootstrapURL;
NSString* archiveBootstrapPath;
BOOL existArchive;
BOOL direct;
BOOL offlineMode;
}
@property (readwrite,retain) NexacroConfig* config;
@property (readwrite,retain) NexacroTypeDefinition* typeDefinition;
@property (readonly, retain) NexacroErrorDefinition* errorDefinition;
@property (readwrite,retain) NSString* appPath;
@property (readwrite,retain) NSString* cachePath;
@property (readwrite,retain) NSString* tmpPath;
@property (readwrite,retain) NSString* startupFilename;
@property (readwrite,retain) NSString* updateURL;
@property (readwrite,retain) NSString* bootstrapURL;
@property (nonatomic,readwrite,retain) NSString* archiveBootstrapPath;
@property (readwrite,assign,getter=isExistArchive) BOOL existArchive;
@property (readwrite,assign,getter=isDirect) BOOL direct;
@property (readwrite,assign,getter=isOfflineMode) BOOL offlineMode;
+ (NexacroResourceManager*) sharedResourceManager;
- (NSURL*) startupURL;
- (NSURL*) baseURL;
- (NSString*) startupHTMLString;
- (ProtocolAdaptor*) protocolAdaptorWithName:(NSString*) name;
- (void) setBootstrapURL:(NSString*) aBootstrapURL isDirect:(BOOL) anDirect;
- (BOOL) loadConfigFromFile:(NSString*) file;
- (BOOL) loadConfigFromStream:(NSInputStream*) stream;
- (BOOL) loadConfigFromData:(NSData*) data;
- (BOOL) loadConfigFromURL:(NSURL*) url;
- (BOOL) loadTypeDefinitionFromFile:(NSString*) file;
- (BOOL) loadTypeDefinitionFromStream:(NSInputStream*) stream;
- (BOOL) loadTypeDefinitionFromData:(NSData*) data;
- (BOOL) loadTypeDefinitionFromURL:(NSURL*) url;
- (BOOL) loadBootstrapFromFile:(NSString*) file;
- (BOOL) loadBootstrapFromURL:(NSURL*) url;
- (BOOL) loadErrorDefinitionFromFile:(NSString*) file;
- (BOOL) loadErrorDefinitionFromStream:(NSInputStream*) stream;
- (BOOL) loadErrorDefinitionFromData:(NSData*) data;
- (BOOL) loadErrorDefinitionFromURL:(NSURL*) url;
- (BOOL) loadErrorDefinitionFromFile:(NSString*) file language:(NSString*) aLanguage;
- (BOOL) loadErrorDefinitionFromStream:(NSInputStream*) stream language:(NSString*) aLanguage;
- (BOOL) loadErrorDefinitionFromData:(NSData*) data language:(NSString*) aLanguage;
- (BOOL) loadErrorDefinitionFromURL:(NSURL*) url language:(NSString*) aLanguage;
- (Resource*) resourceFromFile:(NSString*) file;
- (Resource*) resourceFromStream:(NSInputStream*) stream;
- (Resource*) resourceFromData:(NSData*) data;
- (Resource*) respurceFromURL:(NSURL*) url;
- (NSArray *)getXthemeNameFromResourceInfo:(Resource *)resourceInfo;
- (NSString *)getXthemePathFromXthemeName:(NSString *)xthemeName;
@end

View File

@ -0,0 +1,177 @@
//==============================================================================
//
// TOBESOFT Co., Ltd.
// Copyright 2017 TOBESOFT Co., Ltd.
// All Rights Reserved.
//
// NOTICE: TOBESOFT permits you to use, modify, and distribute this file
// in accordance with the terms of the license agreement accompanying it.
//
// Readme URL: http://www.nexacro.co.kr/legal/nexacro17-public-license-readme-1.0.html
//
//==============================================================================
#import <Foundation/Foundation.h>
@class NexacroUpdateItem, NexacroUpdateOS, NexacroUpdateDevice, NexacroUpdateResource;
@interface NexacroTypeDefinition : NSObject {
NSMutableDictionary* protocolAdaptos;
BOOL preventScreenshot;
BOOL preventClipboard;
BOOL preventCache;
BOOL preventCookie;
NexacroUpdateItem* updateItem;
}
@property (nonatomic,readwrite,retain) NSMutableDictionary* protocolAdaptos;
@property (nonatomic,readwrite, getter = isPreventScreenshot) BOOL preventScreenshot;
@property (nonatomic,readwrite, getter = isPreventClipboard) BOOL preventClipboard;
@property (nonatomic,readwrite, getter = isPreventCache) BOOL preventCache;
@property (nonatomic,readwrite, getter = isPreventCookie) BOOL preventCookie;
@property (nonatomic,readwrite,retain) NexacroUpdateItem* updateItem;
- (id) init;
- (id) initWithStream:(NSInputStream*) stream;
- (id) initWithData:(NSData*) data;
- (id) initWithURL:(NSURL*) url;
- (id) initWithBootstrap:(NSString*) bootstrap;
- (id) initWithBootstrapURL:(NSURL*) bootstrapUrl;
+ (NexacroTypeDefinition*) typeDefinition;
+ (NexacroTypeDefinition*) typeDefinitionWithStream:(NSInputStream*) stream;
+ (NexacroTypeDefinition*) typeDefinitionWithData:(NSData*) data;
+ (NexacroTypeDefinition*) typeDefinitionWithURL:(NSURL*) url;
+ (NexacroTypeDefinition*) typeDefinitionWithBootstrap:(NSString*) bootstrap;
+ (NexacroTypeDefinition*) typeDefinitionWithBootstrapURL:(NSURL*) bootstrapUrl;
- (BOOL) parseFromStream:(NSInputStream*)stream;
- (BOOL) parseFromData:(NSData*)data;
- (BOOL) parseFromURL:(NSURL*)url;
- (BOOL) parseFromBootstrap:(NSString*)bootstrap;
- (BOOL) loadFromStream:(NSInputStream*)stream;
- (BOOL) loadFromData:(NSData*)data;
- (BOOL) loadFromURL:(NSURL*)url;
- (BOOL) loadFromBootstrap:(NSString*) bootstrap;
- (BOOL) loadFromBootstrapURL:(NSURL*) bootstrapUrl;
- (void) writeToFile:(NSString*) aPath;
@end
@interface NexacroUpdate : NSObject {
NSString* URL;
NSString* engineURL;
NSString* engineSetupKey;
NSString* engineVersion;
}
@property (nonatomic,readwrite,retain) NSString* URL;
@property (nonatomic,readwrite,retain) NSString* engineURL;
@property (nonatomic,readwrite,retain) NSString* engineSetupKey;
@property (nonatomic,readwrite,retain) NSString* engineVersion;
@end
@interface NexacroUpdateItem : NexacroUpdate {
NexacroTypeDefinition* typeDefinition;
NSMutableDictionary* updateOSs;
NSString* systemType;
NSString* versionType;
int timeout;
int retry;
NSString * autoupdate;
}
@property (nonatomic,readonly,strong) NexacroTypeDefinition* typeDefinition;
@property (nonatomic,readonly,retain) NSMutableDictionary* updateOSs;
@property (nonatomic,readwrite,retain) NSString * systemType;
@property (nonatomic,readwrite,retain) NSString * versionType;
@property (nonatomic,assign) int timeout;
@property (nonatomic,assign) int retry;
@property (nonatomic,readwrite,retain) NSString * autoupdate;
@property (nonatomic,readwrite,retain) NSString* updateType;
- (id) initWithTypeDefinition:(NexacroTypeDefinition*) definition;
+ (NexacroUpdateItem*) updateItemWithTypeDefinition:(NexacroTypeDefinition*) definition;
- (NSArray*) lookup:(NSString*) osType andDeviceType:(NSString*) deviceType;
@end
@interface NexacroUpdateOS : NexacroUpdate {
NSString* type;
NexacroUpdateItem* updateItem;
NSMutableDictionary* updateDevices;
}
@property (nonatomic,readonly,retain) NSString* type;
@property (nonatomic,readonly,strong) NexacroUpdateItem* updateItem;
@property (nonatomic,readonly,retain) NSMutableDictionary* updateDevices;
- (id) initWithType:(NSString*) osType andUpdateItem:(NexacroUpdateItem*) update;
+ (NexacroUpdateOS*) updateOSWithType:(NSString*) osType andUpdateItem:(NexacroUpdateItem*) update;
- (NSArray*) lookup:(NSString*) deviceType;
@end
@interface NexacroUpdateDevice : NexacroUpdate {
NSString* type;
NexacroUpdateOS* updateOS;
NSMutableArray* updateResources;
}
@property (nonatomic,readonly,retain) NSString* type;
@property (nonatomic,readonly,strong) NexacroUpdateOS* updateOS;
@property (nonatomic,readonly,retain) NSMutableArray* updateResources;
- (id) initWithType:(NSString*) deviceType andUpdateOS:(NexacroUpdateOS*) os;
+ (NexacroUpdateDevice*) updateDeviceWithType:(NSString*) deviceType andUpdateOS:(NexacroUpdateOS*) os;
@end
@interface NexacroUpdateResource : NSObject {
NexacroUpdateDevice* updateDevice;
NSString* type;
NSString* file;
NSString* targetPath;
NSString* version;
BOOL failpass;
BOOL archived;
BOOL theme;
BOOL engine;
BOOL image;
BOOL resource;
}
@property (nonatomic,readonly,strong) NexacroUpdateDevice* updateDevice;
@property (nonatomic,readwrite,retain) NSString* type;
@property (nonatomic,readwrite,retain) NSString* file;
@property (nonatomic,readwrite,retain) NSString* targetPath;
@property (nonatomic,readwrite,retain) NSString* version;
@property (nonatomic,readwrite,getter = isFailpass) BOOL failpass;
@property (nonatomic,readwrite,getter = isArchived) BOOL archived;
@property (nonatomic,readwrite,getter = isTheme) BOOL theme;
@property (nonatomic,readwrite,getter = isEngine) BOOL engine;
@property (nonatomic,readwrite,getter = isImage) BOOL image;
@property (nonatomic,readwrite,getter = isResource) BOOL resource;
- (id) initWithType:(NSString*)resourceType andFile:(NSString*) filename andUpdateDevice:(NexacroUpdateDevice*) device;
+ (NexacroUpdateResource*) updateResourceWithType:(NSString*)resourceType andFile:(NSString*) filename andUpdateDevice:(NexacroUpdateDevice*) device;
- (NSString*) getFilename;
- (NSURL*) getURL;
- (BOOL)isApplicationEngine;
@end

View File

@ -0,0 +1,117 @@
//==============================================================================
//
// TOBESOFT Co., Ltd.
// Copyright 2017 TOBESOFT Co., Ltd.
// All Rights Reserved.
//
// NOTICE: TOBESOFT permits you to use, modify, and distribute this file
// in accordance with the terms of the license agreement accompanying it.
//
// Readme URL: http://www.nexacro.co.kr/legal/nexacro17-public-license-readme-1.0.html
//
//==============================================================================
#import <Foundation/Foundation.h>
#import "NexacroLoader.h"
enum {
NexacroSynchronizeUpdateStateType = 0,
NexacroDowloadUpdateStateType = 1,
NexacroDecompressUpdateStateType = 2,
NexacroProcessUpdateStateType = 3
};
typedef NSUInteger NexacroUpdateStateType;
@class NexacroUpdateResource;
@interface NexacroUpdateState : NSObject {
NexacroUpdateStateType type;
NexacroUpdateResource* resource;
NSUInteger status;
}
@property (readwrite) NexacroUpdateStateType type;
@property (readwrite,strong) NexacroUpdateResource* resource;
@property (readwrite) NSUInteger status;
- (id) init;
+ (NexacroUpdateState*) updateState;
- (void) didChangeStatus:(NSUInteger) aStatus andType:(NexacroUpdateStateType) stateType andResource:(NexacroUpdateResource*) updateResource;
@end
@protocol NexacroUpdateManagerDelegate, NexacroUpdateManagerStateDelegate;
@interface NexacroUpdateManager : NSObject /*<NSFileManagerDelegate>*/ {
id <NexacroUpdateManagerDelegate> delegate;
id <NexacroUpdateManagerStateDelegate> stateDelegate;
NSString* osType;
NSString* deviceType;
NexacroUpdateState* state;
NSMutableArray* outdatedResources;
BOOL autoUpdate;
BOOL updateFail; //업데이트 실패 할 경우, File에 저장하지 않도록 한다.
}
@property (nonatomic,strong) id <NexacroUpdateManagerDelegate> delegate;
@property (nonatomic,strong) id <NexacroUpdateManagerStateDelegate> stateDelegate;
@property (readonly,retain) NSString* osType;
@property (readonly,retain) NSString* deviceType;
@property (readonly,retain) NexacroUpdateState* state;
@property (readonly,retain) NSMutableArray* outdatedResources;
@property (nonatomic,readwrite,assign,getter = isAutoUpdate) BOOL autoUpdate;
@property (nonatomic) BOOL updateFail;
@property (nonatomic, readwrite, strong) NSMutableArray *errorMsg;
+ (NexacroUpdateManager*) sharedUpdateManager;
- (NSArray*) resources;
- (void) synchronizeLocal;
- (void) synchronizeUpdateServer;
- (void) update;
- (void) install;
- (void) ipaInstall:(NSString*)link;
- (NSString *)getInHouseLink;
- (void)removeInHouseLinkInfo;
- (BOOL) shouldSynchronizeURL:(NSString*) url;
- (BOOL) shouldSynchronizeAsset:(NSString*) asset;
- (BOOL) shouldDownloadResource:(NexacroUpdateResource*) resource toPath:(NSString*) aPath;
- (void) didSuccessResource:(NexacroUpdateResource*) resource;
- (BOOL)didSucceedLastTime;
- (BOOL)inHouseVersionIsNewer:(NexacroUpdateResource*)resource;
- (BOOL)isInHouseUpdateAvailable;
- (BOOL)isInstalled;
@end
@protocol NexacroUpdateManagerDelegate <NSObject>
@required
- (BOOL) updateManager:(NexacroUpdateManager*) manager shouldSynchronizeURL:(NSString*) url;
- (BOOL) updateManager:(NexacroUpdateManager*) manager shouldSynchronizeAsset:(NSString*) asset;
- (BOOL) updateManager:(NexacroUpdateManager*) manager shouldDownloadResource:(NexacroUpdateResource*) resource toPath:(NSString*) aPath;
- (void) updateManager:(NexacroUpdateManager*) manager didSuccessResource:(NexacroUpdateResource*) resource;
@end
@protocol NexacroUpdateManagerStateDelegate <NSObject>
@optional
- (void) updateManager:(NexacroUpdateManager *)manager updateErrorOccurred:(NSError *) error;
- (void) updateManagerDidUpdateState:(NexacroUpdateManager*) manager;
@end

View File

@ -0,0 +1,18 @@
//==============================================================================
//
// TOBESOFT Co., Ltd.
// Copyright 2017 TOBESOFT Co., Ltd.
// All Rights Reserved.
//
// NOTICE: TOBESOFT permits you to use, modify, and distribute this file
// in accordance with the terms of the license agreement accompanying it.
//
// Readme URL: http://www.nexacro.co.kr/legal/nexacro17-public-license-readme-1.0.html
//
//==============================================================================
#import <UIKit/UIKit.h>
@interface NexacroUpdateViewController : UIViewController
@end

View File

@ -0,0 +1,10 @@
#import <Foundation/Foundation.h>
// WKWebView delegate 클래스
//
@interface NexacroWKWebViewDelegate : NSObject <WKNavigationDelegate, WKUIDelegate, WKScriptMessageHandler>
@property (nonatomic, readwrite) BOOL pageLoadFailed;
@property (nonatomic, readwrite, strong) NexacroMainViewController* nxMainViewController;
@end

View File

@ -0,0 +1,60 @@
/*
* XP is available under *either* the terms of the modified BSD license *or* the
* MIT License (2008). See http://opensource.org/licenses/alphabetical for full text.
*
* Copyright (c) 2005-2011, Nitobi Software Inc.
* Copyright 2011, IBM.
*/
#import <Foundation/Foundation.h>
typedef enum {
PGCommandStatus_NO_RESULT = 0,
PGCommandStatus_OK,
PGCommandStatus_CLASS_NOT_FOUND_EXCEPTION,
PGCommandStatus_ILLEGAL_ACCESS_EXCEPTION,
PGCommandStatus_INSTANTIATION_EXCEPTION,
PGCommandStatus_MALFORMED_URL_EXCEPTION,
PGCommandStatus_IO_EXCEPTION,
PGCommandStatus_INVALID_ACTION,
PGCommandStatus_JSON_EXCEPTION,
PGCommandStatus_ERROR
} PGCommandStatus;
@interface PluginResult : NSObject {
NSNumber* status;
id message;
NSNumber* keepCallback;
NSString* cast;
}
@property (nonatomic, retain, readonly) NSNumber* status;
@property (nonatomic, retain, readonly) id message;
@property (nonatomic, retain) NSNumber* keepCallback;
@property (nonatomic, retain, readonly) NSString* cast;
-(PluginResult*) init;
+(void) releaseStatus;
+(PluginResult*) resultWithStatus: (PGCommandStatus) statusOrdinal;
+(PluginResult*) resultWithStatus: (PGCommandStatus) statusOrdinal messageAsString: (NSString*) theMessage;
+(PluginResult*) resultWithStatus: (PGCommandStatus) statusOrdinal messageAsArray: (NSArray*) theMessage;
+(PluginResult*) resultWithStatus: (PGCommandStatus) statusOrdinal messageAsInt: (int) theMessage;
+(PluginResult*) resultWithStatus: (PGCommandStatus) statusOrdinal messageAsDictionary: (NSDictionary*) theMessage;
+(PluginResult*) resultWithStatus: (PGCommandStatus) statusOrdinal messageAsString: (NSString*) theMessage cast: (NSString*) theCast;
+(PluginResult*) resultWithStatus: (PGCommandStatus) statusOrdinal messageAsArray: (NSArray*) theMessage cast: (NSString*) theCast;
+(PluginResult*) resultWithStatus: (PGCommandStatus) statusOrdinal messageAsInt: (int) theMessage cast: (NSString*) theCast;
+(PluginResult*) resultWithStatus: (PGCommandStatus) statusOrdinal messageAsDictionary: (NSDictionary*) theMessage cast: (NSString*) theCast;
+(PluginResult*) resultWithStatus: (PGCommandStatus) statusOrdinal messageToErrorObject: (int) errorCode;
-(void) setKeepCallbackAsBool: (BOOL) bKeepCallback;
-(NSString*) toJSONString;
-(NSString*) toSuccessCallbackString: (NSString*) callbackId;
-(NSString*) toErrorCallbackString: (NSString*) callbackId;
-(void) dealloc;
@end

View File

@ -0,0 +1,31 @@
//==============================================================================
//
// TOBESOFT Co., Ltd.
// Copyright 2017 TOBESOFT Co., Ltd.
// All Rights Reserved.
//
// NOTICE: TOBESOFT permits you to use, modify, and distribute this file
// in accordance with the terms of the license agreement accompanying it.
//
// Readme URL: http://www.nexacro.co.kr/legal/nexacro17-public-license-readme-1.0.html
//
//==============================================================================
#import <Foundation/Foundation.h>
@interface ProtocolAdaptor : NSObject {
NSString* usingProtocol;
}
@property (readonly,retain) NSString* usingProtocol;
- (id) init;
- (BOOL) initialize:(NSString*) url;
- (BOOL) setParam:(NSString*) value forKey:(NSString*) key;
- (NSDictionary*) getHTTPHeaders;
- (NSData*) encodeData:(NSData*) data andRange:(NSRange) range;
- (NSData*) decodeData:(NSData*) data andRange:(NSRange) range;
@end