Network


Network 는 HSP 에서 기본으로 제공하는 API로 별도의 설정 없이 사용 가능하다.
Network HSP 의 Operation 또는 Hub 와 통신을 쉽게 사용하기 위해서 만들어졌으며 서버와 주고 받는 데이터는 json 정보로 전달할 수 있다.


doPost

doPost 은 POST 형식으로 HSP의 Operation 또는 Hub 에 데이터를 전달한다.

Example

///////////////
// 3.10.18 이상
///////////////
let network = DAPNetwork()
let param = DAPNetworkParam()
param.context = ["targetName":"hub1", "serviceCategory":"default", "serviceName":"getNotice"]
let payloadDict = ["pageNumber":"1", "rowsPerPage":"10"]
param.message = ["header": ["":""], "payload":payloadDict]

network.execute(with: param, completion: { (dict) in
   
}) { (resultError) in
   
}


///////////////
// 3.10.18 이하
///////////////
let network = DAPNetwork()
let contextDict = ["targetName":"hub1", "serviceCategory":"default", "serviceName":"getNotice"]
let payloadDict = ["pageNumber":"1", "rowsPerPage":"10"]
let messageDict = ["header": ["":""], "payload":payloadDict]
let dictInfo = ["context": contextDict, "message":messageDict] as [String : Any]

let params = [dictInfo] as [Any]
network.execute(withActionName: "dopost", params: params, completion: { (dict) in
   guard let resultDict = dict else {
       return
    }

}) { (resultError) in
   guard let error = resultError else {
       return
    }
}

///////////////
// 3.10.18 이상
///////////////
DAPNetworkParam *networkParam = [DAPNetworkParam new];
NSDictionary *contextDict = [NSDictionary dictionaryWithObjectsAndKeys:@"hub1", @"targetName", @"notice", @"serviceCategory", @"getNotice", @"serviceName", nil];
NSDictionary *payloadDict = [NSDictionary dictionaryWithObjectsAndKeys:@"1", @"pageNumber", @"10", @"rowsPerPage", nil];
NSDictionary *messageDict = [NSDictionary dictionaryWithObjectsAndKeys:[NSDictionary dictionary], @"header", payloadDict, @"payload", nil];
networkParam.context = contextDict;
networkParam.message = messageDict;
[[HMPPlugin sharedNetworkPlugin].networkInterface executeWithParam:networkParam completion:^(NSDictionary *resultDict) {
} failure:^(NSError *error) {
   NSString *code = [[[error.userInfo objectForKey:@"message"] objectForKey:@"error"] objectForKey:@"code"];
}];
}

///////////////
// 3.10.18 이하
///////////////
DAPDeviceAPI *deviceAPI = [DAPNetwork new];
NSDictionary *contextDict = [NSDictionary dictionaryWithObjectsAndKeys:@"hub1", @"targetName", @"notice", @"serviceCategory", @"getNotice", @"serviceName", nil];
NSDictionary *payloadDict = [NSDictionary dictionaryWithObjectsAndKeys:@"1", @"pageNumber", @"10", @"rowsPerPage", nil];
NSDictionary *messageDict = [NSDictionary dictionaryWithObjectsAndKeys:[NSDictionary dictionary], @"header", payloadDict, @"payload", nil];
NSDictionary *dictInfo = [NSDictionary dictionaryWithObjectsAndKeys:contextDict, @"context", messageDict, @"message", nil];
NSArray *params = [NSArray arrayWithObjects:dictInfo, nil];
[deviceAPI executeWithActionName:@"dopost" params:params completion:^(NSDictionary *resultDict) {
    NSLog(@"%s %d\nresultDict %@", __PRETTY_FUNCTION__, __LINE__, resultDict);
} failure:^(NSError *error) {
    NSLog(@"%s %d\nerror %@", __PRETTY_FUNCTION__, __LINE__, error);
}];

doUpload

doUpload 은 HSP의 Hub 에 파일 업로드를 요청한다.

Example

///////////////
// 3.10.18 이상
///////////////
let network = DAPNetwork()
let param = DAPNetworkUploadParam()
param.context = ["targetName":"hub1", "serviceCategory":"util", "serviceName":"fileUpload"]
let payloadDict = ["files":"file://Documents/test.png"]
param.message = ["header": ["":""], "payload":payloadDict]

