luxlabs header browser preview


@class NSDate, NSString, NSSet, NSMutableDictionary, PLIOReportStats, PPSMetricMonitorService, NSMutableSet, NSObject, PLProcessMetadata;
@protocol OS_dispatch_queue, OS_dispatch_source;

@interface PLPowerMetricMonitorService : PLService <PPSMetricMonitorServiceDelegate>

@property (retain) PPSMetricMonitorService *metricMonitorService;
@property (nonatomic) long long updateMode;
@property (nonatomic) double updateInterval;
@property BOOL isMonitoring;
@property BOOL isCollectingMetrics;
@property (retain, nonatomic) NSMutableDictionary *metrics;
@property (retain, nonatomic) NSMutableDictionary *cachedMetrics;
@property (retain, nonatomic) NSMutableDictionary *metricsAtLastQueryTime;
@property (retain, nonatomic) PLProcessMetadata *trackedProcess;
@property (retain, nonatomic) NSMutableSet *systemMetricEntryKeys;
@property (retain, nonatomic) NSMutableSet *processSpecificMetricEntryKeys;
@property (retain, nonatomic) NSMutableSet *batteryGaugeConflictingSystemMetricEntryKeys;
@property (retain, nonatomic) NSMutableSet *batteryGaugeConflictingProcessSpecificEntryKeys;
@property (retain, nonatomic) NSMutableSet *entryKeysToCollect;
@property (retain, nonatomic) NSMutableSet *entryKeysRequested;
@property (retain, nonatomic) NSMutableSet *entryKeysCollected;
@property (retain, nonatomic) NSMutableDictionary *entryKeyToEntryInfo;
@property (retain) NSObject<OS_dispatch_queue> *monitorQueue;
@property (retain, nonatomic) NSObject<OS_dispatch_source> *metricCollectionRepeatingTimer;
@property (retain, nonatomic) NSObject<OS_dispatch_source> *metricCollectionTimeoutTimer;
@property (copy, nonatomic) id /* block */ metricCollectionCompletionHandler;
@property (retain, nonatomic) PLIOReportStats *energyModelStats;
@property (retain, nonatomic) PLIOReportStats *pmpCountersStats;
@property (retain, nonatomic) NSDate *currQueryTime;
@property (retain, nonatomic) NSDate *lastQueryTime;
@property (nonatomic) int lastQueryCount;
@property (nonatomic) int currQueryCount;
@property (retain, nonatomic) id costElement;
@property (readonly, nonatomic) NSSet *energyScoringEntities;
@property (readonly) unsigned long long hash;
@property (readonly) Class superclass;
@property (readonly, copy) NSString *description;
@property (readonly, copy) NSString *debugDescription;

+ (void)load;
+ (BOOL)deviceUsesPMPCounters;

- (id)init;
- (void)initOperatorDependancies;
- (void).cxx_destruct;
- (void)_cleanUp;
- (void)_parseGasGaugeMetricsFromEntry:(id)a0;
- (void)_parseLocationMetricsFromEntry:(id)a0;
- (void)_agentDidUpdateWithEntryKey:(id)a0;
- (void)_batteryGaugeServiceDidBecomeActive;
- (void)_batteryGaugeServiceDidBecomeInactive;
- (BOOL)_canCacheMetrics;
- (void)_cancelMetricCollectionTimeoutTimer;
- (void)_cancelMetricCollectionTimer;
- (void)_collectMetricsWithTimeout:(double)a0 completionHandler:(id /* block */)a1;
- (double)_computeDisplayCostWithAvgRed:(int)a0 avgGreen:(int)a1 avgBlue:(int)a2;
- (void)_computeEnergyScoreForProcess;
- (double)_computeGPUCostWithGPUSec:(id)a0;
- (double)_computeLocationCostWithWifiCost:(int)a0 gpsCost:(int)a1 cellCost:(int)a2 skyhookCost:(int)a3;
- (double)_computeNetworkingCostWithWifiIn:(int)a0 wifiOut:(int)a1 cellIn:(int)a2 cellOut:(int)a3;
- (id)_extractCurrentUsageMetrics;
- (void)_metricCollectionTimedOut;
- (void)_parseApplicationMetricsFromEntry:(id)a0;
- (void)_parseCoalitionMetricsFromEntry:(id)a0;
- (void)_parseDisplayAPLMetricsFromEntry:(id)a0 cacheMetrics:(BOOL)a1;
- (void)_parseDisplayBacklightPowerMetricsFromEntry:(id)a0;
- (void)_parseEnergyModelOrPMPMetricsFromSample:(id)a0 withSampleDuration:(double)a1 sourceChannel:(long long)a2;
- (void)_parseProcessMonitorMetricsFromEntry:(id)a0;
- (void)_parseProcessNetworkMetricsFromEntry:(id)a0;
- (void)_parseSMCInstantMetricsFromEntry:(id)a0;
- (void)_parseWifiPowerMetricsFromEntry:(id)a0;
- (BOOL)_pidIsValid:(int)a0;
- (void)_postAgentNotificationWithProcess:(id)a0;
- (void)_registerNotificationWithAgent:(Class)a0 type:(id)a1 tableName:(id)a2 isProcessSpecific:(BOOL)a3 canRequestWhileBatteryGaugeIsRunning:(BOOL)a4 minRequestInterval:(double)a5 block:(id /* block */)a6;
- (void)_sendMetrics;
- (void)_setLastActiveStartTimeAndLastSuspendTimeWithPid:(int)a0 appState:(int)a1 currentTime:(id)a2;
- (void)_setUpAgents;
- (void)_setUpIOReporting;
- (void)_startMetricCollectionTimeoutTimerWithTimeout:(double)a0 block:(id /* block */)a1;
- (void)_startMetricCollectionTimerWithInterval:(double)a0 block:(id /* block */)a1;
- (void)_updateIOReportStats;
- (void)_updateMetricsWithThermalState;
- (void)addMonitoredProcessWithPID:(int)a0 error:(id *)a1;
- (void)allClientsDidDisconnect;
- (double)currentUpdateInterval;
- (long long)currentUpdateMode;
- (void)finishMonitoringAndSendMetrics;
- (BOOL)isMonitoringMetrics;
- (int)pidForProcessName:(id)a0;
- (void)removeMonitoredProcessWithPID:(int)a0;
- (void)setUpForMonitoring;
- (void)startMonitoringWithConfigurationMode:(long long)a0 updateInterval:(double)a1;

@end