This is IFtpD.m in view mode; [Download] [Up]
/*$Copyright:
* Copyright (C) 1992.5.22. Recruit Co.,Ltd.
* Institute for Supercomputing Research
* All rights reserved.
* NewsBase by ISR, Kazuto MIYAI, Gary ARAKAKI, Katsunori SUZUKI, Kok-meng Lue
*
* You may freely copy, distribute and reuse the code in this program under
* following conditions.
* - to include this notice in the source code, if it is to be distributed
* with source code.
* - to add the file named "COPYING" within the code, which shall include
* GNU GENERAL PUBLIC LICENSE(*).
* - to display an acknowledgement in binary code as follows: "This product
* includes software developed by Recruit Co.,Ltd., ISR."
* - to display a notice which shall state that the users may freely copy,
* distribute and reuse the code in this program under GNU GENERAL PUBLIC
* LICENSE(*)
* - to indicate the way to access the copy of GNU GENERAL PUBLIC LICENSE(*)
*
* (*)GNU GENERAL PUBLIC LICENSE is stored in the file named COPYING
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
$*/
#import "IFtpD.h"
#import <string.h>
#import <objc/hashtable.h>
#import <libc.h>
#import <sys/types.h>
#import <sys/stat.h>
#import <appkit/NXImage.h>
#import <math.h>
#import "ftp.h"
#import "data_types.h"
#import "errdebug.h"
// An object oriented interface to ftp routines. This class is intended to
// support anonymous ftp as yet another external domain but is currently
// unused.
@implementation IFtpD
static NXAtom rtfControlWord;
static NXAtom fileExtension;
static NXImage *icon;
static NXImage *image;
+ initialize
{
rtfControlWord = NXUniqueStringNoCopy("MMftp");
fileExtension = NXUniqueStringNoCopy("ftp");
image = [[NXImage alloc] initFromSection:"FTP.tiff"];
[IMediaD getFileIconFor:(Class)self];
return(self);
}
+ (NXAtom)rtfControlWord
{
return(rtfControlWord);
}
+ (NXAtom)fileExtension;
{
return(fileExtension);
}
+ (NXAtom)pasteboardType
{
return(NULL);
}
+ setIcon:(NXImage *)theIcon
{
icon = theIcon;
return(self);
}
+ (NXImage *)icon
{
return(icon);
}
- (NXImage *)image
{
return(image);
}
- initWithKey:(const char *)hostPath
{
char *ptr;
path = NXCopyStringBufferFromZone(hostPath, [self zone]);
if ((ptr = rindex(path, '.')) == 0) {
return([self free]);
}
*ptr = '\0';
if ((ptr = rindex(path, '@')) == 0) {
return([self free]);
}
*ptr = '\0';
host = ptr + 1;
}
- performDoubleClickAction:sender
{
ftp(host, NXGetDefaultValue(OWNER, FROM), path, "/tmp/ftp");
return(self);
}
- (BOOL)readFromStream:(NXStream *)inStream
{
return(YES);
}
- free
{
NXZoneFree([self zone], path);
return [super free];
}
@end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.