Index: trunk/gsdl/src/recpt/buildaction.cpp
===================================================================
--- trunk/gsdl/src/recpt/buildaction.cpp	(revision 759)
+++ trunk/gsdl/src/recpt/buildaction.cpp	(revision 760)
@@ -29,4 +29,5 @@
 #include "fileutil.h"
 #include "buildaction.h"
+#include "gsdlhome.h"
 
 ///////////////
@@ -86,6 +87,7 @@
 }
 
-void buildaction::get_cgihead_info (cgiargsclass &/*args*/, response_t &response,
-				     text_t &response_data, ostream &/*logout*/) {
+void buildaction::get_cgihead_info (cgiargsclass &/*args*/, recptprotolistclass * /*protos*/,
+				    response_t &response,text_t &response_data, 
+				    ostream &/*logout*/) {
 
   response = content;
@@ -93,21 +95,6 @@
 }
 
-void buildaction::define_internal_macros (const ColInfoResponse_t &/*collectinfo*/, displayclass &disp, 
-					  cgiargsclass &args, recptproto * /*collectproto*/, 
-					  ostream &logout) {
-
-  // make sure we know about a receptionist
-  if (recpt == NULL) {
-    logout << "The page action does not contain information\n"
-	   << "about any receptionists. The method set_receptionist\n"
-	   <<	"was probably not called from the module which instantiated\n"
-	   <<	"this page action.\n";
-    return;
-  }
-
-  recptprotolistclass *rprotolist = recpt->get_recptprotolist_ptr ();
-  if (rprotolist == NULL) return;
-  
-  const recptconf &rcinfo = recpt->get_configinfo ();
+void buildaction::define_internal_macros (displayclass &disp, cgiargsclass &args, 
+					  recptprotolistclass *protos, ostream &logout) {
 
   // build up javascript and HTML code useful in web forms
@@ -123,6 +110,6 @@
   disp.setmacro("bcargfirsttime","build","false");
 
-  recptprotolistclass::iterator rprotolist_here = rprotolist->begin();
-  recptprotolistclass::iterator rprotolist_end = rprotolist->end();
+  recptprotolistclass::iterator rprotolist_here = protos->begin();
+  recptprotolistclass::iterator rprotolist_end = protos->end();
   while (rprotolist_here != rprotolist_end) {
     if ((*rprotolist_here).p != NULL) {
@@ -191,5 +178,5 @@
 	    // check to see if the "collection" is writable
 	    text_t cfg_fname 
-	      = filename_cat(rcinfo.gsdlhome,"collect",*collist_here,"etc","collect.cfg");
+	      = filename_cat(GSDL_GSDLHOME,"collect",*collist_here,"etc","collect.cfg");
 	    if (!file_writable(cfg_fname))
 	      {
@@ -280,5 +267,5 @@
       // read in collect.cfg      
       text_t cfg_fname 
-	= filename_cat(rcinfo.gsdlhome,"collect",dirname,"etc","collect.cfg");
+	= filename_cat(GSDL_GSDLHOME,"collect",dirname,"etc","collect.cfg");
       ifstream cfg_ifs (cfg_fname.getcstr(), ios::in | ios::nocreate);
       if (cfg_ifs) 
@@ -306,34 +293,27 @@
 }
 
-void buildaction::define_external_macros (const ColInfoResponse_t &/*collectinfo*/, displayclass &/*disp*/, 
-					  cgiargsclass &/*args*/, recptproto * /*collectproto*/, 
-					  ostream &/*logout*/) {
-}
-
-bool buildaction::do_action (cgiargsclass &args, const ColInfoResponse_t &/*collectinfo*/, 
-			     recptproto *collectproto, displayclass &disp, 
+bool buildaction::do_action (cgiargsclass &args, recptprotolistclass * /*protos*/, 
+			     browsermapclass * /*browsers*/, displayclass &disp, 
 			     outconvertclass &outconvert, ostream &textout, 
 			     ostream &logout) {
 
 
-
-
   if (args["bca"] == "newcol") {
-    return do_newcol (args, collectproto, disp, outconvert, textout, logout);
+    return do_newcol (args, disp, outconvert, textout, logout);
   }
   else if (args["bca"] == "editcol") {
-    return do_editcol (args, collectproto, disp, outconvert, textout, logout);
+    return do_editcol (args, disp, outconvert, textout, logout);
   }
   else if (args["bca"] == "buildcol") {
-    return do_buildcol (args, collectproto, disp, outconvert, textout, logout);
+    return do_buildcol (args, disp, outconvert, textout, logout);
   }
   else if (args["bca"] == "buildstatus") {
-    return do_buildstatus (args, collectproto, disp, outconvert, textout, logout);
+    return do_buildstatus (args, disp, outconvert, textout, logout);
   }
   else if (args["bca"] == "delcol") {
-    return do_delcol (args, collectproto, disp, outconvert, textout, logout);
+    return do_delcol (args, disp, outconvert, textout, logout);
   }
   else if (args["bca"] == "mess") {
-    return do_mess (args, collectproto, disp, outconvert, textout, logout);
+    return do_mess (args, disp, outconvert, textout, logout);
   }
 
@@ -346,7 +326,7 @@
 
 
-bool buildaction::do_newcol  (cgiargsclass &args, recptproto */*collectproto*/,
-			      displayclass &disp, outconvertclass &outconvert, 
-			      ostream &textout, ostream &/*logout*/) {
+bool buildaction::do_newcol  (cgiargsclass &args, displayclass &disp, 
+			      outconvertclass &outconvert, ostream &textout, 
+			      ostream &/*logout*/) {
 
   text_tarray wizard_split;
@@ -364,7 +344,7 @@
 
 
-bool buildaction::do_editcol (cgiargsclass &/*args*/, recptproto */*collectproto*/,
-			      displayclass &disp, outconvertclass &outconvert, 
-			      ostream &textout, ostream &/*logout*/) {
+bool buildaction::do_editcol (cgiargsclass &/*args*/, displayclass &disp, 
+			      outconvertclass &outconvert, ostream &textout, 
+			      ostream &/*logout*/) {
 
   textout << outconvert << disp << ("_build:header_(_build:headmesseditcol_)\n")
@@ -375,7 +355,7 @@
 }
 
-bool buildaction::do_buildcol (cgiargsclass &args, recptproto */*collectproto*/,
-			      displayclass &disp, outconvertclass &outconvert, 
-			      ostream &textout, ostream &logout) {
+bool buildaction::do_buildcol (cgiargsclass &args, displayclass &disp, 
+			       outconvertclass &outconvert, ostream &textout, 
+			       ostream &logout) {
 
 
@@ -408,6 +388,5 @@
       textout << outconvert << disp << headmess << content << "_build:framefooter_\n";
 
-      const recptconf &rcinfo = recpt->get_configinfo ();
-      text_t cmd = filename_cat(rcinfo.gsdlhome,"cgi-bin","webpage_buildcol.pl");
+      text_t cmd = filename_cat(GSDL_GSDLHOME,"cgi-bin","webpage_buildcol.pl");
       cmd += " gsdlhome=\""+args["gsdlhome"]+"\" httpbuild=\""+args["httpbuild"]+"\"";
       cmd += " bc1copydata=\""+args["bc1copydata"]+"\"";
@@ -422,7 +401,7 @@
 }
 
-bool buildaction::do_buildstatus (cgiargsclass &args, recptproto */*collectproto*/,
-			      displayclass &disp, outconvertclass &outconvert, 
-			      ostream &textout, ostream &/*logout*/) {
+bool buildaction::do_buildstatus (cgiargsclass &args, displayclass &disp, 
+				  outconvertclass &outconvert, ostream &textout, 
+				  ostream &/*logout*/) {
 
   disp.setmacro("contentpara","buildstatus", args["mess"]);
@@ -435,7 +414,7 @@
 }
 
-bool buildaction::do_delcol  (cgiargsclass &/*args*/, recptproto */*collectproto*/,
-			      displayclass &disp, outconvertclass &outconvert, 
-			      ostream &textout, ostream &/*logout*/) {
+bool buildaction::do_delcol  (cgiargsclass &/*args*/, displayclass &disp, 
+			      outconvertclass &outconvert, ostream &textout, 
+			      ostream &/*logout*/) {
 
   textout << outconvert << disp << ("_build:header_(_build:headmessdelcol_)\n")
@@ -447,7 +426,7 @@
 
 
-bool buildaction::do_mess  (cgiargsclass &args, recptproto */*collectproto*/,
-			    displayclass &disp, outconvertclass &outconvert, 
-			    ostream &textout, ostream &/*logout*/) {
+bool buildaction::do_mess  (cgiargsclass &args, displayclass &disp, 
+			    outconvertclass &outconvert, ostream &textout, 
+			    ostream &/*logout*/) {
 
   disp.setmacro("contentpara","buildmess", args["mess"]);
Index: trunk/gsdl/src/recpt/buildaction.h
===================================================================
--- trunk/gsdl/src/recpt/buildaction.h	(revision 759)
+++ trunk/gsdl/src/recpt/buildaction.h	(revision 760)
@@ -40,42 +40,45 @@
 
   text_t get_action_name () {return "bc";}
-  void set_receptionist (receptionist *therecpt) {recpt=therecpt;}
   
   bool check_cgiargs (cgiargsinfoclass &argsinfo, cgiargsclass &args, 
 		      ostream &logout);
-  void get_cgihead_info (cgiargsclass &args, response_t &response,
-			 text_t &response_data, ostream &logout);
+
+
+  void get_cgihead_info (cgiargsclass &args, recptprotolistclass *protos,
+			 response_t &response,text_t &response_data, 
+			 ostream &logout);
   
-  void define_internal_macros (const ColInfoResponse_t &collectinfo, displayclass &disp, 
-			       cgiargsclass &args, recptproto *collectproto, 
-			       ostream &logout);
-  void define_external_macros (const ColInfoResponse_t &collectinfo, displayclass &disp, 
-			       cgiargsclass &args, recptproto *collectproto, 
-			       ostream &logout);
+  void define_internal_macros (displayclass &disp, cgiargsclass &args, 
+			       recptprotolistclass *protos, ostream &logout);
   
-  bool do_action (cgiargsclass &args, const ColInfoResponse_t &collectinfo, 
-		  recptproto *collectproto, displayclass &disp, 
+  bool do_action (cgiargsclass &args, recptprotolistclass *protos, 
+		  browsermapclass *browsers, displayclass &disp, 
 		  outconvertclass &outconvert, ostream &textout, 
 		  ostream &logout);
 
 protected:
-  bool do_newcol (cgiargsclass &args, recptproto *collectproto,
-		  displayclass &disp, outconvertclass &outconvert, 
-		  ostream &textout, ostream &logout);
-  bool do_editcol (cgiargsclass &args, recptproto *collectproto,
-		   displayclass &disp, outconvertclass &outconvert, 
-		   ostream &textout, ostream &logout);
-  bool do_buildcol (cgiargsclass &args, recptproto *collectproto,
-		    displayclass &disp, outconvertclass &outconvert, 
-		    ostream &textout, ostream &logout);
-  bool do_buildstatus (cgiargsclass &args, recptproto *collectproto,
-		       displayclass &disp, outconvertclass &outconvert, 
-		       ostream &textout, ostream &logout);
-  bool do_delcol (cgiargsclass &args, recptproto *collectproto,
-		  displayclass &disp, outconvertclass &outconvert, 
-		  ostream &textout, ostream &logout);
-  bool do_mess (cgiargsclass &args, recptproto *collectproto,
-		displayclass &disp, outconvertclass &outconvert, 
-		ostream &textout, ostream &logout);
+  bool do_newcol (cgiargsclass &args, displayclass &disp, 
+		  outconvertclass &outconvert, ostream &textout, 
+		  ostream &logout);
+
+  bool do_editcol (cgiargsclass &args, displayclass &disp, 
+		   outconvertclass &outconvert, ostream &textout, 
+		   ostream &logout);
+
+  bool do_buildcol (cgiargsclass &args, displayclass &disp, 
+		    outconvertclass &outconvert, ostream &textout, 
+		    ostream &logout);
+
+  bool do_buildstatus (cgiargsclass &args, displayclass &disp, 
+		       outconvertclass &outconvert, ostream &textout, 
+		       ostream &logout);
+
+  bool do_delcol (cgiargsclass &args, displayclass &disp, 
+		  outconvertclass &outconvert, ostream &textout, 
+		  ostream &logout);
+
+  bool do_mess (cgiargsclass &args, displayclass &disp, 
+		outconvertclass &outconvert, ostream &textout, 
+		ostream &logout);
 
 };
Index: trunk/gsdl/src/recpt/pingaction.cpp
===================================================================
--- trunk/gsdl/src/recpt/pingaction.cpp	(revision 759)
+++ trunk/gsdl/src/recpt/pingaction.cpp	(revision 760)
@@ -28,4 +28,7 @@
 /*
    $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
@@ -61,6 +64,7 @@
 }
 
-void pingaction::get_cgihead_info (cgiargsclass &/*args*/, response_t &response,
-				   text_t &response_data, ostream &/*logout*/) {
+void pingaction::get_cgihead_info (cgiargsclass &/*args*/, recptprotolistclass * /*protos*/,
+				   response_t &response, text_t &response_data, 
+				   ostream &/*logout*/) {
   response = content;
   response_data = "text/html";
@@ -68,6 +72,6 @@
 
 
-bool pingaction::do_action (cgiargsclass &args, const ColInfoResponse_t &/*collectinfo*/, 
-			    recptproto *collectproto, displayclass &/*disp*/, 
+bool pingaction::do_action (cgiargsclass &args, recptprotolistclass *protos, 
+			    browsermapclass * /*browsers*/, displayclass &/*disp*/, 
 			    outconvertclass &outconvert, ostream &textout, 
 			    ostream &logout) {
@@ -75,4 +79,5 @@
   comerror_t err;
   
+  recptproto *collectproto = protos->getrecptproto (args["c"], logout);
   if (!args["c"].empty() && (collectproto != NULL)) {
     collectproto->ping (args["c"], wassuccess, err, logout);
Index: trunk/gsdl/src/recpt/pingaction.h
===================================================================
--- trunk/gsdl/src/recpt/pingaction.h	(revision 759)
+++ trunk/gsdl/src/recpt/pingaction.h	(revision 760)
@@ -40,8 +40,11 @@
 
   text_t get_action_name () {return "ping";}
-  void get_cgihead_info (cgiargsclass &args, response_t &response,
-			 text_t &response_data, ostream &logout);
-  bool do_action (cgiargsclass &args, const ColInfoResponse_t &collectinfo, 
-		  recptproto *collectproto, displayclass &disp, 
+
+  void get_cgihead_info (cgiargsclass &args, recptprotolistclass *protos,
+			 response_t &response, text_t &response_data, 
+			 ostream &logout);
+
+  bool do_action (cgiargsclass &args, recptprotolistclass *protos, 
+		  browsermapclass *browsers, displayclass &disp, 
 		  outconvertclass &outconvert, ostream &textout, 
 		  ostream &logout);
Index: trunk/gsdl/src/recpt/receptionist.cpp
===================================================================
--- trunk/gsdl/src/recpt/receptionist.cpp	(revision 759)
+++ trunk/gsdl/src/recpt/receptionist.cpp	(revision 760)
@@ -28,4 +28,7 @@
 /*
    $Log$
+   Revision 1.38  1999/11/01 21:49:34  sjboddie
+   changes to arguments of many functions
+
    Revision 1.37  1999/10/20 03:55:03  sjboddie
    yet another problem with calling browserclass
@@ -807,5 +810,5 @@
   action *a = actions.getaction (args["a"]);
   if (a != NULL) {
-    a->get_cgihead_info (args, response, response_data, logout);
+    a->get_cgihead_info (args, &protocols, response, response_data, logout);
 
   } else {
@@ -845,19 +848,6 @@
   outconverter->reset();
 
-  text_t &collection = args["c"];
-  recptproto *collectproto = NULL;
-  if (!collection.empty()) {
-    // decide on the protocol used for communicating with
-    // the collection server
-    collectproto = protocols.getrecptproto (collection, logout);
-
-    // get collection information 
-    collectinfo.clear();
-    if (!collection.empty()) {
-      comerror_t err;
-      collectproto->get_collectinfo (collection, collectinfo, err, logout);
-      if (err != noError) collectinfo.clear();
-    }
-
+  recptproto *collectproto = protocols.getrecptproto (args["c"], logout);
+  if (collectproto != NULL) {
     // get browsers to process OID
     text_t OID = args["d"];
@@ -882,15 +872,14 @@
       }
     }
-
+  
     // translate "d" and "cl" arguments if required
     translate_OIDs (args, collectproto, logout);
   }
-
+  
   // produce the page using the desired action
   action *a = actions.getaction (args["a"]);
   if (a != NULL) {
-    if (a->uses_display(args)) prepare_page (a, args, collectproto, (*outconverter), logout);
-    if (!a->do_action (args, collectinfo, collectproto, disp, 
-		       (*outconverter), contentout, logout))
+    if (a->uses_display(args)) prepare_page (a, args, (*outconverter), logout);
+    if (!a->do_action (args, &protocols, &browsers, disp, (*outconverter), contentout, logout))
       return false;
 
@@ -1066,6 +1055,7 @@
 // prepare_page sets up page parameters, sets display macros
 // and opens the page ready for output 
-void receptionist::prepare_page (action *a, cgiargsclass &args, recptproto *collectproto,
-				 outconvertclass &outconvert, ostream &logout) {
+void receptionist::prepare_page (action *a, cgiargsclass &args, 
+				 outconvertclass &outconvert, 
+				 ostream &logout) {
   // set up page parameters
   text_t pageparams;
@@ -1098,18 +1088,18 @@
     assert ((*actionhere).second.a != NULL);
     if ((*actionhere).second.a != NULL) 
-      (*actionhere).second.a->define_external_macros (collectinfo, disp, args, collectproto, logout);
+      (*actionhere).second.a->define_external_macros (disp, args, &protocols, logout);
     actionhere++;
   }
 
   // define internal macros for the current action
-  a->define_internal_macros (collectinfo, disp, args, collectproto, logout);
+  a->define_internal_macros (disp, args, &protocols, logout);
   
   // define general macros. the defining of general macros is done here so that
   // the last possible version of the cgi arguments are used
-  define_general_macros (args, collectproto, outconvert, logout);
-}
-
-void receptionist::define_general_macros (cgiargsclass &args, recptproto *collectproto,
-					  outconvertclass &/*outconvert*/, ostream &logout) {
+  define_general_macros (args, outconvert, logout);
+}
+
+void receptionist::define_general_macros (cgiargsclass &args, outconvertclass &/*outconvert*/, 
+					  ostream &logout) {
 
   text_t &collection = args["c"];
@@ -1142,19 +1132,22 @@
 
   // set collection specific macros
-  if ((!collection.empty()) && (collectproto != NULL)) {
-    FilterResponse_t response;
-    text_tset metadata;
-    get_info ("collection", collection, metadata, false, 
-	      collectproto, response, logout);
-
-    if (!response.docInfo[0].metadata.empty()) {
-      MetadataInfo_tmap::const_iterator here = response.docInfo[0].metadata.begin();
-      MetadataInfo_tmap::const_iterator end = response.docInfo[0].metadata.end();
-      while (here != end) {
-	if (((*here).first != "haschildren") && ((*here).first != "hasnext") &&
-	    ((*here).first != "hasprevious")) {
-	  disp.setmacro ((*here).first, "Global", (*here).second.values[0]);
+  if (!collection.empty()) {
+    recptproto *collectproto = protocols.getrecptproto (collection, logout);
+    if (collectproto != NULL) {
+      FilterResponse_t response;
+      text_tset metadata;
+      get_info ("collection", collection, metadata, false, 
+		collectproto, response, logout);
+      
+      if (!response.docInfo[0].metadata.empty()) {
+	MetadataInfo_tmap::const_iterator here = response.docInfo[0].metadata.begin();
+	MetadataInfo_tmap::const_iterator end = response.docInfo[0].metadata.end();
+	while (here != end) {
+	  if (((*here).first != "haschildren") && ((*here).first != "hasnext") &&
+	      ((*here).first != "hasprevious")) {
+	    disp.setmacro ((*here).first, "Global", (*here).second.values[0]);
+	  }
+	  here ++;
 	}
-	here ++;
       }
     }
Index: trunk/gsdl/src/recpt/receptionist.h
===================================================================
--- trunk/gsdl/src/recpt/receptionist.h	(revision 759)
+++ trunk/gsdl/src/recpt/receptionist.h	(revision 760)
@@ -84,6 +84,7 @@
   // prepare_page sets up page parameters, sets display macros
   // and opens the page ready for output 
-  virtual void prepare_page (action *a, cgiargsclass &args, recptproto *collectproto,
-			     outconvertclass &outconvert, ostream &logout);
+  virtual void prepare_page (action *a, cgiargsclass &args, 
+			     outconvertclass &outconvert, 
+			     ostream &logout);
   
   virtual void translate_OIDs (cgiargsclass &args, recptproto *collectproto,
@@ -93,6 +94,6 @@
   bool get_cookie ();
 
-  virtual void define_general_macros (cgiargsclass &args, recptproto *collectproto,
-				      outconvertclass &outconvert, ostream &logout);
+  virtual void define_general_macros (cgiargsclass &args, outconvertclass &outconvert, 
+				      ostream &logout);
 
   bool append_logstr (const text_t &filename, const text_t &logstr,
Index: trunk/gsdl/src/recpt/statusaction.cpp
===================================================================
--- trunk/gsdl/src/recpt/statusaction.cpp	(revision 759)
+++ trunk/gsdl/src/recpt/statusaction.cpp	(revision 760)
@@ -28,4 +28,7 @@
 /*
    $Log$
+   Revision 1.22  1999/11/01 21:55:27  sjboddie
+   changes to arguments of many functions
+
    Revision 1.21  1999/10/19 03:23:46  davidb
    Collection building support through web pages
@@ -797,12 +800,13 @@
 }
 
-void statusaction::get_cgihead_info (cgiargsclass &/*args*/, response_t &response,
-				     text_t &response_data, ostream &/*logout*/) {
+void statusaction::get_cgihead_info (cgiargsclass &/*args*/, recptprotolistclass * /*protos*/,
+				     response_t &response, text_t &response_data, 
+				     ostream &/*logout*/) {
   response = content;
   response_data = "text/html";
 }
 
-bool statusaction::do_action (cgiargsclass &args, const ColInfoResponse_t &/*collectinfo*/, 
-			      recptproto * /*collectproto*/, displayclass &disp, 
+bool statusaction::do_action (cgiargsclass &args, recptprotolistclass * /*protos*/, 
+			      browsermapclass * /*browsers*/, displayclass &disp, 
 			      outconvertclass &outconvert, ostream &textout, 
 			      ostream &logout) {
Index: trunk/gsdl/src/recpt/statusaction.h
===================================================================
--- trunk/gsdl/src/recpt/statusaction.h	(revision 759)
+++ trunk/gsdl/src/recpt/statusaction.h	(revision 760)
@@ -82,11 +82,16 @@
 
   text_t get_action_name () {return "status";}
+
   void set_receptionist (receptionist *therecpt) {recpt=therecpt;}
+
   bool check_cgiargs (cgiargsinfoclass &argsinfo, cgiargsclass &args, 
 		      ostream &logout);
-  void get_cgihead_info (cgiargsclass &args, response_t &response,
-			 text_t &response_data, ostream &logout);
-  bool do_action (cgiargsclass &args, const ColInfoResponse_t &collectinfo, 
-		  recptproto *collectproto, displayclass &disp, 
+
+  void get_cgihead_info (cgiargsclass &args, recptprotolistclass *protos,
+			 response_t &response, text_t &response_data, 
+			 ostream &logout);
+
+  bool do_action (cgiargsclass &args, recptprotolistclass *protos, 
+		  browsermapclass *browsers, displayclass &disp, 
 		  outconvertclass &outconvert, ostream &textout, 
 		  ostream &logout);
Index: trunk/gsdl/src/recpt/tipaction.cpp
===================================================================
--- trunk/gsdl/src/recpt/tipaction.cpp	(revision 759)
+++ trunk/gsdl/src/recpt/tipaction.cpp	(revision 760)
@@ -28,4 +28,7 @@
 /*
    $Log$
+   Revision 1.6  1999/11/01 21:54:57  sjboddie
+   changes to arguments of many functions
+
    Revision 1.5  1999/09/07 23:10:18  rjmcnab
    removed some compiler warnings
@@ -63,7 +66,7 @@
 }
 
-void tipaction::define_external_macros (const ColInfoResponse_t &/*collectinfo*/, displayclass &disp, 
-					cgiargsclass &args, recptproto * /*collectproto*/, 
-					ostream &logout) {
+void tipaction::define_external_macros (displayclass &disp, cgiargsclass &args, 
+					recptprotolistclass * /*protos*/, ostream &logout) {
+
   // define_external_macros sets the following macros:
 
Index: trunk/gsdl/src/recpt/tipaction.h
===================================================================
--- trunk/gsdl/src/recpt/tipaction.h	(revision 759)
+++ trunk/gsdl/src/recpt/tipaction.h	(revision 760)
@@ -41,7 +41,6 @@
   text_t get_action_name () {return "tip";}
   
-  void define_external_macros (const ColInfoResponse_t &collectinfo, displayclass &disp, 
-			       cgiargsclass &args, recptproto *collectproto, 
-			       ostream &logout);
+  void define_external_macros (displayclass &disp, cgiargsclass &args, 
+			       recptprotolistclass *protos, ostream &logout);
 };
 
Index: trunk/gsdl/src/recpt/usersaction.cpp
===================================================================
--- trunk/gsdl/src/recpt/usersaction.cpp	(revision 759)
+++ trunk/gsdl/src/recpt/usersaction.cpp	(revision 760)
@@ -28,4 +28,7 @@
 /*
    $Log$
+   Revision 1.7  1999/11/01 21:48:27  sjboddie
+   changes to arguments of many functions
+
    Revision 1.6  1999/09/08 03:44:24  cs025
    Added a cast to (char *) of (..:..?..) on output to avoid type
@@ -199,42 +202,35 @@
 }
 
-void usersaction::get_cgihead_info (cgiargsclass &/*args*/, response_t &response,
-				     text_t &response_data, ostream &/*logout*/) {
+void usersaction::get_cgihead_info (cgiargsclass &/*args*/, recptprotolistclass * /*protos*/,
+				    response_t &response, text_t &response_data, 
+				    ostream &/*logout*/) {
   response = content;
   response_data = "text/html";
 }
 
-void usersaction::define_internal_macros (const ColInfoResponse_t &/*collectinfo*/, displayclass &/*disp*/, 
-					  cgiargsclass &/*args*/, recptproto * /*collectproto*/, 
-					  ostream &/*logout*/) {
-}
-
-void usersaction::define_external_macros (const ColInfoResponse_t &/*collectinfo*/, displayclass &/*disp*/, 
-					  cgiargsclass &/*args*/, recptproto * /*collectproto*/, 
-					  ostream &/*logout*/) {
-}
-
-bool usersaction::do_action (cgiargsclass &args, const ColInfoResponse_t &/*collectinfo*/, 
-			     recptproto *collectproto, displayclass &disp, 
+bool usersaction::do_action (cgiargsclass &args, recptprotolistclass * /*protos*/, 
+			     browsermapclass * /*browsers*/, displayclass &disp, 
 			     outconvertclass &outconvert, ostream &textout, 
 			     ostream &logout) {
+
   if (args["uma"] == "adduser" || args["uma"] == "edituser") {
     // adduser is handled by edituser
-    return do_edituser (args, collectproto, disp, outconvert, textout, logout);
+    return do_edituser (args, disp, outconvert, textout, logout);
     
   } else if (args["uma"] == "deleteuser") {
-    return do_deleteuser (args, collectproto, disp, outconvert, textout, logout);
+    return do_deleteuser (args, disp, outconvert, textout, logout);
     
   } else if (args["uma"] == "changepasswd") {
-    return do_changepasswd (args, collectproto, disp, outconvert, textout, logout);  
+    return do_changepasswd (args, disp, outconvert, textout, logout);  
   }
 
   // default
-  return do_listusers (args, collectproto, disp, outconvert, textout, logout);
-}
-
-bool usersaction::do_listusers (cgiargsclass &/*args*/, recptproto * /*collectproto*/,
-				displayclass &disp, outconvertclass &outconvert, 
-				ostream &textout, ostream &/*logout*/) {
+  return do_listusers (args, disp, outconvert, textout, logout);
+}
+
+bool usersaction::do_listusers (cgiargsclass &/*args*/, displayclass &disp, 
+				outconvertclass &outconvert, ostream &textout, 
+				ostream &/*logout*/) {
+
   textout << outconvert << disp
 	  << "_userslistusers:header_\n_userslistusers:contentstart_\n";
@@ -297,7 +293,7 @@
 
 
-bool usersaction::do_edituser (cgiargsclass &args, recptproto *collectproto,
-			       displayclass &disp, outconvertclass &outconvert, 
-			       ostream &textout, ostream &logout) {
+bool usersaction::do_edituser (cgiargsclass &args, displayclass &disp, 
+			       outconvertclass &outconvert, ostream &textout, 
+			       ostream &logout) {
   userinfo_t userinfo;
   text_t messagestatus;
@@ -364,5 +360,5 @@
     
     // show list of users
-    return do_listusers (args, collectproto, disp, outconvert, textout, logout);
+    return do_listusers (args, disp, outconvert, textout, logout);
   }
   
@@ -377,7 +373,7 @@
 }
 
-bool usersaction::do_deleteuser (cgiargsclass &args, recptproto *collectproto,
-				 displayclass &disp, outconvertclass &outconvert, 
-				 ostream &textout, ostream &logout) {
+bool usersaction::do_deleteuser (cgiargsclass &args, displayclass &disp, 
+				 outconvertclass &outconvert, ostream &textout, 
+				 ostream &logout) {
   if (!args["cm"].empty()) {
     if (args["cm"] == "yes" && !args["umun"].empty()) {
@@ -387,5 +383,5 @@
     
     // redirect the user back to the listusers page
-    return do_listusers (args, collectproto, disp, outconvert, textout, logout);
+    return do_listusers (args, disp, outconvert, textout, logout);
   }
 
@@ -397,7 +393,7 @@
 }
 
-bool usersaction::do_changepasswd (cgiargsclass &args, recptproto * /*collectproto*/,
-				   displayclass &disp, outconvertclass &outconvert, 
-				   ostream &textout, ostream &/*logout*/) {
+bool usersaction::do_changepasswd (cgiargsclass &args, displayclass &disp, 
+				   outconvertclass &outconvert, ostream &textout, 
+				   ostream &/*logout*/) {
   text_t messagestatus;
   
Index: trunk/gsdl/src/recpt/usersaction.h
===================================================================
--- trunk/gsdl/src/recpt/usersaction.h	(revision 759)
+++ trunk/gsdl/src/recpt/usersaction.h	(revision 760)
@@ -50,16 +50,10 @@
 		      ostream &logout);
 
-  void get_cgihead_info (cgiargsclass &args, response_t &response,
-			 text_t &response_data, ostream &logout);
+  void get_cgihead_info (cgiargsclass &args, recptprotolistclass *protos,
+			 response_t &response, text_t &response_data, 
+			 ostream &logout);
   
-  void define_internal_macros (const ColInfoResponse_t &collectinfo, displayclass &disp, 
-			       cgiargsclass &args, recptproto *collectproto, 
-			       ostream &logout);
-  void define_external_macros (const ColInfoResponse_t &collectinfo, displayclass &disp, 
-			       cgiargsclass &args, recptproto *collectproto, 
-			       ostream &logout);
-  
-  bool do_action (cgiargsclass &args, const ColInfoResponse_t &collectinfo, 
-		  recptproto *collectproto, displayclass &disp, 
+  bool do_action (cgiargsclass &args, recptprotolistclass *protos, 
+		  browsermapclass *browsers, displayclass &disp, 
 		  outconvertclass &outconvert, ostream &textout, 
 		  ostream &logout);
@@ -68,16 +62,19 @@
   void define_user_macros (cgiargsclass &args, displayclass &disp);
   
-  bool do_listusers (cgiargsclass &args, recptproto *collectproto,
-		     displayclass &disp, outconvertclass &outconvert, 
-		     ostream &textout, ostream &logout);
-  bool do_edituser (cgiargsclass &args, recptproto *collectproto,
-		    displayclass &disp, outconvertclass &outconvert, 
-		    ostream &textout, ostream &logout);
-  bool do_deleteuser (cgiargsclass &args, recptproto *collectproto,
-		      displayclass &disp, outconvertclass &outconvert, 
-		      ostream &textout, ostream &logout);
-  bool do_changepasswd (cgiargsclass &args, recptproto *collectproto,
-			displayclass &disp, outconvertclass &outconvert, 
-			ostream &textout, ostream &logout);
+  bool do_listusers (cgiargsclass &args, displayclass &disp, 
+		     outconvertclass &outconvert, ostream &textout, 
+		     ostream &logout);
+
+  bool do_edituser (cgiargsclass &args, displayclass &disp, 
+		    outconvertclass &outconvert, ostream &textout, 
+		    ostream &logout);
+
+  bool do_deleteuser (cgiargsclass &args, displayclass &disp, 
+		      outconvertclass &outconvert, ostream &textout, 
+		      ostream &logout);
+
+  bool do_changepasswd (cgiargsclass &args, displayclass &disp, 
+			outconvertclass &outconvert, ostream &textout, 
+			ostream &logout);
 };
 
