void bbwincmd(int argc, char *argv[]) { string bbdisparg; BBWinNet bbobj; if (strcmp(argv[1], "$") == 0) { cout << "will use environment variable BBDISPLAY" << endl; bbdisparg = getBBDisplaySetting(); } else { bbdisparg = argv[1]; } bbobj.SetBBDisplay(bbdisparg); cout << "bbdisplay defined to : " << bbobj.GetBBDisplay() << "\n"; cout << "port defined to : " << bbobj.GetPort() << "\n"; bbobj.SetDebug(true); string message = argv[2]; bool unkownMessage = false; for (int inc = 0; messTable[inc].callBack != NULL; ++inc) { int res = message.find(messTable[inc].argument); if (res >= 0 && (unsigned int)res <= message.size()) { unkownMessage = true; if (argc >= messTable[inc].minArg) { messTable[inc].callBack(argc, argv, bbobj); } else { cout << "\n"; cout << "Error : not enough arguments for : \"" << message << "\"" << "\n\n"; } break ; } } if (unkownMessage == false) { cout << "\n"; cout << "Error : unknown Xymon message type : \"" << message << "\"" << "\n\n"; } }