ftp.nice.ch/pub/next/tools/dock/AltDock.I.bs.tar.gz#/AltDock/Source/DockListener.m

This is DockListener.m in view mode; [Download] [Up]

#import <appkit/appkit.h>
#import "DockListener.h"
#import <mach.h>
#import <sys/message.h>
#import <servers/netname.h>
extern port_t name_server_port;
extern id NXResponsibleDelegate();
@implementation  DockListener :Listener
{}
static NXRemoteMethod *remoteMethods = NULL;
#define REMOTEMETHODS 1
+ initialize 
/* */
{
    if (!remoteMethods) {
	remoteMethods =
	(NXRemoteMethod *) malloc((REMOTEMETHODS+1)*sizeof(NXRemoteMethod));
	remoteMethods[0].key = 
	@selector(unhide);
	remoteMethods[0].types = "";
	remoteMethods[REMOTEMETHODS].key = NULL;
    }
}
-(int)unhide
/* */
{
    id _NXd;
    if (_NXd = NXResponsibleDelegate(self,
	@selector(unhide)))
	return [_NXd unhide];
    return -1;
}

- (int) performRemoteMethod : (NXRemoteMethod *) method
                  paramList : (NXParamValue *) paramList {
/* */
    switch (method - remoteMethods) {
    case 0:
	return [self unhide];
    default:
	return [super performRemoteMethod : method paramList : paramList];
    }
}
- (NXRemoteMethod *) remoteMethodFor: (SEL) aSel {
/* */
    NXRemoteMethod *rm;
    if (rm = NXRemoteMethodFromSel(aSel,remoteMethods))
        return rm;
    return [super remoteMethodFor : aSel];
}
@end

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.