mirror of
https://github.com/gnustep/libs-gui.git
synced 2025-04-23 07:00:46 +00:00
Add initial implementation for NSFilePromiseProvider
This commit is contained in:
parent
280569e07d
commit
da079854f2
2 changed files with 83 additions and 3 deletions
|
@ -28,15 +28,49 @@
|
|||
#import <Foundation/NSObject.h>
|
||||
#import <AppKit/AppKitDefines.h>
|
||||
|
||||
#if OS_API_VERSION(MAC_OS_X_VERSION_10_0, GS_API_LATEST)
|
||||
#if OS_API_VERSION(MAC_OS_X_VERSION_10_12, GS_API_LATEST)
|
||||
|
||||
#if defined(__cplusplus)
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
APPKIT_EXPORT_CLASS
|
||||
@interface NSFilePromiseProvider : NSObject
|
||||
@class NSError;
|
||||
@class NSFilePromiseProvider;
|
||||
@class NSOperationQueue;
|
||||
@class NSString;
|
||||
@class NSURL;
|
||||
|
||||
DEFINE_BLOCK_TYPE_NO_ARGS(GSFilePromiseProviderCompletionHandler, NSError*);
|
||||
|
||||
@protocol NSFilePromiseProviderDelegate
|
||||
- (NSString *) filePromiseProvider: (NSFilePromiseProvider *)filePromiseProvider filenameForType: (NSString *)fileType;
|
||||
|
||||
- (void)filePromiseProvider:(NSFilePromiseProvider *)filePromiseProvider
|
||||
writePromiseToURL:(NSURL *)url
|
||||
completionHandler:(GSFilePromiseProviderCompletionHandler)completionHandler;
|
||||
|
||||
- (NSOperationQueue *)operationQueueForFilePromiseProvider:(NSFilePromiseProvider *)filePromiseProvider;
|
||||
@end
|
||||
|
||||
APPKIT_EXPORT_CLASS
|
||||
@interface NSFilePromiseProvider : NSObject
|
||||
{
|
||||
NSString *_fileType;
|
||||
id<NSFilePromiseProviderDelegate> _delegate;
|
||||
id _userInfo;
|
||||
}
|
||||
|
||||
- (instancetype) initWithFileType: (NSString *)fileType delegate: (id<NSFilePromiseProviderDelegate>)delegate;
|
||||
|
||||
- (id<NSFilePromiseProviderDelegate>) delegate;
|
||||
- (void) setDelegate: (id<NSFilePromiseProviderDelegate>) delegate;
|
||||
|
||||
- (NSString *) fileType;
|
||||
- (void) setFileType: (NSString *)fileType;
|
||||
|
||||
- (id) userInfo;
|
||||
- (void) setUserInfo: (id)userInfo;
|
||||
|
||||
@end
|
||||
|
||||
#if defined(__cplusplus)
|
||||
|
|
|
@ -22,9 +22,55 @@
|
|||
Boston, MA 02110 USA.
|
||||
*/
|
||||
|
||||
#import <Foundation/NSError.h>
|
||||
#import <Foundation/NSString.h>
|
||||
|
||||
#import "AppKit/NSFilePromiseProvider.h"
|
||||
|
||||
@implementation NSFilePromiseProvider
|
||||
|
||||
- (instancetype) initWithFileType: (NSString *)fileType delegate: (id<NSFilePromiseProviderDelegate>)delegate
|
||||
{
|
||||
self = [super init];
|
||||
|
||||
if (self != nil)
|
||||
{
|
||||
ASSIGN(_fileType, fileType);
|
||||
_delegate = delegate;
|
||||
}
|
||||
|
||||
return self;
|
||||
}
|
||||
|
||||
- (id<NSFilePromiseProviderDelegate>) delegate
|
||||
{
|
||||
return _delegate;
|
||||
}
|
||||
|
||||
- (void) setDelegate: (id<NSFilePromiseProviderDelegate>) delegate
|
||||
{
|
||||
_delegate = delegate; // retained by caller...
|
||||
}
|
||||
|
||||
- (NSString *) fileType
|
||||
{
|
||||
return _fileType;
|
||||
}
|
||||
|
||||
- (void) setFileType: (NSString *)fileType
|
||||
{
|
||||
ASSIGN(_fileType, fileType);
|
||||
}
|
||||
|
||||
- (id) userInfo
|
||||
{
|
||||
return _userInfo;
|
||||
}
|
||||
|
||||
- (void) setUserInfo: (id)userInfo
|
||||
{
|
||||
ASSIGN(_userInfo, userInfo);
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
|
|
Loading…
Reference in a new issue