Ignore:
Timestamp:
2010-05-06T12:55:03+12:00 (14 years ago)
Author:
davidb
Message:

Changes necessary to support new sql-query action

File:
1 edited

Legend:

Unmodified
Added
Removed
  • main/trunk/greenstone2/runtime-src/src/recpt/queryaction.h

    r12785 r22046  
    2929
    3030#include "gsdlconf.h"
    31 #include "action.h"
     31#include "basequeryaction.h"
    3232#include "receptionist.h"
    3333
    34 struct colinfo_t {
    35   void clear();
    36   colinfo_t () {clear();}
    3734
    38   format_t *formatlistptr;
    39   browserclass *browserptr;
    40 };
    41 
    42 struct QueryResult_t {
    43   void clear ();
    44   QueryResult_t () {clear();}
    45 
    46   ResultDocInfo_t doc;
    47   text_t collection;
    48 };
    49 
    50 struct gteqQueryResult_t
    51 {
    52   bool operator()(const QueryResult_t &t1, const QueryResult_t &t2) const
    53   { return t1.doc.ranking >= t2.doc.ranking; }
    54 };
    55 
    56 typedef set<QueryResult_t, gteqQueryResult_t> QueryResult_tset;
    57 
    58 
    59 class queryaction : public action {
     35class queryaction : public basequeryaction {
    6036
    6137protected:
    62 
    63   receptionist *recpt;
    64 
    6538  text_t m_strUseInterfaceLanguageForQuery;
    6639  text_t formatstring;
     
    6841  int num_phrases;
    6942
    70   virtual void define_single_query_macros (cgiargsclass &args,
     43  virtual text_t query_filter_name () {return "QueryFilter";}
     44
     45  virtual void define_query_macros (cgiargsclass &args, displayclass &disp,
     46                    int numDocs, isapprox isApprox);
     47
     48  virtual void get_formatted_query_string (text_t &formattedstring,
     49                       bool segment,
     50                       cgiargsclass &args,
    7151                       displayclass &disp,
    72                        const FilterResponse_t &response);
    73   virtual void define_query_macros (cgiargsclass &args, displayclass &disp,
    74                 int numDocs, isapprox isApprox);
     52                       ostream &logout);
    7553
    76   void get_formatted_query_string (text_t &formattedstring, bool segment,
    77                    cgiargsclass &args,
    78                    displayclass &disp, ostream &logout);
    7954  void define_query_interface(displayclass &disp, cgiargsclass &args,
    8055                  recptprotolistclass *protos, ostream &logout);
    8156 
    82   void define_form_macros (displayclass &disp, cgiargsclass &args,
    83                recptprotolistclass *protos, ostream &logout);
    84 
    85   void define_history_macros (displayclass &disp, cgiargsclass &args,
    86                    recptprotolistclass *protos, ostream &logout);
    87 
    88   virtual void set_option_macro (const text_t &macroname, text_t current_value,
    89                  bool display_single, bool add_js_update,
    90              const FilterOption_t &option, displayclass &disp);
     57  virtual void define_form_macros (displayclass &disp, cgiargsclass &args,
     58                   recptprotolistclass *protos,
     59                   ostream &logout);
    9160
    9261  void set_gformselection_macro (text_t current_value,
     
    10069           displayclass &disp, outconvertclass &outconvert,
    10170           ostream &textout, ostream &logout);
     71
     72  virtual void set_queryfilter_options (FilterRequest_t &request,
     73                    const text_t &querystring,
     74                    cgiargsclass &args);
     75
     76  virtual void set_queryfilter_options (FilterRequest_t &request,
     77                    const text_t &querystring1,
     78                    const text_t &querystring2,
     79                    cgiargsclass &args);
     80
     81
    10282 
    10383  bool search_multiple_collections (cgiargsclass &args,
     
    11898
    11999
    120   bool save_search_history(cgiargsclass &args, int numdocs, isapprox isApprox);
     100  virtual bool save_search_history(cgiargsclass &args, int numdocs,
     101                   isapprox isApprox);
    121102
    122103public:
    123104  queryaction ();
    124   virtual ~queryaction () {}
     105  virtual ~queryaction ();
    125106
    126   void set_receptionist (receptionist *therecpt) {recpt=therecpt;}
    127  
    128107  void configure (const text_t &key, const text_tarray &cfgline);
    129108  bool init (ostream &logout);
     
    134113                  recptprotolistclass *protos, ostream &logout);
    135114
    136   void get_cgihead_info (cgiargsclass &args, recptprotolistclass *protos,
    137              response_t &response, text_t &response_data,
    138              ostream &logout);
    139  
    140115  virtual void define_internal_macros (displayclass &disp, cgiargsclass &args,
    141116                   recptprotolistclass *protos, ostream &logout);
Note: See TracChangeset for help on using the changeset viewer.