--------------------- PatchSet 5989 Date: 2007/10/22 19:26:14 Author: chtsanti Branch: async-calls Tag: (none) Log: - Make AsyncJob class a virtual base class for ICAPInitiate. Now the AsyncJob constructor must explicitly called by AsyncJob derived classes. Members: src/ICAP/ICAPInitiate.h:1.2->1.2.30.1 src/ICAP/ICAPLauncher.cc:1.2->1.2.30.1 src/ICAP/ICAPModXact.cc:1.31->1.31.4.1 src/ICAP/ICAPOptXact.cc:1.9->1.9.14.1 src/ICAP/ICAPXaction.cc:1.22->1.22.4.1 Index: squid3/src/ICAP/ICAPInitiate.h =================================================================== RCS file: /cvsroot/squid-sf//squid3/src/ICAP/ICAPInitiate.h,v retrieving revision 1.2 retrieving revision 1.2.30.1 diff -u -r1.2 -r1.2.30.1 --- squid3/src/ICAP/ICAPInitiate.h 8 May 2007 16:51:27 -0000 1.2 +++ squid3/src/ICAP/ICAPInitiate.h 22 Oct 2007 19:26:14 -0000 1.2.30.1 @@ -1,6 +1,6 @@ /* - * $Id: ICAPInitiate.h,v 1.2 2007/05/08 16:51:27 squidadm Exp $ + * $Id: ICAPInitiate.h,v 1.2.30.1 2007/10/22 19:26:14 chtsanti Exp $ * * * SQUID Web Proxy Cache http://www.squid-cache.org/ @@ -77,7 +77,7 @@ * * This class could have been named ICAPInitiatee. */ -class ICAPInitiate: public AsyncJob +class ICAPInitiate: virtual public AsyncJob { public: Index: squid3/src/ICAP/ICAPLauncher.cc =================================================================== RCS file: /cvsroot/squid-sf//squid3/src/ICAP/ICAPLauncher.cc,v retrieving revision 1.2 retrieving revision 1.2.30.1 diff -u -r1.2 -r1.2.30.1 --- squid3/src/ICAP/ICAPLauncher.cc 8 May 2007 16:51:27 -0000 1.2 +++ squid3/src/ICAP/ICAPLauncher.cc 22 Oct 2007 19:26:14 -0000 1.2.30.1 @@ -9,7 +9,7 @@ #include "ICAPXaction.h" -ICAPLauncher::ICAPLauncher(const char *aTypeName, ICAPInitiator *anInitiator, ICAPServiceRep::Pointer &aService): +ICAPLauncher::ICAPLauncher(const char *aTypeName, ICAPInitiator *anInitiator, ICAPServiceRep::Pointer &aService):AsyncJob(aTypeName), ICAPInitiate(aTypeName, anInitiator, aService), theXaction(0), theLaunches(0) { Index: squid3/src/ICAP/ICAPModXact.cc =================================================================== RCS file: /cvsroot/squid-sf//squid3/src/ICAP/ICAPModXact.cc,v retrieving revision 1.31 retrieving revision 1.31.4.1 diff -u -r1.31 -r1.31.4.1 --- squid3/src/ICAP/ICAPModXact.cc 17 Sep 2007 16:51:35 -0000 1.31 +++ squid3/src/ICAP/ICAPModXact.cc 22 Oct 2007 19:26:14 -0000 1.31.4.1 @@ -39,6 +39,7 @@ ICAPModXact::ICAPModXact(ICAPInitiator *anInitiator, HttpMsg *virginHeader, HttpRequest *virginCause, ICAPServiceRep::Pointer &aService): + AsyncJob("ICAPModXact"), ICAPXaction("ICAPModXact", anInitiator, aService), icapReply(NULL), virginConsumed(0), @@ -1532,6 +1533,7 @@ /* ICAPModXactLauncher */ ICAPModXactLauncher::ICAPModXactLauncher(ICAPInitiator *anInitiator, HttpMsg *virginHeader, HttpRequest *virginCause, ICAPServiceRep::Pointer &aService): + AsyncJob("ICAPModXactLauncher"), ICAPLauncher("ICAPModXactLauncher", anInitiator, aService) { virgin.setHeader(virginHeader); Index: squid3/src/ICAP/ICAPOptXact.cc =================================================================== RCS file: /cvsroot/squid-sf//squid3/src/ICAP/ICAPOptXact.cc,v retrieving revision 1.9 retrieving revision 1.9.14.1 diff -u -r1.9 -r1.9.14.1 --- squid3/src/ICAP/ICAPOptXact.cc 29 May 2007 13:51:50 -0000 1.9 +++ squid3/src/ICAP/ICAPOptXact.cc 22 Oct 2007 19:26:14 -0000 1.9.14.1 @@ -15,6 +15,7 @@ ICAPOptXact::ICAPOptXact(ICAPInitiator *anInitiator, ICAPServiceRep::Pointer &aService): + AsyncJob("ICAPOptXact"), ICAPXaction("ICAPOptXact", anInitiator, aService) { } @@ -88,6 +89,7 @@ /* ICAPOptXactLauncher */ ICAPOptXactLauncher::ICAPOptXactLauncher(ICAPInitiator *anInitiator, ICAPServiceRep::Pointer &aService): + AsyncJob("ICAPOptXactLauncher"), ICAPLauncher("ICAPOptXactLauncher", anInitiator, aService) { } Index: squid3/src/ICAP/ICAPXaction.cc =================================================================== RCS file: /cvsroot/squid-sf//squid3/src/ICAP/ICAPXaction.cc,v retrieving revision 1.22 retrieving revision 1.22.4.1 diff -u -r1.22 -r1.22.4.1 --- squid3/src/ICAP/ICAPXaction.cc 1 Aug 2007 21:51:03 -0000 1.22 +++ squid3/src/ICAP/ICAPXaction.cc 22 Oct 2007 19:26:14 -0000 1.22.4.1 @@ -61,6 +61,7 @@ } ICAPXaction::ICAPXaction(const char *aTypeName, ICAPInitiator *anInitiator, ICAPServiceRep::Pointer &aService): + AsyncJob(aTypeName), ICAPInitiate(aTypeName, anInitiator, aService), id(++TheLastId), connection(-1),