summaryrefslogtreecommitdiff
path: root/macosx/Source/EmuThread.h
blob: 02f88530a6c2b382f05b8e19bc16b9ac4bbf461d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
//
//  EmuThread.h
//  Pcsxr
//
//  Created by Gil Pedersen on Sun Sep 21 2003.
//  Copyright (c) 2003 __MyCompanyName__. All rights reserved.
//

#import <Foundation/Foundation.h>
#include <setjmp.h>

typedef NS_ENUM(char, EmuThreadPauseStatus) {
	PauseStateIsNotPaused = 0,
	PauseStatePauseRequested,
	PauseStateIsPaused
};

@interface EmuThread : NSObject

- (void)EmuThreadRun:(id)anObject;
- (void)EmuThreadRunBios:(id)anObject;
- (void)handleEvents;

+ (void)run;
+ (void)runBios;
+ (void)stop;
+ (BOOL)pause;
+ (BOOL)pauseSafe;
+ (void)pauseSafeWithBlock:(void (^)(BOOL))theBlock;
+ (void)resume;
+ (void)resetNow;
+ (void)reset;

+ (BOOL)isPaused;
+ (EmuThreadPauseStatus)pausedState;
+ (BOOL)active;
+ (BOOL)isRunBios;

+ (void)freezeAt:(NSString *)path which:(int)num;
+ (BOOL)defrostAt:(NSString *)path;

@end

extern EmuThread *emuThread;