Skip to content

Commit fd6f6cc

Browse files
バージョン名を更新するように修正。
1 parent 112b419 commit fd6f6cc

1 file changed

Lines changed: 37 additions & 1 deletion

File tree

dConnectSDK/dConnectSDKForIOS/DConnectSDK/Classes/DConnectManager.m

Lines changed: 37 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -874,7 +874,43 @@ - (NSDictionary *) searchNameConvertTableWithName : (NSString *)name
874874

875875
- (NSArray*)devicePluginsList
876876
{
877-
return [self.mDeviceManager devicePluginList];
877+
self.settings.useLocalOAuth = NO;
878+
self.settings.useOriginEnable = NO;
879+
DConnectRequestMessage *request = [DConnectRequestMessage new];
880+
[request setAction: DConnectMessageActionTypeGet];
881+
[request setProfile: DConnectSystemProfileName];
882+
[request setOrigin:@"http://localhost:8080"];
883+
__block NSMutableArray *devicePlugins = [NSMutableArray array];
884+
__block DConnectDevicePluginManager *dMgr = self.mDeviceManager;
885+
NSArray *list = [self.mDeviceManager devicePluginList];
886+
dispatch_semaphore_t semaphore = dispatch_semaphore_create(0);
887+
dispatch_time_t timeout = dispatch_time(DISPATCH_TIME_NOW, NSEC_PER_SEC * HTTP_REQUEST_TIMEOUT);
888+
[self sendRequest: request callback:^(DConnectResponseMessage *response) {
889+
if (response != nil) {
890+
if ([response result] == DConnectMessageResultTypeOk) {
891+
DConnectArray *plugins = [response arrayForKey:DConnectSystemProfileParamPlugins];
892+
for (int i = 0; i < plugins.count; i++) {
893+
DConnectMessage *message = [plugins messageAtIndex:i];
894+
NSString *version = [message stringForKey:DConnectMessageVersion];
895+
NSString *pluginId = [message stringForKey:DConnectSystemProfileParamId];
896+
pluginId = [pluginId stringByReplacingOccurrencesOfString:@".dconnect" withString:@""];
897+
DConnectDevicePlugin *devicePlugin = (DConnectDevicePlugin *) [dMgr devicePluginForPluginId:pluginId];
898+
[devicePlugin setPluginVersionName:version];
899+
[devicePlugins addObject:devicePlugin];
900+
}
901+
}
902+
903+
}
904+
self.settings.useLocalOAuth = YES;
905+
self.settings.useOriginEnable = YES;
906+
dispatch_semaphore_signal(semaphore);
907+
}];
908+
long result = dispatch_semaphore_wait(semaphore, timeout);
909+
if (result != 0) {
910+
return [self.mDeviceManager devicePluginList];
911+
} else {
912+
return devicePlugins;
913+
}
878914
}
879915

880916
- (NSString *)devicePluginIdForServiceId:(NSString *)serviceId

0 commit comments

Comments
 (0)