network.execute(with: param, completion: { (dict) in
   
}) { (resultError) in
   
}


///////////////
// 3.10.18 이하
///////////////
let network = DAPNetwork()
let contextDict = ["targetName":"hub1", "serviceCategory":"util", "serviceName":"fileUpload"]
let payloadDict = ["files":"file://Documents/test.png"]
let messageDict = ["header": ["":""], "payload":payloadDict]
let dictInfo = ["context": contextDict, "message":messageDict] as [String : Any]

let params = [dictInfo] as [Any]
network.execute(withActionName: "doupload", params: params, completion: { (dict) in
   guard let resultDict = dict else {
       return
    }

}) { (resultError) in
   guard let error = resultError else {
       return
    }
}

///////////////
// 3.10.18 이상
///////////////
DAPNetworkUploadParam *networkParam = [DAPNetworkUploadParam new];
NSDictionary *contextDict = [NSDictionary dictionaryWithObjectsAndKeys:@"hub1", @"targetName", @"util", @"serviceCategory", @"fileUpload", @"serviceName", nil];
NSDictionary *payloadDict = [NSDictionary dictionaryWithObjectsAndKeys:@"guest", @"userId", @"2dfjk38fj", @"key2", [NSArray arrayWithObjects:@"file://Documents/test.png", nil], @"files", nil];
NSDictionary *messageDict = [NSDictionary dictionaryWithObjectsAndKeys:[NSDictionary dictionary], @"header", payloadDict, @"payload", nil];
networkParam.context = contextDict;
networkParam.message = messageDict;
[[HMPPlugin sharedNetworkPlugin].networkInterface executeWithParam:networkParam completion:^(NSDictionary *resultDict) {
} failure:^(NSError *error) {
   NSString *code = [[[error.userInfo objectForKey:@"message"] objectForKey:@"error"] objectForKey:@"code"];
}];


///////////////
// 3.10.18 이하
///////////////
DAPDeviceAPI *deviceAPI = [DAPNetwork new];
NSDictionary *contextDict = [NSDictionary dictionaryWithObjectsAndKeys:@"hub1", @"targetName", @"util", @"serviceCategory", @"fileUpload", @"serviceName", nil];
NSDictionary *payloadDict = [NSDictionary dictionaryWithObjectsAndKeys:@"guest", @"userId", @"2dfjk38fj", @"key2", [NSArray arrayWithObjects:@"file://Documents/test.png", nil], @"files", nil];
NSDictionary *messageDict = [NSDictionary dictionaryWithObjectsAndKeys:[NSDictionary dictionary], @"header", payloadDict, @"payload", nil];
NSDictionary *dictInfo = [NSDictionary dictionaryWithObjectsAndKeys:contextDict, @"context", messageDict, @"message", nil];
NSArray *params = [NSArray arrayWithObjects:dictInfo, nil];
[deviceAPI executeWithActionName:@"doupload" params:params completion:^(NSDictionary *resultDict) {
    NSLog(@"%s %d\nresultDict %@", __PRETTY_FUNCTION__, __LINE__, resultDict);
} failure:^(NSError *error) {
    NSLog(@"%s %d\nerror %@", __PRETTY_FUNCTION__, __LINE__, error);
}];

doDownload

doDownload 는 HSP 의 Hub 에 파일 다운로드를 요청 한다. 

Example

///////////////
// 3.10.18 이상
///////////////
let network = DAPNetwork()
let param = DAPNetworkDownloadParam()
param.context = ["targetName":"hub1", "serviceCategory":"", "serviceName":"120009"]
let payloadDict = ["bizAppId":"bizapp", "bizAppVersion":"3.0.20171213164231895"]
param.message = ["header": Dictionary<String, Any>(), "payload":payloadDict]

network.execute(with: param, completion: { (dict) in
   
}) { (resultError) in
   
}


///////////////
// 3.10.18 이하
///////////////
let network = DAPNetwork()
let contextDict = ["targetName":"hub1", "serviceCategory":"", "serviceName":"120009"]
let payloadDict = ["bizAppId":"bizapp", "bizAppVersion":"3.0.20171213164231895"]
let messageDict = ["header": Dictionary<String, Any>(), "payload":payloadDict]
let dictInfo = ["context": contextDict, "message":messageDict] as [String : Any]

