From 9246577373815c5d0431c7bbb3b85f84b30cfb05 Mon Sep 17 00:00:00 2001 From: bothorel Date: Wed, 19 Jan 2000 19:09:20 +0000 Subject: *** empty log message *** --- src/ivyprobe.c | 270 --------------------------------------------------------- 1 file changed, 270 deletions(-) delete mode 100644 src/ivyprobe.c (limited to 'src') diff --git a/src/ivyprobe.c b/src/ivyprobe.c deleted file mode 100644 index b7317f5..0000000 --- a/src/ivyprobe.c +++ /dev/null @@ -1,270 +0,0 @@ -/* - * Ivy probe - * - * Copyright (C) 1997-1999 - * Centre d'Études de la Navigation Aérienne - * - * Main and only file - * - * Authors: François-Régis Colin - * - * $Id$ - * - * Please refer to file version.h for the - * copyright notice regarding this software - */ -#define IVYMAINLOOP - -#ifdef XTMAINLOOP -#undef IVYMAINLOOP -#endif -#ifdef GTKMAINLOOP -#undef IVYMAINLOOP -#endif - -#include -#include -#include -#ifdef WIN32 -#include -#else -#include -#include -#endif -#ifdef XTMAINLOOP -#include "ivyxtloop.h" -#endif -#ifdef GTKMAINLOOP -#include "ivygtkloop.h" -#endif -#ifdef IVYMAINLOOP -#include "ivyloop.h" -#endif -#include "ivysocket.h" -#include "ivy.h" -#include "timer.h" -#ifdef XTMAINLOOP -#include -XtAppContext cntx; -#endif - -int app_count = 0; -int wait_count = 0; - -void Callback (IvyClientPtr app, void *user_data, int argc, char *argv[]) -{ - int i; - printf ("%s sent ",IvyGetApplicationName(app)); - for (i = 0; i < argc; i++) - printf(" '%s'",argv[i]); - printf("\n"); -} - -void HandleStdin (Channel channel, HANDLE fd, void *data) -{ - char buf[4096]; - char *line; - char *cmd; - char *arg; - int id; - IvyClientPtr app; - int err; - line = fgets(buf, 4096, stdin); - if (!line) { -#ifdef XTMAINLOOP - IvyXtChannelClose (channel); -#endif -#ifdef GTKMAINLOOP - IvyGtkChannelClose(channel); -#endif -#ifdef IVYMAINLOOP - IvyChannelClose (channel); - IvyStop(); -#endif - return; - } - if (*line == '.') { - cmd = strtok (line, ".: \n"); - - if (strcmp (cmd, "die") == 0) { - arg = strtok (NULL, " \n"); - if (arg) { - app = IvyGetApplication (arg); - if (app) - IvySendDieMsg (app); - else printf ("No Application %s!!!\n",arg); - } - - } else if (strcmp(cmd, "dieall-yes-i-am-sure") == 0) { - arg = IvyGetApplicationList(); - arg = strtok (arg, " \n"); - while (arg) { - app = IvyGetApplication (arg); - if (app) - IvySendDieMsg (app); - else - printf ("No Application %s!!!\n",arg); - arg = strtok (NULL, " "); - } - - } else if (strcmp(cmd, "bind") == 0) { - arg = strtok (NULL, "'"); - if (arg) { - IvyBindMsg (Callback, NULL, arg); - } - - } else if (strcmp(cmd, "where") == 0) { - arg = strtok (NULL, " \n"); - if (arg) { - app = IvyGetApplication (arg); - if (app) - printf ("Application %s on %s\n",arg, IvyGetApplicationHost (app)); - else printf ("No Application %s!!!\n",arg); - } - } else if (strcmp(cmd, "direct") == 0) { - arg = strtok (NULL, " \n"); - if (arg) { - app = IvyGetApplication (arg); - if (app) { - arg = strtok (NULL, " "); - id = atoi (arg) ; - arg = strtok (NULL, "'"); - IvySendDirectMsg (app, id, arg); - } else - printf ("No Application %s!!!\n",arg); - } - - } else if (strcmp(cmd, "who") == 0) { - printf("Apps: %s\n", IvyGetApplicationList()); - - } else if (strcmp(cmd, "help") == 0) { - fprintf(stderr,"Commands list:\n"); - printf(" .help - this help\n"); - printf(" .quit - terminate this application\n"); - printf(" .die appname - send die msg to appname\n"); - printf(" .direct appname id 'arg' - send direct msg to appname\n"); - printf(" .where appname - on which host is appname\n"); - printf(" .bind 'regexp' - add a msg to receive\n"); - printf(" .who - who is on the bus\n"); - } else if (strcmp(cmd, "quit") == 0) { - exit(0); - } - } else { - cmd = strtok (buf, "\n"); - err = IvySendMsg (cmd); - printf("-> Sent to %d peer%s\n", err, err == 1 ? "" : "s"); - } -} - -void ApplicationCallback (IvyClientPtr app, void *user_data, IvyApplicationEvent event) -{ - char *appname; - char *host; - char **msgList; - appname = IvyGetApplicationName (app); - host = IvyGetApplicationHost (app); - switch (event) { - - case IvyApplicationConnected: - app_count++; - printf("%s connected from %s\n", appname, host); -/* printf("Application(%s): Begin Messages\n", appname);*/ - msgList = IvyGetApplicationMessages (app); - while (*msgList ) - printf("%s subscribes to '%s'\n",appname,*msgList++); -/* printf("Application(%s): End Messages\n",appname);*/ - if (app_count == wait_count) -#ifdef XTMAINLOOP - IvyXtChannelSetUp (0, NULL, NULL, HandleStdin); -#endif -#ifdef GTKMAINLLOP - IvyGtkChannelSetUp( 0, NULL, NULL, HandleStdin); -#endif -#ifdef IVYMAINLOOP - IvyChannelSetUp (0, NULL, NULL, HandleStdin); -#endif - break; - - case IvyApplicationDisconnected: - app_count--; - printf("%s disconnected from %s\n", appname, host); - break; - - default: - printf("%s: unkown event %d\n", appname, event); - break; - } -} - - -#ifndef XTMAINLOOP -void TimerCall(TimerId id, void *user_data, unsigned long delta) -{ - printf("Timer callback: %d delta %lu ms\n", (int)user_data, delta); - IvySendMsg ("TEST TIMER %d", (int)user_data); - /*if ((int)user_data == 5) TimerModify (id, 2000);*/ -} -#endif - - -int main(int argc, char *argv[]) -{ - int c; - int timer_test = 0; - char busbuf [1024] = ""; - const char* bus = 0; - while ((c = getopt(argc, argv, "d:b:w:t")) != EOF) - switch (c) { - case 'b': - strcpy (busbuf, optarg); - bus = busbuf; - break; - case 'w': - wait_count = atoi(optarg) ; - break; - case 't': - timer_test = 1; - break; - } - - /* Mainloop management */ -#ifdef XTMAINLOOP - /*XtToolkitInitialize();*/ - cntx = XtCreateApplicationContext(); - IvyXtChannelAppContext (cntx); -#endif - IvyInit ("IVYPROBE", "IVYPROBE READY", ApplicationCallback,NULL,NULL,NULL); - for (; optind < argc; optind++) - IvyBindMsg (Callback, NULL, argv[optind]); - - if (wait_count == 0) -#ifdef XTMAINLOOP - IvyXtChannelSetUp (0, NULL, NULL, HandleStdin); -#endif -#ifdef GTKMAINLOOP - IvyGtkChannelSetUp (0, NULL, NULL, HandleStdin); -#endif -#ifdef IVYMAINLOOP - IvyChannelSetUp (0, NULL, NULL, HandleStdin); -#endif - - IvyStart (bus); - - if (timer_test) { -#ifdef IVYMAINLOOP - TimerRepeatAfter (TIMER_LOOP, 1000, TimerCall, (void*)1); - TimerRepeatAfter (5, 5000, TimerCall, (void*)5); -#endif - } - -#ifdef XTMAINLOOP - XtAppMainLoop (cntx); -#endif -#ifdef GTKMAINLOOP - gtk_main(); -#endif -#ifdef IVYMAINLOOP - IvyMainLoop (0); -#endif - return 0; -} -- cgit v1.1