Author: rfm
Date: Mon Mar 27 11:44:13 2017
New Revision: 40420
URL: http://svn.gna.org/viewcvs/gnustep?rev=40420&view=rev
Log:
implement methods to create a stream to read from a URL
Modified:
libs/base/trunk/Headers/Foundation/NSStream.h
libs/base/trunk/Source/unix/NSStream.m
libs/base/trunk/Source/win32/NSStream.m
Modified: libs/base/trunk/Headers/Foundation/NSStream.h
URL:
http://svn.gna.org/viewcvs/gnustep/libs/base/trunk/Headers/Foundation/NSStream.h?rev=40420&r1=40419&r2=40420&view=diff
==============================================================================
--- libs/base/trunk/Headers/Foundation/NSStream.h (original)
+++ libs/base/trunk/Headers/Foundation/NSStream.h Mon Mar 27 11:44:13 2017
@@ -161,6 +161,12 @@
+ (id) inputStreamWithFileAtPath: (NSString *)path;
/**
+ * Creates and returns an initialized NSInputStream object that reads data
from
+ * the specified URL.
+ */
++ (id) inputStreamWithURL: (NSURL *)url;
+
+/**
* Returns a pointer to the read buffer in buffer and, by reference, the
number
* of bytes available in len.
*/
@@ -183,6 +189,12 @@
* specified path.
*/
- (id) initWithFileAtPath: (NSString *)path;
+
+/**
+ * Returns an initialized NSInputStream object for reading from the
+ * specified URL.
+ */
+- (id) initWithURL: (NSURL *)url;
/**
* Reads up to len bytes into buffer, returning the actual number of bytes
read.
Modified: libs/base/trunk/Source/unix/NSStream.m
URL:
http://svn.gna.org/viewcvs/gnustep/libs/base/trunk/Source/unix/NSStream.m?rev=40420&r1=40419&r2=40420&view=diff
==============================================================================
--- libs/base/trunk/Source/unix/NSStream.m (original)
+++ libs/base/trunk/Source/unix/NSStream.m Mon Mar 27 11:44:13 2017
@@ -43,6 +43,7 @@
#import "Foundation/NSValue.h"
#import "Foundation/NSHost.h"
#import "Foundation/NSByteOrder.h"
+#import "Foundation/NSURL.h"
#import "GNUstepBase/NSObject+GNUstepBase.h"
#import "../GSPrivate.h"
@@ -507,6 +508,15 @@
return AUTORELEASE([[GSFileInputStream alloc] initWithFileAtPath: path]);
}
++ (id) inputStreamWithURL: (NSURL *)url
+{
+ if ([url isFileURL])
+ {
+ return [self inputStreamWithFileAtPath: [url path]];
+ }
+ return [self inputStreamWithData: [url resourceDataUsingCache: YES]];
+}
+
- (BOOL) getBuffer: (uint8_t **)buffer length: (NSUInteger *)len
{
[self subclassResponsibility: _cmd];
@@ -529,6 +539,17 @@
{
DESTROY(self);
return [[GSFileInputStream alloc] initWithFileAtPath: path];
+}
+
+- (id) initWithURL: (NSURL *)url
+{
+ DESTROY(self);
+ if ([url isFileURL])
+ {
+ return [[GSFileInputStream alloc] initWithFileAtPath: [url path]];
+ }
+ return [[GSDataInputStream alloc]
+ initWithData: [url resourceDataUsingCache: YES]];
}
- (NSInteger) read: (uint8_t *)buffer maxLength: (NSUInteger)len
Modified: libs/base/trunk/Source/win32/NSStream.m
URL:
http://svn.gna.org/viewcvs/gnustep/libs/base/trunk/Source/win32/NSStream.m?rev=40420&r1=40419&r2=40420&view=diff
==============================================================================
--- libs/base/trunk/Source/win32/NSStream.m (original)
+++ libs/base/trunk/Source/win32/NSStream.m Mon Mar 27 11:44:13 2017
@@ -34,6 +34,7 @@
#import "Foundation/NSHost.h"
#import "Foundation/NSProcessInfo.h"
#import "Foundation/NSByteOrder.h"
+#import "Foundation/NSURL.h"
#import "GNUstepBase/NSObject+GNUstepBase.h"
#import "../GSPrivate.h"
@@ -1202,6 +1203,15 @@
return AUTORELEASE([[GSFileInputStream alloc] initWithFileAtPath: path]);
}
++ (id) inputStreamWithURL: (NSURL *)url
+{
+ if ([url isFileURL])
+ {
+ return [self inputStreamWithFileAtPath: [url path]];
+ }
+ return [self inputStreamWithData: [url resourceDataUsingCache: YES]];
+}
+
- (BOOL) getBuffer: (uint8_t **)buffer length: (NSUInteger *)len
{
[self subclassResponsibility: _cmd];
@@ -1224,6 +1234,17 @@
{
DESTROY(self);
return [[GSFileInputStream alloc] initWithFileAtPath: path];
+}
+
+- (id) initWithURL: (NSURL *)url
+{
+ DESTROY(self);
+ if ([url isFileURL])
+ {
+ return [[GSFileInputStream alloc] initWithFileAtPath: [url path]];
+ }
+ return [[GSDataInputStream alloc]
+ initWithData: [url resourceDataUsingCache: YES]];
}
- (NSInteger) read: (uint8_t *)buffer maxLength: (NSUInteger)len
_______________________________________________
Gnustep-cvs mailing list
[email protected]
https://mail.gna.org/listinfo/gnustep-cvs