let params = [dictInfo] as [Any]
network.execute(withActionName: "dodownload", params: params, completion: { (dict) in
   guard let resultDict = dict else {
       return
    }

}) { (resultError) in
   guard let error = resultError else {
       return
    }
}

///////////////
// 3.10.18 이상
///////////////
DAPNetworkDownloadParam *networkParam = [DAPNetworkDownloadParam new];
NSDictionary *contextDict = [NSDictionary dictionaryWithObjectsAndKeys:@"hub1", @"targetName", @"", @"serviceCategory", @"120009", @"serviceName", nil];
NSDictionary *payloadDict = [NSDictionary dictionaryWithObjectsAndKeys:@"bizapp", @"bizAppId", @"3.0.20171213164231895", @"bizAppVersion", nil];
NSDictionary *messageDict = [NSDictionary dictionaryWithObjectsAndKeys:[NSDictionary dictionary], @"header", payloadDict, @"payload", nil];
networkParam.context = contextDict;
networkParam.message = messageDict;
[[HMPPlugin sharedNetworkPlugin].networkInterface executeWithParam:networkParam completion:^(NSDictionary *resultDict) {
} failure:^(NSError *error) {
   NSString *code = [[[error.userInfo objectForKey:@"message"] objectForKey:@"error"] objectForKey:@"code"];
}];

///////////////
// 3.10.18 이하
///////////////
DAPDeviceAPI *deviceAPI = [DAPNetwork new];

NSDictionary *contextDict = [NSDictionary dictionaryWithObjectsAndKeys:TARGET_SERVER_OP, @"targetName", @"", @"serviceCategory", @"120009", @"serviceName", nil];
NSDictionary *payloadDict = [NSDictionary dictionaryWithObjectsAndKeys:@"bizapp", @"bizAppId", @"3.0.20171213164231895", @"bizAppVersion", nil];
NSDictionary *messageDict = [NSDictionary dictionaryWithObjectsAndKeys:[NSDictionary dictionary], @"header", payloadDict, @"payload", nil];
NSDictionary *dictInfo = [NSDictionary dictionaryWithObjectsAndKeys:contextDict, @"context", messageDict, @"message", nil];
NSArray *params = [NSArray arrayWithObjects:dictInfo, nil];
[deviceAPI executeWithActionName:@"doDownload" params:params completion:^(NSDictionary *resultDict) {
    NSLog(@"%s %d\nresultDict %@", __PRETTY_FUNCTION__, __LINE__, resultDict);
} failure:^(NSError *error) {
    NSLog(@"%s %d\nerror %@", __PRETTY_FUNCTION__, __LINE__, error);
}];

doUploadWithProgress

doUploadWithProgress 는 HSP 의 Hub 에 파일 업로드를 요청하면서 진행 상황을 전달 받는다. 

Example

///////////////
// 3.10.18 이상
///////////////
HMPProgressManager.shared()?.useCustom(showLoading: { (title, message) in
   
}, hideLoading: {
   
}, showProgress: { (title, message) in
   
}, hideProgress: {
   
}, updateProgress: { (infoDict) in
   
}, installProgress: { (infoDict) in
   
})

let network = DAPNetwork()
let param = DAPNetworkUploadParam()
param.context = ["targetName":"hub1", "serviceCategory":"util", "serviceName":"fileUpload"]
let payloadDict = ["files":"file://Documents/test.png"]
param.message = ["header": ["":""], "payload":payloadDict]

network.execute(with: param, completion: { (dict) in
   
}) { (resultError) in
   
}


///////////////
// 3.10.18 이하
///////////////
HMPProgressManager.shared()?.useCustom(showLoading: { (title, message) in
   
}, hideLoading: {
   
}, showProgress: { (title, message) in
   
}, hideProgress: {
   
}, updateProgress: { (infoDict) in
   
}, installProgress: { (infoDict) in
   
})

let network = DAPNetwork()
let contextDict = ["targetName":"hub1", "serviceCategory":"util", "serviceName":"fileUpload"]
let payloadDict = ["files":"file://Documents/test.png"]
let messageDict = ["header": ["":""], "payload":payloadDict]
let dictInfo = ["context": contextDict, "message":messageDict] as [String : Any]

