This is RemoteRunServer.m in view mode; [Download] [Up]
// ------------------------------------------------------------------------------------- // RemoteRunServer // This server performs tasks (executes commands) sent to it by the main app. // ------------------------------------------------------------------------------------- // Permission is granted to freely redistribute this source code, and to use fragments // of this code in your own applications if you find them to be useful. This class, // along with the source code, come with no warranty of any kind, and the user assumes // all responsibility for its use. // ------------------------------------------------------------------------------------- #import <appkit/appkit.h> #import <libc.h> #import <stdlib.h> #import <string.h> #import <pwd.h> #import <sys/param.h> #import <sys/types.h> #import <sys/time.h> #import <sys/dir.h> #import "ExecServer.h" /* main entry point */ void main(int argc, char *argv[]) { int a; id rs; /* check number fo args */ if (argc < 2) { fprintf(stderr, "usage: ExecServer [-e] " "[-r <remoteServer>] " "[-m <mainAppServer> [<mainAppHost>]] " "[-c <commandPath>] " "\n"); exit(1); } /* ExecServer init */ rs = [[ExecServer alloc] init]; // [rs setMethodDelegate:[<OtherMethods> class]]; // [rs setLoggingDelegate:[<Logging> class]]; /* command arguments */ for (a = 1; (a < argc) && (*argv[a] == '-'); a++) { switch (argv[a][1]) { case 'e': // 'exitWhenDone' flag [rs setExitWhenDone:YES]; break; case 'r': // remote server name if ((a + 1) < argc) [rs setRemoteServerName:argv[++a]]; break; case 'm': // main app server if ((a + 1) < argc) { char *mainAppServer = argv[++a], *mainAppHost = (char*)nil; if (((a + 1) < argc) && (*argv[a + 1] != '-')) mainAppHost = argv[++a]; [rs setMainAppServerName:mainAppServer host:mainAppHost]; } break; case 'c': if ((a + 1) < argc) [rs setMainAppPath:argv[++a]]; break; default: break; } } /* start remote object server (does not return) */ [rs _runServer]; exit(0); }
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.