Files
MacMonitor/Sources/Telemetry/Fan/MMFanTelemetryProvider.h
gronod f9093b1d99
MacMonitor CI/CD Pipeline / Build & Test (Intel x86_64) (push) Canceled after 0s
feat(fan): implement MMFanTelemetryProvider for multi-fan RPM and utilization (Issue #4)
2026-09-08 12:22:17 +01:00

32 lines
861 B
Objective-C

#ifndef MMFanTelemetryProvider_h
#define MMFanTelemetryProvider_h
#import <Foundation/Foundation.h>
#import "MMTelemetryProvider.h"
#import "MMAppleSMCClient.h"
NS_ASSUME_NONNULL_BEGIN
/**
* MMFanTelemetryProvider
* Samples multi-fan telemetry from AppleSMC: current RPM, min RPM, max RPM, target RPM,
* and fan utilization percentages.
*/
@interface MMFanTelemetryProvider : NSObject <MMTelemetryProvider>
@property (nonatomic, strong, readonly) MMAppleSMCClient *smcClient;
@property (nonatomic, readonly) NSInteger fanCount;
- (instancetype)initWithSMCClient:(MMAppleSMCClient *)client;
/**
* Static calculator method for deterministic unit testing.
*/
+ (NSDictionary<NSString *, id> *)calculateFanMetricsFromFanList:(NSArray<NSDictionary<NSString *, NSNumber *> *> *)fanList;
@end
NS_ASSUME_NONNULL_END
#endif /* MMFanTelemetryProvider_h */