let params = [dictInfo] as [Any]
network.execute(withActionName: "doupload", params: params, completion: { (dict) in
   guard let resultDict = dict else {
       return
    }

}) { (resultError) in
   guard let error = resultError else {
       return
    }
}

///////////////
// 3.10.18 이상
///////////////
[[HMPProgressManager sharedProgressManager] useCustomWithShowLoading:^(NSString *title, NSString *message) {
   
} hideLoading:^{
   
} showProgress:^(NSString *title, NSString *message) {
   
} hideProgress:^{
   
} updateProgress:^(NSInteger progress, NSString *title, NSString *message) {
   
}];

DAPNetworkUploadParam *networkParam = [DAPNetworkUploadParam new];
NSDictionary *contextDict = [NSDictionary dictionaryWithObjectsAndKeys:@"hub1", @"targetName", @"util", @"serviceCategory", @"fileUpload", @"serviceName", nil];
NSDictionary *payloadDict = [NSDictionary dictionaryWithObjectsAndKeys:@"guest", @"userId", @"2dfjk38fj", @"key2", [NSArray arrayWithObjects:@"file://Documents/test.png", nil], @"mulitpartFiles", nil];
NSDictionary *messageDict = [NSDictionary dictionaryWithObjectsAndKeys:[NSDictionary dictionary], @"header", payloadDict, @"payload", nil];
networkParam.context = contextDict;
networkParam.message = messageDict;
[[HMPPlugin sharedNetworkPlugin].networkInterface executeWithParam:networkParam completion:^(NSDictionary *resultDict) {
} failure:^(NSError *error) {
   NSString *code = [[[error.userInfo objectForKey:@"message"] objectForKey:@"error"] objectForKey:@"code"];
}];


///////////////
// 3.10.18 이하
///////////////
[[HMPProgressManager sharedProgressManager] useCustomWithShowLoading:^(NSString *title, NSString *message) {
   
} hideLoading:^{
   
} showProgress:^(NSString *title, NSString *message) {
   
} hideProgress:^{
   
} updateProgress:^(NSInteger progress, NSString *title, NSString *message) {
   
}];

DAPDeviceAPI *deviceAPI = [DAPNetwork new];
NSArray *files = [NSArray arrayWithObjects:@"a.mp4", nil];
NSDictionary *contextDict = [NSDictionary dictionaryWithObjectsAndKeys:@"hub1", @"targetName", @"bizworkFile", @"serviceCategory", @"doFileMutipartUpload", @"serviceName", nil];
NSDictionary *payloadDict = [NSDictionary dictionaryWithObjectsAndKeys:@"jaehongc", @"userId", @"value2", @"key2", files, @"files", nil];

NSDictionary *messageDict = [NSDictionary dictionaryWithObjectsAndKeys:[NSDictionary dictionary], @"header", payloadDict, @"payload", nil];
NSDictionary *dictInfo = [NSDictionary dictionaryWithObjectsAndKeys:contextDict, @"context", messageDict, @"message", nil];
NSArray *params = [NSArray arrayWithObjects:dictInfo, nil];
[deviceAPI executeWithActionName:@"doUploadWithProgress" params:params completion:^(NSDictionary *resultDict) {
    NSLog(@"%s %d\nresultDict %@", __PRETTY_FUNCTION__, __LINE__, resultDict);
} failure:^(NSError *error) {
    NSLog(@"%s %d\nerror %@", __PRETTY_FUNCTION__, __LINE__, error);
}];

doDownloadWithProgress

doDownloadWithProgress 는 HSP 의 Hub 에 파일 다운로드를 요청 하면서 진행 상황을 전달 받는다. 

Example

///////////////
// 3.10.18 이상
///////////////
HMPProgressManager.shared()?.useCustom(showLoading: { (title, message) in
   
}, hideLoading: {
   
}, showProgress: { (title, message) in
   
}, hideProgress: {
   
}, updateProgress: { (infoDict) in
   
}, installProgress: { (infoDict) in
   
})

let network = DAPNetwork()
let param = DAPNetworkDownloadParam()
param.context = ["targetName":"hub1", "serviceCategory":"", "serviceName":"120009"]
let payloadDict = ["bizAppId":"bizapp", "bizAppVersion":"3.0.20171213164231895"]
param.message = ["header": Dictionary<String, Any>(), "payload":payloadDict]

