powermanagement plugin for iOS
parent
6b1b27eca5
commit
b864c5d72a
@ -0,0 +1,45 @@
|
||||
/*
|
||||
* Copyright (C) 2011-2012 Wolfgang Koller
|
||||
*
|
||||
* This file is part of GOFG Sports Computer - http://www.gofg.at/.
|
||||
*
|
||||
* GOFG Sports Computer is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* GOFG Sports Computer is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with GOFG Sports Computer. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/**
|
||||
* Cordova (iOS) plugin for accessing the power-management functions of the device
|
||||
*/
|
||||
|
||||
#ifdef CORDOVA_FRAMEWORK
|
||||
#import <CORDOVA/CDVPlugin.h>
|
||||
#else
|
||||
#import "CORDOVA/CDVPlugin.h"
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Interface which does the actual handling
|
||||
*/
|
||||
@interface PowerManagement :CDVPlugin {
|
||||
}
|
||||
/**
|
||||
* Sets the idleTimerDisable property to true so that the idle timeout is disabled
|
||||
*/
|
||||
- (void) acquire:(CDVInvokedUrlCommand*)command;
|
||||
|
||||
/**
|
||||
* Sets the idleTimerDisable property to false so that the idle timeout is enabled
|
||||
*/
|
||||
- (void) release:(CDVInvokedUrlCommand*)command;
|
||||
|
||||
@end
|
@ -0,0 +1,75 @@
|
||||
/*
|
||||
* Copyright (C) 2011-2012 Wolfgang Koller
|
||||
*
|
||||
* This file is part of GOFG Sports Computer - http://www.gofg.at/.
|
||||
*
|
||||
* GOFG Sports Computer is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* GOFG Sports Computer is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with GOFG Sports Computer. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/**
|
||||
* Cordova (iOS) plugin for accessing the power-management functions of the device
|
||||
*/
|
||||
#import "PowerManagement.h"
|
||||
|
||||
/**
|
||||
* Actual implementation of the interface
|
||||
*/
|
||||
@implementation PowerManagement
|
||||
- (void) acquire:(CDVInvokedUrlCommand*)command
|
||||
{
|
||||
CDVPluginResult* result = nil;
|
||||
NSString* jsString = nil;
|
||||
NSString* callbackId = command.callbackId;
|
||||
|
||||
// Acquire a reference to the local UIApplication singleton
|
||||
UIApplication* app = [UIApplication sharedApplication];
|
||||
|
||||
if( ![app isIdleTimerDisabled] ) {
|
||||
[app setIdleTimerDisabled:true];
|
||||
|
||||
result = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK];
|
||||
jsString = [result toSuccessCallbackString:callbackId];
|
||||
}
|
||||
else {
|
||||
result = [CDVPluginResult resultWithStatus:CDVCommandStatus_ILLEGAL_ACCESS_EXCEPTION messageAsString:@"IdleTimer already disabled"];
|
||||
jsString = [result toErrorCallbackString:callbackId];
|
||||
}
|
||||
|
||||
[self writeJavascript:jsString];
|
||||
}
|
||||
|
||||
|
||||
- (void) release:(CDVInvokedUrlCommand*)command
|
||||
{
|
||||
CDVPluginResult* result = nil;
|
||||
NSString* jsString = nil;
|
||||
NSString* callbackId = command.callbackId;
|
||||
|
||||
// Acquire a reference to the local UIApplication singleton
|
||||
UIApplication* app = [UIApplication sharedApplication];
|
||||
|
||||
if( [app isIdleTimerDisabled] ) {
|
||||
[app setIdleTimerDisabled:false];
|
||||
|
||||
result = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK];
|
||||
jsString = [result toSuccessCallbackString:callbackId];
|
||||
}
|
||||
else {
|
||||
result = [CDVPluginResult resultWithStatus:CDVCommandStatus_ILLEGAL_ACCESS_EXCEPTION messageAsString:@"IdleTimer not disabled"];
|
||||
jsString = [result toErrorCallbackString:callbackId];
|
||||
}
|
||||
|
||||
[self writeJavascript:jsString];
|
||||
}
|
||||
@end
|
Loading…
Reference in New Issue