Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #import <objc/runtime.h>
- @implementation NSObject (InstanceVariableForKey)
- - (void *)instanceVariableForKey:(NSString *)aKey {
- if (aKey) {
- Ivar ivar = object_getInstanceVariable(self, [aKey UTF8String], NULL);
- if (ivar) {
- return (void *)((char *)self + ivar_getOffset(ivar));
- }
- }
- return NULL;
- }
- @end
- typedef struct {
- char itemIsEnabled[23];
- char timeString[64];
- int gsmSignalStrengthRaw;
- int gsmSignalStrengthBars;
- char serviceString[100];
- char serviceCrossfadeString[100];
- char serviceImages[3][100];
- char operatorDirectory[1024];
- unsigned int serviceContentType;
- int wifiSignalStrengthRaw;
- int wifiSignalStrengthBars;
- unsigned int dataNetworkType;
- int batteryCapacity;
- unsigned int batteryState;
- char notChargingString[150];
- int bluetoothBatteryCapacity;
- int thermalColor;
- unsigned int thermalSunlightMode:1;
- unsigned int slowActivity:1;
- unsigned int syncActivity:1;
- char activityDisplayId[256];
- unsigned int bluetoothConnected:1;
- unsigned int displayRawGSMSignal:1;
- unsigned int displayRawWifiSignal:1;
- } SbStatusBarDataType;
- - (void *) instanceVariableForObject: (id)obj andKey: (NSString *)key {
- if (key != nil) {
- Ivar ivar = object_getInstanceVariable(obj, [key UTF8String], NULL);
- if (ivar) {
- return (void *)((char *)obj + ivar_getOffset(ivar));
- }
- }
- return NULL;
- }
- SBStatusBarDataManager* mgr = [SBStatusBarDataManager sharedDataManager];
- SbStatusBarDataType data = *(SbStatusBarDataType*)[self instanceVariableForObject: mgr andKey: @"_data"];
- int signalStrength = data.wifiSignalStrengthRaw;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement