summaryrefslogtreecommitdiff
path: root/macosx/Source/PcsxrFreezeStateHandler.m
diff options
context:
space:
mode:
Diffstat (limited to 'macosx/Source/PcsxrFreezeStateHandler.m')
-rw-r--r--macosx/Source/PcsxrFreezeStateHandler.m43
1 files changed, 43 insertions, 0 deletions
diff --git a/macosx/Source/PcsxrFreezeStateHandler.m b/macosx/Source/PcsxrFreezeStateHandler.m
new file mode 100644
index 00000000..b300fe02
--- /dev/null
+++ b/macosx/Source/PcsxrFreezeStateHandler.m
@@ -0,0 +1,43 @@
+//
+// PcsxrFreezeStateHandler.m
+// Pcsxr
+//
+// Created by Charles Betts on 12/11/11.
+// Copyright (c) 2011 __MyCompanyName__. All rights reserved.
+//
+
+#import "PcsxrFreezeStateHandler.h"
+#import "EmuThread.h"
+#import "PluginList.h"
+#include "misc.h"
+
+@implementation PcsxrFreezeStateHandler
+
++ (NSArray *)supportedUTIs
+{
+ static NSArray *utisupport = nil;
+ if (utisupport == nil) {
+ utisupport = @[@"com.codeplex.pcsxr.freeze"];
+ }
+ return utisupport;
+}
+
+- (BOOL)handleFile:(NSString *)theFile
+{
+ if (CheckState([theFile fileSystemRepresentation]) != 0) {
+ return NO;
+ }
+ if (![EmuThread active]) {
+ PluginList *pluginList = [PluginList list];
+ if ([[NSUserDefaults standardUserDefaults] boolForKey:@"NetPlay"]) {
+ [pluginList enableNetPlug];
+ } else {
+ [pluginList disableNetPlug];
+ }
+
+ [EmuThread run];
+ }
+ return [EmuThread defrostAt:theFile];
+}
+
+@end