SMC - performance improvement: unnecessary keys are no longer read.
This commit is contained in:
@@ -33,7 +33,7 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
@property( class, nonatomic, readonly ) SMC * shared;
|
||||
|
||||
- ( instancetype )init;
|
||||
- ( NSArray< SMCData * > * )readAllKeys;
|
||||
- ( NSArray< SMCData * > * )readAllKeys: ( BOOL ( ^ _Nullable )( uint32_t ) )filter;
|
||||
|
||||
@end
|
||||
|
||||
|
||||
@@ -104,7 +104,7 @@ NS_ASSUME_NONNULL_END
|
||||
[ self close ];
|
||||
}
|
||||
|
||||
- ( NSArray< SMCData * > * )readAllKeys
|
||||
- ( NSArray< SMCData * > * )readAllKeys: ( BOOL ( ^ _Nullable )( uint32_t ) )filter
|
||||
{
|
||||
if( self.connection == IO_OBJECT_NULL )
|
||||
{
|
||||
@@ -135,6 +135,11 @@ NS_ASSUME_NONNULL_END
|
||||
|
||||
for( NSNumber * key in self.keys )
|
||||
{
|
||||
if( filter == nil || filter( key.unsignedIntValue ) == NO )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
SMCKeyInfoData info;
|
||||
uint8_t data[ 32 ];
|
||||
uint32_t size = sizeof( data );
|
||||
|
||||
Reference in New Issue
Block a user