Changeset 25560

Show
Ignore:
Timestamp:
09.05.2012 20:08:01 (7 years ago)
Author:
ak19
Message:

Dr Bainbridge has introduced the isPersistentAction (add the a=is-persistent to the library url). It is true for server.exe and when using mod_gsdl, but false for library.cgi which uses the apache web server (when not using mod_gsdl).

Location:
main/trunk/greenstone2/runtime-src/src
Files:
2 added
7 modified

Legend:

Unmodified
Added
Removed
  • main/trunk/greenstone2/runtime-src/src/recpt/Makefile.in

    r25238 r25560  
    220220    phindbrowserclass.cpp \ 
    221221    pingaction.cpp \ 
     222    ispersistentaction.cpp \ 
    222223    basequeryaction.cpp \ 
    223224    queryaction.cpp \ 
     
    268269    phindbrowserclass.o \ 
    269270    pingaction.o \ 
     271    ispersistentaction.o \ 
    270272    basequeryaction.o \ 
    271273    queryaction.o \ 
  • main/trunk/greenstone2/runtime-src/src/recpt/cgiwrapper.cpp

    r24958 r25560  
    512512 
    513513 
    514 void add_all_actions(receptionist& recpt, userdbclass* udb, keydbclass* kdb)  
     514void add_all_actions(receptionist& recpt, userdbclass* udb, keydbclass* kdb, isPersistentEnum isPersistentVal)  
    515515{ 
    516516  // the list of actions. 
     
    535535#endif 
    536536 
     537  ispersistentaction *aIsPersistentAction = new ispersistentaction(isPersistentVal);  
     538  recpt.add_action (aIsPersistentAction); 
     539   
    537540#if defined(USE_RSS) 
    538541  rssaction *arssaction = new rssaction(); 
  • main/trunk/greenstone2/runtime-src/src/recpt/cgiwrapper.h

    r22142 r25560  
    3131#include "receptionist.h" 
    3232#include "userdb.h" 
     33#include "ispersistentaction.h" 
    3334 
    34 void add_all_actions(receptionist& recpt, userdbclass* udb, keydbclass* kdb); 
     35void add_all_actions(receptionist& recpt, userdbclass* udb, keydbclass* kdb, isPersistentEnum isPersistentVal); 
    3536void add_all_browsers(receptionist& recpt); 
    3637 
  • main/trunk/greenstone2/runtime-src/src/recpt/librarymain.cpp

    r22744 r25560  
    3636 
    3737#include "action.h" 
     38#include "ispersistentaction.h" 
    3839#include "browserclass.h" 
    3940 
     
    9697  keydbclass *kdb = new keydbclass(gsdlhome); 
    9798 
    98   add_all_actions(recpt,udb,kdb); 
     99  add_all_actions(recpt,udb,kdb,isNotPersistent); // apache (without mod_gsdl) is not a persistent server 
    99100  // Note: these actions will become invalid at the end of this function.  
    100101  // => We will retrieve them from the receptionist and delete them 
  • main/trunk/greenstone2/runtime-src/src/recpt/mod_gsdl.cpp

    r22925 r25560  
    8484 
    8585#include "action.h" 
     86#include "ispersistentaction.h" 
    8687#include "browserclass.h" 
    8788 
     
    267268  // whatever that might be called in reality? 
    268269 
    269   add_all_actions(recpt,udb,kdb); 
     270  add_all_actions(recpt,udb,kdb,isPersistent); // apache is a persistent server with mod_gsdl 
    270271  add_all_browsers(recpt); 
    271272   
  • main/trunk/greenstone2/runtime-src/src/recpt/win32.mak

    r25521 r25560  
    272272    phindbrowserclass.cpp \ 
    273273    pingaction.cpp \ 
     274    ispersistentaction.cpp \ 
    274275    queryaction.cpp \ 
    275276    querytools.cpp \ 
     
    321322    phindbrowserclass.obj \ 
    322323    pingaction.obj \ 
     324    ispersistentaction.obj \ 
    323325    queryaction.obj \ 
    324326    querytools.obj \ 
  • main/trunk/greenstone2/runtime-src/src/w32server/cgiwrapper.cpp

    r24508 r25560  
    6060#include "pageaction.h" 
    6161#include "pingaction.h" 
     62#include "ispersistentaction.h" 
    6263#include "queryaction.h" 
    6364#if defined(USE_SQLITE) 
     
    348349pageaction *apageaction = NULL; 
    349350pingaction *apingaction = NULL; 
     351ispersistentaction *aIsPersistentAction = NULL; 
    350352tipaction *atipaction = NULL; 
    351353queryaction *aqueryaction = NULL; 
     
    574576    apingaction = new pingaction(); 
    575577    recpt.add_action (apingaction); 
     578  } 
     579   
     580   if (aIsPersistentAction == NULL) { 
     581    // server.exe is persistent, so passing enum value isPersistent 
     582    aIsPersistentAction = new ispersistentaction(isPersistent);  
     583    recpt.add_action (aIsPersistentAction); 
    576584  } 
    577585