This is LockMgr.m in view mode; [Download] [Up]
/* Generated by Interface Builder */
#import <libc.h>
#import "LockMgr.h"
#import "ScreenLock.h"
#import <appkit/appkit.h>
void idleTimerProc ( DPSTimedEntry teNumber, double now, char *userData )
{
[ (id) userData idle ] ;
return ;
}
@implementation LockMgr
- init
{
static NXDefaultsVector SentinelDefaults =
{
{ "DimTime", "5" },
{ "AutoLock", "NO" },
{ "RequirePassword", "YES" },
{ NULL }
} ;
NXRegisterDefaults ( "Sentinel", SentinelDefaults ) ;
maxIdleTime = atoi ( NXGetDefaultValue ( "Sentinel", "DimTime" ) ) ;
autoLock = ! strcmp (
NXGetDefaultValue ( "Sentinel", "AutoLock" ), "YES" ) ;
requirePassword = ! strcmp (
NXGetDefaultValue ( "Sentinel", "RequirePassword" ), "YES" ) ;
lastDimDestiny = 0 ;
evsDriver = NXOpenEventStatus() ;
timedEntry = DPSAddTimedEntry ( 60.0, (DPSTimedEntryProc) idleTimerProc,
(void *) self, NX_MODALRESPTHRESHOLD ) ;
return [ super init ] ;
}
- free
{
NXCloseEventStatus(evsDriver) ;
DPSRemoveTimedEntry ( timedEntry ) ;
return [ super free ] ;
}
- ok: sender
{
char idleString [ 4 ] ;
char autoString [ 4 ] ;
char pwordString [ 4 ] ;
NXDefaultsVector SentinelDefaults =
{
{ "DimTime", idleString },
{ "AutoLock", autoString },
{ "RequirePassword", pwordString },
{ NULL }
} ;
autoLock = [ autoLockSwitch intValue ] ;
requirePassword = [ requirePasswordSwitch intValue ] ;
maxIdleTime = [ idleSlider intValue ] ;
sprintf ( idleString, "%d", maxIdleTime ) ;
strcpy ( autoString, autoLock ? "YES" : "NO" ) ;
strcpy ( pwordString, requirePassword ? "YES" : "NO" ) ;
NXWriteDefaults ( "Sentinel", SentinelDefaults ) ;
[ revertButton setEnabled: NO ] ;
[ okButton setEnabled: NO ] ;
[ prefsPanel orderOut: self ] ;
lastDimDestiny = 0 ;
return self ;
}
- revert: sender
{
[ autoLockSwitch setIntValue: autoLock ] ;
[ requirePasswordSwitch setIntValue: requirePassword ] ;
[ idleSlider setIntValue: maxIdleTime ] ;
[ idleField setIntValue: maxIdleTime ] ;
[ revertButton setEnabled: NO ] ;
[ okButton setEnabled: NO ] ;
[ prefsPanel makeKeyAndOrderFront: self ] ;
lastDimDestiny = 0 ;
return self ;
}
- changeSetting: sender
{
switch ( [ sender tag ] )
{
case 1:
{
[ idleField setIntValue:[ idleSlider intValue ] ] ;
break ;
}
case 2:
{
[ idleSlider setIntValue:[ idleField intValue ] ] ;
break ;
}
}
[ revertButton setEnabled: YES ] ;
[ okButton setEnabled: YES ] ;
return self ;
}
- idle
{
double currentDimDestiny ;
if ( [ screenLock isLocked ] )
{
idleTime = 0 ;
return self ;
}
currentDimDestiny = NXAutoDimTime ( evsDriver ) ;
if ( currentDimDestiny < lastDimDestiny )
{
idleTime++ ;
}
else
{
idleTime = 0 ;
}
if ( ( autoLock ) && ( idleTime >= maxIdleTime ) )
{
[ screenLock lock: self ] ;
}
lastDimDestiny = currentDimDestiny ;
return self ;
}
- (BOOL) requirePassword
{
return requirePassword ;
}
- (double) brightness
{
double theBrightness ;
theBrightness = NXScreenBrightness(evsDriver) ;
return theBrightness ;
}
- setBrightness: (double) newBrightness
{
NXSetScreenBrightness(evsDriver, newBrightness) ;
return self ;
}
@end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.