network.execute(with: param, completion: { (dict) in
   
}) { (resultError) in
   
}


///////////////
// 3.10.18 이하
///////////////
HMPProgressManager.shared()?.useCustom(showLoading: { (title, message) in
   
}, hideLoading: {
   
}, showProgress: { (title, message) in
   
}, hideProgress: {
   
}, updateProgress: { (infoDict) in
   
}, installProgress: { (infoDict) in
   
})

let network = DAPNetwork()
let contextDict = ["targetName":"hub1", "serviceCategory":"", "serviceName":"120009"]
let payloadDict = ["bizAppId":"bizapp", "bizAppVersion":"3.0.20171213164231895"]
let messageDict = ["header": Dictionary<String, Any>(), "payload":payloadDict]
let dictInfo = ["context": contextDict, "message":messageDict] as [String : Any]

let params = [dictInfo] as [Any]
network.execute(withActionName: "dodownload", params: params, completion: { (dict) in
   guard let resultDict = dict else {
       return
    }

}) { (resultError) in
   guard let error = resultError else {
       return
    }
}

///////////////
// 3.10.18 이상
///////////////
[[HMPProgressManager sharedProgressManager] useCustomWithShowLoading:^(NSString *title, NSString *message) {
   
} hideLoading:^{
   
} showProgress:^(NSString *title, NSString *message) {
   
} hideProgress:^{
   
} updateProgress:^(NSInteger progress, NSString *title, NSString *message) {
   
}];

DAPNetworkDownloadParam *networkParam = [DAPNetworkDownloadParam new];
NSDictionary *contextDict = [NSDictionary dictionaryWithObjectsAndKeys:@"hub1", @"targetName", @"", @"serviceCategory", @"120009", @"serviceName", nil];
NSDictionary *payloadDict = [NSDictionary dictionaryWithObjectsAndKeys:@"bizapp", @"bizAppId", @"3.0.20171213164231895", @"bizAppVersion", nil];
NSDictionary *messageDict = [NSDictionary dictionaryWithObjectsAndKeys:[NSDictionary dictionary], @"header", payloadDict, @"payload", nil];
networkParam.context = contextDict;
networkParam.message = messageDict;
[[HMPPlugin sharedNetworkPlugin].networkInterface executeWithParam:networkParam completion:^(NSDictionary *resultDict) {
} failure:^(NSError *error) {
   NSString *code = [[[error.userInfo objectForKey:@"message"] objectForKey:@"error"] objectForKey:@"code"];
}];


///////////////
// 3.10.18 이하
///////////////
[[HMPProgressManager sharedProgressManager] useCustomWithShowLoading:^(NSString *title, NSString *message) {
   
} hideLoading:^{
   
} showProgress:^(NSString *title, NSString *message) {
   
} hideProgress:^{
   
} updateProgress:^(NSInteger progress, NSString *title, NSString *message) {
   
}];

DAPDeviceAPI *deviceAPI = [DAPNetwork new];

NSDictionary *contextDict = [NSDictionary dictionaryWithObjectsAndKeys:TARGET_SERVER_OP, @"targetName", @"", @"serviceCategory", @"120009", @"serviceName", nil];
NSDictionary *payloadDict = [NSDictionary dictionaryWithObjectsAndKeys:@"bizapp", @"bizAppId", @"3.0.20171213164231895", @"bizAppVersion", nil];
NSDictionary *messageDict = [NSDictionary dictionaryWithObjectsAndKeys:[NSDictionary dictionary], @"header", payloadDict, @"payload", nil];
NSDictionary *dictInfo = [NSDictionary dictionaryWithObjectsAndKeys:contextDict, @"context", messageDict, @"message", nil];
NSArray *params = [NSArray arrayWithObjects:dictInfo, nil];
[deviceAPI executeWithActionName:@"doDownloadWithProgress" params:params completion:^(NSDictionary *resultDict) {
    NSLog(@"%s %d\nresultDict %@", __PRETTY_FUNCTION__, __LINE__, resultDict);
} failure:^(NSError *error) {
    NSLog(@"%s %d\nerror %@", __PRETTY_FUNCTION__, __LINE__, error);
}];