/********************************************************************** * * pingaction.cpp -- * Copyright (C) 1999 The New Zealand Digital Library Project * * A component of the Greenstone digital library software * from the New Zealand Digital Library Project at the * University of Waikato, New Zealand. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * * $Id: pingaction.cpp 760 1999-11-01 21:56:32Z sjboddie $ * *********************************************************************/ /* $Log$ Revision 1.5 1999/11/01 21:56:32 sjboddie changes to arguments of many functions Revision 1.4 1999/09/07 04:56:57 sjboddie added GPL notice Revision 1.3 1999/07/30 02:24:45 sjboddie added collectinfo argument to some functions Revision 1.2 1999/02/25 21:58:59 rjmcnab Merged sources. Revision 1.1 1999/02/21 22:35:20 rjmcnab Initial revision. */ #include "pingaction.h" pingaction::pingaction () { // this action uses cgi variable "a" cgiarginfo arg_ainfo; arg_ainfo.shortname = "a"; arg_ainfo.longname = "action"; arg_ainfo.multiplechar = true; arg_ainfo.defaultstatus = cgiarginfo::weak; arg_ainfo.argdefault = "ping"; arg_ainfo.savedarginfo = cgiarginfo::must; argsinfo.addarginfo (NULL, arg_ainfo); } void pingaction::get_cgihead_info (cgiargsclass &/*args*/, recptprotolistclass * /*protos*/, response_t &response, text_t &response_data, ostream &/*logout*/) { response = content; response_data = "text/html"; } bool pingaction::do_action (cgiargsclass &args, recptprotolistclass *protos, browsermapclass * /*browsers*/, displayclass &/*disp*/, outconvertclass &outconvert, ostream &textout, ostream &logout) { bool wassuccess = false; comerror_t err; recptproto *collectproto = protos->getrecptproto (args["c"], logout); if (!args["c"].empty() && (collectproto != NULL)) { collectproto->ping (args["c"], wassuccess, err, logout); if (err != noError) wassuccess = false; // a communication error } textout << outconvert << "\n" << "\n" << "Ping\n" << "\n" << "\n" << "Ping for \"" << args["c"] << "\" "; if (wassuccess) { textout << outconvert << " succeeded.\n"; } else { textout << outconvert << " did not succeed.\n"; } textout << outconvert << "\n" << "\n"; return true; };