Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,6 @@
AB4B690B19B46FC9009939C9 /* irkit08.png in Resources */ = {isa = PBXBuildFile; fileRef = AB4B68FB19B4671D009939C9 /* irkit08.png */; };
AB506F7419B05CA9004D6C41 /* DConnectSDK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AB506F7319B05CA9004D6C41 /* DConnectSDK.framework */; };
AB5555BA1E56B33B0086E5D5 /* DPIRKitPowerProfile.m in Sources */ = {isa = PBXBuildFile; fileRef = AB5555B91E56B33B0086E5D5 /* DPIRKitPowerProfile.m */; };
AB6A83581B65CA7200E4F32F /* DPIRKitTutorialTopViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = AB6A83571B65CA7200E4F32F /* DPIRKitTutorialTopViewController.m */; };
AB6A835A1B65E07A00E4F32F /* irkit10.png in Resources */ = {isa = PBXBuildFile; fileRef = AB6A83591B65E07A00E4F32F /* irkit10.png */; };
AB6A835B1B65FE7A00E4F32F /* irkit10.png in Resources */ = {isa = PBXBuildFile; fileRef = AB6A83591B65E07A00E4F32F /* irkit10.png */; };
AB6A835E1B6619AC00E4F32F /* DPIRKitVirtualDeviceViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = AB6A835D1B6619AC00E4F32F /* DPIRKitVirtualDeviceViewController.m */; };
Expand Down Expand Up @@ -211,8 +210,6 @@
AB506F7319B05CA9004D6C41 /* DConnectSDK.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = DConnectSDK.framework; path = ../../dConnectSDK/dConnectSDKForIOS/DConnectSDK/DConnectSDK.framework; sourceTree = "<group>"; };
AB5555B81E56B33B0086E5D5 /* DPIRKitPowerProfile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DPIRKitPowerProfile.h; sourceTree = "<group>"; };
AB5555B91E56B33B0086E5D5 /* DPIRKitPowerProfile.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DPIRKitPowerProfile.m; sourceTree = "<group>"; };
AB6A83561B65CA7200E4F32F /* DPIRKitTutorialTopViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DPIRKitTutorialTopViewController.h; sourceTree = "<group>"; };
AB6A83571B65CA7200E4F32F /* DPIRKitTutorialTopViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DPIRKitTutorialTopViewController.m; sourceTree = "<group>"; };
AB6A83591B65E07A00E4F32F /* irkit10.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = irkit10.png; sourceTree = "<group>"; };
AB6A835C1B6619AC00E4F32F /* DPIRKitVirtualDeviceViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DPIRKitVirtualDeviceViewController.h; sourceTree = "<group>"; };
AB6A835D1B6619AC00E4F32F /* DPIRKitVirtualDeviceViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DPIRKitVirtualDeviceViewController.m; sourceTree = "<group>"; };
Expand Down Expand Up @@ -314,8 +311,6 @@
30A1EBDE19A8D16600E6CCE9 /* DPIRKitWiFiFormViewController.m */,
3007FBFD19CD4735005F42CD /* DPIRKitWiFiSelectionGuideViewController.h */,
3007FBFE19CD4735005F42CD /* DPIRKitWiFiSelectionGuideViewController.m */,
AB6A83561B65CA7200E4F32F /* DPIRKitTutorialTopViewController.h */,
AB6A83571B65CA7200E4F32F /* DPIRKitTutorialTopViewController.m */,
AB6A835C1B6619AC00E4F32F /* DPIRKitVirtualDeviceViewController.h */,
AB6A835D1B6619AC00E4F32F /* DPIRKitVirtualDeviceViewController.m */,
AB056F961B68DDF300E1482F /* DPIRKitVirtualProfileViewController.h */,
Expand Down Expand Up @@ -710,7 +705,6 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
AB6A83581B65CA7200E4F32F /* DPIRKitTutorialTopViewController.m in Sources */,
ABC2DB1B1B689BBE0034C08F /* DPIRKitRESTfulRequest.m in Sources */,
3007FBFC19CD43F4005F42CD /* DPIRKitReachability.m in Sources */,
3039F98119A5F40500319429 /* DPIRKitPageViewController.m in Sources */,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@ - (void) dealloc {

- (DPIRKitDevice *) deviceForServiceId:(NSString *)serviceId {
@synchronized (_devices) {
return [_devices objectForKey:serviceId];
return _devices[serviceId];
}
}

Expand Down Expand Up @@ -248,29 +248,37 @@ - (void) sendDeviceDetectionEventWithDevice:(DPIRKitDevice *)device online:(BOOL
if (virtuals.count > 0) {
for (DPIRKitVirtualDevice *virtual in virtuals) {
NSRange range = [virtual.serviceId rangeOfString:device.name];
if (range.location != NSNotFound
&& [self existIRForServiceId:virtual.serviceId]) {
if (online) {
if (range.location != NSNotFound) {

if ([self existIRForServiceId:virtual.serviceId]) {
// オンライン遷移の場合、デバイスが未登録なら登録し、登録済ならフラグをオンラインにする
NSString *serviceId = virtual.serviceId;
if ([self.serviceProvider service: serviceId]) {
DConnectService *service = [self.serviceProvider service: serviceId];
[service setOnline: YES];
[service setOnline: online];
} else {
NSString *profileName = virtual.categoryName;
DPIRKitVirtualService *service = [[DPIRKitVirtualService alloc] initWithServiceId: serviceId
name:virtual.deviceName
plugin:self
profileName:profileName];
profileName:virtual.categoryName];
[service setOnline: online];
[self.serviceProvider addService: service bundle: DPIRBundle()];
[service setOnline: YES];

}
} else {
// オフライン遷移の場合、デバイスが登録済ならフラグをオフラインにする
NSString *serviceId = virtual.serviceId;
DConnectService *service = [self.serviceProvider service: serviceId];
if (service) {
[service setOnline: NO];
[self.serviceProvider addService: service bundle: DPIRBundle()];
} else {
service = [[DPIRKitVirtualService alloc] initWithServiceId: serviceId
name:virtual.deviceName
plugin:self
profileName:virtual.categoryName];
[service setOnline: NO];
[self.serviceProvider addService: service bundle: DPIRBundle()];
}
}

Expand Down Expand Up @@ -340,24 +348,16 @@ - (UIViewController *) profile:(DConnectSystemProfile *)sender
DConnectServiceListViewController *serviceListViewController = (DConnectServiceListViewController *) top.viewControllers[0];
serviceListViewController.delegate = self;
return top;
/*
NSBundle *bundle = DPIRBundle();

// iphoneとipadでストーリーボードを切り替える
UIStoryboard *storyBoard;
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) {
storyBoard = [UIStoryboard storyboardWithName:[NSString stringWithFormat:@"%@iPhone", DPIRKitStoryBoardName]
bundle:bundle];
} else{
storyBoard = [UIStoryboard storyboardWithName:[NSString stringWithFormat:@"%@iPad", DPIRKitStoryBoardName]
bundle:bundle];
}
UINavigationController *viewController = [storyBoard instantiateInitialViewController];
return viewController;
*/
}

- (void)didSelectService:(DConnectService *)service {
- (void)didRemoveService:(DConnectService *)service
{
//サービス一覧画面で仮想デバイスが削除されたら、DBからも仮想デバイスを削除する。
DPIRKitDBManager *mgr = [DPIRKitDBManager sharedInstance];
[mgr deleteVirtualDevice:service.serviceId];
[mgr deleteRESTfulRequestForServiceId:service.serviceId];
}
- (void)didSelectService:(DConnectService *)service
{

// サービスが選択されたら、仮想デバイス一覧画面を表示する

Expand All @@ -373,42 +373,28 @@ - (void)didSelectService:(DConnectService *)service {
}
UINavigationController *top = [storyBoard instantiateViewControllerWithIdentifier:@"virtualDeviceList"];


UIViewController *rootView;
DCPutPresentedViewController(rootView);
DPIRKitVirtualDeviceViewController *view = (DPIRKitVirtualDeviceViewController*) top.viewControllers[0];
DPIRKitDevice *irkit = _devices[service.serviceId];

if (irkit) {
[view setDetailItem:irkit];
[rootView presentViewController:top animated:YES completion:nil];
} else {
NSString *title = nil;
NSString *message = nil;
DConnectService *service_ = [self.serviceProvider service:service.serviceId];
if (service_) {
if ([service_ isMemberOfClass: [DPIRKitService class]] ) {
if (!service_.online) {
title = @"オフライン";
message = @"このデバイスはオフラインです";
}
} else if ([service_ isMemberOfClass: [DPIRKitVirtualService class]] ) {
if (!service_.online) {
title = @"仮想デバイス";
message = @"このデバイスは仮想デバイスです";
}
}
} else {
title = @"認識されていないデバイス";
message = @"このデバイスは認識されていません";
}
if (!title) {
title = @"不明なデバイス";
message = @"このデバイスは不明です";
if (service.serviceId) {
// IRKitのServiceIdに.がある場合は仮想デバイスとみなす
NSRange range = [service.serviceId rangeOfString:@"."];
if (range.location != NSNotFound) {
UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"仮想デバイス"
message:@"このデバイスは仮想デバイスのため、さらに仮想デバイスを作ることはできません。"
preferredStyle:UIAlertControllerStyleAlert];
[alertController addAction:[UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault handler:nil]];
[rootView presentViewController:alertController animated:YES completion:nil];
return;
}

UIAlertController *alertController = [UIAlertController alertControllerWithTitle:title
message:message

[view setDetailName:service.serviceId];
[view setProvider:super.serviceProvider];
[rootView presentViewController:top animated:YES completion:nil];
} else {
UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"不明なデバイス"
message:@"このデバイスは不明です"
preferredStyle:UIAlertControllerStyleAlert];
[alertController addAction:[UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault handler:nil]];
[rootView presentViewController:alertController animated:YES completion:nil];
Expand Down Expand Up @@ -441,20 +427,8 @@ - (UIViewController *)settingViewController {
bundle:bundle];
}
UINavigationController *top = [storyBoard instantiateViewControllerWithIdentifier:@"setting"];
return top;
}

- (NSArray *) displayServiceFilter:(NSArray *)services {

NSMutableArray *filterServices = [NSMutableArray array];

// 仮想デバイスを表示しないので、それを除いたservicesを作成して返す
for (DConnectService *service in services) {
if (![service isMemberOfClass: [DPIRKitVirtualService class]]) {
[filterServices addObject: service];
}
}
return filterServices;
return top;
}

#pragma mark DConnectInformationProfileDataSource
Expand All @@ -466,7 +440,7 @@ - (DConnectServiceInformationProfileConnectState) profile:(DConnectServiceInform
DConnectServiceInformationProfileConnectState state = DConnectServiceInformationProfileConnectStateOff;
@synchronized (_devices) {
if (_devices.count > 0) {
DPIRKitDevice *device = [_devices objectForKey:serviceId];
DPIRKitDevice *device = _devices[serviceId];
if (device) {
state = DConnectServiceInformationProfileConnectStateOn;
}
Expand Down

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -11,5 +11,6 @@

@interface DPIRKitVirtualDeviceViewController : UIViewController<UITableViewDelegate,UITableViewDataSource>

@property (strong, nonatomic) id detailItem;
@property (strong, nonatomic) id provider;
@property (strong, nonatomic) id detailName;
@end
Loading