Add md5 filter

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@17054 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Richard Frith-Macdonald 2003-06-27 20:07:27 +00:00
parent e15eb96920
commit baeae6ea50
2 changed files with 46 additions and 1 deletions

View file

@ -47,6 +47,9 @@
#endif
@interface ExampleServices : NSObject
- (void) md5: (NSPasteboard*)bp
userData: (NSString*)ud
error: (NSString**)err;
- (void) openURL: (NSPasteboard*)bp
userData: (NSString*)ud
error: (NSString**)err;
@ -59,6 +62,38 @@
@end
@implementation ExampleServices
/**
* Filter a string to an md5 digest of its utf8 value.
*/
- (void) md5: (NSPasteboard*)pb
userData: (NSString*)ud
error: (NSString**)err
{
NSArray *types;
NSString *val;
NSData *data;
types = [pb types];
if (![types containsObject: NSStringPboardType])
{
*err = @"No string type supplied on pasteboard";
return;
}
val = [pb stringForType: NSStringPboardType];
if (val == nil)
{
*err = @"No string value supplied on pasteboard";
return;
}
data = [val dataUsingEncoding: NSUTF8StringEncoding];
data = [data md5Digest];
[pb declareTypes: [NSArray arrayWithObject: @"md5Digest"] owner: nil];
[pb setData: data forType: @"md5Digest"];
}
- (void) openURL: (NSPasteboard*)pb
userData: (NSString*)ud
error: (NSString**)err
@ -242,7 +277,7 @@ init(int argc, char** argv)
break;
default:
printf("%s - GNU Pasteboard server\n", argv[0]);
printf("%s - filter server\n", argv[0]);
printf("-H for help\n");
exit(EXIT_SUCCESS);
}

View file

@ -1,4 +1,14 @@
NSServices = (
{
NSPortName = ExampleServices;
NSFilter = "md5";
NSSendTypes = (
NSStringPboardType
);
NSReturnTypes = (
md5Digest
);
},
{
NSPortName = ExampleServices;
NSMessage = openURL;