moonlight-ios/Limelight/Network/ConnectionHelper.m
2023-02-02 21:54:52 -06:00

42 lines
1.2 KiB
Objective-C

//
// ConnectionHelper.m
// Moonlight macOS
//
// Created by Felix Kratz on 22.03.18.
// Copyright © 2018 Felix Kratz. All rights reserved.
//
#import "ConnectionHelper.h"
#import "ServerInfoResponse.h"
#import "HttpManager.h"
#import "PairManager.h"
#import "DiscoveryManager.h"
@implementation ConnectionHelper
+(AppListResponse*) getAppListForHost:(TemporaryHost*)host {
HttpManager* hMan = [[HttpManager alloc] initWithHost:host];
// Try up to 5 times to get the app list
AppListResponse* appListResp = nil;
for (int i = 0; i < 5; i++) {
appListResp = [[AppListResponse alloc] init];
[hMan executeRequestSynchronously:[HttpRequest requestForResponse:appListResp withUrlRequest:[hMan newAppListRequest]]];
if (![appListResp isStatusOk] || [appListResp getAppList] == nil) {
Log(LOG_W, @"Failed to get applist on try %d: %@", i, appListResp.statusMessage);
// Wait for one second then retry
[NSThread sleepForTimeInterval:1];
}
else {
Log(LOG_I, @"App list successfully retreived - took %d tries", i);
break;
}
}
return appListResp;
}
@end