aboutsummaryrefslogtreecommitdiff
path: root/VKPC/SPInvocationGrabbing/NSObject+SPInvocationGrabbing.h
diff options
context:
space:
mode:
Diffstat (limited to 'VKPC/SPInvocationGrabbing/NSObject+SPInvocationGrabbing.h')
-rw-r--r--VKPC/SPInvocationGrabbing/NSObject+SPInvocationGrabbing.h30
1 files changed, 30 insertions, 0 deletions
diff --git a/VKPC/SPInvocationGrabbing/NSObject+SPInvocationGrabbing.h b/VKPC/SPInvocationGrabbing/NSObject+SPInvocationGrabbing.h
new file mode 100644
index 0000000..d30233d
--- /dev/null
+++ b/VKPC/SPInvocationGrabbing/NSObject+SPInvocationGrabbing.h
@@ -0,0 +1,30 @@
+#import <Foundation/Foundation.h>
+
+@interface SPInvocationGrabber : NSObject {
+ id _object;
+ NSInvocation *_invocation;
+ int frameCount;
+ char **frameStrings;
+ BOOL backgroundAfterForward;
+ BOOL onMainAfterForward;
+ BOOL waitUntilDone;
+}
+-(id)initWithObject:(id)obj;
+-(id)initWithObject:(id)obj stacktraceSaving:(BOOL)saveStack;
+@property (readonly, retain, nonatomic) id object;
+@property (readonly, retain, nonatomic) NSInvocation *invocation;
+@property BOOL backgroundAfterForward;
+@property BOOL onMainAfterForward;
+@property BOOL waitUntilDone;
+-(void)invoke; // will release object and invocation
+-(void)printBacktrace;
+-(void)saveBacktrace;
+@end
+
+@interface NSObject (SPInvocationGrabbing)
+-(id)grab;
+-(id)invokeAfter:(NSTimeInterval)delta;
+-(id)nextRunloop;
+-(id)inBackground;
+-(id)onMainAsync:(BOOL)async;
+@end