summaryrefslogtreecommitdiffstats
path: root/OSX/textclient-ios.m
diff options
context:
space:
mode:
Diffstat (limited to 'OSX/textclient-ios.m')
-rw-r--r--OSX/textclient-ios.m129
1 files changed, 0 insertions, 129 deletions
diff --git a/OSX/textclient-ios.m b/OSX/textclient-ios.m
deleted file mode 100644
index 5db5311..0000000
--- a/OSX/textclient-ios.m
+++ /dev/null
@@ -1,129 +0,0 @@
-/* xscreensaver, Copyright (c) 2012-2016 Jamie Zawinski <jwz@jwz.org>
- *
- * Permission to use, copy, modify, distribute, and sell this software and its
- * documentation for any purpose is hereby granted without fee, provided that
- * the above copyright notice appear in all copies and that both that
- * copyright notice and this permission notice appear in supporting
- * documentation. No representations are made about the suitability of this
- * software for any purpose. It is provided "as is" without express or
- * implied warranty.
- *
- * Loading URLs and returning the underlying text.
- *
- * This is necessary because iOS doesn't have Perl installed, so we can't
- * run "xscreensaver-text" to do this.
- */
-
-#include "utils.h"
-
-#ifdef USE_IPHONE // whole file
-
-#include "textclient.h"
-
-char *
-textclient_mobile_date_string (void)
-{
- UIDevice *dd = [UIDevice currentDevice];
- NSString *name = [dd name]; // My iPhone
- NSString *model = [dd model]; // iPad
- // NSString *system = [dd systemName]; // iPhone OS
- NSString *vers = [dd systemVersion]; // 5.0
- NSString *date =
- [NSDateFormatter
- localizedStringFromDate:[NSDate date]
- dateStyle: NSDateFormatterMediumStyle
- timeStyle: NSDateFormatterMediumStyle];
- NSString *nl = @"\n";
-
- NSString *result = name;
- result = [result stringByAppendingString: nl];
- result = [result stringByAppendingString: model];
- // result = [result stringByAppendingString: nl];
- // result = [result stringByAppendingString: system];
- result = [result stringByAppendingString: @" "];
- result = [result stringByAppendingString: vers];
- result = [result stringByAppendingString: nl];
- result = [result stringByAppendingString: nl];
- result = [result stringByAppendingString: date];
- result = [result stringByAppendingString: nl];
- result = [result stringByAppendingString: nl];
- return strdup ([result cStringUsingEncoding:NSISOLatin1StringEncoding]);
-}
-
-
-@interface TextLoader : NSObject
-@property (nonatomic, retain) NSURL *url;
-@property (nonatomic, retain) NSString *result;
-@end
-
-@implementation TextLoader
-{
- NSURL *_url;
- NSString *_result;
-}
-
-+ (TextLoader *) sharedLoader
-{
- static TextLoader *singleton = nil;
- @synchronized(self) {
- if (!singleton)
- singleton = [[self alloc] init];
- }
- return singleton;
-}
-
-- (void) startLoading
-{
- // NSLog(@"textclient thread loading %@", self.url);
- self.result = [NSString stringWithContentsOfURL: self.url
- encoding: NSUTF8StringEncoding
- error: nil];
- // NSLog(@"textclient thread finished %@ (length %d)", self.url,
- // (unsigned int) [self.result length]);
-}
-
-@end
-
-
-
-/* Returns the contents of the URL.
- Loads the URL in a background thread: if the URL has not yet loaded,
- this will return NULL. Once the URL has completely loaded, the full
- contents will be returned. Calling this again after that starts the
- URL loading again.
- */
-char *
-textclient_mobile_url_string (Display *dpy, const char *url)
-{
- TextLoader *loader = [TextLoader sharedLoader];
- NSString *result = [loader result];
-
- // Since this is a singleton, it's possible that if hack #1 starts
- // URL #1 loading and then quickly exits, and then hack #2 asks for
- // URL #2, it might get URL #1 instead. Oh well, who cares.
-
- if (result) { // Thread finished
- // NSLog(@"textclient finished %s (length %d)", url,
- // (unsigned int) [result length]);
- char *s = strdup ([result cStringUsingEncoding:NSUTF8StringEncoding]);
- loader.url = nil;
- loader.result = nil;
- return s;
-
- } else if ([loader url]) { // Waiting on thread
- // NSLog(@"textclient waiting...");
- return 0;
-
- } else { // Launch thread
- // NSLog(@"textclient launching %s...", url);
- loader.url =
- [NSURL URLWithString:
- [NSString stringWithCString: url
- encoding:NSISOLatin1StringEncoding]];
- [NSThread detachNewThreadSelector: @selector(startLoading)
- toTarget: loader withObject: nil];
- return 0;
- }
-}
-
-#endif // USE_IPHONE -- whole file